You are on page 1of 3

Order Status Flow

Change Log
Author Selazar Version Date Change
Rory Longwell v3.9.0 11/10/2021 Document created
Order Processing Status Chart

Received [1] Processing [2] Fulfilment Preparation [3]


(Order) (Order) (Order)

Fulfilling Partial Order [3] Partial Order? Awaiting Order Queued [3]
Replen?
(Order) Yes No Yes (Order)

No

Fulfilment Preparation Fulfilment Preparation N.B From here Order


Completed – PPO [3] Completed [3] statuses are used only as a
display value, not for
(PPO) (Order) processing queries.

Courier Eligibility – PPO [4] Courier Eligibility [4]

(PPO) (Order)

Courier Eligibility Completed – PPO [4] Courier Eligibility Completed [4]

(PPO) (Order)

Winning Courier - PPO [5] Winning Courier [5]


(PPO) (Order)

Winning Courier Completed – PPO [5] Winning Courier Completed [5]

(PPO) (Order)

Cost Items – PPO [6] Cost Items [6]


(PPO) (Order)

Cost Items Completed – PPO [6] Cost Items Completed [6]

(PPO) – PPO [6]


Awaiting Fulfillment Awaiting(Order)
Fulfillment [6]

Key (PPO) (Order)


 [1] Set by `CreateOrdersFromCSV`, `CreateOrdersFromShopifyOrders`,
`CreateOrdersFromWooCommerceOrders` or `CreateOrdersFromOpenAPIOrders`
 [2] Set by `MarkOrdersForProcessing`
 [3] Set by `DetermineFulfilmentRequirements`
 [4] Set by `DetermineEligibleCouriers`
 [5] Set by `DetermineWinningCouriers`
 [6] Set by `AddCostItems`

Fulfilment Statuses

Where a partial order has been created, the order status will stay as ‘Fulfilling Partial Order’ while
the PPOs are being picked and packed. After the PPO has been packed, the order status will update
to ‘Part Fulfilled’. After the remaining partial order stock has either been fulfilled or cancelled, the
order will resolve to a normal (non-partial order) status e.g. ‘Shipped’.

Where a partial order has not been created the order status will use the status resolver as it has
done previously.

Failure Statuses

In the case of non-partial orders if it fails processing the order will be marked as ‘Processing Failed’ if
the PPOs have been created, they will get marked as ‘Processing failed - PPO’.

For a partial order if the order fails processing on the first PPO, the whole order will be marked as
failed. The order will be ‘Processing Failed’ and the PPOs will get marked as ‘Processing failed -
PPO’. Any partial order stock that has been created will be marked as ‘Failed’.

For a partial order where it fails after one or more PPOs have already been processed successfully or
fulfilled, the order will be marked as ‘Part Failure’. The valid part of the order will continue fulfilment
and be charged.

Status Resolver

The status resolver is used to set the order status based on the status of it’s PPOs. The partial order
work involved extending the status resolver to support more conditions. The statuses and the
conditions for them are as follows, processed in this order:

 Processing Failed: All PPOs are marked as ‘Processing Failed – PPO’.


 Part Failure: Any PPOs are marked as ‘Processing Failed – PPO’.
 Shipped: All PPOs are marked as ‘Shipped – PPO’.
 Collection Booked: All PPOs are marked as ‘Booked – PPO’ or ‘Shipped – PPO’.
 Awaiting Collection: All PPOs are marked as ‘Booked – PPO’ or ‘Packed – PPO’.
 Fulfilment in Progress: Any PPOs are marked as ‘Picking – PPO’, ‘Picked - PPO’ or `Packing -
PPO`.
 Awaiting Fulfillment: Any PPOs are marked as ‘Awaiting Fulfillment – PPO’ where the rest
are all either ‘Packed - PPO’, ‘Booked – PPO’ or ‘Shipped – PPO’.

You might also like