<?xml version="1.0" encoding="UTF-8" ?>

<config xmlns="http://thelia.net/schema/dic/config"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">

    <services>
        <!-- Base services -->
        <service id="thelia.facade" alias="Thelia\Coupon\BaseFacade" public="true"/>
        <service id="thelia.coupon.manager" alias="Thelia\Coupon\CouponManager"/>
        <service id="thelia.coupon.factory" alias="Thelia\Coupon\CouponFactory"/>
        <service id="thelia.condition.factory" alias="Thelia\Condition\ConditionFactory" public="true"/>

        <!-- Coupon types only aliases fo BC (autoconfigured by CouponInterface) -->
        <service id="thelia.coupon.type.remove_x_amount" alias="Thelia\Coupon\Type\RemoveXAmount"/>
        <service id="thelia.coupon.type.remove_x_percent" alias="Thelia\Coupon\Type\RemoveXPercent"/>
        <service id="thelia.coupon.type.remove_amount_on_categories" alias="Thelia\Coupon\Type\RemoveAmountOnCategories"/>
        <service id="thelia.coupon.type.remove_percentage_on_categories" alias="Thelia\Coupon\Type\RemovePercentageOnCategories"/>
        <service id="thelia.coupon.type.remove_amount_on_products" alias="Thelia\Coupon\Type\RemoveAmountOnProducts"/>
        <service id="thelia.coupon.type.remove_percentage_on_products" alias="Thelia\Coupon\Type\RemovePercentageOnProducts"/>
        <service id="thelia.coupon.type.remove_percentage_on_products" alias="Thelia\Coupon\Type\RemovePercentageOnProducts"/>
        <service id="thelia.coupon.type.remove_amount_on_attribute_av" alias="Thelia\Coupon\Type\RemoveAmountOnAttributeValues"/>
        <service id="thelia.coupon.type.remove_percentage_on_attribute_av" alias="Thelia\Coupon\Type\RemovePercentageOnAttributeValues"/>
        <service id="thelia.coupon.type.free_product" alias="Thelia\Coupon\Type\FreeProduct"/>

        <!-- Conditions only aliases fo BC (autoconfigured by ConditionInterface) -->
        <service id="thelia.condition.validator" alias="Thelia\Condition\ConditionEvaluator"/>
        <service id="thelia.condition.match_for_everyone" alias="Thelia\Condition\Implementation\MatchForEveryone"/>
        <service id="thelia.condition.match_for_total_amount" alias="Thelia\Condition\Implementation\MatchForTotalAmount"/>
        <service id="thelia.condition.match_for_x_articles" alias="Thelia\Condition\Implementation\MatchForXArticles"/>
        <service id="thelia.condition.match_for_x_articles_include_quantity" alias="Thelia\Condition\Implementation\MatchForXArticlesIncludeQuantity"/>
        <service id="thelia.condition.match_delivery_countries" alias="Thelia\Condition\Implementation\MatchDeliveryCountries"/>
        <service id="thelia.condition.match_billing_countries" alias="Thelia\Condition\Implementation\MatchBillingCountries"/>
        <service id="thelia.condition.start_date" alias="Thelia\Condition\Implementation\StartDate"/>
        <service id="thelia.condition.cart_contains_categories" alias="Thelia\Condition\Implementation\CartContainsCategories"/>
        <service id="thelia.condition.cart_contains_products" alias="Thelia\Condition\Implementation\CartContainsProducts"/>
        <service id="thelia.condition.for_some_customers" alias="Thelia\Condition\Implementation\ForSomeCustomers"/>
    </services>
</config>
