<?xml version="1.0" encoding="UTF-8"?>
<s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <s:element name="ediMessage" minOccurs="0" maxOccurs="unbounded">
    <s:complexType>
      <s:sequence>
        <s:element name="messageHeader" minOccurs="0" maxOccurs="unbounded">
          <s:complexType>
            <s:sequence>
              <s:element name="messageId" type="s:string" minOccurs="0" maxOccurs="1"/>
              <s:element name="messageDate" type="s:string" minOccurs="0" maxOccurs="1"/>
              <s:element name="messageTime" type="s:string" minOccurs="0" maxOccurs="1"/>
              <s:element name="messageType" type="s:string" minOccurs="0" maxOccurs="1"/>
              <s:element name="messageVersion" type="s:string" minOccurs="0" maxOccurs="1"/>
              <s:element name="messageScope" type="s:string" minOccurs="0" maxOccurs="1"/>
            </s:sequence>
          </s:complexType>
        </s:element>
        <s:element name="inventoryPositions" minOccurs="0" maxOccurs="unbounded">
          <s:complexType>
            <s:sequence>
              <s:element name="inventoryPosition" minOccurs="0" maxOccurs="unbounded">
                <s:complexType>
                  <s:sequence>
                    <s:element name="warehouse" minOccurs="0" maxOccurs="unbounded">
                      <s:complexType>
                        <s:sequence>
                          <s:element name="location" type="s:string" minOccurs="0" maxOccurs="1"/>
                          <s:element name="operative" type="s:string" minOccurs="0" maxOccurs="1"/>
                        </s:sequence>
                      </s:complexType>
                    </s:element>
                    <s:element name="itemCode" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="itemDescription1" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="itemDescription2" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="itemDescription3" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="itemDescription4" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="itemGroup" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="itemSubgroup" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="batchNumber" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="allocationNumber" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="variableQuantity" type="s:string" minOccurs="0" maxOccurs="1"/>
                    <s:element name="bestBeforeDate" minOccurs="0" maxOccurs="unbounded">
                      <s:complexType>
                        <s:sequence>
                          <s:element name="date" type="s:string" minOccurs="0" maxOccurs="1"/>
                        </s:sequence>
                      </s:complexType>
                    </s:element>
                    <s:element name="packagingUnits" minOccurs="0" maxOccurs="unbounded">
                      <s:complexType>
                        <s:sequence>
                          <s:element name="packagingType" minOccurs="0" maxOccurs="unbounded">
                            <s:complexType>
                              <s:sequence>
                                <s:element name="packagingType" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="packagingLevel" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="pieces" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="eanCode" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="weight" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="measureOfWeight" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="length" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="width" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="height" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="measureOfDimension" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="turnoverClass" type="s:string" minOccurs="0" maxOccurs="1"/>
                                <s:element name="stockRestriction" type="s:string" minOccurs="0" maxOccurs="1"/>
                              </s:sequence>
                            </s:complexType>
                          </s:element>
                        </s:sequence>
                      </s:complexType>
                    </s:element>
                  </s:sequence>
                </s:complexType>
              </s:element>
            </s:sequence>
          </s:complexType>
        </s:element>
      </s:sequence>
    </s:complexType>
  </s:element>
</s:schema>
