<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" version="1.006" id="OTA2003A2006A" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="OTA_SimpleTypes.xsd"/>
	<xs:include schemaLocation="OTA_CommonTypes.xsd"/>
	<xs:include schemaLocation="OTA_AirCommonTypes.xsd"/>
	<xs:include schemaLocation="OTA_VehicleCommonTypes.xsd"/>
	<xs:include schemaLocation="OTA_AirPreferences.xsd"/>
	<xs:include schemaLocation="OTA_CommonPrefs.xsd"/>
	<xs:include schemaLocation="OTA_HotelPreferences.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:complexType name="AccessesType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Element to capture creation and last update data.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Access" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Describes the action taken on the record.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AccessPerson" type="PersonNameType" minOccurs="0">
							<xs:annotation>
								<xs:documentation xml:lang="en">Name of individual who originated or updated record.</xs:documentation>
							</xs:annotation>
						</xs:element>
						<xs:element name="AccessComment" type="FreeTextType" minOccurs="0">
							<xs:annotation>
								<xs:documentation xml:lang="en">Free text comment added by the person accessing the profile record. </xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="ActionType">
						<xs:annotation>
							<xs:documentation xml:lang="en">Type of action taken on the profile. </xs:documentation>
						</xs:annotation>
						<xs:simpleType>
							<xs:restriction base="xs:NMTOKEN">
								<xs:enumeration value="Create"/>
								<xs:enumeration value="Read"/>
								<xs:enumeration value="Update"/>
								<xs:enumeration value="Delete"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
					<xs:attribute name="ActionDateTime" type="xs:dateTime">
						<xs:annotation>
							<xs:documentation xml:lang="en">Month, day, year and optionally in hour, minute, second of day in ISO 8601 format of the action taken on the profile.
								</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attributeGroup ref="ID_Group">
						<xs:annotation>
							<xs:documentation xml:lang="en">The identifier of the system that performed the action on the profile record. </xs:documentation>
						</xs:annotation>
					</xs:attributeGroup>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="PrivacyGroup"/>
		<xs:attribute name="CreateDateTime" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation xml:lang="en">Month, day, year and optionally hour, minute, second of day the profile originated, in ISO 8601 format.
					</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="AffiliationsType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Defines an entity that provides travel services or benefits to a customer or company.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Organization" type="OrganizationType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Employer" type="EmployerType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TravelClub" type="TravelClubType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Insurance" type="InsuranceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="TPA_Extensions" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="PrivacyGroup"/>
	</xs:complexType>
	<xs:complexType name="AgreementsType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Section of a business profile that contains information about trading partner agreements.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Certification" type="CertificationType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AllianceConsortium" type="AllianceConsortiumType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="CommissionInfo" type="CommissionInfoType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element ref="TPA_Extensions" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="PrivacyGroup"/>
	</xs:complexType>
	<xs:complexType name="AllianceConsortiumType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Provides information about alliance partnerships and consortiums of members grouped together to obtain trading partner agreements for travel service and privileges.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="AllianceMember" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Identification of a company that participates in an alliance or consortium to which the primary
						business entity identified in this profile belongs.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="CompanyNameType">
							<xs:attribute name="MemberCode" type="StringLength1to8">
								<xs:annotation>
									<xs:documentation xml:lang="en">Identifies the alliance or consortium member by code.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="ID_OptionalGroup">
			<xs:annotation>
				<xs:documentation xml:lang="en">Identification of the alliance or partnership in which the business entity is a member.</xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
		<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
	</xs:complexType>
	<xs:complexType name="BusinessLocaleType">
		<xs:annotation>
			<xs:documentation xml:lang="en">The jurisdiction in which a company is authorized to do business. Uses the Address entity to indicate the location of business using any of the components of the address (e.g., city, state, zip code, country, etc.)</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Address" type="AddressType"/>
		</xs:sequence>
		<xs:attributeGroup ref="DefaultIndGroup">
			<xs:annotation>
				<xs:documentation xml:lang="en">Indicates whether the business location is the default choice among several.  The default
							 business locale could be used to indicate the primary place of business or incorporation. </xs:documentation>
			</xs:annotation>
		</xs:attributeGroup>
	</xs:complexType>
	<xs:complexType name="CertificationType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Information about certifications or accreditation held by the company.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="FreeTextType">
				<xs:attributeGroup ref="ID_OptionalGroup">
					<xs:annotation>
						<xs:documentation xml:lang="en">The Certification Identification number assigned to a business entity by the certifying body. This number would presumably be the ID in the Unique ID. 	</xs:documentation>
					</xs:annotation>
				</xs:attributeGroup>
				<xs:attributeGroup ref="SingleVendorIndGroup"/>
				<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="CommissionInfoType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Contains information about agreements for commission arrangements with the business entity.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="FreeTextType">
				<xs:attributeGroup ref="PrivacyGroup"/>
				<xs:attribute name="CommissionPlanCode" type="StringLength1to32">
					<xs:annotation>
						<xs:documentation xml:lang="en">Identifies a commission plan agreement between trading partners by plan code.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attributeGroup ref="CurrencyAmountGroup">
					<xs:annotation>
						<xs:documentation xml:lang="en">Identifies a rate for paying commissions; can be a decimal value based on percentage paid
						for the commission plan, or a flat rate.</xs:documentation>
					</xs:annotation>
				</xs:attributeGroup>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="CompanyInfoType">
		<xs:sequence>
			<xs:element name="CompanyName" type="CompanyNameType" maxOccurs="unbounded"/>
			<xs:element name="AddressInfo" type="AddressInfoType" maxOccurs="unbounded"/>
			<xs:element name="TelephoneInfo" type="TelephoneInfoType" maxOccurs="unbounded"/>
			<xs:element name="Email" type="EmailType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="URL" type="URL_Type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BusinessLocale" type="AddressType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PaymentForm" type="PaymentFormType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ContactPerson" type="ContactPersonType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="LoyaltyProgram" type="LoyaltyProgramType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EmployerType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Company or organization that employs the customer.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CompanyName" type="CompanyNameType" minOccurs="0"/>
			<xs:element name="RelatedEmployer" type="CompanyNameType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="EmployeeInfo" type="EmployeeInfoType" minOccurs="0" maxOccurs="3"/>
			<xs:element name="InternalRefNmbr" type="FreeTextType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Accounting code(s) assigned to travel for employer.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="LoyaltyProgram" type="LoyaltyProgramType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="DefaultIndGroup"/>
		<xs:attributeGroup ref="OfficeTypeGroup"/>
		<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
	</xs:complexType>
	<xs:complexType name="InsuranceType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Travel insurance carried by the customer or company.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="InsuredName" type="PersonNameType" minOccurs="0"/>
			<xs:element name="InsuranceCompany" type="CompanyNameType" minOccurs="0"/>
			<xs:element name="Underwriter" type="CompanyNameType" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">Underwriting company providing coverage.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="PrivacyGroup"/>
		<xs:attribute name="InsuranceType" type="StringLength1to32">
			<xs:annotation>
				<xs:documentation xml:lang="en">Type of insurance policy carried by the individual or company.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="PolicyNumber" type="StringLength1to32" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">Identifier assigned by insurance company to the insurance policy.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
		<xs:attribute name="RPH" type="RPH_Type" use="optional"/>
	</xs:complexType>
	<xs:complexType name="LoyaltyProgramType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Identifies a membership or loyalty program offered by the company by name of the program.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="StringLength0to32">
				<xs:attribute name="ProgramCode" type="StringLength1to16">
					<xs:annotation>
						<xs:documentation xml:lang="en">Identification of the loyalty program by code.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attributeGroup ref="SingleVendorIndGroup"/>
				<xs:attribute name="LoyaltyLevel" type="StringLength1to16">
					<xs:annotation>
						<xs:documentation xml:lang="en">Indicates special privileges in program assigned to individual.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="RPH" type="RPH_Type"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="OrganizationType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Membership organization that has travel benefits, programs, or discounts.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="OrgMemberName" minOccurs="0">
				<xs:annotation>
					<xs:documentation xml:lang="en">Name of the member of the organization, as listed among the options of customer names.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="PersonNameType">
							<xs:attributeGroup ref="ID_LevelTitleGroup"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="OrgName" type="CompanyNameType" minOccurs="0"/>
			<xs:element name="RelatedOrgName" type="CompanyNameType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TravelArranger" type="TravelArrangerType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="DefaultIndGroup"/>
		<xs:attributeGroup ref="PrivacyGroup"/>
		<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
		<xs:attributeGroup ref="OfficeTypeGroup"/>
	</xs:complexType>
	<xs:complexType name="PreferencesType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Needs of the traveler related to travel experiences.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="PrefCollection" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation xml:lang="en">Unique aggregation of customer travel needs.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="CommonPref" type="CommonPrefType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="VehicleRentalPref" type="VehicleProfileRentalPrefType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="AirlinePref" type="AirlinePrefType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="HotelPref" type="HotelPrefType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="OtherSrvcPref" type="OtherSrvcPrefType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element ref="TPA_Extensions" minOccurs="0"/>
					</xs:sequence>
					<xs:attributeGroup ref="PrivacyGroup"/>
					<xs:attribute name="TravelPurpose" type="OTA_CodeType" use="optional">
						<xs:annotation>
							<xs:documentation xml:lang="en">
					Refer to OTA Code List Travel Purpose (TVP).
					</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="PrivacyGroup"/>
	</xs:complexType>
	<xs:complexType name="ProfileType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Root element for profile content.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Accesses" type="AccessesType" minOccurs="0"/>
			<xs:element name="Customer" type="CustomerType" minOccurs="0"/>
			<xs:element name="PrefCollections" type="PreferencesType" minOccurs="0"/>
			<xs:element name="CompanyInfo" type="CompanyInfoType" minOccurs="0"/>
			<xs:element name="Affiliations" type="AffiliationsType" minOccurs="0"/>
			<xs:element name="Agreements" type="AgreementsType" minOccurs="0"/>
			<xs:element ref="TPA_Extensions" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="ShareAllGroup"/>
		<xs:attributeGroup ref="ProfileTypeGroup"/>
		<xs:attributeGroup ref="DateTimeStampGroup"/>
		<xs:attribute name="RPH" type="RPH_Type" use="optional">
			<xs:annotation>
				<xs:documentation xml:lang="en">This is a reference placeholder, used as an index for this guest in this reservation. </xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="ProfilesType">
		<xs:annotation>
			<xs:documentation xml:lang="en">A collection of Profile objects or Unique IDs of Profiles.
