<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2013 rel. 2 sp2 (x64) (http://www.altova.com) by Parichat (MIKI Solutions Limited) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="commonTypes.xsd"/>
	<xs:complexType name="transferSearchCriteriaType">
		<xs:sequence>
			<xs:element name="pickUpCriteria" type="transferCriteriaType">
				<xs:annotation>
					<xs:documentation>Specify the pick-up location details</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="tripType">
				<xs:annotation>
					<xs:documentation>1=oneWay, 2=Return</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="1"/>
						<xs:enumeration value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="vehicleType">
				<xs:annotation>
					<xs:documentation>1=Private, 2=Shared, 3=Public transport</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="1"/>
						<xs:enumeration value="2"/>
						<xs:enumeration value="3"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="vehiclePreference" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Vehicle type preferences with quantity.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="type" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Type of vehicle required. 1=Private car, 2=Private MPV</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="1"/>
									<xs:enumeration value="2"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="vehicleClass" minOccurs="0">
							<xs:annotation>
								<xs:documentation>1=Standard, 2=Superior, 3=Deluxe</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="1"/>
									<xs:enumeration value="2"/>
									<xs:enumeration value="3"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="qty" type="xs:positiveInteger" use="optional">
						<xs:annotation>
							<xs:documentation>The quantity associated with the vehicle type.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="passengerInformation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Specify the passenger information</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="count" type="xs:positiveInteger">
							<xs:annotation>
								<xs:documentation>The number of guests including adult,child and infant</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="guests">
							<xs:annotation>
								<xs:documentation>Collection of guest for this room.</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence maxOccurs="unbounded">
									<xs:element name="guest" type="guestCountType"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="luggageCriteria" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="handLuggageOnly" type="xs:boolean">
							<xs:annotation>
								<xs:documentation>True if pax have only hand luggage, false if they have larger bags</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="agentMarkup" type="agentMarkupType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Agent mark up.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="priceQualifierType"/>
		<xs:attribute name="languageCode" type="xs:language" use="optional">
			<xs:annotation>
				<xs:documentation>ISO language code for results (if not supported by Miki, en will be used)</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="returnProuductInfo" type="xs:boolean" use="optional">
			<xs:annotation>
				<xs:documentation>Indicates whether the minmum product information to be return in the response or not.The value TRUE - means product information will be return in the response.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:attributeGroup name="locationType">
		<xs:attribute name="type" use="required">
			<xs:annotation>
				<xs:documentation>Location type: 1=Airport, 2=Hotel, 3=Train station, 4=Port, 5=Pier</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="1"/>
					<xs:enumeration value="2"/>
					<xs:enumeration value="3"/>
					<xs:enumeration value="4"/>
					<xs:enumeration value="5"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="code" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Location code correspond to the location type selected. Eg Airport IATA code or Rail station code or port code or pier code,</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<!-- Product -->
	<xs:complexType name="transferProductType">
		<xs:annotation>
			<xs:documentation>All data per product</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="commonProductType">
				<xs:sequence>
					<xs:element name="vehicles">
						<xs:annotation>
							<xs:documentation>Collection of sighseeing products for a specific type of vehicle.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Multiple sub products are allowed on one booking</xs:documentation>
								</xs:annotation>
								<xs:element name="vehicle" type="transferSubProductType"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="dropOffLocation" type="transferCriteriaType">
						<xs:annotation>
							<xs:documentation>DropOff location detail</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="cancellationPolicies">
						<xs:annotation>
							<xs:documentation>Collection of the cancellation policies which are applicable to this product.</xs:documentation>
						</xs:annotation>
						<xs:complexType>
							<xs:sequence>
								<xs:element name="cancellationPolicy" type="cancellationPolicyRecordType"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="productInfo" type="transferProductInfo" minOccurs="0">
						<xs:annotation>
							<xs:documentation>Collection of product information which are related to this product only.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- Transfer product Info-->
	<xs:complexType name="transferProductInfo">
		<xs:annotation>
			<xs:documentation>Returns information about the product</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="productDescription" type="xs:string">
				<xs:annotation>
					<xs:documentation>The description of the product which breifly describes the product</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="pickUpCountry">
				<xs:annotation>
					<xs:documentation>Pick up country</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="pickUpCountryCode" type="xs:string" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="pickUpCity">
				<xs:annotation>
					<xs:documentation>Pick up city</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="pickUpCityNumber" type="xs:int" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="pickUpLocation" type="xs:string">
				<xs:annotation>
					<xs:documentation>Pick-up location</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="pickUpAirportIATACode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Pick-up airport IATA code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="pickUpRailStationCode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Pick-up rail station code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="pickUpPortCode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Pick-up port code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="pickUpPierCode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Pick-up pier code</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:element name="dropOffCountry">
				<xs:annotation>
					<xs:documentation>Drop off country</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="dropOffCountryCode" type="xs:string" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="dropOffCity">
				<xs:annotation>
					<xs:documentation>Drop off city</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="dropOffCityNumber" type="xs:int" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="dropOffLocation" type="xs:string">
				<xs:annotation>
					<xs:documentation>Drop-off location</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="dropOffAirportIATACode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Drop-off airport IATA code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="dropOffRailStationCode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Drop-off rail station code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="dropOffPortCode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Drop-off port code</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="dropOffPierCode" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Drop-off pier code</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
			<xs:element name="distance" type="xs:double">
				<xs:annotation>
					<xs:documentation>Total distance of journey in kms</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="journeyTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Total journey time</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="rushHourJourneyTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Total journey time during rush hour</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="bookingConditions" type="xs:string">
				<xs:annotation>
					<xs:documentation>Supplier booking terms and conditions</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="meetingPoint" type="xs:string">
				<xs:annotation>
					<xs:documentation>Meeting point at pick up location</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="rushHourPeriods">
				<xs:annotation>
					<xs:documentation>Rush hour periods</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:choice minOccurs="0" maxOccurs="3">
						<xs:element name="rushHourPeriod">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="rushHourStartTime" type="xs:time">
										<xs:annotation>
											<xs:documentation>Rush hour start time</xs:documentation>
										</xs:annotation>
									</xs:element>
									<xs:element name="rushHourEndTime" type="xs:time">
										<xs:annotation>
											<xs:documentation>Rush hour end time</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="unsocialHours">
				<xs:annotation>
					<xs:documentation>Unsocial hours, usually charged at a higher rate</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="unsocialStartTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Unsocial hours start time</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="unsocialEndTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Unsocial hours end time</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="pickUpDate" type="xs:date">
				<xs:annotation>
					<xs:documentation>Pick-up date as calculated or entered</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="pickUpTime">
				<xs:annotation>
					<xs:documentation>Pick-up time as calculated or entered</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:time"/>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="dropOffTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Drop off time as calculated or entered</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:time"/>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="checkInTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Check in time as calculated or entered</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:time"/>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- Sub-Product -->
	<xs:complexType name="transferSubProductType">
		<xs:annotation>
			<xs:documentation>This element holds the price per sub product</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="price">
				<xs:annotation>
					<xs:documentation>Total price for all quantity of this subProduct.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:double">
							<xs:attributeGroup ref="totalPriceType"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="capacity">
				<xs:annotation>
					<xs:documentation>Number of passenger this product is suitable for.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="capacity" type="transferPassengerType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="description" type="xs:string">
				<xs:annotation>
					<xs:documentation>Sub product description</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="availabilityStatus">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="status" type="availabilityStatusType">
							<xs:annotation>
								<xs:documentation>1 = available, 2 = On-Request</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="nonAvailabilityReason" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Reason if this sub product is not available.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="rateProperties" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection Properties which are related to this rate.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="property" type="propertyType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="supplierName" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Details to identify the supplier</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="cancellationPolicies">
				<xs:annotation>
					<xs:documentation>Collection of the cancellation policies which are applicable to this product.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="cancellationPolicy" type="cancellationPolicyRecordType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="modificationPolicies" type="modificationPolicyCodes" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Modification policy details</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="noShowPolicy" minOccurs="0">
				<xs:annotation>
					<xs:documentation>No show policy details</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="policyDescription" type="xs:string">
							<xs:annotation>
								<xs:documentation>No show policy description</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="supplementsInclusions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection of Supplements which are included in the price.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="supplementInclusion" type="supplementGroupType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="supplementsExclusions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection of Supplements which are not included in the price.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="supplementExclusion" type="supplementGroupType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="specialOffers" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection of special offers which are applied/applicable to this price.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="offer" type="specialOfferType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="bookingIdentifierType">
			<xs:annotation>
				<xs:documentation>Unique identifier to identify the booking source.</xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
		<xs:attribute name="code" type="subproductCodeType" use="required">
			<xs:annotation>
				<xs:documentation>Miki code representing transfer sub product</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attributeGroup ref="roomRateIdentifierType"/>
		<xs:attribute name="modifiable" type="xs:boolean" use="required"/>
		<xs:attribute name="packageRate" type="xs:boolean" use="optional"/>
		<xs:attribute name="B2Csellable" type="xs:boolean" use="required">
			<xs:annotation>
				<xs:documentation>Flag to indicate whether this product can be sell b2c directly or not. True means it sellable to B2C directly.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="transferProductSearchCriteriaType">
		<xs:annotation>
			<xs:documentation>Indicates details of hotel reference information</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="productCode" type="productCodeType">
				<xs:annotation>
					<xs:documentation>Specific Product code</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TTIcode" type="TTIcodeType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Specific TTI code</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<!-- Transfer reservation item -->
	<xs:complexType name="transferReservationItemType">
		<xs:annotation>
			<xs:documentation>Details required when booking a transfer product</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="pickUpCriteria" type="transferCriteriaType">
				<xs:annotation>
					<xs:documentation>Specify the pick-up location detail.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="dropOffCriteria" type="transferLocationType">
				<xs:annotation>
					<xs:documentation>Specify the drop-off location detail.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="vehicles">
				<xs:annotation>
					<xs:documentation>Sub products for transfer products are used to indicate then number of persons requiring the transfer service</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Mutiple sub products are allowed</xs:documentation>
						</xs:annotation>
						<xs:element name="vehicle" type="transferBookingItemType">
							<xs:annotation>
								<xs:documentation> Details of the vehicle to be booked.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="handLuggageOnly" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>The luggage information is passed to the supplier to ensure the size of the vehicle is suffiicent</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="leadGuestInformation" type="leadTransferGuestInformationType">
				<xs:annotation>
					<xs:documentation>Detail of the lead guest.Consists of Name and contact details</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="hotelDetails" minOccurs="0">
				<xs:complexType>
					<xs:attributeGroup ref="hotelCodeType"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="guestCounts">
				<xs:annotation>
					<xs:documentation>Number of passenger this product is suitable for.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="guestCount" type="transferPassengerType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferPassengerType">
		<xs:annotation>
			<xs:documentation>Defines the number of guests</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="passengerName">
				<xs:annotation>
					<xs:documentation>The number of guests in same Age or Count.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="nameType"/>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="passengerGroupType"/>
	</xs:complexType>
	<xs:complexType name="transferPaxType">
		<xs:annotation>
			<xs:documentation>Defines the number of guests</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="name" type="nameType"/>
		</xs:sequence>
		<xs:attributeGroup ref="passengerGroupType"/>
	</xs:complexType>
	<xs:attributeGroup name="leadTransferPassengerContactGroupType">
		<xs:attribute name="internationalCode" type="xs:string" use="required"/>
		<xs:attribute name="phoneNumber" type="xs:string" use="required"/>
		<xs:attribute name="emailAddress" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:complexType name="leadTransferPassengerContactType">
		<xs:attributeGroup ref="leadTransferPassengerContactGroupType"/>
	</xs:complexType>
	<xs:attributeGroup name="transferType">
		<xs:attribute name="locationType" use="required">
			<xs:annotation>
				<xs:documentation>Specify the type of pickup/dropoff. Types: 1=Airport, 2=Hotel, 3=Train station, 4=Port, 5=Pier</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="1"/>
					<xs:enumeration value="2"/>
					<xs:enumeration value="3"/>
					<xs:enumeration value="4"/>
					<xs:enumeration value="5"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="locationCode" type="xs:date" use="required">
			<xs:annotation>
				<xs:documentation>Location code correspond to the location type selected. Eg Airport IATA code or Rail station code or port code or pier code,</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<xs:complexType name="dropOffLocationType">
		<xs:annotation>
			<xs:documentation>Specify the transfer dropOff location.</xs:documentation>
		</xs:annotation>
		<xs:choice>
			<xs:element name="toHotel">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="arrivalTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Arrival time at pick-up location. This will be used as pick-up time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="flightNumber" minOccurs="0">
							<xs:annotation>
								<xs:documentation>If picking up from airport, incoming flight number</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingFromCityNumber" type="xs:int" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The city which the passengers are departing from. This is required by some third party suppliers.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departureFromDateTime" type="xs:dateTime" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Local date and time of the country which the passengers are departing from. This is required by some third party suppliers.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="toAirport">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="departureTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Flight departure time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingTo" type="xs:string">
							<xs:annotation>
								<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="flightNumber" type="xs:string">
							<xs:annotation>
								<xs:documentation>Flight number</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="extraTimeAtAirport" type="xs:int" default="0">
							<xs:annotation>
								<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="toRailStation">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="departureTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Train departure time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingTo" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="journeyReference" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Train number</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="extraTimeAtStation" type="xs:int" default="0">
							<xs:annotation>
								<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="toPort">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="departureTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Ship/Boat departure time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingTo" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="journeyReference" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Ship number</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="extraTimeAtPort" type="xs:int" default="0">
							<xs:annotation>
								<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="toPier">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="departureTime" type="xs:time">
							<xs:annotation>
								<xs:documentation>Cruiser departure time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingTo" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
							<xs:annotation>
								<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="journeyReference" type="xs:string" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Cruise number</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="extraTimeAtPier" type="xs:int" default="0">
							<xs:annotation>
								<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="transferBookingResponseItemType">
		<xs:sequence>
			<xs:element name="pickUpLocation" type="transferCriteriaType">
				<xs:annotation>
					<xs:documentation>Specify the pick-up location detail.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="dropOffLocation" type="transferLocationType">
				<xs:annotation>
					<xs:documentation>Specify the drop-off location detail.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="vehicles">
				<xs:annotation>
					<xs:documentation>Collection of sighseeing products for a specific type of vehicle.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Multiple sub products are allowed on one booking</xs:documentation>
						</xs:annotation>
						<xs:element name="vehicle" type="transferSubProductType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="cancellationPolicies">
				<xs:annotation>
					<xs:documentation>Collection of the cancellation policies which are applicable to this product.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="cancellationPolicy" type="cancellationPolicyRecordType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="productInfo" type="transferProductInfo" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection of product information which are related to this product only.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="leadTransferGuestInformationType">
		<xs:annotation>
			<xs:documentation>Detail of the lead guest.Consists of Name and contact details</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="nameDetail">
				<xs:annotation>
					<xs:documentation>Guest name details</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="transferPaxType"/>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="contactDetail">
				<xs:annotation>
					<xs:documentation>Guest contact details</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="leadTransferPassengerContactType"/>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferLocationType">
		<xs:annotation>
			<xs:documentation>Specify the transfer search location criteria</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="locationType" type="locationType">
				<xs:annotation>
					<xs:documentation>Specify the type of location : 1=Airport, 2=Hotel, 3=Train station, 4=Port, 5=Pier</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="locationCode" type="locationCodeType">
				<xs:annotation>
					<xs:documentation>Specify the unique location code. Eg HotelCode,AirportCode,RailStationCode,PortCode,PierCode</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="locationType">
		<xs:annotation>
			<xs:documentation>Specify the type of location : 1=Airport, 2=Hotel, 3=Train station, 4=Port, 5=Pier,6=TTI</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="1">
				<xs:annotation>
					<xs:appinfo>Airport</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="2">
				<xs:annotation>
					<xs:appinfo>Hotel</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="3">
				<xs:annotation>
					<xs:appinfo>Train</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="4">
				<xs:annotation>
					<xs:appinfo>Port</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="5">
				<xs:annotation>
					<xs:appinfo>Pier</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="6">
				<xs:annotation>
					<xs:appinfo>TTI</xs:appinfo>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="transferCriteriaType">
		<xs:annotation>
			<xs:documentation>Specify the pick-up location details</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="transferLocationType">
				<xs:sequence>
					<xs:element name="pickUpdate" type="xs:date">
						<xs:annotation>
							<xs:documentation>Transfer pick-up date.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="transferBookingItemType">
		<xs:annotation>
			<xs:documentation>The sub product information required is simple - code and quantity</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="guestCounts" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection of passenger details.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="guestCount" type="transferPassengerType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="supplementsExclusions" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Collection of Supplements which are not included in the price.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence minOccurs="0">
						<xs:element name="supplementExclusion" type="supplementGroupType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="bookingIdentifierType">
			<xs:annotation>
				<xs:documentation>Unique identifier to identify the booking source.</xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
		<xs:attribute name="code" type="subproductCodeType" use="required">
			<xs:annotation>
				<xs:documentation>Miki code representing transfer sub product</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attributeGroup ref="roomRateIdentifierType"/>
		<xs:attribute name="qty" type="xs:positiveInteger">
			<xs:annotation>
				<xs:documentation>Number of vehicle required.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="transferProductInfoType">
		<xs:annotation>
			<xs:documentation>Information describing a transfer product</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="masterInfo">
				<xs:annotation>
					<xs:documentation>General information about the transfer</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="origin" type="xs:string">
							<xs:annotation>
								<xs:documentation>The place the transfer departs from</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="destination" type="xs:string">
							<xs:annotation>
								<xs:documentation>The place the transfer arrives at</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="meetingPoints">
							<xs:annotation>
								<xs:documentation>Meeting place details</xs:documentation>
							</xs:annotation>
							<xs:complexType>
								<xs:sequence maxOccurs="unbounded">
									<xs:annotation>
										<xs:documentation>Multiple lines of text are possible</xs:documentation>
									</xs:annotation>
									<xs:element name="meetingPoint" type="xs:string">
										<xs:annotation>
											<xs:documentation>Meeting place text</xs:documentation>
										</xs:annotation>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="minimumJourneyTime" type="formattedDuration">
							<xs:annotation>
								<xs:documentation>The minimum time the journey will take</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="vehicleType" type="xs:string">
							<xs:annotation>
								<xs:documentation>Describes the type of vehicle</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="assistant" type="xs:string">
							<xs:annotation>
								<xs:documentation>Indicates if an assistant will be included</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="uniformedDriver" type="xs:string">
							<xs:annotation>
								<xs:documentation>Inidcates if the driver will wear a uniform</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="nameBoard" type="xs:string">
							<xs:annotation>
								<xs:documentation>Indicates if the driver will hold a name board</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="airConditioned" type="xs:string">
							<xs:annotation>
								<xs:documentation>Indicates if the vehicle will be air conditioned</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="driverLanguages">
				<xs:annotation>
					<xs:documentation>Includes the languages that the driver speaks</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Multiple languages are possible</xs:documentation>
						</xs:annotation>
						<xs:element name="languageName" type="xs:string">
							<xs:annotation>
								<xs:documentation>Language name</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="bookingConditions">
				<xs:annotation>
					<xs:documentation>Includes transfer-specific booking conditions</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Multiple conditions are possible</xs:documentation>
						</xs:annotation>
						<xs:element name="condition" type="xs:string">
							<xs:annotation>
								<xs:documentation>Condition text</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferReservationRequestItemType">
		<xs:annotation>
			<xs:documentation>Details required when booking a transfer product</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="serviceDate" type="xs:date">
				<xs:annotation>
					<xs:documentation>The start date of the transfer for which availability is being checked.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="bookingIdentifier" type="bookingIdentifierType">
				<xs:annotation>
					<xs:documentation>Details to identify the booking provided in search response</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="vehicles">
				<xs:annotation>
					<xs:documentation>Sub products for transfer products are used to indicate then number of persons requiring the transfer service</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Mutiple vehicles are allowed</xs:documentation>
						</xs:annotation>
						<xs:element name="vehicle" type="transferBookingRequestItemType">
							<xs:annotation>
								<xs:documentation>Details of the vehicle to be booked.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="handLuggageOnly" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>The luggage information is passed to the supplier to ensure the size of the vehicle is suffiicent</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="hotelDetails" type="transferHotelDetailsType" minOccurs="0"/>
			<xs:element name="passengers" type="transferPassengersType">
				<xs:annotation>
					<xs:documentation>Number of passenger this product is suitable for.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="leadNameEmail" type="xs:string" minOccurs="0"/>
			<xs:element name="leadNamePhone" type="leadNamePhoneType">
				<xs:annotation>
					<xs:documentation>Detail of the lead guest.Consists of Name and contact details</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="toHotel" type="transferToHotelType"/>
				<xs:element name="toAirport" type="transferToAirportType"/>
				<xs:element name="toRailStation" type="transferToRailStationType"/>
				<xs:element name="toPort" type="transferToPortType"/>
				<xs:element name="toPier" type="transferToPierType"/>
			</xs:choice>
			<xs:element name="additionalInformation" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Any additional information can be provided here as a free text like disabled vehicles, baby seats, extra luggage etc.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferBookingRequestItemType">
		<xs:annotation>
			<xs:documentation>The sub product information required is simple - code and quantity</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="vehicleCode">
				<xs:annotation>
					<xs:documentation>The vehicle code is unique per product type</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:int"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="quantity" type="xs:int">
				<xs:annotation>
					<xs:documentation>The number of each vehicle required</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferHotelDetailsType">
		<xs:sequence>
			<xs:element name="cityNumber" type="xs:string"/>
			<xs:element name="supplierNumber" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferPassengersType">
		<xs:sequence>
			<xs:element name="numberOfAdults" type="xs:int"/>
			<xs:element name="numberOfChildren" type="xs:int"/>
			<xs:element name="numberOfInfants" type="xs:int"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferToHotelType">
		<xs:sequence>
			<xs:element name="arrivalTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Arrival time at pick-up location. This will be used as pick-up time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="flightNumber" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>If picking up from airport, incoming flight number</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingFromCityNumber" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The city which the passengers are departing from. This is required by some third party suppliers.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departureFromDateTime" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Local date and time of the country which the passengers are departing from. This is required by some third party suppliers.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferToAirportType">
		<xs:sequence>
			<xs:element name="departureTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Flight departure time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingTo" type="xs:string">
				<xs:annotation>
					<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="flightNumber" type="xs:string">
				<xs:annotation>
					<xs:documentation>Flight number</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extraTimeAtAirport" type="xs:int" default="0">
				<xs:annotation>
					<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferToRailStationType">
		<xs:sequence>
			<xs:element name="departureTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Train departure time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingTo" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="journeyReference" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Train number</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extraTimeAtStation" type="xs:int" default="0">
				<xs:annotation>
					<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferToPortType">
		<xs:sequence>
			<xs:element name="departureTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Ship/Boat departure time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingTo" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="journeyReference" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Ship number</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extraTimeAtPort" type="xs:int" default="0">
				<xs:annotation>
					<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferToPierType">
		<xs:sequence>
			<xs:element name="departureTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Cruiser departure time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingTo" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Country code of destination. This is used to calculate the pick-up time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="departingToCityNumber" type="xs:int" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The city which the passengers are departing to. This is required by some third party suppliers.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="journeyReference" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Cruise number</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="extraTimeAtPier" type="xs:int" default="0">
				<xs:annotation>
					<xs:documentation>Extra time needed at departure in minutes.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferReservationResponseItemType">
		<xs:sequence>
			<xs:element name="serviceDate" type="xs:date">
				<xs:annotation>
					<xs:documentation>When booking hotel products, the Service Date is equal to the Check In date</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="vehicles">
				<xs:annotation>
					<xs:documentation>Standard vehicle information</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:annotation>
							<xs:documentation>Multiple vehicles can be booked</xs:documentation>
						</xs:annotation>
						<xs:element name="vehicle" type="transferSubProductResponseType">
							<xs:annotation>
								<xs:documentation>The price breakdwon for each vehicle</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="pickUpTime">
				<xs:annotation>
					<xs:documentation>Pick-up time as calculated or entered</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:time"/>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="hotelName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Name of hotel for pick-up or drop-off</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="cancellationPolicy" type="transferCancellationPolicyType">
				<xs:annotation>
					<xs:documentation>Cancellation policy of the transfer product</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="bookedVia" type="transferBookedViaType">
				<xs:annotation>
					<xs:documentation>3rd party supplier info</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferSubProductResponseType">
		<xs:annotation>
			<xs:documentation>The sub product information required is simple - code and quantity</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="vehicleCode">
				<xs:annotation>
					<xs:documentation>The unique vehicle code</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:length value="5"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="quantity" type="xs:integer">
				<xs:annotation>
					<xs:documentation>The quantity of vehicle requested</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="vehiclePrice">
				<xs:annotation>
					<xs:documentation>The price per vehicle code</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:decimal">
							<xs:attribute name="currencyCode" type="xs:string" use="required">
								<xs:annotation>
									<xs:documentation>The ISO currency of the price</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="supplierName" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Details to identify the supplier</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferCancellationPolicyType">
		<xs:annotation>
			<xs:documentation>Cancellation policy of the transfer product</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="cancellationDeadline">
				<xs:annotation>
					<xs:documentation>Cancellation deadline</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="cancellationDeadlineDate" type="xs:date"/>
						<xs:element name="cancellationDeadlineTime" type="xs:time"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="cancellationCharge" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Cancellation charge if cancelled after the cancellation deadline</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:decimal">
							<xs:attribute name="currencyCode" type="xs:string" use="required">
								<xs:annotation>
									<xs:documentation>ISO currency code</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transferBookedViaType">
		<xs:annotation>
			<xs:documentation>3rd party supplier info</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="supplierName" type="xs:string">
				<xs:annotation>
					<xs:documentation>Name of 3rd party supplier</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="supplierTelephone" type="xs:string">
				<xs:annotation>
					<xs:documentation>Contact number for 3rd party supplier</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
