<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://cowhills.nl/RosPriceInfo-1-0"
  xmlns:tns="http://cowhills.nl/RosPriceInfo-1-0">
  <xs:element name="RosPriceInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ConditionalPromotions">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Promotion" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="ActivePeriod" minOccurs="0" maxOccurs="1">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="Days" use="required">
                              <xs:simpleType>
                                <xs:list>
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:enumeration value="Mo"/>
                                      <xs:enumeration value="Tu"/>
                                      <xs:enumeration value="We"/>
                                      <xs:enumeration value="Th"/>
                                      <xs:enumeration value="Fr"/>
                                      <xs:enumeration value="Sa"/>
                                      <xs:enumeration value="Su"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:list>
                              </xs:simpleType>
                            </xs:attribute>
                            <xs:attribute type="xs:time" name="StartTime" use="required"/>
                            <xs:attribute type="xs:time" name="EndTime" use="required"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Description" type="tns:LocalizedTextType" minOccurs="1" maxOccurs="unbounded"/>
                    <xs:element name="TreazureInfo" minOccurs="0" maxOccurs="1">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Sticker" minOccurs="0" maxOccurs="unbounded"
                            type="tns:StickerTextType"/>

                          <xs:element type="xs:boolean" name="LongTerm" minOccurs="0" maxOccurs="1"
                          />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="FilterGroups">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="FilterGroup" minOccurs="1" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Article" minOccurs="0" maxOccurs="unbounded"
                                  type="tns:FilterAttributes"> </xs:element>
                                <xs:element name="Group" minOccurs="0" maxOccurs="unbounded"
                                  type="tns:FilterAttributes"> </xs:element>
                                <xs:element name="CouponDefinition" minOccurs="0" maxOccurs="unbounded"
                                  type="tns:FilterAttributesCoupon"> </xs:element>
                                <xs:element name="TransactionAttribute" minOccurs="0" maxOccurs="unbounded"
                                            type="tns:FilterAttributesTransactionAttribute"> </xs:element>
                              </xs:sequence>
                              <xs:attribute type="xs:string" name="Id" use="required"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="AssignedStores" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Store" minOccurs="0" maxOccurs="unbounded"
                                      type="tns:StoreAttributes"> </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="LayerInfo" type="tns:LayerInfo" minOccurs="1" maxOccurs="1" />
                  </xs:sequence>

                  <xs:attribute type="xs:string" name="Code" use="required"/>
                  <xs:attribute name="Type" use="required">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="FinancialPromotion"/>
                        <xs:enumeration value="ShippingCosts"/>
                        <xs:enumeration value="TypeValue"/>
                        <xs:enumeration value="IssueCoupon"/>
                        <xs:enumeration value="Loyalty"/>
                        <xs:enumeration value="DiscountVoucher"/>
                        <xs:enumeration value="Notification"/>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:attribute>
                  <xs:attribute type="xs:dateTime" name="From" use="required"/>
                  <xs:attribute type="xs:dateTime" name="To" use="required"/>
                  <xs:attribute type="xs:boolean" name="CardHolder" use="optional"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute type="xs:dateTime" name="ReferenceDate"/>
      <xs:attribute type="xs:string" name="ChainId"/>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="FilterAttributes">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Attribute">
        <xs:complexType>
          <xs:attribute name="Type" type="xs:string" use="required"/>
          <xs:attribute name="Value" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute type="xs:string" name="Id" use="required"/>
    <xs:attribute type="xs:string" name="ColorId" use="optional"/>
    <xs:attribute type="xs:string" name="SizeId" use="optional"/>
    <xs:attribute name="PluRule">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Required"/>
          <xs:enumeration value="NotAllowed"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute type="xs:boolean" name="Exclude" use="optional"/>
  </xs:complexType>
  <xs:complexType name="FilterAttributesCoupon">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Attribute">
        <xs:complexType>
          <xs:attribute name="Type" type="xs:string" use="required"/>
          <xs:attribute name="Value" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute type="xs:string" name="Id" use="required"/>
    <xs:attribute name="Type" use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="Generic"/>
          <xs:enumeration value="Unique"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
  <xs:complexType name="FilterAttributesTransactionAttribute">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Attribute">
        <xs:complexType>
          <xs:attribute name="Type" type="xs:string" use="required"/>
          <xs:attribute name="Value" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute type="xs:string" name="Id" use="required"/>
  </xs:complexType>
  <xs:complexType name="StoreAttributes">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="Attribute">
        <xs:complexType>
          <xs:attribute name="Type" type="xs:string" use="required"/>
          <xs:attribute name="Value" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute type="xs:string" name="Id" use="required"/>
  </xs:complexType>

  <xs:complexType name="LocalizedTextType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="LanCode" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="StickerTextType">
    <xs:sequence>
      <xs:element name="StickerTitle" type="xs:string"/>
      <xs:element name="StickerText" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="LanCode" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="LayerInfo">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Description" type="tns:LocalizedTextType" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element name="Order" type="xs:int" />
    </xs:sequence>
  </xs:complexType>

</xs:schema>
