Skip to main content

When an order changes driver

Before every assignment attempt, the dispatcher checks whether an order already assigned to one driver should instead go to a different one — but only on driver priority, never on how urgent or important the order itself is.

When a reassignment is allowed

Situation Result
Order has no driver yet Assign freely
Previously assigned driver is no longer available Assign freely
Same driver being considered again No change needed
New driver has better priority Reassign
Current driver has equal or better priority Keep as-is

Priority is defined in Driver classification and priority.

Common scenarios

Current driver Candidate driver Outcome
External driver Internal driver Reassigned — better type
Idle, at store Idle, at store No change — both equally good
Idle, away from store Idle, at store Reassigned — better location
Waiting, at store Idle, away from store No change — current is still better
External, away from store External, away from store No change — no real improvement

Passing the priority check is not a delivery guarantee

Passing it only means the dispatcher will attempt the assignment. It still has to verify the new driver can actually deliver on time:

Driver situation Delivery time checked?
Idle, at store No — always the fastest possible option
Idle, away from store Yes
Waiting (already has orders) Yes — must be able to deliver everything
On The Way Yes — the full route is recalculated

If the delivery-time check fails, the assignment is reverted and the order stays available for the next driver in line. It isn't lost.

Rules that never change

  • Orders already out for delivery — the driver has left the store — are never reassigned.
  • Manually assigned orders, assigned by an employee rather than the dispatcher, are completely locked from automatic reassignment.
  • Internal drivers can take an order away from an external driver. The reverse is never allowed.