@(Html.Kendo().Scheduler<SchedulerCustomEditor.Models.MeetingViewModel>()
    .Name("scheduler")
    .Date(new DateTime(2013, 6, 13))
    .StartTime(new DateTime(2013, 6, 13, 7, 00, 00))
    .Height(600)
    .Views(views => {
        views.DayView();
        views.WeekView(weekView => weekView.Selected(true));
        views.MonthView();
        views.AgendaView();
    })
    .Editable(editable => {
        editable.TemplateName("CustomEditorTemplate");
    })
    .Timezone("Etc/UTC")
    .Resources(resource => {
             resource.Add(m => m.RoomID)
                 .Title("Room")
                 .DataTextField("Text")
                 .DataValueField("Value")
                 .DataColorField("Color")
                 .BindTo(new[] { 
                    new { Text = "Meeting Room 101", Value = 1, Color = "#6eb3fa" },
                    new { Text = "Meeting Room 201", Value = 2, Color = "#f58a8a" } 
                });
             resource.Add(m => m.Attendees)
                 .Title("Attendees")
                 .Multiple(true)
                 .DataTextField("Text")
                 .DataValueField("Value")
                 .DataColorField("Color")
                 .BindTo(new[] { 
                    new { Text = "Alex", Value = 1, Color = "#f8a398" },
                    new { Text = "Bob", Value = 2, Color = "#51a0ed" },
                    new { Text = "Charlie", Value = 3, Color = "#56ca85" } 
                });
         })
    .DataSource(d => d
        .Batch(true)
        .Model(m => {
            m.Id(f => f.MeetingID);
            m.Field(f => f.Title).DefaultValue("No title");
            m.RecurrenceId(f => f.RecurrenceID);
        })
        .Events(e => e.Error("error_handler"))
        .Read("Meetings_Read", "Home")
        .Create("Meetings_Create", "Home")
        .Destroy("Meetings_Destroy", "Home")
        .Update("Meetings_Update", "Home")
    )
	.Events(e => e.Edit("onEdit"))
)


<script type="text/javascript">
	function onEdit(e) {
		var start = e.event.start;
		var recurrenceEditor = e.container.find('#RecurrenceRule').data('kendoRecurrenceEditor');

		recurrenceEditor.setOptions({
			start: start
		});
	}

    function error_handler(e) {
        if (e.errors) {
            var message = "Errors:\n";
            $.each(e.errors, function (key, value) {
                if ('errors' in value) {
                    $.each(value.errors, function () {
                        message += this + "\n";
                    });
                }
            });
            alert(message);

            var scheduler = $("#scheduler").data("kendoScheduler");
            scheduler.one("dataBinding", function (e) {
                //prevent saving if server error is thrown
                e.preventDefault();
            })
        }
    }
</script>
