Hyperlocal
Order Lifecycle
A store-based delivery order follows this flow:
Code
Order Statuses
| Status | Description |
|---|---|
ACCEPTED | Order accepted by Shadowfax for delivery |
ALLOTED | Order allotted to a rider (pull API spelling) |
ARRIVED | Rider arrived at pickup location |
DISPATCHED | Order collected and dispatched |
ARRIVED_CUSTOMER_DOORSTEP | Rider arrived at drop location |
DELIVERED | Order delivered to customer |
CANCELLED | Order cancelled |
CANCELLED_BY_CUSTOMER | Order cancelled by customer after pickup |
RETURNED_TO_SELLER | SKUs or COD returned to seller |
UNDELIVERED | Milk Run model — used instead of CANCELLED_BY_CUSTOMER |
Callbacks may use ALLOTTED (double T) and additional statuses like UNASSIGNED.
Typical Timeline
| Stage | API Status | Trigger |
|---|---|---|
| Order placed | ACCEPTED | POST /api/v2/stores/orders/ |
| Rider assigned | ALLOTED | Shadowfax assigns rider |
| Rider at store | ARRIVED | Rider reaches store |
| Order picked up | DISPATCHED | Rider collects order |
| Rider at customer | ARRIVED_CUSTOMER_DOORSTEP | Rider reaches drop |
| Delivered | DELIVERED | Rider completes delivery |
Build your integration around callbacks for real-time updates. Use Get Order Details as a reconciliation fallback.
See the API Reference for full endpoint documentation.
Last modified on