Order lifecycle
Lynq order status values match the core platform. Webhook event types signal transitions — they are related but not identical strings.
State diagram
Webhook ↔ status reference
| Webhook event | Typical data.object.status |
|---|---|
order.received | pending |
order.accepted | pending |
order.assigned | confirmed |
order.picked_up | picked_up |
order.in_transit | in_transit |
order.delivered | delivered |
order.cancelled | cancelled |
order.failed | rejected |
order.returned | returned |
Geofence events (order.arrived_at_pickup, order.arrived_at_dropoff, order.leg.arrived) do not always change top-level status — use them for UX notifications.
Idempotent handlers
Webhook id is stable across retries. Persist processed IDs and skip duplicate side effects when the same id arrives again.