Skip to main content
Nash integrates with hundreds of fleets, and we normalize all their statuses into a list of Nash Delivery Statuses. On this page, we explain these statuses and highlight a few things that are important to know when processing Nash status updates.

Delivery status list

The delivery status values are:
StatusDescription
CREATEDif you see this value in the DeliveryStatus object then this means that the delivery has been registered with the provider and is therefore “created”. In the Nash Portal, a job’s status can also show as created before it is sent to the provider.
SCHEDULEDthe provider has scheduled the delivery.
NOT_ASSIGNED_DRIVERthe provider acknowledges the delivery but has not assigned a driver to it yet.
ASSIGNED_DRIVERa driver has been assigned to the delivery.
STARTEDthe delivery has started. This status is not that common.
PICKUP_ENROUTEthe driver is en route to the pickup point.
PICKUP_ARRIVEDthe driver has arrived at the pickup point.
PICKUP_COMPLETEthe driver has completed the pickup.
ITEMS_PICK_COMPLETEthe driver has completed picking up all items for the order.
DROPOFF_ENROUTEthe driver is en route to the dropoff point.
DROPOFF_ARRIVEDthe driver has arrived at the dropoff point.
RETURN_IN_PROGRESSthe driver is en route to the pickup point with intentions to return the package (e.g., delivery containing alcohol cannot be delivered due to failed age verification and needs to be returned to the store)

Terminal statuses

Once a delivery reaches one of these statuses, it will not change again.
StatusDescription
DROPOFF_COMPLETEthe driver has dropped off the delivery.
CANCELED_BY_CUSTOMERthe delivery was canceled by the Nash customer via the Portal or API.
CANCELED_BY_PROVIDERthe delivery was canceled by the provider.
CANCELED_BY_NASHthe delivery was canceled by a member of the Nash team or the Nash system.
CANCELED_BY_AUTO_REASSIGNthe delivery was canceled by the Nash auto-reassignment functionality.
RETURNEDthe provider has returned the delivery.
EXPIREDthe delivery has expired.
FAILEDthe provider marked the delivery as failed. You can check the task.failureReason for more notes

Guaranteed status order

Nash guarantees the following path if the delivery is completed.
CREATED ->ASSIGNED_DRIVER -> PICKUP_ENROUTE -> PICKUP_ARRIVED -> DROPOFF_ENROUTE -> DROPOFF_ARRIVED -> DROPOFF_COMPLETE
This means if a delivery reaches DROPOFF_COMPLETE we guarantee the other statuses before that will exist in the same order presented. Note you can have more statuses than these, but they will preserve their relative order and will always exist. We do this by inferring some statuses from providers, even if they do not provide them. For example, if a fleet doesn’t support the Dropoff Arrived status but they send us a Dropoff Complete one, then we will inject the Dropoff Arrived status right before adding Dropoff Complete. This helps our API partners build workflows on top of the guaranteed status order.

Important to know

  • Different providers will support different subsets of the statuses above. It’s important to know this when building workflows on top of the statuses above.
  • Nash does not guarantee the order in which providers will send us the statuses, outside of the guaranteed status order defined earlier.
  • Statuses in the guaranteed status order may be inferred by Nash.