6.4 (current)


From a cart instance, an Order can be created. The whole structure of the cart is stored in the database. Contrary to the cart, a structure that allows a great degree of freedom and is calculation optimized, the order is workflow optimized.

Design goals


The order itself does not depend on the catalog or the products. The line item with all of its data, as well as all calculated prices, is persisted in the database. Orders only get recalculated when triggered explicitly through the API.

Workflow dependant

The order state changes in a defined, predictable and configurable way - other state transitions are blocked.

State management

During the order placement, at least three distinct state machines are started as described in the below diagrams:
The order state machine
The transaction state machine
The delivery state machine
The state machines displayed in the following sections can actually be modified through the API, this is just the default setup.
These can be used to track the progress during the order process and notify the customer about the current state of the order.
Last modified 1mo ago