<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.8">
	<xs:element name="BookingMessage-Response">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Document-Header" minOccurs="0"/>
				<xs:element ref="BookingResponse-Header"/>
				<xs:element ref="Document-Parties"/>
				<xs:element ref="BookingResponse-Parties"/>
				<xs:element ref="BookingResponse-Lines" minOccurs="0"/>
				<xs:element ref="BookingResponse-Summary" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Document-Header">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DocumentID" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DocumentID" type="string16">
		<xs:annotation>
			<xs:documentation>Уникальный номер электронного документа (контейнера)</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="BookingResponse-Header">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DocumentNumber"/>
				<xs:element ref="DocumentDate"/>
				<xs:element ref="DocumentTime" minOccurs="0"/>
				<xs:element ref="DocumentFunctionCode" minOccurs="0"/>
				<xs:element ref="DocumentNameCode" minOccurs="0"/>
				<xs:element ref="ReferenceBookingMessage"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DocumentNumber" type="string35-1"/>
	<xs:element name="DocumentDate" type="date" default="2018-01-01"/>
	<xs:element name="DocumentTime" type="time" default="00:00"/>
	<xs:element name="DocumentFunctionCode" type="DocumentFunctionCode"/>
	<xs:element name="DocumentNameCode" type="DocumentNameCode"/>
	<xs:element name="ReferenceBookingMessage">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ReferenceBookingNumber"/>
				<xs:element ref="ReferenceBookingDate" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ReferenceBookingNumber" type="string35"/>
	<xs:element name="ReferenceBookingDate" type="date" default="2018-01-01"/>
	<xs:element name="Document-Parties">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Sender"/>
				<xs:element ref="Receiver"/>
				<xs:element ref="Creator" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Sender">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ILN"/>
				<xs:element ref="Name" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Receiver">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ILN"/>
				<xs:element ref="Name" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Creator">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Name" minOccurs="0"/>
				<!--<xs:element ref="E-mail" minOccurs="0"/>-->
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!--<xs:element name="E-mail" type="xs:string"/>-->
	<xs:element name="BookingResponse-Parties">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Buyer"/>
				<xs:element ref="Seller"/>
				<xs:element ref="Carrier" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Buyer">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ILN"/>
				<xs:element ref="Name" minOccurs="0"/>
				<xs:element ref="StreetAndNumber" minOccurs="0"/>
				<xs:element ref="CityName" minOccurs="0"/>
				<xs:element ref="State" minOccurs="0"/>
				<xs:element ref="StateCode" minOccurs="0"/>
				<xs:element ref="Country" minOccurs="0"/>
				<xs:element ref="TaxID" minOccurs="0"/>
				<xs:element ref="RegisterNumber" minOccurs="0"/>
				<xs:element ref="Contact" minOccurs="0"/>
				<xs:element name="Type" type="string35" minOccurs="0" />
				<xs:element ref="District"  minOccurs="0" />
				<xs:element ref="Locality"  minOccurs="0" />
				<xs:element ref="PostalCode"  minOccurs="0" />
				<xs:element ref="HouseNumber"  minOccurs="0" />
				<xs:element ref="Housing"  minOccurs="0" />
				<xs:element ref="RoomNumber"  minOccurs="0" />
				<xs:element ref="AdditionalInformation"  minOccurs="0" />	
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Seller">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ILN"/>
				<xs:element ref="Name" minOccurs="0"/>
				<xs:element ref="StreetAndNumber" minOccurs="0"/>
				<xs:element ref="CityName" minOccurs="0"/>
				<xs:element ref="State" minOccurs="0"/>
				<xs:element ref="StateCode" minOccurs="0"/>
				<xs:element ref="Country" minOccurs="0"/>
				<xs:element ref="TaxID" minOccurs="0"/>
				<xs:element ref="RegisterNumber" minOccurs="0"/>
				<xs:element ref="Contact" minOccurs="0"/>
				<xs:element name="Type" type="string35" minOccurs="0" />
				<xs:element ref="District"  minOccurs="0" />
				<xs:element ref="Locality"  minOccurs="0" />
				<xs:element ref="PostalCode"  minOccurs="0" />
				<xs:element ref="HouseNumber"  minOccurs="0" />
				<xs:element ref="Housing"  minOccurs="0" />
				<xs:element ref="RoomNumber"  minOccurs="0" />
				<xs:element ref="AdditionalInformation"  minOccurs="0" />	
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Carrier">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CarBrand"  minOccurs="0"/>
				<xs:element ref="TransportNumber"/>
				<xs:element ref="TrailerNumber" minOccurs="0"/>
				<xs:element ref="Name"/>
				<xs:element name="Passport" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="Series"/>
							<xs:element ref="Number"/>
							<xs:element ref="IssuedBy"/>
							<xs:element ref="Date"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element ref="License"/>
				<xs:element ref="Phone"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CarBrand" type="string255"/>
	<xs:element name="TransportNumber" type="string18"/>
	<xs:element name="TrailerNumber" type="string255"/>
	<xs:element name="Name" type="string140"/>
	<xs:element name="E-mail" type="xs:string"/>
	<xs:element name="License" type="string140"/>
	<xs:element name="Phone" type="string140"/>
	<xs:element name="Series" type="string4"/>
	<xs:element name="Number" type="string6"/>
	<xs:element name="IssuedBy" type="string255"/>
	<xs:element name="Date" type="date"/>
	<xs:element name="BookingResponse-Lines">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" ref="ShipTo"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ShipTo">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ILN"/>
				<xs:element ref="EstimatedDispatchDate" minOccurs="0"/>
				<xs:element ref="EstimatedDispatchTime" minOccurs="0"/>
				<xs:element ref="Type" minOccurs="0"/>
				<xs:element ref="Name" minOccurs="0"/>
				<xs:element ref="StreetAndNumber" minOccurs="0"/>
				<xs:element ref="CityName" minOccurs="0"/>
				<xs:element ref="State" minOccurs="0"/>
				<xs:element ref="StateCode" minOccurs="0"/>
				<xs:element ref="Country" minOccurs="0"/>
				<xs:element ref="Contact" minOccurs="0"/>								  
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Type" type="TypeTransmit"/>
	<xs:element name="BookingResponse-Summary">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TotalLines" minOccurs="0"/>
				<xs:element ref="TotalNetAmount" minOccurs="0"/>
				<xs:element ref="LoadedQuantity" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TotalLines" type="PositiveInteger"/>
	<xs:element name="TotalNetAmount" type="decimal3"/>
	<xs:element name="LoadedQuantity" type="PositiveInteger"/>
	<!--<xs:element name="Name" type="string175"/>-->
	<xs:element name="ILN" type="ILN"/>
	<xs:element name="EstimatedDispatchDate" type="date" default="2018-01-01"/>
	<xs:element name="EstimatedDispatchTime" type="time" default="00:00"/>
	<xs:element name="StreetAndNumber" type="string255"/>
	<xs:element name="CityName" type="string140"/>
	<xs:element name="State" type="string140"/>
	<xs:element name="StateCode" type="PositiveInteger2"/>
	<xs:element name="Country" type="string9"/>
	<xs:element name="TaxID" type="TaxID"/>
	<xs:element name="RegisterNumber" type="RegisterNumber"/>
	<xs:element name="Contact" type="string255"/>
	<xs:element name="AdditionalInformation" type="string140" />
	<xs:element name="Locality" type="string140"/>
	<xs:element name="District" type="string140"/>
	<xs:element name="PostalCode" type="string9"/>
	<xs:element name="RoomNumber" type="string20"/>
	<xs:element name="Housing" type="string20"/>
	<xs:element name="HouseNumber" type="string20"/>
	<xs:simpleType name="string2">
		<xs:restriction base="xs:string">
			<xs:maxLength value="2"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string4">
		<xs:restriction base="xs:string">
			<xs:maxLength value="4"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string6">
		<xs:restriction base="xs:string">
			<xs:maxLength value="6"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string9">
		<xs:restriction base="xs:string">
			<xs:maxLength value="9"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string16">
		<xs:restriction base="xs:string">
			<xs:maxLength value="16"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string18">
		<xs:restriction base="xs:string">
			<xs:maxLength value="18"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string20">
		<xs:restriction base="xs:string">
			<xs:maxLength value="20"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string35">
		<xs:restriction base="xs:string">
			<xs:maxLength value="35"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
    <xs:simpleType name="string35-1">
        <xs:restriction base="xs:string">
            <xs:maxLength value="35"/>
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>
	<xs:simpleType name="string70">
		<xs:restriction base="xs:string">
			<xs:maxLength value="70"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string140">
		<xs:restriction base="xs:string">
			<xs:maxLength value="140"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="string255">
		<xs:restriction base="xs:string">
			<xs:maxLength value="255"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="date">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="time">
		<xs:restriction base="xs:string">
			<xs:pattern value="(([0-1][0-9])|(2[0-3])):[0-5][0-9]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DocumentFunctionCode">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="3"/>
			<xs:enumeration value="4"/>
			<xs:enumeration value="9"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DocumentNameCode">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="770"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="decimal3">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="12"/>
			<xs:fractionDigits value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TypeTransmit">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="Transit"/>
			<xs:enumeration value="Final"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PositiveInteger">
		<xs:restriction base="xs:float">
			<xs:pattern value="([0-9]|\+|\-|E|e|\.){1,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TransportType">
		<xs:restriction base="xs:NMTOKEN">
			<xs:enumeration value="РЭФ"/>
			<xs:enumeration value="ИЗОТЕРМ"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ILN">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{13}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PositiveInteger2">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TaxID">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{10}|[0-9]{12}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RegisterNumber">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{13}"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>