The right rider for every order, chosen before a dispatcher could scroll.
Every new order is scored against every available rider in your fleet. Position, current load and how well the drop fits their existing route are weighed together, and the order is assigned automatically.
Closest is not always best.
A rider 400 m away who is already carrying three orders will make every one of those customers wait longer. Aschhigo looks past raw distance to the rider who can take the order without hurting anyone else's ETA.
| Rider | Distance | Load | Route fit | Result |
|---|---|---|---|---|
| 07R-07 | 0.6 km | 1 of 3 | Assigned | |
| 03R-03 | 0.4 km | 3 of 3 | At capacity | |
| 12R-12 | 1.4 km | 0 of 3 | Standby | |
| 09R-09 | 2.2 km | 1 of 3 | Off route |
R-03 is closest but already carrying three orders. R-07 is 200 m further, has capacity, and the new drop sits on its current route.
Four steps, running on every order.
Order arrives
A new order lands from your order system with pickup, drop and promised window.
Candidates scored
Every available rider in range is scored on position, load and route fit.
Best fit assigned
The order goes to the highest-scoring rider and appears in their app instantly.
Queue rebalanced
If a better option appears before pickup, the assignment can be rebalanced.
What each assignment weighs
Automation with rules you set.
Capacity limits
Set how many orders a rider can carry at once, per vehicle type.
Zone and hub rules
Keep riders within their hub or allow cross-zone help at peak.
Manual override
Dispatchers can reassign any order, and the engine adapts around the change.
Your fleet is the next dispatch.
Connect your riders and order feed, and every delivery promise you make starts correcting itself the moment the road changes.