Assigning and unassigning a driver
You need: Hub — assign to assign and to see available drivers. Unassigning is a separate permission, Hub — unassign, typically held only by
hub_manager.
Seeing who is available
Open the order and ask for available drivers. The list is built for that specific order — it accounts for the order's store and its zone rules, so it is not simply "everyone on shift".
If the list is empty or shorter than you expect, the reasons are the same ones the dispatcher works from: capacity, zone restrictions on driver types, distance, carrier schedules. When does an alternative exist? lists the carrier checks in order.
Assigning your own driver versus a carrier
These are genuinely different operations, and the difference trips people up:
| Own driver | Third-party carrier | |
|---|---|---|
| What you pick | The specific driver | The carrier company, not a courier |
| Who chooses the courier | You | The carrier does |
| What you can predict | Exactly who is going | Only that the carrier accepted it |
With a carrier you are handing the order to a company. Which of their couriers turns up, and when, is theirs to decide — which is why carrier timing is governed by the limits in External carriers rather than by your choice.
Your own driver types are fixed. The carrier types available depend on what is configured and active for your brand, so the list differs between brands and can change without the Hub changing.
Assigning
- Open the order — see Order details and pickup code.
- Request available drivers.
- Pick an own driver, or a carrier.
- Confirm.
This is permanent in one specific sense. An order assigned by a person is locked out of automatic reassignment for good. The dispatcher will not move it later, even if an idle driver appears at the store moments afterwards. That is the intended behaviour — a manual assignment is treated as a deliberate override, not a hint. See When an order changes driver.
Unassigning
Unassigning takes the driver off the order and puts it back in play.
It is a separate, higher permission than assigning because it undoes someone else's action, including the dispatcher's. Use it when an assignment was made in error, or when the assigned driver has become unavailable and you want the order back in the pool.
After unassigning, the order is treated as unassigned again and the next dispatcher cycle will consider it normally.
Unassigning an order that is already with a carrier is not the same as cancelling with that carrier. If your intent is to stop the carrier, see Cancelling an order, which handles the carrier side atomically.
What you cannot do
- An order already out for delivery cannot be reassigned. Once the driver has left the store, the dispatcher freezes it and so does the Hub. See Known system boundaries.
- You cannot assign outside your scope. Orders and drivers are both filtered to what you can see.