Availability
Availability entries describe time ranges that are working, blocked, break, or holiday periods. They can apply globally or to specific resources.
For the full precedence model between availability, calendars, and conflict policies, see the Scheduling Rules overview.
grid.eventSchedulerAvailability = [ { id: 'business-hours', kind: 'working', title: 'Business hours', startDateTime: '2026-06-08T08:00:00.000Z', endDateTime: '2026-06-08T18:00:00.000Z', }, { id: 'room-a-maintenance', resourceId: 'room-a', kind: 'blocked', title: 'Maintenance', reason: 'Projector replacement', startDateTime: '2026-06-08T13:00:00.000Z', endDateTime: '2026-06-08T15:00:00.000Z', },];
grid.eventScheduler = { view: 'resourceTimeline', weekStartDate: '2026-06-08', nonWorkingTime: { enabled: true, workingDays: [1, 2, 3, 4, 5], workingHours: { start: '08:00', end: '19:00' }, className: 'outside-shift-hours', },};Use nonWorkingTime.workingHours when the whole scheduler shares one operating window. Slots outside the configured windows are marked as closed/outside working hours and receive the scheduler non-working background. They also expose data-event-scheduler-non-working="true" and data-event-scheduler-availability-reason="Outside working hours" so apps can inspect or customize the cells without replacing the renderer.
Use named calendars when working hours differ by calendar or resource:
grid.eventScheduler = { view: 'week', weekStartDate: '2026-06-08', calendars: { primaryCalendarId: 'hospital-weekday', className: 'outside-shift-hours', calendars: [{ id: 'hospital-weekday', name: 'Hospital weekday', timeZone: 'UTC', workingDays: [1, 2, 3, 4, 5], workingHours: { start: '08:00', end: '19:00' }, holidays: [], hoursPerDay: 8, }], },};Availability and Calendars
Section titled “Availability and Calendars”eventSchedulerAvailability and eventScheduler.calendars can be used together. They are resolved with these rules:
kind: 'blocked',kind: 'holiday', andkind: 'break'entries are unavailable windows. Events that overlap them receiveblocked-timeconflicts.kind: 'working'entries are dated working windows. If matching working availability exists for a resource on a date, the event must be fully covered by those working intervals or it receives anoutside-availabilityconflict.- Calendars are the fallback for
outside-availabilitychecks when no matching datedkind: 'working'availability exists for that resource/date.
Use calendars for the recurring baseline, such as weekday hours, weekend crews, and resource calendars. Use availability for dated changes, such as extra opening hours, PTO, maintenance, one-off breaks, or temporary closures.
Timeline cells expose availability data attributes so apps can style or inspect availability state without replacing the scheduler renderer.