.. rst-class:: outdated 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 :doc:`/components_and_bundles/bundles/SyliusInventoryBundle/index` and Symfony, you will have full state machine configuration at your disposal. .. _component_inventory_inventory-unit-transitions: 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.