FullScheduler - Calendar - Gallery Image

FullScheduler — 🧑‍💼 Shift Planning for Contact Centers — FullScheduler

Docs, demos, API

Highlight detail

shift-planning-callcenter
Back to highlight

🧑‍💼 Shift Planning for Contact Centers

Build weekly rosters, prevent overlaps, and approve swaps via resize/drop hooks.

Weekly plan with limits

    const options: FullSchedulerOptions = {
  startDate: weekStart(new Date()),
  endDate: weekEnd(new Date()),
  startHour: 0,
  endHour: 24,
  draggableEvents: true,
  resizableEvents: true,
  onEventDropped(d) {
    violatesOvertime(d.event, d.newStartDateTime, d.newEndDateTime) ? d.decline() : d.accept()
  },
  onEventStartResized(r) { limitedShiftLength(r) ? r.accept() : r.decline() },
  onEventEndResized(r)   { limitedShiftLength(r) ? r.accept() : r.decline() },
}

  

Approvals

Use event.data.status = 'pending' | 'approved'. After the backend approves:

    schedulerApi.configureEventsByParam('id', ev.id!, { data: { status: 'approved' } })

  

Tips

  • Snap to quarter-hour: api.setThreshold(15)

  • Color-code roles via colors or renderer