<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 (http://www.altova.com) by Sanjeev (Mikki Travel) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="transferSearchResponse">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="responseAuditInfo">
					<xs:annotation>
						<xs:documentation>Standard audit information sent with all responses</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="products">
					<xs:annotation>
						<xs:documentation>Products returned as a reuslt of search</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Multiple products may be returned</xs:documentation>
							</xs:annotation>
							<xs:element name="product">
								<xs:annotation>
									<xs:documentation>All data per product</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="productCode" type="xs:string">
											<xs:annotation>
												<xs:documentation>Unique reference to product</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="productInfo">
											<xs:annotation>
												<xs:documentation>Returns information about the product</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<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" type="xs:string">
														<xs:annotation>
															<xs:documentation>Pick up country code</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="pickUpCity" type="xs:string">
														<xs:annotation>
															<xs:documentation>Pick up city</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="pickUpLocation" type="xs:string">
														<xs:annotation>
															<xs:documentation>Pick up location type: 1=Hotel, 2=Airport</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="dropOffCountry" type="xs:string">
														<xs:annotation>
															<xs:documentation>Drop off country code</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="dropOffCity" type="xs:string">
														<xs:annotation>
															<xs:documentation>Drop off city</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="dropOffLocation" type="xs:string">
														<xs:annotation>
															<xs:documentation>Drop off location type: 1=Hotel, 2=Airport</xs:documentation>
														</xs:annotation>
													</xs:element>
													<xs:element name="distance" type="xs:double">
														<xs:annotation>
															<xs:documentation>Total distance of journey</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="transferDirection" type="xs:int">
														<xs:annotation>
															<xs:documentation>1 if incoming, 2 if outgoing</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 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="pickUpTime" type="xs:time"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="prices" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Prices based on a search specifying rooms type and quantity</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence maxOccurs="unbounded">
													<xs:element name="price">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="bookingIdentifier" type="xs:string">
																	<xs:annotation>
																		<xs:documentation>Unique id to identify the booking</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="totalPrice">
																	<xs:annotation>
																		<xs:documentation>Total price for the product requested</xs:documentation>
																	</xs:annotation>
																	<xs:complexType>
																		<xs:simpleContent>
																			<xs:extension base="xs:decimal">
																				<xs:attribute name="currencyCode" use="required">
																					<xs:annotation>
																						<xs:documentation>ISO currency code</xs:documentation>
																					</xs:annotation>
																					<xs:simpleType>
																						<xs:restriction base="xs:string">
																							<xs:enumeration value="GBP"/>
																							<xs:enumeration value="USD"/>
																							<xs:enumeration value="YEN"/>
																							<xs:enumeration value="EUR"/>
																						</xs:restriction>
																					</xs:simpleType>
																				</xs:attribute>
																				<xs:attribute name="groupDiscountAmount" type="xs:decimal">
																					<xs:annotation>
																						<xs:documentation>Amount of discount received when number of pax exceeds 9</xs:documentation>
																					</xs:annotation>
																				</xs:attribute>
																				<xs:attribute name="fairPricesIncluded" type="xs:boolean">
																					<xs:annotation>
																						<xs:documentation>One or more of the prices per room per night is a fair period price</xs:documentation>
																					</xs:annotation>
																				</xs:attribute>
																			</xs:extension>
																		</xs:simpleContent>
																	</xs:complexType>
																</xs:element>
																<xs:element name="availabilityStatus" type="xs:string" minOccurs="0">
																	<xs:annotation>
																		<xs:documentation>This value indicates the overall availability: 0=Not available, 1=Available, 9=Error</xs:documentation>
																	</xs:annotation>
																</xs:element>
																<xs:element name="subProducts">
																	<xs:annotation>
																		<xs:documentation>If prices are found for the service date, the detailed price per sub product is included</xs:documentation>
																	</xs:annotation>
																	<xs:complexType>
																		<xs:sequence maxOccurs="6">
																			<xs:annotation>
																				<xs:documentation>Multiple sub products are allowed on one booking</xs:documentation>
																			</xs:annotation>
																			<xs:element name="subProduct">
																				<xs:annotation>
																					<xs:documentation>Thsi element holds the price per sub product</xs:documentation>
																				</xs:annotation>
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="subProductCode">
																							<xs:annotation>
																								<xs:documentation>Miki code representing transfer sub product</xs:documentation>
																							</xs:annotation>
																							<xs:simpleType>
																								<xs:restriction base="xs:integer">
																									<xs:totalDigits value="5"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="subProductPrice">
																							<xs:annotation>
																								<xs:documentation>Price per sub product </xs:documentation>
																							</xs:annotation>
																							<xs:complexType>
																								<xs:simpleContent>
																									<xs:extension base="xs:decimal">
																										<xs:attribute name="unSocial" type="xs:boolean" use="required">
																											<xs:annotation>
																												<xs:documentation>true if prices are unsocial hour prices, false if normal hour prices</xs:documentation>
																											</xs:annotation>
																										</xs:attribute>
																										<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:element name="subProductDescription">
																							<xs:annotation>
																								<xs:documentation>Sub product description</xs:documentation>
																							</xs:annotation>
																						</xs:element>
																						<xs:element name="suitableFor" type="xs:int">
																							<xs:annotation>
																								<xs:documentation>number of person this vehicle is suitable for</xs:documentation>
																							</xs:annotation>
																						</xs:element>
																						<xs:element name="availabilityStatus">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="status" type="xs:int">
																										<xs:annotation>
																											<xs:documentation>1 = available, 0 = not available</xs:documentation>
																										</xs:annotation>
																									</xs:element>
																									<xs:element name="nonAvailabilityReason" 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:sequence>
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="cancellationPolicy">
																	<xs:annotation>
																		<xs:documentation>Cancellation policy of the transfer product</xs:documentation>
																	</xs:annotation>
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="cancellationDeadline" type="xs:int">
																				<xs:annotation>
																					<xs:documentation>Cancellation deadline in hours</xs:documentation>
																				</xs:annotation>
																			</xs:element>
																			<xs:element name="cancellationCharge" type="xs:double">
																				<xs:annotation>
																					<xs:documentation>Cancellation charge if cancelled after the cancellation deadline</xs:documentation>
																				</xs:annotation>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element ref="errors" minOccurs="0"/>
			</xs:sequence>
			<xs:attribute name="responseType" type="xs:string" use="required" fixed="transferSearchResponse">
				<xs:annotation>
					<xs:documentation>Used to ID the record to the receiving software</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="versionNumber" type="xs:string" fixed="5.0.0"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="errors">
		<xs:annotation>
			<xs:documentation>Standard error section</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Multiple errors may be returned</xs:documentation>
				</xs:annotation>
				<xs:element name="error">
					<xs:annotation>
						<xs:documentation>Error content</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="errorCode">
								<xs:annotation>
									<xs:documentation>Miki error code</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:integer"/>
								</xs:simpleType>
							</xs:element>
							<xs:element name="errorText">
								<xs:annotation>
									<xs:documentation>Full description of error</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:string"/>
								</xs:simpleType>
							</xs:element>
							<xs:element name="errorSolution">
								<xs:annotation>
									<xs:documentation>Proposed solution to error</xs:documentation>
								</xs:annotation>
								<xs:simpleType>
									<xs:restriction base="xs:string"/>
								</xs:simpleType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="responseAuditInfo">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="agentCode" type="xs:string">
					<xs:annotation>
						<xs:documentation>Unique reference used to identify the client to Miki</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="responseID" type="xs:integer">
					<xs:annotation>
						<xs:documentation>Miki reference used for audit purposes</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="responseTime" type="xs:dateTime">
					<xs:annotation>
						<xs:documentation>The time that the XML message was sent from Miki's server</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="requestID" type="xs:integer">
					<xs:annotation>
						<xs:documentation>The client's request ID that triggered this response</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
