Order workflow¶
Order statuses and changes¶
There are 2 ways of working with orders
- Going step by step through the order process using specific endpoints, which will update the status of the order respectively.
- Place/save the whole order and set the desired status. The status can not be set by the client directly "to specific status, i.e. Checkout". The API always goes through the whole process step by step and stops at the desired status or on validation problems. Setting the desired status is optional. The default desired status is "checkout".
The graph above shows the order workflow, you can observe the different order status. Furthermore, the needed entries to fulfill/ validate each stage (status) of the order and the response after entering each status.
status | description | order can be modifed | schema.org/OrderStatus |
---|---|---|---|
new | shopping basket | yes | |
checkout | shopping basket validated-items |
yes | |
placed | ready to continue with payment | yes | |
payment | payment in progress (on client side) | no | OrderPaymentDue |
paid | payment confirmed | no | |
inTransit | fulfillment in progress | no | OrderInTransit |
delivered | items delivered | no | OrderPickupAvailable ? |
fulfilled | order and payment completed | no | OrderDelivered |
canceled | "storniert" The support-team has taken take care of it. In the MVP there is no possibility to cancel an order by the customer. |
no | OrderCancelled |
expired | order has never reached status paid and wasn't touched for a defined time. But customer could resubmit the order like it would be in status checkout | yes | |
error | error occurred, but no money involved | no | OrderProblem |
fulfillmentError | serious problem and relevant for the business The support-team needs to take care of it |
no | |
deleted | the order gets removed from the database so no orders in this status really exist. |
no |
Order item statuses¶
Order item statuses can not be set or requested by the client individually they are a result of the process in the order state machine
status | description |
---|---|
new | shopping basket |
validationError | indicates a validation error in the item |
checkout | order-item was not placed (pre-bookings weren't requested) |
placed | ready to continue with payment |
inTransit | fulfillment in progress |
delivered | items delivered |
error | error occurred, but no money involved. If order item in that status, it's necessary to remove that order item or update it |
fulfillmentError | serious problem and relevant for the business The support-team needs to take care of it |
Last update:
June 2, 2023 08:44:14