<?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/CustomerRequest"
    xmlns="http://www.egis-online.de/EBC/schema/CustomerRequest"
    elementFormDefault="qualified">

    <xs:element name="CustomerRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="TransactionHeader"/>
				<xs:element ref="Request"/>
            </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="ERP"/>
                <xs:element ref="Login"/>
                <xs:element ref="Password"/>
                <xs:element ref="User" minOccurs="0" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="VersionId" type="xs:decimal"/>
    <xs:element name="GenerationDateTime" type="xs:dateTime"/>
    <xs:element name="ERP" type="xs:string"/>
    <xs:element name="Login">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:minLength value="1"/>
                <xs:maxLength value="40"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="Password">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:minLength value="1"/>
                <xs:maxLength value="40"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="User" type="xs:string"/>
	<xs:element name="Request">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Customer" maxOccurs="100"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Customer">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CustomerNo"/>
				<xs:element ref="CorporateCustomer"/>
				<xs:element ref="Comment" minOccurs="0"/>
				<xs:element ref="Salutation"/>
				<xs:element ref="Name1"/>
				<xs:element ref="Name2" minOccurs="0"/>
				<xs:element ref="Name3" minOccurs="0"/>
				<xs:element ref="Street"/>
				<xs:element ref="Locality" minOccurs="0"/>
				<xs:element ref="PostalCode"/>
				<xs:element ref="City"/>
				<xs:element ref="County" minOccurs="0"/>
				<xs:element ref="Country"/>
				<xs:element ref="EMail" minOccurs="0"/>
				<xs:element ref="Phone" minOccurs="0"/>
				<xs:element ref="Fax" minOccurs="0"/>
				<xs:element ref="Mobile" minOccurs="0"/>
				<xs:element ref="Latitude" minOccurs="0"/>
				<xs:element ref="Longitude" minOccurs="0"/>
				<xs:element ref="DeliveryAddress" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DeliveryAddress">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Salutation"/>
				<xs:element ref="Name1"/>
				<xs:element ref="Name2" minOccurs="0"/>
				<xs:element ref="Name3" minOccurs="0"/>
				<xs:element ref="Street"/>
				<xs:element ref="Locality" minOccurs="0"/>
				<xs:element ref="PostalCode"/>
				<xs:element ref="City"/>
				<xs:element ref="County" minOccurs="0"/>
				<xs:element ref="Country"/>
				<xs:element ref="EMail" minOccurs="0"/>
				<xs:element ref="Phone" minOccurs="0"/>
				<xs:element ref="Fax" minOccurs="0"/>
				<xs:element ref="Mobile" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CustomerNo">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="10"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="CorporateCustomer" type="xs:boolean"/>
	<xs:element name="Comment">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="2000"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Salutation">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<!-- DE only -->
				<xs:enumeration value="Firma"/>
				<xs:enumeration value="Herr"/>
				<xs:enumeration value="Frau"/>
				<!-- GB only -->
				<xs:enumeration value="Company"/>
				<xs:enumeration value="Mr"/>
				<xs:enumeration value="Ms"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Name1">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="40"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Name2">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="35"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Name3">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="35"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Street">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="50"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="PostalCode">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="10"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="City">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="1"/>
				<xs:maxLength value="35"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Country">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:minLength value="2"/>
				<xs:maxLength value="2"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Locality">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="35"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="County">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="35"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Phone">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="25"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Mobile">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="25"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Fax">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="25"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="EMail">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:maxLength value="50"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Latitude" type="xs:decimal"/>
	<xs:element name="Longitude" type="xs:decimal"/>
</xs:schema>