Order Tracking Status
Outlined below are the different statuses an order may go through in its fulfillment journey.
Notice the column for STEP indicates the sequence of the statuses while the column for POSSIBLE VALUES provide a range of different status that may appear at each STEP.
STEP | POSSIBLE | API
ATTRIBUTE | WEB UI | WEB UI
TAB | DEFINITION |
0 | processing | Processing | Any | the order is being moved from one tab to the next; this status can be an indicator that the order is stuck in between the two tabs | |
1 | order_placed | Order Placed | New Orders | the order is created in the Shippit New Orders tab; packaging size and courier assignment is yet to be confirmed | |
2 | despatch_in_progress | Packing Order | Ready to Ship | the order is in the Shippit Ready to Ship tab; packaging size and courier assignment is already confirmed | |
3 | a | ready_for_pickup | Booked for Delivery | Track | the order is on the Shippit Track tab; order details are sent to the selected courier for pickup and the merchant is already charged for booking |
b | pickup_failed | Pickup Failed | Track | the order status for futile pickup or no-goods-to-go (NGTG); this means the courier driver went to pick up the package from the merchant but it is not ready yet | |
c | invalidated | only for priority/same-day delivery orders; an order that was booked but cannot be picked-up because of driver inavailability | |||
d | cancelled | Cancelled | Track | an order that was previously booked but has not been picked-up was cancelled from the Track tab | |
4 | a | in_transit | In Transit | Track | the order is already collected by the courier driver from the merchant; this can mean (a) the order is on its way to the depot or (b) is currently travelling in between depots |
untrackable | Untrackable | Track | the order was placed only to generate a plain label so no tracking events can be recorded; applicable for click-and-collect orders | ||
5 | a | with_customs | only for international orders; an order that has arrived at the destination country but is yet to cleared by customs | ||
b | customs_awaiting_paym | only for international orders; an order that has arrived at the destination country but requires duties and taxes to be paid by recipient | |||
c | customs_failed | only for international orders; an order that has arrived at the destination country but was not cleared by customs | |||
d | customs_on_hold | only for international orders; an order that has arrived at the destination country but is undergoing review by customs for any sort of reason not stated to Shippit by courier | |||
6 | a | with_driver | With Driver | Track | the order is onboard for delivery to the customer; this means it's delivery day and the item is already on the courier driver's van |
b | delivery_attempted | Delivery Attempted | Track | the courier driver attempted to deliver to the recipient address but no one is present to receive the order; a card is left at the delivery address so the recipient can arrange a redelivery. | |
c | delivery_failed | Track | the courier driver attempted to deliver to the recipient address but the recipient no longer resides/works in the destination | ||
d | insufficient_address | Insufficient Address | Track | the courier driver cannot locate the destination based on the indicated order delivery address; this could mean the address is incorrect or insufficient; the merchant can validate the address in Google Maps and supply the correct/complete address | |
e1 | awaiting_collection | Awaiting Collection | Track | the courier driver delivered the item to a collection point for the customer to collect; this means that redelivery can no longer be arranged | |
e2 | await_collection | same as above; used by legacy integrations | |||
7 | a | completed | Completed | Track | the package is successfully delivered |
b | partially_completed | Track | a component of a multi-parcel order is delivered but other parcels within the same order are not yet delivered | ||
c | parcel_completed | Track | delivery of a multi-parcel order is completed | ||
d | lost | Lost | Track | the package is lost; if the order is covered by Shippit Transit Cover, a claim may be submitted | |
e | damaged | Damaged | Track | the package is damaged; if the order is covered by Shippit Transit Cover, a claim may be submitted | |
f | returned_to_sender | Returned to Sender | Track | the package was returned back to the merchant; this is possibly due to customer refusal to accept, customer failure to pick up from the designated collection point, redelivery attempts exceeded, incorrect address, or damaged package. | |
8 | a | return_requested | Return Requested | Track | the merchant booked a return of the order from the customer; this means the return label is now created |
b | awaiting_drop_off | only for users of the Shippit Returns portal; a customer chooses to drop off at the courier office instead of booking the delivery for pick-up from his/her address | |||
c | return_booked | only for users of the Shippit Returns portal; a customer books the delivery for pick-up from his/her address instead of choosing to drop off at the courier office | |||
d | return_booking_failed | only for users of the Shippit Returns portal; a customer who booked the delivery for pick-up from his/her address but is unable to ship out the item |
Triggers for Orders Status Update
Listed below are the different triggers through the Web User Interface (UI) and the API that can move an order from one status to the next.
Generally, it is not recommended to mix the Web UI and API workflows but in rare occasions that this is necessary, you may refer to the table below.
WEB UI
ACTION | API
CALL | STATE ON COMPLETION | WEB UI
TAB |
Add order | POST order | New Order | New Orders tab |
Modify order | Delete order | New Order | New Orders tab |
Confirm order | GET label | Ready to Ship | Ready to Ship tab |
Cancel label | DELETE order label | Order Placed | New Orders tab |
Book order | POST book | Booked | Track tab |
Cancel order | DELETE order | Cancelled | not visible |
Important Notes:
Modifications to an existing order cannot be done through the API. If an order required modification, it is recommended to perform Delete order API call to delete the existing version of the order in Shippit, then make a new Add order API call to load the order again in Shippit with its modified information.
The Cancel label Web UI action moves an order from the Ready to Ship tab back to the previous New Orders tab. This is different from the Cancel order Web UI action that can be done for any orders that are still on the Booked for Delivery (Web UI) or ready_for_pick-up (API) status. Any order that have already been picked-up by the courier cannot be cancelled via API and UI. This kind of cancellation needs to be performed with the assistance of the Shippit customer service team.