<?xml version="1.0" ?>

<!--

 This file is part of the Sylius package.

 (c) Sylius Sp. z o.o.

 For the full copyright and license information, please view the LICENSE
 file that was distributed with this source code.

-->

<serializer xmlns="http://symfony.com/schema/dic/serializer-mapping"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://symfony.com/schema/dic/serializer-mapping https://symfony.com/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd"
>
    <class name="Sylius\Component\Core\Model\Order">
        <attribute name="id">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
        </attribute>

        <attribute name="number">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
        </attribute>

        <attribute name="currencyCode">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
        </attribute>

        <attribute name="channel">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
        </attribute>

        <attribute name="customer">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
        </attribute>

        <attribute name="payments">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="shipments">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
        </attribute>

        <attribute name="checkoutState">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
        </attribute>

        <attribute name="state">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
        </attribute>

        <attribute name="paymentState">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
        </attribute>

        <attribute name="shippingState">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
        </attribute>

        <attribute name="total">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="orderPromotionTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="shippingPromotionTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="tokenValue">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
        </attribute>

        <attribute name="items">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="notes">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
        </attribute>

        <attribute name="itemsTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="itemsSubtotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:index</group>
            <group>sylius:shop:order:index</group>
            <group>shop:order:show</group>
            <group>sylius:shop:order:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="taxTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="shippingTaxTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="taxExcludedTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="taxIncludedTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="itemsSubtotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="localeCode">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>admin:cart:update</group>
            <group>sylius:admin:cart:update</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="shippingTotal">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="shippingAddress">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>

        <attribute name="billingAddress">
            <group>admin:order:index</group>
            <group>sylius:admin:order:index</group>
            <group>admin:order:show</group>
            <group>sylius:admin:order:show</group>
            <group>shop:cart:show</group>
            <group>sylius:shop:cart:show</group>
            <group>shop:order:account:show</group>
            <group>sylius:shop:order:account:show</group>
        </attribute>
    </class>
</serializer>
