Prevent Double Booking

Sometimes it is necessary to guarantee that events don't overlap - eg. when scheduling workorders, interacting with a work calendar. You can reject the updates or additions and let the user know about it.

The event overlap can be turned on/off on an event basis, per resource or globally on the instance.

  • On an event basis - by setting the overlap property to false the specified event cannot overlap.
  • Per resource - by setting the eventOverlap property to false the events in the specified resource cannot overlap.
  • Globally on the instance - by setting eventOverlap option to false overlap is disbled globally.

If set to false, the resource and the event settings have precedence over the global calendar eventOverlap option.

Give feedback to the user - optionally, a toast can be displayed to explain why an event cannot be dropped, moved or created. For this we can use the onEventCreateFailed and onEventUpdateFailed lifecycle events.

Looking to implement time off or block out ranges?  Learn how to add lunch breaks, working hours and disable weekends →
Get started with this example

Demo

Control the interaction globally (all events/resources)
Events cannot overlap eventOverlap=false
html<mbsc-eventcalendar
    [view]="{ scheduler: { type: 'day' }}"
    [data]="myData"
    [resources]="myResources"
    [dragToMove]="true"
    [dragToResize]="true"
    [eventOverlap]="true"
    [clickToCreate]="true"
    [dragToCreate]="true"
>
</mbsc-eventcalendar>
ts// relevant events
const myData = [{
    start: '2026-10-22T16:00',
    end: '2026-10-22T17:00',
    title: 'Event 2 (no event overlap)',
    overlap: false,
    resource: 1
},{
    start: '2026-10-22T08:00',
    end: '2026-10-22T10:00',
    title: 'Event 4 (no event overlap)',
    overlap: false,
    resource: 2
}];
// relevant resource
const myResources = [{
    id: 4,
    name: 'Resource 4 - no event overlap allowed',
    eventOverlap: false
}];
Use the Scheduler to block event overlaps per event, per resource, or globally — with toast notifications when a conflict is blocked.

Duplicate Session

You have signed in on a different machine. To keep everything in sync, you have been signed out of this session.

If you need to invite team members, manage seats and accounts you can do it from the licenses page.

Duplicate Session

We noticed you are logged in on a different machine and have closed your old session.

If you need to invite team members, manage seats and accounts you can do it from the licenses page.