<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Katya (ROLIS) -->
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by agb (fct) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<xsd:element name="Booking" type="BookingType"/>
	<xsd:complexType name="BookingType">
		<xsd:sequence>
			<xsd:element name="DocHead" type="DocHeadType">
				<xsd:annotation>
					<xsd:documentation>Document Header</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="InitiatingDate" type="xsd:dateTime" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Initiating Date of booking validity</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ExpiryDate" type="xsd:dateTime" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Expiry Date of booking validity</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="PartiesList" type="PartiesListType">
				<xsd:annotation>
					<xsd:documentation>Involved parties list</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Arrival" type="ArrivalType"/>
			<xsd:element name="BookingID" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>External system identificator</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Line" type="xsd:string">
				<xsd:annotation>
					<xsd:documentation>Line name</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="BookingList" type="BookingListType"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="DocHeadType">
		<xsd:annotation>
			<xsd:documentation>Identification and description of the document</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="DocName" type="xsd:string">
				<xsd:annotation>
					<xsd:documentation>Name of document type</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DocNumber" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Number of document if exists</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DocDate" type="xsd:dateTime" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Document date</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DocVersion" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Incremental version of the document instance</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DocID" type="xsd:integer" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Document identificator returned by FCT system for repetitive sending</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Modification" type="ModificationType" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Kind of modification</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PartiesListType">
		<xsd:annotation>
			<xsd:documentation>Involved parties list type</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="Party" type="PartyType" maxOccurs="unbounded">
				<xsd:annotation>
					<xsd:documentation>Involved party</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="PartyType">
		<xsd:sequence>
			<xsd:element name="PartyFunction" type="PartyFunctionType">
				<xsd:annotation>
					<xsd:documentation>Function of a party</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Name">
				<xsd:annotation>
					<xsd:documentation>Organisation name</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Address" type="xsd:string" nillable="true" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Address of organisation</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ContractID" type="xsd:integer" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identifier of contract between party and FCT (from appropriate reference, see Query.xsd and QueryResult.xsd)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="PartyFunctionType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Stevedore">
				<xsd:annotation>
					<xsd:documentation>Stevedore organisation</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="Agent">
				<xsd:annotation>
					<xsd:documentation>Agent company</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="Shipper">
				<xsd:annotation>
					<xsd:documentation>Sending organisation</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="Consignee">
				<xsd:annotation>
					<xsd:documentation>Receiving organisation</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="Notify">
				<xsd:annotation>
					<xsd:documentation>Notified party</xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="ArrivalType">
		<xsd:annotation>
			<xsd:documentation>Identification of vessel arrival in the port of loading</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="VesselID" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>Vessel identificator in FCT system</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ArrivalDate" type="xsd:dateTime">
				<xsd:annotation>
					<xsd:documentation>Vessel arrival date</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="BookingListType">
		<xsd:annotation>
			<xsd:documentation>List of booking positions</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="BookingPos" type="BookingPosType" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="BookingPosType">
		<xsd:annotation>
			<xsd:documentation>Identification and description of the booking position. It contains container details.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="ContainerID" type="xsd:integer" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identificator of container returned by FCT system at creation time needed for position change or deletion. Empty for booking creation.</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="ForwarderID" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Identificator of forwarder returned by FCT system</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Prefix" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Character prefix of container number</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Number" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Numeric part of container number</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:choice>
				<xsd:element name="Type" type="xsd:string" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>ISO type of container</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="TypeID" type="xsd:integer" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>ISO type of container</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
			</xsd:choice>
			<xsd:element name="IsEmpty" type="xsd:boolean" default="true">
				<xsd:annotation>
					<xsd:documentation>True if container is empty otherwise false</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Quantity" type="xsd:integer" default="0">
				<xsd:annotation>
					<xsd:documentation>The number of container w/o container number specified</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="GrossWeight" type="xsd:decimal" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Gross weight</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="Temperature" type="xsd:decimal" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Temprature conditions(averaged)</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="TemperatureUnit" type="xsd:string" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Unit of temperature measurement</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="LoadingPortID" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>Port of loading identificator in FCT system</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DischargePortID" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>Port of discharge identificator in FCT system</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<xsd:element name="DischargeTerminal" minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>Terminal of port of discharge identificator in FCT system</xsd:documentation>
				</xsd:annotation>
			</xsd:element>
			<!--      <xsd:element name="BookingNo" type="xsd:string" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Booking number</xsd:documentation>
        </xsd:annotation>
      </xsd:element>-->
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="ModificationType">
		<xsd:annotation>
			<xsd:documentation>Modification type: &quot;create&quot;, &quot;replace&quot; or &quot;delete&quot;</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="create"/>
			<xsd:enumeration value="replace"/>
			<xsd:enumeration value="delete"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:schema>

