State Machine

Danger

We’re sorry but this documentation section is outdated. Please have that in mind when trying to use it. You can help us making documentation up to date via Sylius Github. Thank you!

Inventory Unit States

Sylius itself uses a complex state machine system to manage all states of the business domain. This component has some sensible default states defined in the InventoryUnitInterface.

All new InventoryUnit instances have the state checkout by default, which means they are in the cart and wait for verification.

The following states are defined:

Related constant State Description
STATE_CHECKOUT checkout Item is in the cart
STATE_ONHOLD onhold Item is hold (e.g. waiting for the payment)
STATE_SOLD sold Item has been sold and is no longer in the warehouse
STATE_RETURNED returned Item has been sold, but returned and is in stock

Tip

Please keep in mind that these states are just default, you can define and use your own. If you use this component with SyliusInventoryBundle and Symfony, you will have full state machine configuration at your disposal.

Inventory Unit Transitions

There are the following order’s transitions by default:

Related constant Transition
SYLIUS_HOLD hold
SYLIUS_SELL sell
SYLIUS_RELEASE release
SYLIUS_RETURN return

There is also the default graph name included:

Related constant Name
GRAPH sylius_inventory_unit

Note

All of above transitions and the graph are constant fields in the InventoryUnitTransitions class.