</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ProfileInfo" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="UniqueID" type="UniqueID_Type" minOccurs="0"/>
						<xs:element name="Profile" type="ProfileType"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TravelArrangerType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Companies or individuals responsible for making travel plans or transactions either for the customer or company.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="CompanyNameType">
				<xs:attributeGroup ref="DefaultIndGroup"/>
				<xs:attributeGroup ref="PrivacyGroup"/>
				<xs:attribute name="TravelArrangerType" type="StringLength1to32">
					<xs:annotation>
						<xs:documentation xml:lang="en">Type of service making travel plans or transactions (e.g., travel agency, etc.).</xs:documentation>
					</xs:annotation>
				</xs:attribute>
				<xs:attribute name="RPH" type="RPH_Type"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="TravelClubType">
		<xs:annotation>
			<xs:documentation xml:lang="en">Identifies a travel club that offers special privileges and related services.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TravelClubName" type="CompanyNameType"/>
			<xs:element name="ClubMemberName" minOccurs="0">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="PersonNameType">
							<xs:attributeGroup ref="ID_Group">
								<xs:annotation>
									<xs:documentation xml:lang="en">Identifier assigned to person registered with travel club.</xs:documentation>
								</xs:annotation>
							</xs:attributeGroup>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attributeGroup ref="PrivacyGroup"/>
		<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
	</xs:complexType>
</xs:schema>


