<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.egis-online.de/EBC/schema/PurchaseOrderConfirmationQueryResponse"
    xmlns="http://www.egis-online.de/EBC/schema/PurchaseOrderConfirmationQueryResponse"
    elementFormDefault="qualified">
    <xs:element name="PurchaseOrderConfirmationQueryResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="TransactionHeader"/>
                <xs:element ref="PurchaseOrderConfirmation" maxOccurs="unbounded" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="TransactionHeader">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="VersionId"/>
                <xs:element ref="GenerationDateTime"/>
                <xs:element ref="Exception" maxOccurs="1" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="VersionId" type="xs:decimal"/>
    <xs:element name="GenerationDateTime" type="xs:dateTime"/>
    <xs:element name="Exception">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ErrorNumber"/>
                <xs:element ref="ErrorMessage"/>
                <xs:element ref="ErrorDescription"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ErrorNumber" type="xs:int"/>
    <xs:element name="ErrorMessage" type="xs:string"/>
    <xs:element name="ErrorDescription" type="xs:string" nillable="true"/>
    <xs:element name="PurchaseOrderConfirmation">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Header"/>
                <xs:element ref="Body"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Header">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="PurchaseOrderConfirmationReference"/>
                <xs:element ref="DocumentReference"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Body">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" ref="LineItem"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="LineItem">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryLineNumber"/>
                <xs:element ref="DistributorLineNumber"/>
                <xs:element ref="DocumentReference"/>
                <xs:element ref="ProductIdentification"/>
                <xs:element ref="OrderQuantity"/>
                <xs:element ref="UnitPrice"/>
                <xs:element ref="UnitOfMeasure"/>
                <xs:element ref="DeliveryInformation"/>
				<xs:element ref="Comment"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryLineNumber" type="xs:positiveInteger"/>
    <xs:element name="DistributorLineNumber" type="xs:positiveInteger" nillable="true"/>
    <xs:element name="ProductIdentification">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="DistributorProductNumber"/>
                <xs:element ref="GlobalProductNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="GlobalProductNumber" type="xs:string" nillable="true"/>
    <xs:element name="DistributorProductNumber" type="xs:string"/>
    <xs:element name="OrderQuantity">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ScheduledShipQuantity"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ScheduledShipQuantity" type="xs:integer"/>
    <xs:element name="UnitPrice">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="MonetaryAmount"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="MonetaryAmount" type="xs:decimal" nillable="true"/>
    <xs:element name="UnitOfMeasure" type="xs:string" nillable="true"/>
    <xs:element name="DeliveryInformation">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ScheduledDeliveryDate"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ScheduledDeliveryDate" type="xs:date" nillable="true"/>
    <xs:element name="DocumentReference">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="PurchaseOrderReference" maxOccurs="1" minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="PurchaseOrderReference">
        <xs:complexType>
            <xs:choice>
                <xs:element ref="PurchaseOrderLineItemReference"/>
                <xs:sequence>
                    <xs:element ref="ProprietaryPurchaseOrderIdentifier"/>
                    <xs:element ref="PartnerPurchaseOrderIdentifier"/>
                </xs:sequence>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="PurchaseOrderLineItemReference">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderLineNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderLineNumber" type="xs:positiveInteger"/>
    <xs:element name="ProprietaryPurchaseOrderIdentifier">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderNumber" type="xs:string"/>
    <xs:element name="PartnerPurchaseOrderIdentifier">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="PartnerPurchaseOrderNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="PartnerPurchaseOrderNumber" type="xs:string" nillable="true"/>
    <xs:element name="PurchaseOrderConfirmationReference">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderConfirmationIdentifier"/>
                <xs:element ref="DistributorOrderIdentifier"/>
                <xs:element ref="DistributorPurchaseOrderConfirmationIdentifier"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderConfirmationIdentifier">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ProprietaryPurchaseOrderConfirmationId"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ProprietaryPurchaseOrderConfirmationId" type="xs:positiveInteger"/>
    <xs:element name="DistributorOrderIdentifier">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="DistributorOrderNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DistributorOrderNumber" type="xs:string" nillable="true"/>
    <xs:element name="DistributorPurchaseOrderConfirmationIdentifier">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="DistributorPurchaseOrderConfirmationDate"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DistributorPurchaseOrderConfirmationDate" type="xs:date"/>
    <xs:element name="Comment">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="AdditionalText"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="AdditionalText" nillable="true">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:maxLength value="200"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
</xs:schema>
