Order Scheduling
Schedule orders onto driver timelines using the Scheduler — set pickup windows, assign to shifts, and manage scheduled order queues.
Order Scheduling
Order scheduling lets you plan deliveries for future dates and assign them to specific driver shifts. Scheduled orders appear in the Scheduler calendar and are held in a waiting state until their scheduled window opens.
Scheduling an Order
Orders can be scheduled at creation or updated to a scheduled date afterward.
During Order Creation
- Open the new order form (Operations → Orders → + New Order)
- Toggle Schedule Order on
- Set the Scheduled At date and time
- Optionally set a Time Window Start and Time Window End for the acceptable pickup range
- Save — the order is created with system status
createdand thescheduled_atfield set; it is not dispatched until you choose to
After Creation
- Open an existing
createdorder (one that hasn't been dispatched yet) - Click Edit
- Enable the schedule toggle and set the date/time
- Save
Scheduling from the Scheduler Calendar
You can schedule and assign orders directly from the Scheduler calendar view:
- Open Operations → Scheduler
- Find an unscheduled order in the order sidebar (right panel)
- Drag the order card onto a driver row on the target day
- Set the time if prompted
- Save — the order is scheduled and assigned to that driver
Time Windows
Each order can have a time window — an acceptable range for the pickup:
| Field | Description |
|---|---|
| Scheduled At | The target pickup time (informational) |
| Time Window Start | Earliest the pickup can occur |
| Time Window End | Latest the pickup can occur |
The Orchestrator treats time windows as hard constraints. An order with a window of 09:00–11:00 will only be assigned to a driver whose route can reach the pickup before 11:00.
If a driver cannot fit the order within the time window, the order is returned to the unassigned pool with a time_window_exceeded reason.
Viewing Scheduled Orders
Scheduled orders appear in multiple places:
| View | Location |
|---|---|
| Orders list | Scheduled filter tab |
| Scheduler calendar | On the assigned driver's row for the scheduled date |
| Order detail | Shows the scheduled date and window in the header |
Rescheduling
To move a scheduled order to a different date or time:
- In the Scheduler, drag the order card to the new day/driver row
- Or open the order, click Edit, and update the Scheduled At date
Rescheduling a dispatched order requires cancelling the existing dispatch first.
Bulk Scheduling
For large batches of orders, use the Orchestrator rather than scheduling individually:
- Run the Orchestrator with the orders pool filtered to the target date
- The Orchestrator respects time windows and shift schedules when assigning
- Commit the plan — all orders are scheduled and assigned in one operation
See Orchestrator Overview for bulk assignment details.