<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.opentravel.org/OTA/2003/05" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05" elementFormDefault="qualified" version="1.001" id="OTA2004A">




	<!--  OTA_ErrorRS.xsd  -->
<xs:annotation>
<xs:documentation xml:lang="en">All Schema files in the OTA specification are made available according to the terms defined by the OTA License Agreement at http://www.opentravel.org/ota_downloads_form.cfm</xs:documentation>
</xs:annotation>
<xs:element name="OTA_ErrorRS">
		<xs:annotation>
			<xs:documentation xml:lang="en">The standatd OTA_ErrorRS message is designed to accommodate errors that result from the parser, or from validation, before reaching the server. The set of errors that can use this  error is constrained by its limited structure, to provide structural stability.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attributeGroup ref="OTA_PayloadStdAttributes"/>
			<xs:attribute name="Status" use="optional" default="NotProcessed">
				<xs:annotation>
					<xs:documentation xml:lang="en">An indication of the processing that was completed on the request message.  An error response may be returned and no action taken on behalf of the request message, or there may be some action taken, or the full action may have been completed.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:NMTOKEN">
						<xs:enumeration value="NotProcessed">
							<xs:annotation>
								<xs:documentation xml:lang="en">The error occurred prior to processing of the request (or if during the processing of the request, before the intentions of the request were completed).  </xs:documentation>
							</xs:annotation>
						</xs:enumeration>
						<xs:enumeration value="Incomplete">
							<xs:annotation>
								<xs:documentation xml:lang="en">The error occurred during processing of the request. The request was partially completed.</xs:documentation>
							</xs:annotation>
						</xs:enumeration>
						<xs:enumeration value="Complete">
							<xs:annotation>
								<xs:documentation xml:lang="en">The error occurred after successful processing of the request. The requested process was completed.</xs:documentation>
							</xs:annotation>
						</xs:enumeration>
						<xs:enumeration value="Unknown">
							<xs:annotation>
								<xs:documentation xml:lang="en">The status of the request is unknown. </xs:documentation>
							</xs:annotation>
						</xs:enumeration>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="ErrorCode" use="required">
				<xs:annotation>
					<xs:documentation xml:lang="en">The ErrorCode attribute MUST be present and is defined as free-text with a list of recommended enumerated values, to indicate the error type. </xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:union>
						<xs:simpleType>
							<xs:restriction base="xs:NMTOKEN">
								<xs:enumeration value="SessionFailure-100">
									<xs:annotation>
										<xs:documentation xml:lang="en">This value is used to indicate that the request version is not supported</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="SessionFailure-101">
									<xs:annotation>
										<xs:documentation xml:lang="en">This value is used to indicate that the session has expired</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="SessionFailure-102">
									<xs:annotation>
										<xs:documentation xml:lang="en">This value is used to indicate that the session is already closed</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="SessionFailure-103">
									<xs:annotation>
										<xs:documentation xml:lang="en">This value is used to indicate that a parameter in the request is not supported.</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="Unknown">
									<xs:annotation>
										<xs:documentation xml:lang="en">indicates an unknown error. Additional information may be provided within the textual part of the element</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="Malformed">
									<xs:annotation>
										<xs:documentation xml:lang="en">: indicates that the XML message was not well-formed. Additional information may be provided within the ErrorMessage attribute.</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="Validation">
									<xs:annotation>
										<xs:documentation xml:lang="en">: indicates that a well-formed XML message was sent, but did not pass the validation check. Additional information may be provided within the ErrorMessage attribute.</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="UnrecognizedRoot">
									<xs:annotation>
										<xs:documentation xml:lang="en">Indicates an unrecognized payload root element was received. Additional information may be provided within the ErrorMessage attribute.</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
								<xs:enumeration value="UnrecognizedVersion">
									<xs:annotation>
										<xs:documentation xml:lang="en">Indicates that the version attribute in the Schema element of the Manifest of the header is not recognized. Additional information, such as version number(s) supported, may be provided within the ErrorMessage attribute.</xs:documentation>
									</xs:annotation>
								</xs:enumeration>
							</xs:restriction>
						</xs:simpleType>
						<xs:simpleType>
							<xs:annotation>
								<xs:documentation xml:lang="en">This is intended to be used when the above enumeration list does not meet your needs. </xs:documentation>
							</xs:annotation>
							<xs:restriction base="StringLength1to32"/>
						</xs:simpleType>
					</xs:union>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="Severity" type="StringLength1to64" use="optional">
				<xs:annotation>
					<xs:documentation xml:lang="en">An optional indicator to reflect the severity of this condition.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="ErrorMessage" use="optional">
				<xs:annotation>
					<xs:documentation xml:lang="en">A textual description to provide more information about the specific error.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:union>
						<xs:simpleType>
							<xs:restriction base="StringLength1to64">
								<xs:enumeration value="OTA version not supported"/>
								<xs:enumeration value="Session has expired"/>
								<xs:enumeration value="Session already closed"/>
								<xs:enumeration value="Parameter not supported"/>
							</xs:restriction>
						</xs:simpleType>
						<xs:simpleType>
							<xs:annotation>
								<xs:documentation xml:lang="en">This is intended to be used when the above enumeration list does not meet your needs. </xs:documentation>
							</xs:annotation>
							<xs:restriction base="StringLength1to32"/>
						</xs:simpleType>
					</xs:union>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="DocURL" type="xs:anyURI" use="optional">
				<xs:annotation>
					<xs:documentation xml:lang="en">If present, this attribute refers to an online description of the error that occurred.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<!--  OTA_CommonTypes.xsd  -->
