{
  "$schema": "https://ai.syncfusion.com/schema/registry-item.json",
  "name": "scheduler-recurring-events",
  "framework": "aspnet-core",
  "type": "registry:component",
  "component": "Scheduler",
  "variant": "recurring-events",
  "dependencies": [
    "Syncfusion.AspNetCore.Schedule"
  ],
  "description": "Scheduler displays recurring appointments configured with RFC5545 recurrence rules.",
  "meta": {
    "essentialStudioRelease": "2026 Volume 2 (v34.1.29)",
    "license": "commercial-or-community",
    "licenseNote": "The Syncfusion package is licensed. The composition in this file is source you own and edit. See https://ai.syncfusion.com/licensing.md",
    "requiresLicenseKey": true,
    "requiresServerEndpoint": false,
    "platformIndex": "https://ai.syncfusion.com/aspnet-core/llms.txt",
    "skillPack": "syncfusion/aspnetcore-ui-components-skills",
    "docs": "https://ai.syncfusion.com/gallery/aspnet-core/scheduler-recurring-events.md"
  },
  "files": [
    {
      "target": "src/components/scheduler-recurring-events/scheduler.cshtml",
      "content": "@page\r\n\r\n@using EJ2CoreSampleBrowser.Pages.Grid\r\n\r\n@{\r\n    var appointments = new ScheduleData().GetRecurrenceData();\r\n}\r\n\r\n    <div class=\"col-lg-9 control-section\">\r\n        <div class=\"schedule-wrapper\">\r\n            <ejs-schedule id=\"schedule\" height=\"500px\" selectedDate=\"new DateTime(DateTime.Today.Year, 2, 20)\" eventRendered=\"onEventRendered\">\r\n                <e-schedule-eventsettings dataSource=\"@appointments\"></e-schedule-eventsettings>\r\n                <e-schedule-views>\r\n                    <e-schedule-view option=\"Day\"></e-schedule-view>\r\n                    <e-schedule-view option=\"Week\"></e-schedule-view>\r\n                    <e-schedule-view option=\"Month\"></e-schedule-view>\r\n                </e-schedule-views>\r\n            </ejs-schedule>\r\n        </div>\r\n    </div>\r\n\r\n    <script src=\"~/scripts/schedule/applyCategoryColor.js\"></script>\r\n    <script type=\"text/javascript\">\r\n        function onEventRendered(args) {\r\n            var scheduleObj = document.getElementById('schedule').ej2_instances[0];\r\n            applyCategoryColor(args, scheduleObj.currentView);\r\n        }\r\n    </script>"
    },
    {
      "target": "src/components/scheduler-recurring-events/scheduler.cshtml.cs",
      "content": "using Microsoft.AspNetCore.Mvc.RazorPages;\r\nnamespace EJ2CoreSampleBrowser.Pages.Grid;\r\n\r\npublic class ScheduleData\r\n{\r\n    private static DateTime Today = DateTime.Now;\r\n    private int CurrentYear = Today.Year;\r\n    public List<RecurrenceData> GetRecurrenceData()\r\n    {\r\n        List<RecurrenceData> recurrenceData = new List<RecurrenceData>();\r\n        recurrenceData.Add(new RecurrenceData\r\n        {\r\n            Id = 1,\r\n            Subject = \"Project demo meeting with Andrew\",\r\n            Location = \"Office\",\r\n            StartTime = new DateTime(CurrentYear, 2, 14, 12, 0, 0),\r\n            EndTime = new DateTime(CurrentYear, 2, 14, 13, 0, 0),\r\n            RecurrenceRule = \"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;COUNT=10\",\r\n            CategoryColor = \"#1aaa55\"\r\n        });\r\n        recurrenceData.Add(new RecurrenceData\r\n        {\r\n            Id = 2,\r\n            Subject = \"Scrum Meeting\",\r\n            Location = \"Office\",\r\n            StartTime = new DateTime(CurrentYear, 2, 12, 9, 30, 0),\r\n            EndTime = new DateTime(CurrentYear, 2, 12, 10, 30, 0),\r\n            RecurrenceRule = \"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;INTERVAL=1\",\r\n            CategoryColor = \"#357cd2\"\r\n        });\r\n        recurrenceData.Add(new RecurrenceData\r\n        {\r\n            Id = 3,\r\n            Subject = \"Meeting with Core team\",\r\n            Location = \"Office\",\r\n            StartTime = new DateTime(CurrentYear, 2, 16, 12, 0, 0),\r\n            EndTime = new DateTime(CurrentYear, 2, 16, 14, 0, 0),\r\n            RecurrenceRule = \"FREQ=WEEKLY;INTERVAL=1;BYDAY=FR\",\r\n            CategoryColor = \"#7fa900\"\r\n        });\r\n        \r\n        return recurrenceData;\r\n    }\r\n    public class RecurrenceData\r\n    {\r\n        public int Id { get; set; }\r\n        public string Subject { get; set; }\r\n        public DateTime StartTime { get; set; }\r\n        public DateTime EndTime { get; set; }\r\n        public bool IsAllDay { get; set; }\r\n        public string Location { get; set; }\r\n        public string RecurrenceRule { get; set; }\r\n        public string CategoryColor { get; set; }\r\n    }\r\n}"
    }
  ]
}