<?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/QuoteQueryResponse"
    xmlns="http://www.egis-online.de/EBC/schema/QuoteQueryResponse"
    elementFormDefault="qualified">

    <xs:element name="QuoteQueryResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="TransactionHeader"/>
                <xs:element ref="Header" minOccurs="0"/>
				<xs:element ref="Quotes" 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="Header">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TotalResults"/>
				<xs:element ref="TotalPages"/>
				<xs:element ref="CurrentPage"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TotalResults" type="xs:positiveInteger"/>
	<xs:element name="TotalPages" type="xs:positiveInteger"/>
	<xs:element name="CurrentPage" type="xs:positiveInteger"/>
	<xs:element name="Quotes">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Quote" maxOccurs="50"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Quote">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="QuoteNumber"/>
				<xs:element ref="CustomerNumber"/>
				<xs:element ref="CustomerAddress"/>
				<xs:element ref="CreatedOn"/>
				<xs:element ref="Status"/>
				<xs:element ref="InternalNotes"/>
				<xs:element ref="QuoteItems"/>
				<xs:element ref="NetTotal"/>
				<xs:element ref="NetFinalTotal"/>
				<xs:element ref="GrossTotal"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="QuoteNumber" type="xs:string"/>
	<xs:complexType name="AddressType">
		<xs:sequence>
			<xs:element ref="Salutation"/>
			<xs:element ref="Name1"/>
			<xs:element ref="Name2"/>
			<xs:element ref="Name3"/>
			<xs:element ref="Street"/>
			<xs:element ref="PostalCode"/>
			<xs:element ref="City"/>
			<xs:element ref="GlobalCountryCode"/>
			<xs:element ref="Country"/>
			<xs:element ref="Locality" minOccurs="0"/>
			<xs:element ref="County" minOccurs="0"/>
			<xs:element ref="PhoneNumber"/>
			<xs:element ref="MobileNumber"/>
			<xs:element ref="FaxNumber"/>
			<xs:element ref="EMailAddress"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="CustomerNumber" type="xs:string"/>
	<xs:element name="CreatedOn" type="xs:date" nillable="true"/>
	<xs:element name="Salutation" type="xs:string"/>
	<xs:element name="Name1" type="xs:string"/>
	<xs:element name="Name2" type="xs:string" nillable="true"/>
	<xs:element name="Name3" type="xs:string" nillable="true"/>
	<xs:element name="Street" type="xs:string"/>
	<xs:element name="PostalCode" type="xs:string"/>
	<xs:element name="City" type="xs:string"/>
	<xs:element name="GlobalCountryCode" type="xs:string"/>
	<xs:element name="Country" type="xs:string"/>
	<xs:element name="PhoneNumber" type="xs:string" nillable="true"/>
	<xs:element name="MobileNumber" type="xs:string" nillable="true"/>
	<xs:element name="FaxNumber" type="xs:string" nillable="true"/>
	<xs:element name="EMailAddress" type="xs:string" nillable="true"/>
	<xs:element name="Locality" type="xs:string"/>
	<xs:element name="County" type="xs:string"/>
	<xs:element name="CustomerAddress" type="AddressType"/>
	<xs:element name="Status">
		 <xs:simpleType>
			<xs:restriction base="xs:string">
				<!-- DE -->
				<xs:enumeration value="offen"/>
				<xs:enumeration value="teilweise akzeptiert"/>
				<xs:enumeration value="akzeptiert"/>
				<xs:enumeration value="abgelehnt"/>
				<xs:enumeration value="fakturiert"/>
				<!-- UK -->
				<xs:enumeration value="open"/>
				<xs:enumeration value="partially accepted"/>
				<xs:enumeration value="accepted"/>
				<xs:enumeration value="rejected"/>
				<xs:enumeration value="Billed"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="InternalNotes" type="xs:string" nillable="true"/>
	<xs:element name="QuoteItems">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="QuoteItem" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="NetTotal" type="xs:decimal"/>
	<xs:element name="NetFinalTotal" type="xs:decimal"/>
	<xs:element name="GrossTotal" type="xs:decimal"/>
	<xs:element name="QuoteItem">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="QuoteItemNumber"/>
				<xs:choice>
					<xs:sequence>
						<xs:element ref="ProprietaryProductNumber"/>
						<xs:element ref="DatasheetUrl" minOccurs="0"/>
						<xs:element ref="DatasheetPdfUrl" minOccurs="0"/>
					</xs:sequence>
					<xs:element ref="PartnerProductNumber"/>
				</xs:choice>
				<xs:element ref="ProductDescription"/>
				<xs:element ref="Description"/>
				<xs:element ref="Quantity"/>
				<xs:element ref="UnitPrice"/>
				<xs:element ref="NetTotalPrice"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="QuoteItemNumber" type="xs:positiveInteger"/>
	<xs:element name="ProprietaryProductNumber" type="xs:string"/>
	<xs:element name="DatasheetUrl" type="xs:string"/>
	<xs:element name="DatasheetPdfUrl" type="xs:string"/>
	<xs:element name="PartnerProductNumber" type="xs:string"/>
	<xs:element name="ProductDescription" type="xs:string"/>
	<xs:element name="Description" type="xs:string" nillable="true"/>
	<xs:element name="Quantity" type="xs:positiveInteger"/>
	<xs:element name="UnitPrice" type="xs:decimal"/>
	<xs:element name="NetTotalPrice" type="xs:decimal"/>
</xs:schema>