React resource scheduler
Dispatch board for crews, trucks, jobs, and operational work.
This demo shows a resource timeline calendar where each row is an assignable crew, desk, warehouse, room, or asset. It is the core pattern for businesses that need to see who is doing what, when it starts, and whether the schedule has conflicts.
Use cases
- Moving company dispatch boards with crews, trucks, estimates, and warehouse windows
- Field service calendars for technicians, installers, routes, and service calls
- Room, equipment, bay, vehicle, or production-line scheduling
- Ops dashboards where managers drag work between resources during the day
What to test
- Timeline view with horizontal time slots and resource rows
- Drag events between resources and time slots
- Resize events from either end
- Unavailable ranges for blocked resources
- Custom event cards with business metadata
Show example code
const resources = [
{ id: "crew-a", title: "Crew A", subtitle: "Local jobs", color: "#2563eb" },
{ id: "warehouse", title: "Warehouse", subtitle: "Inventory", color: "#f59e0b" }
];
<CalendarRoot
date={date}
events={jobs}
resources={resources}
view="timeline"
startHour={7}
endHour={16}
stepMinutes={30}
showResourceFilters
eventEditing
schedulingPolicy={{
unavailableRanges: [{ resourceId: "warehouse", start, end, reason: "Dock unavailable" }]
}}
onEventUpdate={saveJobMove}
onEventCreate={createJobFromRange}
renderEvent={({ event }) => <JobCard job={event.metadata.job} />}
/>