Skip to main content

Order and shipping statuses

An order exposes a single OrderStatus through Order.status. Each shipping additionally exposes three independent statuses: Shipping.status (the carrier tracking state), Shipping.fulfillmentStatus (the warehouse fulfilment state) and Shipping.bookingStatus (the shipping label (waybill) booking state).

fulfillmentStatus and status cover two consecutive stages of the flow: a shipping is first fulfilled by the warehouse (tracked by fulfillmentStatus), and only then shipped by the carrier (tracked by status). bookingStatus tracks the booking process that produces the shipping label (waybill): confirmed means the label has been generated.

Order statuses

Order.status — the lifecycle of the order inside OMS. Typical progression:

The meaning of each status is documented on the OrderStatus enum reference. OMS can notify your integration every time an order enters a status — see the Order status change webhook events.

note

What happens right after an order is submitted — the asynchronous checks that run while it is acquiring, and how with_anomalies is handled — is documented in Import an order.

Shipping statuses

Each entry in Order.shippings carries three separate statuses: they are independent state machines, so always read the field that answers your question instead of deducing one state from another.

Shipping.status — carrier tracking

Reflects the carrier tracking state of the parcel. The meaning of each state is documented on the ShippingStatus enum reference; it is null until the first tracking information is received from the carrier.

Shipping.fulfillmentStatus — warehouse fulfilment

Reflects how much of the shipping has been fulfilled by the warehouse. The meaning of each value is documented on the ShippingFulfillmentStatus enum reference. In projects where the external warehouse validates the shippings, the warehouse moves it from pending to completed, partial or cancelled itself — see Confirm or cancel a fulfilment.

Shipping.bookingStatus — shipping label booking

Reflects the state of the booking process that produces the shipping label (waybill): confirmed means the label has been generated. The meaning of each value is documented on the ShippingBookingStatus enum reference; it is null until the booking process starts. In projects where the external warehouse validates the shippings, a shipping stays pending until the warehouse confirms its fulfilment.

The return shipping of a repayment request uses the same statuses: see Repayment request statuses.