<xs:attributeGroup name="AltLangID_Group">
		<xs:annotation>
			<xs:documentation xml:lang="en">Identifies the alternate language for a customer or message. The human language is identified by ISO 639 codes.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="AltLangID" type="xs:language" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="OTA_PayloadStdAttributes">
		<xs:annotation>
			<xs:documentation xml:lang="en">The OTA_PayloadStdAttributes defines the standard attributes that appear on the root element for all OTA payloads.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="EchoToken" type="StringLength1to64" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message MUST include an echo token with an identical value.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="TimeStamp" type="xs:dateTime" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601; YYYY-MM-DDThh:mm:ssZ with time values using the 24 hour clock (e.g. 20 November 2003, 1:59:38 pm UTC becomes 2003-11-20T13:59:38Z).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="Target" use="optional" default="Production">
			<xs:annotation>
				<xs:documentation xml:lang="en">Used to indicate whether the request is for the Test or Production system.</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="Test"/>
					<xs:enumeration value="Production"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Version" type="xs:decimal" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">For all OTA versioned messages, the version of the message is indicated by a decimal value.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="TransactionIdentifier" type="StringLength1to32" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">A unique identifier to relate all messages within a transaction (e.g. this would be sent in all request and response messages that are part of an on-going transaction).</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="SequenceNmbr" type="xs:nonNegativeInteger" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">Used to identify the sequence number of the transaction as assigned by the sending system; allows for an application to process messages in a certain order or to request a resynchronization of messages in the event that a system has been off-line and needs to retrieve messages that were missed. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="TransactionStatusCode" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">This indicates where this message falls within a sequence of messages. </xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:NMTOKEN">
					<xs:enumeration value="Start">
						<xs:annotation>
							<xs:documentation xml:lang="en">This is the first message within a transaction.</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="End">
						<xs:annotation>
							<xs:documentation xml:lang="en">This is the last message within a transaction.</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="Rollback">
						<xs:annotation>
							<xs:documentation xml:lang="en">This indicates that all messages within the current transaction must be ignored.</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
					<xs:enumeration value="InSeries">
						<xs:annotation>
							<xs:documentation xml:lang="en">This is any message that is not the first or last message within a transaction.</xs:documentation>
						</xs:annotation>
					</xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attributeGroup ref="PrimaryLangID_Group"/>
		<xs:attributeGroup ref="AltLangID_Group"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="PrimaryLangID_Group">
		<xs:annotation>
			<xs:documentation>Identifes the primary language preference for the message.</xs:documentation>
		</xs:annotation>
		<xs:attribute name="PrimaryLangID" type="xs:language" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">Identifes the primary language preference for the message.  The human language is identified by ISO 639 codes.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:attributeGroup>
	<!--  OTA_SimpleTypes.xsd  -->
	<xs:simpleType name="StringLength1to32">
		<xs:annotation>
			<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 32</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="32"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="StringLength1to64">
		<xs:annotation>
			<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 64</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="64"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>