cancel
Showing results for 
Search instead for 
Did you mean: 

Proxy generation terminated: WSDL error (<extension> not supported)

Former Member
0 Kudos

Hi,

When I try to generate the proxy for the below mentioned XSD I am getting the error <extension> not supported as this tag is not supported by ABAP. Now how to remove the extension tag from the XSD.

Any idea??

<?xml version = '1.0' encoding = 'UTF-8'?>

<xs:schema xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.opentravel.org/OTA/2003/05" elementFormDefault="qualified" version="2.000" id="OTA2006B">

<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_HotelAvailRQ">

<xs:annotation>

<xs:documentation xml:lang="en">Requests availability of hotel properties by specific criteria that may include: dates, date ranges, price range, room types, regular and qualifying rates, and/or services and amenities. The availability message can be used to get an initial availability or to get availability for the purpose of modifying an existing reservation.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="POS" type="POS_Type" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Point of sale object. </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="AvailRequestSegments">

<xs:complexType>

<xs:complexContent>

<xs:extension base="AvailRequestSegmentsType">

<xs:attribute name="MaximumWaitTime" type="xs:decimal" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The value of this attribute will be a decimal field identifying the maximum number of seconds the responding application has to respond to the request. For example, suppose a client requests 10 OTA 'AvailRequestSegment' items but can only wait up to 4.0 seconds max. If only 6 segments were collected within the time-frame, the client would only receive those 6 segments within one response message. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

<xs:element name="HotelReservationIDs" type="HotelReservationIDsType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Collection of Hotel Reservation IDs associated with a given reservation, used when asking for availability for the purpose of modifying an existing reservation.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="OTA_PayloadStdAttributes"/>

<xs:attribute name="SummaryOnly" type="xs:boolean" use="optional"/>

<xs:attribute name="SortOrder" use="optional" default="A">

<xs:simpleType>

<xs:restriction base="AlphaLength1">

<xs:enumeration value="A"/>

<xs:enumeration value="D"/>

<xs:enumeration value="N"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="AvailRatesOnly" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A boolean flag that indicates the response should include ONLY those rates that are available in the date range specified, or whether rates that are NOT available should be shown. "Yes" returns only available rates; "No" returns all rates.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="OnRequestInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, the response should include rooms with an availability status of 'on request'. When false, the response should not include rooms with an availability status of 'on request'.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="BestOnly" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A boolean flag that indicates the response message should send back only the best rate available at the hotel property, as there could be multiple room types and rates that meet the requested criteria (e.g.: rate range). Allowing that the term "best rate" is subjective, the intent means the lowest rate that meets the category of the input criteria, and may have the effect of limiting the return to one rate quote as opposed to multiples.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RateRangeOnly" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A boolean flag that indicates the response message should send back only those rates that are available within the range of the minimum and maximum amount specified.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ExactMatchOnly" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A boolean flag that indicates the response message should send back only those rates that are an exact match to the requested criteria.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AllowPartialAvail" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A boolean flag that indicates the response message should include availability and rates that do not span the complete stay.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RequestedCurrency" type="AlphaLength3" use="optional"/>

<xs:attribute name="IsModify" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates that this is an availibility request for a modification to an existing reservation.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="MaxResponsesGroup"/>

<xs:attribute name="SearchCacheLevel" use="optional">

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Live"/>

<xs:enumeration value="VeryRecent"/>

<xs:enumeration value="LessRecent"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:complexType name="AvailRequestSegmentsType">

<xs:sequence>

<xs:element name="AvailRequestSegment" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">To accommodate the ability to perform multiple requests within one message, the availability request contains the repeating element, AvailRequestSegment. Each segment includes a collection of criteria that requests a bookable entity, which may include designated rate plans, room types, amenities or services, and the request can be used for guest rooms or other inventory items for which availability is sought. Each segment would be presumed to have a unique date range for each request.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="StayDateRange" type="DateTimeSpanType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Range of dates, or fixed set of dates for Availability Request. Date range can also be specified by using start dates and number of nights (minimum, maximum or fixed). **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RateRange" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Requested rate or rate range. Repeats to allow the identification of multiple ranges for multiple room stay candidates. **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="RoomStayCandidateRPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to associate a rate range with a room stay candidate.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="RateRangeGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="RatePlanCandidates" type="RatePlanCandidatesType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">**This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Profiles" type="ProfilesType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">A collection of profile objects or unique IDs of profiles.

**This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RoomStayCandidates" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Collection of room stay candidates. **This element is maintained at this level to support those who have implemented this message prior to 2005B. For new implementations consider using this element under HotelSearchCriteria.**</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="RoomStayCandidate" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">Element used to identify available room products.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:complexContent>

<xs:extension base="RoomStayCandidateType">

<xs:attribute name="IsAlternate" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the segment of the RoomStay is an alternate offer. Default=false.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="HotelSearchCriteria" type="HotelSearchCriteriaType" minOccurs="0"/>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

</xs:sequence>

<xs:attribute name="AvailReqType">

<xs:annotation>

<xs:documentation xml:lang="en">An enumerated type that indicates whether the availability request is for a room or non-room product, such as amenities or other activities (e.g.: banquet, conference room, etc.). Values: Room, NonRoom, Both.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="StringLength1to16">

<xs:enumeration value="Room"/>

<xs:enumeration value="NonRoom"/>

<xs:enumeration value="Both"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="MoreDataEchoToken" type="StringLength1to128">

<xs:annotation>

<xs:documentation xml:lang="en">The availability response returns the attribute if there were additional rates that could not fit within the availability response. The text value should be echoed in this availability request to indicate where to begin the next block of availability data. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="ResponseTypeGroup"/>

<xs:attribute name="InfoSource" type="InfoSourceType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify the source of the data being exchanged as determined by trading partners. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<!-- OTA_Profile.xsd --><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="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" maxOccurs="unbounded">

<xs:complexType>

<xs:attributeGroup ref="TelephoneInfoGroup"/>

</xs:complexType>

</xs:element>

<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><!-- OTA_AirPreferences.xsd --><xs:complexType name="AirlinePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies a collection of preferences for airline travel.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="LoyaltyPref" type="LoyaltyPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Identifies the preferred loyalty program(s).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="VendorPref" type="CompanyNamePrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Identifies the preferred airline carrier(s) by name.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="PaymentFormPref" type="PaymentFormPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Preferred form(s) of payment.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="AirportOriginPref" type="AirportPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Identifies the preferred origination airport for travel (using IATA airport codes).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="AirportRoutePref" type="AirportPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates the preferred connection airport(s) (using IATA airport codes)..</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="FareRestrictPref" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred fare restrictions to be used in search.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="FareRestrictPrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="FlightTypePref" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred flight characteristics to be used in a search (e.g., connections, stopovers).</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="FlightTypePrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="EquipPref" type="EquipmentTypePref" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred equipment type(s) to be used in a search.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="CabinPref" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred cabin(s) to be used in a search.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="CabinPrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="SeatPref" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred seat characteristics. Refer to OTA Code List Seat Preference (STP) for codes.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="SeatPrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="TicketDistribPref" type="TicketDistribPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred ticket distribution method (e.g., fax, eMail, courier, mail, airport pickup)</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="MealPref" type="MealPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred meal type (e.g., vegetarian, Kosher, low fat)</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SpecRequestPref" type="SpecRequestPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred special request(s) to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SSR_Pref" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates Special Service Request preference type.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="SSR_PrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

<xs:element name="MediaEntertainPref" type="MediaEntertainPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Media and entertainment preferences.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="PetInfoPref" type="PetInfoPrefType" minOccurs="0" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred information for pet accompanying traveler.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attributeGroup ref="SmokingIndicatorGroup"/>

<xs:attribute name="PassengerTypeCode" type="AlphaLength3" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Category of airline passenger, using standard ATPCO codes.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AirTicketType" type="TicketType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Type of airline ticket preferred for this collection.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="AirportPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Departure airport preferences, using IATA airport codes.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="LocationType">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="EquipmentTypePref">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferences for type of airplane.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="EquipmentType">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="WideBody" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates if an airplane with multiple aisles is preferred.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:attributeGroup name="CabinPrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferences for choice of airline cabin.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="Cabin" type="CabinType">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates preferred airline cabin.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="FareRestrictPrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies preferences for airfare restrictions acceptable or not acceptable for a given travel situation.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="FareRestriction" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Refer to OTA Code List Fare Restriction (FAR).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Date" type="DateOrDateTimeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A date that is associated to the fare restriction.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="FlightTypePrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for certain types of flights, such as connections or stopovers, when used for a specific travel situation.

</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="FlightType" type="FlightTypeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en"> Indicates type of stops preferred (Nonstop, Direct, Connection).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MaxConnections" type="xs:nonNegativeInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates that if connection is chosen, then this attribute defines the maximum number of connections preferred.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NonScheduledFltInfo" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">To specify which types of non-scheduled air service should be included.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="ChartersOnly">

<xs:annotation>

<xs:documentation xml:lang="en">Only include non scheduled flights that are charter flights.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ExcludeCharters">

<xs:annotation>

<xs:documentation xml:lang="en">Do not include non scheduled flights that are charters.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="All">

<xs:annotation>

<xs:documentation xml:lang="en">Include both charter non scheduled flights and those that are not charters.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="BackhaulIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, include connections where one of the enroute stops is the same as the initial board point or the final off point of the flight.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="GroundTransportIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, include flights that include at least one leg that is ground transportation.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DirectAndNonStopOnlyInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, direct and non-stop flights are requested.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NonStopsOnlyInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, only non-stop flights are requested.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="OnlineConnectionsOnlyInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, only online connection flights are requested (i.e., same marketing airline).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoutingType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the travel routing preference.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Normal">

<xs:annotation>

<xs:documentation xml:lang="en">No special conditions.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Mirror">

<xs:annotation>

<xs:documentation xml:lang="en">Outbound and inbound route of travel must be the same.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="SSR_PrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies preferences for special services required for air travel, using standard industry (SSR-OSI) code list.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="SSR_Code" type="AlphaLength4">

<xs:annotation>

<xs:documentation xml:lang="en">Code of the special service request to be used for this air travel situation. Refers to standard industry code list.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="SeatPrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for seats or seat types.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attributeGroup ref="SeatRequestAttributes"/>

</xs:attributeGroup><!-- OTA_HotelPreferences.xsd --><xs:complexType name="BedTypePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for the size and features of hotel bed types.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the level of preference for the bed type requested.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="BedType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the hotel bed type requested. Refer to OTA Code List Bed Type (BED).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="BusinessSrvcPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for type of business services in a hotel.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel business service identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="BusinessSrvcType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the types of business services offered by the hotel. Refer to OTA Code ListBusiness Srvc Type (BUS).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="FoodSrvcPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for type of food service facilities in a hotel.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel food service identified.

</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="FoodSrvcType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the types of food services offered by the hotel. Refer to OTA Code List Main Cuisine Code (CUI).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="HotelPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">These are the hotel preference elements used on an instance of a profile.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="LoyaltyPref" type="LoyaltyPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PaymentFormPref" type="PaymentFormPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="HotelChainPref" type="CompanyNamePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PropertyNamePref" type="PropertyNamePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PropertyLocationPref" type="PropertyLocationPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PropertyTypePref" type="PropertyTypePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PropertyClassPref" type="PropertyClassPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PropertyAmenityPref" type="PropertyAmenityPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="RoomAmenityPref" type="RoomAmenityPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="RoomLocationPref" type="RoomLocationPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="BedTypePref" type="BedTypePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="FoodSrvcPref" type="FoodSrvcPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="MediaEntertainPref" type="MediaEntertainPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PetInfoPref" type="PetInfoPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="MealPref" type="MealPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="RecreationSrvcPref" type="RecreationSrvcPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="BusinessSrvcPref" type="BusinessSrvcPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PersonalSrvcPref" type="PersonalSrvcPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="SecurityFeaturePref" type="SecurityFeaturePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PhysChallFeaturePref" type="PhysChallFeaturePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="SpecRequestPref" type="SpecRequestPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attributeGroup ref="SmokingIndicatorGroup"/>

<xs:attribute name="RatePlanCode" type="StringLength1to128">

<xs:annotation>

<xs:documentation xml:lang="en">Code identifying preferred hotel rate plan for this travel situation</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="HotelGuestType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Category of hotel guest. Refer to OTA Code List Hotel Guest Type (GUE).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="PersonalSrvcPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for type of personal services in a hotel.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel personal service identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PhysChallFeaturePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for type of features required to meet the needs of persons with physical challenges, disabilities, etc.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel physically challenged feature identified.

</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="PhysChallFeatureType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the types of features the hotel offers to service physically challenged guests. Refer to OTA Code List Physically Challenged Feature Code (PHY).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PropertyAmenityPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for hotel property amenities.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel property amenity identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="PropertyAmenityType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the amenities offered by the hotel. Refer to OTA Code List Hotel Amenity Code (HAC).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PropertyClassPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for class of hotel property.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel property class identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="PropertyClassType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifes the classification of the property. Refer to OTA Code List Brand Category Code (BCC).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PropertyLocationPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for hotel property locations.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the level of preference for the property location identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="PropertyLocationType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the propery location type. Refer to OTA Code List Location Category Codes (LOC).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PropertyNamePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Name of preferred hotel property associated with this collection.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel property identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PropertyTypePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preference for hotel property types.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel type identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="PropertyType" type="StringLength1to128"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="RecreationSrvcPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for type of recreation services in a hotel.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel recreational service identified.

</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="RecreationSrvcType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the recreational services offered by the hotel. Refer to OTA Code List Recreation Srvc Type (RST).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="RoomAmenityPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for hotel room amenities.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel room amenity identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="RoomAmenity" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifes the types of room amenities offered by the property. Refer to OTA Code List Room Amenity Type (RMA).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ExistsCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This attribute is used to explicitly define whether an amenity or service is offered. Refer to OTA Code list Option Type Code (OTC). This is used in conjunction with RoomAmenity.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="QuantityGroup"/>

<xs:attribute name="QualityLevel" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to designate the quality level of the RoomAmenity e.g., premium, deluxe, standard, economy.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="RoomLocationPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for hotel room locations.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel room location identified.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="RoomLocationType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the location of the room within the property. Refer to OTA Code List Room Location Type (RLT).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="SecurityFeaturePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates preferences for type of security features in a hotel.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="OTA_CodeType">

<xs:attributeGroup ref="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's level of preference for the hotel security feature identified. Refer to OTA Code List Security Feature Code (SEC).</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:extension>

</xs:simpleContent>

</xs:complexType><!-- OTA_HotelCommonTypes.xsd --><xs:complexType name="GuestCountType">

<xs:annotation>

<xs:documentation xml:lang="en">A collection of GuestCount by age group.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="GuestCount" maxOccurs="99">

<xs:annotation>

<xs:documentation xml:lang="en">A recurring element that identifies the number of guests and ages of the guests in the request that determines the rates based on business rules for occupancy at each property. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="GuestCountGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="IsPerRoom" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">IsPerRoom means that the guests defined in the GuestCounts object apply to each room in the NumberOfRooms for the RoomStay. Value of "false" means that the guests defined in the GuestCounts object apply to all rooms combined in the NumberOfRooms for the RoomStay.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="HotelReservationIDsType">

<xs:annotation>

<xs:documentation xml:lang="en">A Collection of HotelReservationID objects for a given reservation. The collection of all ReservationIDs can include Passenger Name Record (PNR), Guest Name Record (GNR) and Guest Folio numbers. Associated with each can be a Confirmation number which is usually given to the guest.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="HotelReservationID" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">The HotelReservationID object contains various unique (ReservationID) and non unique (ConfirmationID, CancellationID) identifiers that the trading partners associate with a given reservation.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="ResID_Type" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the type of Reservation ID (e.g. reservation number, cancellation number). Refer to OTA Code List Unique ID Type (UIT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ResID_Value" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This is the actual value associated with ResID_Type as generated by the system that is the source of the ResID_Type</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ResID_Source" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A unique identifier to indicate the source system which generated the ResID_Value</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ResID_SourceContext" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Additional information on Source </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ResID_Date" type="xs:dateTime" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Date of the creation of this reservation.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ForGuest" type="xs:boolean" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Used to determine if the ResID_Value is given to guest</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ResGuestRPH" 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. In the ResGuest object it is used like all other RPH attributes to send the delta of a reservation. It is used by the RoomStay and Service objects to indicate which guests are associated with that room stay or service. It is also used to link a guest with a ReservationID</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CancelOriginatorCode" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifying code of the system that initiated the cancel of this reservation.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CancellationDate" type="xs:dateTime" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Date this reservation was cancelled. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType><xs:complexType name="HotelSearchCriteriaType">

<xs:annotation>

<xs:documentation xml:lang="en">A collection of single search criterion items.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Criterion" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">Child elements that identify a single search criterion by criteria type. Because many of the types include partial matches to string values such as partial addresses (street names without a number) or partial telephone numbers (area code or three-digit prefix area, etc.) a ExactMatch attribute indicates whether the match to the string value must be exact.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:complexContent>

<xs:extension base="HotelSearchCriterionType">

<xs:attribute name="MoreDataEchoToken" type="StringLength1to128" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The search response returns this attribute if there were additional items that could not fit within the response. The text value returned should be echoed in the subsequent request to indicate where to begin the next block of data. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="InfoSource" type="InfoSourceType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify the source of the data being exchanged as determined by trading partners. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="AvailableOnlyIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, return only hotels that are available.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="HotelSearchCriterionType">

<xs:annotation>

<xs:documentation xml:lang="en">A collection of Profile objects or Unique IDs of Profiles.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="ItemSearchCriterionType">

<xs:sequence>

<xs:element name="HotelAmenity" minOccurs="0" maxOccurs="10">

<xs:annotation>

<xs:documentation xml:lang="en">Hotel level amenities for searches.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="Code" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Refer to OTA Code List Hotel Amenity Code (HAC).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ComplimentaryInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, there is no charge for the amenity. When false, there is a fee associated with the amenity.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="RoomAmenity" type="RoomAmenityPrefType" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Room level amenities for searches.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Award" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">An element that identifies the hotel ratings. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="Provider" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The name of the award or ratings provider.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Rating" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The actual award or rating received by the hotel facility. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="Recreation" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies recreation facilities or amenities of interest.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="Code" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify a specific recreation activity. Refer to OTA code list Recreation Srvc Type (RST).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="Service" minOccurs="0" maxOccurs="99">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies services of interest.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="BusinessServiceCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify a specific business service. Refer to OTA code list Business Srvc Type (BUS).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ServiceInventoryCode" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The representation of the specific service being reserved.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Quantity" type="Numeric1to999" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The number of services (e.g., tickets, rounds of golf).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="Transportation" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies transportation facilities.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="Code" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to define the mode of available transportation. Refer to OTA Code List Transportation Code (TRP).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="StayDateRange" type="DateTimeSpanType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Range of dates, or fixed set of dates for Availability Request. Date range can also be specified by using start dates and number of nights (minimum, maximum or fixed).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RateRange" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Requested rate or rate range. Repeats to allow the identification of multiple ranges for multiple room stay candidates.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="RoomStayCandidateRPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to associate a rate range with a room stay candidate.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="RateRangeGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="RatePlanCandidates" type="RatePlanCandidatesType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Collection of requested rate plans.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Profiles" type="ProfilesType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">A collection of profile objects or unique IDs of profiles.

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="RoomStayCandidates" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Collection of room stay candidates.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="RoomStayCandidate" type="RoomStayCandidateType" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">Element used to identify available room products.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType><xs:complexType name="RatePlanCandidatesType">

<xs:sequence>

<xs:element name="RatePlanCandidate" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">Element used to identify available products and rates.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="HotelRefs" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">A collection of hotel identifiers to which the rate plan applies.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="HotelRef" maxOccurs="unbounded">

<xs:annotation>

<xs:documentation xml:lang="en">Information to identify one or more hotels.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="HotelReferenceGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="MealsIncluded" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Defines which meals are included with this rate plan.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="MealsIncludedGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Defines which meals are included with this rate plan.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="RatePlanGroup"/>

<xs:attribute name="RPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A unique identifier for this rate plan candidate.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType><xs:complexType name="RoomStayCandidateType">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify available room products.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="GuestCounts" type="GuestCountType" minOccurs="0"/>

<xs:element name="RoomAmenity" type="RoomAmenityPrefType" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">This element is used to pass room attributes. Typical attributes are smoking, non-smoking, wheelchair access, room location (low floor, high floor, close to elevator, etc) and view (garden, pool, ocean, etc)</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="RoomGroup"/>

<xs:attribute name="RPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A unique identifier for this room stay candidate. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RatePlanCandidateRPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to refer to the Rate Plan Candidate associated with this room stay.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:attributeGroup name="GuestCountGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the number of guests.</xs:documentation>

</xs:annotation>

<xs:attribute name="AgeQualifyingCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A code representing a business rule that determines the charges for a guest based upon age range (e.g. Adult, Child, Senior, Child With Adult, Child Without Adult). This attribute allows for an increase in rate by occupant class. Refer to OTA Code List Age Qualifying Code (AQC).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Age" type="Numeric0to999" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the age of a guest.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Count" type="Numeric1to999" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The number of guests in one AgeQualifyingCode or Count.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="MealsIncludedGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify meals that are included.</xs:documentation>

</xs:annotation>

<xs:attribute name="Breakfast" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, indicates breakfast is included.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Lunch" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, indicates lunch is included.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Dinner" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, indicates dinner is included.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MealPlanIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, a meal plan is included in this rate plan. When false, a meal plan is not included in this rate plan.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MealPlanCodes" type="ListOfOTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify the types of meals included with a rate plan. Refer to OTA Code List Meal Plan Type (MPT).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="RatePlanGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The RatePlanCode assigned by the receiving system for the inventory item in response to a new rate plan notification. (Implementation Notes: This would only be returned when the notification is of type New and the sender is translating RatePlanCode values.

On subsequent transactions for this rate plan, the sender would populate the RatePlanCode attribute with this value returned by the receiver.)</xs:documentation>

</xs:annotation>

<xs:attribute name="RatePlanType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An enumerated type that allows the query to specify a rate category type, and provides major categories for comparison across brands. Refer to OTA Code List Rate Plan Type (RPT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RatePlanCode" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A string value may be used to request a particular code or an ID if the guest qualifies for a specific rate, such as AARP, AAA, a corporate rate, etc., or to specify a negotiated code as a result of a negotiated rate.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RatePlanID" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A text field used to indicate a special ID code that is associated with the rate and is essential in the reservation request in order to obtain the rate. Examples are Corporate ID.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RatePlanQualifier" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The Rate Plan Qualifier is used to control the sort order of RatePlans. Those Rate Plans that are not qualified will appear first, those that are qualified will appear last.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="PromotionCodeGroup"/>

<xs:attribute name="RatePlanCategory" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Hotel systems often group multiple rate plans into a single category. This refers to that category that is specific to the hotel CRS/PMS and should not be confused with a GDS rate category. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="ResponseTypeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the type of data to be returned, either a list of hotel records or a list of area (city/reference) codes.</xs:documentation>

</xs:annotation>

<xs:attribute name="ResponseType" default="PropertyList">

<xs:annotation>

<xs:documentation xml:lang="en">Defines whether the response is a propety list or an area list.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="StringLength1to16">

<xs:enumeration value="PropertyList"/>

<xs:enumeration value="AreaList"/>

<xs:enumeration value="PropertyRateList">

<xs:annotation>

<xs:documentation xml:lang="en">Provides the ability to control if rate information is to be returned within the response.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="RateInfoDetails">

<xs:annotation>

<xs:documentation xml:lang="en">Provides the ability to request full complete rate details for a specific rate plan(s).</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="ProfilePrefs">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates that the reply content reflects active profile preferences.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="RoomGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to define a room (eg. its location, configuration, view).</xs:documentation>

</xs:annotation>

<xs:attribute name="RoomType" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">(formerly, RoomInventoryCode) A code value that indicates the type of room for which this request is made, e.g.: double, king, etc. Values may use the Hotel Descriptive Content table or a codes specific to the property or hotel brand.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoomTypeCode" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Specific system room type code, ex: A1K, A1Q etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoomCategory" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the category of the room. Typical values would be Moderate, Standard, or Deluxe. Refer to OTA Code List Segment Category Code (SEG).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoomID" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A string value representing the unique identification of a room if the request is looking for a specific room.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Floor" type="Numeric1to999" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Floor on which the room is located.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="InvBlockCode" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A code or identification number that identifies the room stay as part of a group, package tour, or block of rooms designated in the inventory.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="PromotionCodeGroup"/>

<xs:attribute name="RoomLocationCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the location of the room within the hotel structure. Typical values would be "Near Exit","Close to elevator", "Low Floor" or "High Floor". Refer to OTA Code List Room Location Type (RLT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoomViewCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the view of the room. Typical values would be "Ocean view", "Pool view" or "Garden View". Refer to OTA Code List Room View Type (RVT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="BedTypeCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the type of bed(s) found in the room. Typical values would be Double, Twin, Queen, or King. Refer to OTA Code List Bed Type Code (BED).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="NonSmoking" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Non-smoking indicator.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Configuration" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Textual description of room configuration.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SizeMeasurement" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Textual description of room dimensions.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Quantity" type="Numeric1to999" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the number of the item in question.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Composite" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates that the room (suite) is a composite of smaller units.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoomClassificationCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the room classification (e.g., cabin, apartment). Refer to OTA Code List Guest Room Info (GRI).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RoomArchitectureCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the architectural style of a room. Refer to OTA Code List Architectural Style Code (ARC).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><!-- OTA_CommonPrefs.xsd --><xs:complexType name="AddressPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Address(es) to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Address" type="AddressInfoType"/>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

</xs:complexType><xs:complexType name="CommonPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Travel needs associated with a collection but independent of specific travel services.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="NamePref" type="NamePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PhonePref" type="PhonePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="AddressPref" type="AddressPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PaymentFormPref" type="PaymentFormPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="InterestPref" type="InterestPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="InsurancePref" type="InsurancePrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="SeatingPref" type="SeatingPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="TicketDistribPref" type="TicketDistribPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="MediaEntertainPref" type="MediaEntertainPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="PetInfoPref" type="PetInfoPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="MealPref" type="MealPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="LoyaltyPref" type="LoyaltyPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="SpecRequestPref" type="SpecRequestPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="RelatedTravelerPref" type="RelatedTravelerPrefType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attributeGroup ref="SmokingIndicatorGroup"/>

<xs:attributeGroup ref="PrimaryLangID_Group"/>

<xs:attributeGroup ref="AltLangID_Group"/>

</xs:complexType><xs:complexType name="CompanyNamePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies a preferred company by name.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="CompanyNameType">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="InsurancePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies travel insurance policies to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="RPH" type="RPH_Type">

<xs:annotation>

<xs:documentation xml:lang="en">Index number to be used for reference the insurance policy to be used in this travel collection.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="InterestPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Traveler interests to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="LoyaltyPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Loyalty programs to be used with this collection.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="RPH" type="RPH_Type">

<xs:annotation>

<xs:documentation xml:lang="en">Identification of loyalty program by reference number or index.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="MealPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Food and beverage preferences to be used with this collection.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="MealType" type="MealType">

<xs:annotation>

<xs:documentation xml:lang="en">Type of meal required (e.g.,vegetarian, Kosher, low fat, etc.)</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="FavoriteFood" type="StringLength1to64">

<xs:annotation>

<xs:documentation xml:lang="en">Dining preferences used with this collection.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Beverage" type="StringLength1to64">

<xs:annotation>

<xs:documentation xml:lang="en">Type of drink(s) preferred.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="MediaEntertainPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Media and entertainment information preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="NamePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">PersonName to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="UniqueID" type="UniqueID_Type"/>

<xs:element name="PersonName" type="PersonNameType"/>

</xs:sequence>

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:complexType><xs:complexType name="OtherSrvcPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Other travel service preferences.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="OtherSrvcName" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">Name of other travel services identified in this collection of preferences.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="VendorPref" type="CompanyNamePrefType" minOccurs="0" maxOccurs="5"/>

<xs:element name="LoyaltyPref" type="LoyaltyPrefType" minOccurs="0" maxOccurs="5"/>

<xs:element name="PaymentFormPref" type="PaymentFormPrefType" minOccurs="0" maxOccurs="5"/>

<xs:element name="SpecRequestPref" type="SpecRequestPrefType" minOccurs="0" maxOccurs="5"/>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="PreferLevelGroup"/>

<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:complexType name="PaymentFormPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Form(s) of payment to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="RPH" type="RPH_Type"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PetInfoPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the preferences for information about pets that accompany the customer in a given travel situation.

</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="PhonePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Telephone number(s) to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Telephone">

<xs:complexType>

<xs:attributeGroup ref="TelephoneInfoGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType><xs:complexType name="RelatedTravelerPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Name(s) of related travelers to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="UniqueID" type="UniqueID_Type"/>

</xs:sequence>

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:complexType><xs:complexType name="SeatingPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Seating preferences to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="SeatDirection" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Direction seat faces during travel, when conveyance allows.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SeatLocation" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Location of seat in cabin of conveyance. Suggested values include: Forward, Middle, Aft, ExitRow, Bulkhead, Right or Left Side, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SeatPosition" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Preferred position of seat in a row, such as Aisle, Middle, Center, Window, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SeatRow" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Preferred row for seating, indicates specific row number and/or seat identifier.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="SpecRequestPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Special request to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="TicketDistribPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Type of ticket distribution to be used with this collection of preferences.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="DistribType" type="OTA_CodeType">

<xs:annotation>

<xs:documentation xml:lang="en">Ticket distribution method such as Fax, Email, Courier, Mail, Airport_Pickup, City_Office, Hotel_Desk,

WillCall, etc. Refer to OTA Code List Distribution Type (DTB).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="TicketTime" type="xs:duration">

<xs:annotation>

<xs:documentation xml:lang="en">Ticket turnaround time desired, amount of time requested to deliver tickets.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><!-- OTA_SimpleTypes.xsd --><xs:simpleType name="ActionType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifes an action to take place.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:enumeration value="Add-Update">

<xs:annotation>

<xs:documentation xml:lang="en">

Typically used to add an item where it does not exist or to update an item where it does exist.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Cancel">

<xs:annotation>

<xs:documentation xml:lang="en">

Typically used to cancel an existing item.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Delete">

<xs:annotation>

<xs:documentation xml:lang="en">

Typically used to remove specified data.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Add">

<xs:annotation>

<xs:documentation xml:lang="en">

Typically used to add data whether data already exists or not.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Replace">

<xs:annotation>

<xs:documentation xml:lang="en">

Typically used to overlay existing data.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType><xs:simpleType name="AlphaLength1">

<xs:annotation>

<xs:documentation xml:lang="en">Used for an Alpha String, length 1</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[a-zA-Z]"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="AlphaLength3">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Alphabetic Strings, length exactly 3</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[a-zA-Z]"/> </xs:restriction> </xs:simpleType><xs:simpleType name="AlphaLength4"> <xs:annotation> <xs:documentation xml:lang="en">Used for an Alpha String, length 4</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z]"/> </xs:restriction> </xs:simpleType><xs:simpleType name="AlphaNumericStringLength1to19"> <xs:annotation> <xs:documentation xml:lang="en">Used forAlpha-Numeric Strings, length 1 to 19</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9a-zA-Z]{1,19}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="AlphaNumericStringLength1to8"> <xs:annotation> <xs:documentation xml:lang="en">Used for Alpha-Numeric Strings, length 1 to 8</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9a-zA-Z]{1,8}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="CabinType"> <xs:annotation> <xs:documentation xml:lang="en">A cabin is either First, Business or Economy </xs:documentation> </xs:annotation> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="First"> <xs:annotation> <xs:documentation xml:lang="en">First class compartment. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Business"> <xs:annotation> <xs:documentation xml:lang="en">Business class compartment. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Economy"> <xs:annotation> <xs:documentation xml:lang="en">Economy (or sometimes referred to as Coach) class compartment.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType><xs:simpleType name="DateOrDateTimeType"> <xs:annotation> <xs:documentation xml:lang="en">A construct to validate either a date or a dateTime value.</xs:documentation> </xs:annotation> <xs:union memberTypes="xs:date xs:dateTime"/> </xs:simpleType><xs:simpleType name="DateOrTimeOrDateTimeType"> <xs:annotation> <xs:documentation xml:lang="en">A construct to validate either a date or a time or a dateTime value.</xs:documentation> </xs:annotation> <xs:union memberTypes="xs:date xs:dateTime xs:time"/> </xs:simpleType><xs:simpleType name="DayOfWeekType"> <xs:annotation> <xs:documentation xml:lang="en">A three letter abbreviation for the days of the week (e.g. may be the starting date for the availability requested, days of operation, rate effective day, etc.).</xs:documentation> </xs:annotation> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="Mon"/> <xs:enumeration value="Tue"/> <xs:enumeration value="Wed"/> <xs:enumeration value="Thu"/> <xs:enumeration value="Fri"/> <xs:enumeration value="Sat"/> <xs:enumeration value="Sun"/> </xs:restriction> </xs:simpleType><xs:simpleType name="DurationType"> <xs:annotation> <xs:documentation xml:lang="en">Allows for the specification of a night duration.</xs:documentation> </xs:annotation> <xs:union memberTypes="xs:duration NightDurationType"/> </xs:simpleType><xs:simpleType name="FlightTypeType"> <xs:annotation> <xs:documentation xml:lang="en">Identifies a particular type of flight - Direct, Stopover etc.</xs:documentation> </xs:annotation> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="Nonstop"> <xs:annotation> <xs:documentation xml:lang="en">Indicates the flight does not make any scheduled stops between 2 points.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Direct"> <xs:annotation> <xs:documentation xml:lang="en">Indicates the flight makes a scheduled stop(s) between 2 points.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="Connection"> <xs:annotation> <xs:documentation xml:lang="en">Indicates the flight will require a change of aircraft at a connecting point(s).</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="SingleConnection"> <xs:annotation> <xs:documentation xml:lang="en">A trip with only one connection.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DoubleConnection"> <xs:annotation> <xs:documentation xml:lang="en">A trip with only two connections.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType><xs:simpleType name="ISO3166"> <xs:annotation> <xs:documentation xml:lang="en">2 character country code as defined in ISO3166.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z]"/> </xs:restriction> </xs:simpleType><xs:simpleType name="InfoSourceType"> <xs:annotation> <xs:documentation xml:lang="en">Used to specify the source of the data being exchanged.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1"/> <xs:maxLength value="32"/> </xs:restriction> </xs:simpleType><xs:simpleType name="ListOfOTA_CodeType"> <xs:list itemType="OTA_CodeType"/> </xs:simpleType><xs:simpleType name="ListOfStringLength1to8"> <xs:list itemType="StringLength1to8"/> </xs:simpleType><xs:simpleType name="MMYYDate"> <xs:annotation> <xs:documentation xml:lang="en">Month and year information.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="(0[1-9]|1[0-2])[0-9][0-9]"/> </xs:restriction> </xs:simpleType><xs:simpleType name="MealType"> <xs:restriction base="xs:string"> <xs:enumeration value="AVML"> <xs:annotation> <xs:documentation xml:lang="en"> AVML - Asian Veg </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="BBML"> <xs:annotation> <xs:documentation xml:lang="en"> BBML - Baby/Infant Food </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="BLML"> <xs:annotation> <xs:documentation xml:lang="en"> BLML - Bland Meal </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="CHML"> <xs:annotation> <xs:documentation xml:lang="en"> CHML - Child Meal </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="DBML"> <xs:annotation> <xs:documentation xml:lang="en"> DBML - Diabetic </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="FPML"> <xs:annotation> <xs:documentation xml:lang="en"> FPML - Fruit Meal </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="GFML"> <xs:annotation> <xs:documentation xml:lang="en"> GFML - Gluten Free </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="HFML"> <xs:annotation> <xs:documentation xml:lang="en"> HFML - High Fiber </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="HNML"> <xs:annotation> <xs:documentation xml:lang="en"> HNML - Hindu Meal </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="KSML"> <xs:annotation> <xs:documentation xml:lang="en"> KSML - Kosher </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LCML"> <xs:annotation> <xs:documentation xml:lang="en"> LCML - Low Calorie </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LFML"> <xs:annotation> <xs:documentation xml:lang="en"> LFML - Low Cholesterol </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LPML"> <xs:annotation> <xs:documentation xml:lang="en"> LPML - Low Protein </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="LSML"> <xs:annotation> <xs:documentation xml:lang="en"> LSML - Low Sodium/No Salt </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="MOML"> <xs:annotation> <xs:documentation xml:lang="en"> MOML - Moslem </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="NLML"> <xs:annotation> <xs:documentation xml:lang="en"> NLML - Non-Lactose </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="ORML"> <xs:annotation> <xs:documentation xml:lang="en"> ORML - Oriental </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PRML"> <xs:annotation> <xs:documentation xml:lang="en"> PRML - Low Purin </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="RVML"> <xs:annotation> <xs:documentation xml:lang="en"> RVML - Raw Vegetarian </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="SFML"> <xs:annotation> <xs:documentation xml:lang="en"> SFML - Seafood </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="SPML"> <xs:annotation> <xs:documentation xml:lang="en"> SPML - Special/Specify </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="VGML"> <xs:annotation> <xs:documentation xml:lang="en"> VGML - Vegetarian/Non Dairy </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="VLML"> <xs:annotation> <xs:documentation xml:lang="en"> VLML - Vegetarian/Milk/Eggs </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="RGML"> <xs:annotation> <xs:documentation xml:lang="en">Designates a regular meal.</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType><xs:simpleType name="Money"> <xs:annotation> <xs:documentation xml:lang="en">Used for amounts, max 3 decimals</xs:documentation> </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3"/> </xs:restriction> </xs:simpleType><xs:simpleType name="NightDurationType"> <xs:annotation> <xs:documentation xml:lang="en">Provides the ability to define a duration in terms of nights rather than days.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="P[0-9]{1,3}N"/> </xs:restriction> </xs:simpleType><xs:simpleType name="Numeric0to999"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric values, from 0 to 999 inclusive</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="999"/> </xs:restriction> </xs:simpleType><xs:simpleType name="Numeric1to999"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric values, from 1 to 999 inclusive.</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="999"/> </xs:restriction> </xs:simpleType><xs:simpleType name="NumericStringLength1to16"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric Strings, length 1 to 16.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,16}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="NumericStringLength1to19"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric Strings, length 1 to 19.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,19}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="NumericStringLength1to3"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric Strings, minimum length 1, maximum length 3.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,3}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="NumericStringLength1to5"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric Strings, length 1 to 5</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,5}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="NumericStringLength1to8"> <xs:annotation> <xs:documentation xml:lang="en">Used for Numeric Strings, length 1 to 8.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,8}"/> </xs:restriction> </xs:simpleType><xs:simpleType name="OTA_CodeType"> <xs:annotation> <xs:documentation xml:lang="en">Used for codes in the OTA code tables. Possible values of this pattern are 1, 101, 101.EQP, or 101.EQP.X.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9A-Z]{1,3}(\.[A-Z](\.X){0,1}){0,1}"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="OfficeLocationType">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates main office, field office, or division of the organization.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Main"/>

<xs:enumeration value="Field"/>

<xs:enumeration value="Division"/>

<xs:enumeration value="Regional"/>

<xs:enumeration value="Remote"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="PaymentCardCodeType">

<xs:annotation>

<xs:documentation xml:lang="en">The 2 digit code used that references the credit card used.</xs:documentation>

</xs:annotation>

<xs:union>

<xs:simpleType>

<xs:restriction base="UpperCaseAlphaLength1to2">

<xs:enumeration value="AX">

<xs:annotation>

<xs:documentation xml:lang="en">

American Express

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="BC">

<xs:annotation>

<xs:documentation xml:lang="en">

Bank Card

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="BL">

<xs:annotation>

<xs:documentation xml:lang="en">

Carte Bleu

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="CB">

<xs:annotation>

<xs:documentation xml:lang="en">

Carte Blanche

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="DN">

<xs:annotation>

<xs:documentation xml:lang="en">

Diners Club

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="DS">

<xs:annotation>

<xs:documentation xml:lang="en">

Discover Card

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="EC">

<xs:annotation>

<xs:documentation xml:lang="en">

Eurocard

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="JC">

<xs:annotation>

<xs:documentation xml:lang="en">

Japanese Credit Bureau Credit Card

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="MC">

<xs:annotation>

<xs:documentation xml:lang="en">

Master Card

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="TP">

<xs:annotation>

<xs:documentation xml:lang="en">

Universal Air Travel Card

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="VI">

<xs:annotation>

<xs:documentation xml:lang="en">

Visa

</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="UpperCaseAlphaLength1to2"/>

</xs:simpleType>

</xs:union>

</xs:simpleType><xs:simpleType name="PreferLevelType">

<xs:annotation>

<xs:documentation xml:lang="en">

Used to specify a preference level for something that is or will be requested (e.g. a supplier of a service, a type of service, a form of payment, etc.).

</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Only">

<xs:annotation>

<xs:documentation xml:lang="en">Preference level that indicates request is only for a specific criterion.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Unacceptable">

<xs:annotation>

<xs:documentation xml:lang="en">Preference level that indicates request is unnacceptable for a specific criterion.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Preferred">

<xs:annotation>

<xs:documentation xml:lang="en">Preference level that indicates request is preferred for a specific criterion.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Required">

<xs:annotation>

<xs:documentation xml:lang="en">Preference level that indicates request is required for a specific criterion.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="NoPreference">

<xs:annotation>

<xs:documentation xml:lang="en">Preference level that indicates there is no preference.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType><xs:simpleType name="RPH_Type">

<xs:annotation>

<xs:documentation xml:lang="en">(Reference Place Holder) - an index code to identify an instance in a collection of like items.. For example, used to assign individual passengers or clients to particular itinerary items.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[0-9]{1,8}"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StateProvCodeType">

<xs:annotation>

<xs:documentation xml:lang="en">The standard code or abbreviation for the state, province, or region</xs:documentation>

</xs:annotation>

<xs:restriction base="StringLength1to8">

<xs:minLength value="2"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength0to128">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 0 to 128</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="0"/>

<xs:maxLength value="128"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength0to32">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 0 to 32</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="0"/>

<xs:maxLength value="32"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength0to64">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 0 to 64</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="0"/>

<xs:maxLength value="64"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength1to128">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 128</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="128"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength1to16">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 16</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="16"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength1to255">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 255</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="255"/>

</xs:restriction>

</xs:simpleType><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:simpleType name="StringLength1to8">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 8</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="1"/>

<xs:maxLength value="8"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="StringLength3">

<xs:annotation>

<xs:documentation xml:lang="en">Used for Strings, length exactly 3</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:minLength value="3"/>

<xs:maxLength value="3"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="TicketType">

<xs:annotation>

<xs:documentation xml:lang="en">Paper or e-ticket</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="eTicket">

<xs:annotation>

<xs:documentation xml:lang="en">An e-ticket was issued/generated for the requested itinerary.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Paper">

<xs:annotation>

<xs:documentation xml:lang="en">A paper ticket was issued/generated for the requested itinerary.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="MCO">

<xs:annotation>

<xs:documentation xml:lang="en">A miscellaneous charge order.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType><xs:simpleType name="TimeUnitType">

<xs:annotation>

<xs:documentation xml:lang="en">An enumerated type defining the unit in which the time is expressed.</xs:documentation>

</xs:annotation>

<xs:restriction base="StringLength1to16">

<xs:enumeration value="Year"/>

<xs:enumeration value="Month"/>

<xs:enumeration value="Week"/>

<xs:enumeration value="Day"/>

<xs:enumeration value="Hour"/>

<xs:enumeration value="Second"/>

<xs:enumeration value="FullDuration"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="UpperCaseAlphaLength1to2">

<xs:annotation>

<xs:documentation xml:lang="en">Used for an Alpha String, length 2 (for letter codes)</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[A-Z]{1,2}"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="UpperCaseAlphaNumericLength2to3">

<xs:annotation>

<xs:documentation xml:lang="en">Used for an Upper Alpha String and Numeric, length 2 to 3.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[A-Z0-9]{2,3}"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="UpperCaseAlphaNumericLength3to5">

<xs:annotation>

<xs:documentation xml:lang="en">Used for an Upper Alpha String and Numeric, length 3 to 5.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:string">

<xs:pattern value="[A-Z0-9]{3,5}"/>

</xs:restriction>

</xs:simpleType><xs:simpleType name="YesNoType">

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Yes"/>

<xs:enumeration value="No"/>

</xs:restriction>

</xs:simpleType><!-- OTA_VehicleCommonTypes.xsd --><xs:complexType name="VehicleCoreType">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleCoreType complex type identifies the core data that is used to describe a vehicle.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="VehType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Type of vehicle, for example, truck, car</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="VehicleTypeGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="VehClass" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Class of vehicle, for example, intermediate, compact</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="VehicleClassGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="AirConditionInd" type="xs:boolean" use="optional"/>

<xs:attribute name="TransmissionType" type="VehicleTransmissionType" use="optional"/>

<xs:attribute name="FuelType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The kind of fuel the vehicle uses.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Unspecified">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is not known.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Diesel">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is diesel.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Hybrid">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is hybrid.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Electric">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is electric.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="LPG_CompressedGas">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is LPG/Compressed gas.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Hydrogen">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is hydrogen.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="MultiFuel">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is multi.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Petrol">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is petrol.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Ethanol">

<xs:annotation>

<xs:documentation xml:lang="en">The type of fuel is ethanol.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="DriveType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to define the drive type of a vehicle.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="AWD">

<xs:annotation>

<xs:documentation xml:lang="en">Defines all wheel drive.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="4WD">

<xs:annotation>

<xs:documentation xml:lang="en">Defines four wheel drive.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Unspecified">

<xs:annotation>

<xs:documentation xml:lang="en">The drive type of the vehicle is unknown.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType><xs:complexType name="VehiclePrefType">

<xs:annotation>

<xs:documentation xml:lang="en">The VehiclePrefType complex type defines the information that is used when defining a preference of a vehicle.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="VehicleCoreType">

<xs:attribute name="TypePref" type="PreferLevelType" use="optional"/>

<xs:attribute name="ClassPref" type="PreferLevelType" use="optional"/>

<xs:attribute name="AirConditionPref" type="PreferLevelType" use="optional"/>

<xs:attribute name="TransmissionPref" type="PreferLevelType" use="optional"/>

<xs:attribute name="VendorCarType" type="AlphaNumericStringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An internal car type assigned by the vendor. This is not the SIPP code.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="VehicleQty" type="xs:nonNegativeInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The total number of cars a customer is eventually interested in reserving. This is not used by suppliers and is in no way intended to imply that multiple cars may be booked in a single reservation. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="CodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Code used to identify the vehicle. May be used in place of VehicleCoreType. Typically a SIPP code would be passed here. CodeContext Identifies the source authority for the code (e.g., SIPP).</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:extension>

</xs:complexContent>

</xs:complexType><xs:complexType name="VehicleProfileRentalPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">Vehicle rental preferences can be specified for customers or companies to indicate their preferences for types of vehicles to be rented in specific travel situations. Companies may wish to specify certain class or types of cars that their employees are allowed to rent, or indicate special business needs for trucks for hauling goods, etc. Personal travelers may wish to indicate preferences for types of vehicles such as vans or SUVs for family vacations, or smaller, more sporty models when travelling alone. A customer may prefer to have a convertible or sun roof in a warm destination, but request a ski rack when vacationing in the wintertime. The VehicleProfileRentalPrefType complex type has elements for specific features on rental cars including vehicle type (major category such as car, truck, SUV) and vehicle class (more precise kind of vehicle), air conditioning, transmission, and special equipment. In addition, the specification captures preferences for vendors and loyalty programs, insurance coverage, forms of payment for rental cars, and other special requirements. </xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="LoyaltyPref" minOccurs="0" maxOccurs="20">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates a preference for the loyalty program to be used for vehicle rental. The RPH (Reference Place Holder) attribute designates a specific loyalty program from a collection stored in the profile. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="RPH_PrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="VendorPref" type="CompanyNamePrefType" minOccurs="0" maxOccurs="20">

<xs:annotation>

<xs:documentation xml:lang="en">Vendor Preferences indicates a preference for a specific car rental agency when used in a travel collection. The VendorPref element uses the Company Name entity to identify the preferred company by name and by vendor code. </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="PaymentFormPref" minOccurs="0" maxOccurs="10">

<xs:annotation>

<xs:documentation xml:lang="en">A preference for a payment indicates a specific type of payment, such as a credit card or direct bill, to be assigned to the car rental preference collection. The RPH (Reference Place Holder) attribute designates a specific payment form in a collection stored in the profile. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="RPH_PrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="CoveragePref" minOccurs="0" maxOccurs="30">

<xs:annotation>

<xs:documentation xml:lang="en">A preference for a specific type of vehicle coverage to be used when renting a car in a given travel situation.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="VehicleCoveragePrefGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="SpecialReqPref" type="VehicleSpecialReqPrefType" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">The special request preference element allows the customer to designate a special request to be associated with the vehicle rental. </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="VehTypePref" type="VehiclePrefType" minOccurs="0" maxOccurs="10">

<xs:annotation>

<xs:documentation xml:lang="en">The vehicle type preference element allows the customer to designate a major category of vehicle preferred for rental. </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SpecialEquipPref" minOccurs="0" maxOccurs="15">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates a preference for special equipment in a rented car.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="VehicleEquipmentPrefGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attributeGroup ref="SmokingIndicatorGroup"/>

<xs:attribute name="GasPrePay" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">The GasPrePay attribute defines a set of valid values for the choice of prepaying for gas at the time of the pick up of the rental vehicle. This information is useful in that it allows a customer's preference to be made known to the vendor. It also allows the vendor to provide more detailed and accurate pricing up front.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="VehicleSpecialReqPrefType">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleSpecialReqPrefType complex type defines a preference for a particular special request. The preference is expressed using the attribute group PreferLevelType.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to255">

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:attributeGroup name="CoverageCoreGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The CoverageCoreType complex type defines the required and most often used components that together define a specific Vehicle Coverage.</xs:documentation>

</xs:annotation>

<xs:attribute name="CoverageType" type="OTA_CodeType" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the type of coverage, for example, collision damage waiver. Refer to OTA Code List Vehicle Coverage Type (VCT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Code" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Allows for an industry-specific code that describes this coverage to be specified, for example, CDW may be indicated when the coverage type is Collision Damage Waiver.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="VehicleClassGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleClassType complex type defines what is referred to as the class of vehicle. Within a type of vehicle (for example, within the type "Car") there is still a wide range of different vehicles. A class of vehicle is used to define that specific vehicle within the broader range of the vehicle in that same vehicle type. Use of vehicle class in conjunction with a vehicle type aids in clarifying a request and aids in describing a specific vehicle. A vehicle class is currently defined as just the size of the vehicle.</xs:documentation>

</xs:annotation>

<xs:attribute name="Size" type="OTA_CodeType" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">The Size attribute identifies the size of a vehicle. Refer to OTA Code List Size (SIZ).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="VehicleCoveragePrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleCoveragePrefType complex type defines a preference for a particular type of insurance coverage for a rental vehicle. The preference is expressed using the attribute group PreferLevelType.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="CoverageCoreGroup"/>

<xs:attributeGroup ref="PreferLevelGroup"/>

</xs:attributeGroup><xs:attributeGroup name="VehicleEquipmentCoreGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleEquipmentCoreType complex type identifies the core data that descrbes a piece of special equipment in association with the renting of a vehicle.</xs:documentation>

</xs:annotation>

<xs:attribute name="EquipType" type="OTA_CodeType" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">

Identifies the specific type of special equipment. Refer to OTA Code List Equipment Type (EQP).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Quantity" type="xs:positiveInteger" use="optional"/>

</xs:attributeGroup><xs:attributeGroup name="VehicleEquipmentPrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleEquipmentPrefType complex type identifies the data that is used to provide information on a preferred special equipment when renting a vehicle.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="VehicleEquipmentCoreGroup"/>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="Action" type="ActionType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifes an action to take place. Typically used to modify the EquipType and/or Quantity.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="VehicleTypeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleTypeType complex type defines what is referred to as the type of vehicle. The range of vehicles is divided into types to aid in clarifying a request and to aid in describing a specific vehicle. A vehicle type is defined to be the combination of the vehicle category (Car, Truck, etc) and the number of doors on that vehicle. </xs:documentation>

</xs:annotation>

<xs:attribute name="VehicleCategory" type="OTA_CodeType" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleCategory attribute provides the catgeory of a vehicle. Refer to OTA Code List Vehicle Category (VEC). </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DoorCount" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The number of doors on a vehicle. This may be an exact number or a range, i.e. 2-4.

</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:simpleType name="VehicleTransmissionType">

<xs:annotation>

<xs:documentation xml:lang="en">The VehicleTransmissionSimpleType simple type defines a set of valid values for the transmission type of a vehicle. The valid values are automatic and manual. Use of this attribute can help in describing a vehicle.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Automatic"/>

<xs:enumeration value="Manual"/>

</xs:restriction>

</xs:simpleType><!-- OTA_CommonTypes.xsd --><xs:element name="TPA_Extensions" type="TPA_Extensions_Type">

<xs:annotation>

<xs:documentation xml:lang="en">A placeholder in the schema to allow for additional elements and attributes to be included if required, per Trading Partner Agreement (TPA).</xs:documentation>

</xs:annotation>

</xs:element><xs:complexType name="AddressInfoType">

<xs:annotation>

<xs:documentation xml:lang="en">Information about an address that identifies a location for a specific purposes.</xs:documentation>

</xs:annotation>

<xs:complexContent>

<xs:extension base="AddressType">

<xs:attributeGroup ref="DefaultIndGroup"/>

<xs:attribute name="UseType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Describes the use of the address (e.g. mailing, delivery, billing, etc.). Refer to OTA Code List Address Use Type (AUT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used elsewhere in the message to reference this specific address.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType><xs:complexType name="AddressType">

<xs:annotation>

<xs:documentation xml:lang="en">Provides address information.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="StreetNmbr" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">May contain the street number and optionally the street name.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:simpleContent>

<xs:extension base="StreetNmbrType">

<xs:attribute name="StreetNmbrSuffix" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Usually a letter right after the street number (A in 66-A, B in 123-B etc).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="StreetDirection" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Street direction of an address (e.g., N, E, S, NW, SW).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RuralRouteNmbr" type="NumericStringLength1to5" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Numerical equivalent of a rural township as defined within a given area (e.g., 12, 99).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name="BldgRoom" minOccurs="0" maxOccurs="2">

<xs:annotation>

<xs:documentation xml:lang="en">Building name, room, apartment, or suite number.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="BldgNameIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, the information is a building name.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name="AddressLine" type="StringLength1to255" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="CityName" type="StringLength1to64" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="PostalCode" type="StringLength1to16" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Post Office Code number.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="County" type="StringLength1to32" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">County or Region Name (e.g., Fairfax).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="StateProv" type="StateProvType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">State or Province name (e.g., Texas).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="CountryName" type="CountryNameType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Country name (e.g., Ireland).</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="FormattedInd">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="Type" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the type of address (e.g. home, business, other). Refer to OTA Code List Communication Location Type (CLT).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="BankAcctType">

<xs:annotation>

<xs:documentation xml:lang="en">Customer bank accounts for payments, either for paper checks or electronic funds transfer.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="BankAcctName" type="StringLength1to64" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">The name the account is held under.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="BankID" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Code assigned by authorities to financial institutions; sometimes called bank routing number.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AcctType" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Describes the bank account used for financing travel (e.g., checking, savings, investment).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="BankAcctNumber" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifier for the account assigned by the bank.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ChecksAcceptedInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, checks are accepted. If false, checks are not accepted.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="CompanyNameType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies a company by name.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to128">

<xs:attributeGroup ref="CompanyID_AttributesGroup"/>

<xs:attribute name="Division" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The division name or ID with which the contact is associated.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Department" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The department name or ID with which the contact is associated.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="ContactPersonType">

<xs:annotation>

<xs:documentation xml:lang="en">Name of an individual and appropriate contact information. May be contact information for the customer or someone affiliated with the customer.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="PersonName" type="PersonNameType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">This provides name information for a person.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Telephone" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Information about a telephone number, including the actual number and its usage</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="TelephoneInfoGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="Address" type="AddressInfoType" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Information about an address that identifies a location for a specific purposes.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Email" type="EmailType" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Electronic email addresses, in IETF specified format.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="URL" type="URL_Type" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Web site address, in IETF specified format.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="CompanyName" type="CompanyNameType" minOccurs="0" maxOccurs="3">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies a company by name.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="EmployeeInfo" type="EmployeeInfoType" minOccurs="0" maxOccurs="3">

<xs:annotation>

<xs:documentation xml:lang="en">Employment identification; using an employee ID number, title, level within the company, and an indication of their status, i.e.: active, retired, on leave, or terminated from employment. Additional information about an employee can be entered into the element, including the name of the employee, if it differs from the person name identified as a customer or contact.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Allows for control of the sharing of data between parties.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attributeGroup ref="DefaultIndGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates that the receiving system should assume the default value if the user specifies no overriding value or action.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="ContactType" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">Type of contact in the context of use for the travel experience; such as permanent, temporary, affiliation,

travel arranger, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Relation" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the type of relationship with the person or company in the profile, such as Spouse, Child, Family, Business Associate, Interest Group, Medical, Security,Other, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EmergencyFlag" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates if this contact should be used in the case of an emergency.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RPH" type="RPH_Type">

<xs:annotation>

<xs:documentation xml:lang="en">Provides a unique reference to this contact person.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="CountryNameType">

<xs:annotation>

<xs:documentation xml:lang="en">The name or code of a country (e.g. as used in an address or to specify citizenship of a traveller).</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="Code" type="ISO3166" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">ISO 3166 code for a country.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="CustomerType">

<xs:annotation>

<xs:documentation xml:lang="en">Contains basic data on the customer's identity, location, relationships, finances, memberships, etc.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="PersonName" type="PersonNameType" minOccurs="0"/>

<xs:element name="Telephone" minOccurs="0" maxOccurs="5">

<xs:complexType>

<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The first and last dates between which this telephone number is in effect.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attributeGroup ref="TelephoneInfoGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="Email" type="EmailType" minOccurs="0" maxOccurs="5"/>

<xs:element name="Address" minOccurs="0" maxOccurs="5">

<xs:complexType>

<xs:complexContent>

<xs:extension base="AddressInfoType">

<xs:sequence>

<xs:element name="CompanyName" type="CompanyNameType" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The first and last dates between which this address is in effect.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

<xs:element name="URL" type="URL_Type" minOccurs="0" maxOccurs="5"/>

<xs:element name="CitizenCountryName" minOccurs="0" maxOccurs="2">

<xs:complexType>

<xs:attributeGroup ref="CitizenCountryNameGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="PhysChallName" type="StringLength1to128" minOccurs="0" maxOccurs="5"/>

<xs:element name="PetInfo" type="StringLength1to64" minOccurs="0" maxOccurs="3"/>

<xs:element name="PaymentForm" type="PaymentFormType" minOccurs="0" maxOccurs="5"/>

<xs:element name="RelatedTraveler" type="RelatedTravelerType" minOccurs="0" maxOccurs="9"/>

<xs:element name="ContactPerson" type="ContactPersonType" minOccurs="0" maxOccurs="5"/>

<xs:element name="Document" type="DocumentType" minOccurs="0" maxOccurs="5"/>

<xs:element name="CustLoyalty" minOccurs="0" maxOccurs="5">

<xs:complexType>

<xs:attributeGroup ref="CustomerLoyaltyGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="EmployeeInfo" type="EmployeeInfoType" minOccurs="0" maxOccurs="3"/>

<xs:element name="EmployerInfo" type="CompanyNameType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the customer's employer.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element ref="TPA_Extensions" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="GenderGroup"/>

<xs:attribute name="Deceased" type="xs:boolean"/>

<xs:attribute name="LockoutType" type="StringLength1to16">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates reason for locking out record, such as Emergency, Incident, etc. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="BirthDateGroup"/>

<xs:attributeGroup ref="CurrencyCodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Type of funds preferred for reviewing monetary values, in ISO 4217 codes.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="VIP_Indicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">If true, indicates a very important person.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="DateTimeSpanType">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify a time window range by either specifying an earliest and latest date for the start date and end date or by giving a date with a time period that can be applied before and/or after the start date.</xs:documentation>

</xs:annotation>

<xs:choice>

<xs:element name="DateWindowRange" type="TimeInstantType"/>

<xs:sequence>

<xs:element name="StartDateWindow" minOccurs="0">

<xs:complexType>

<xs:attributeGroup ref="TimeWindowGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="EndDateWindow" minOccurs="0">

<xs:complexType>

<xs:attributeGroup ref="TimeWindowGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:choice>

<xs:attributeGroup ref="DateTimeSpanGroup"/>

</xs:complexType><xs:complexType name="DirectBillType">

<xs:annotation>

<xs:documentation xml:lang="en">Company name and location for sending invoice for remittances for travel services.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="CompanyName" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Company name to whom remittance should be directed.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:simpleContent>

<xs:extension base="CompanyNameType">

<xs:attribute name="ContactName" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This may be used to pass the name of the contact at the company for which the direct bill applies.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name="Address" type="AddressInfoType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Address where remittance should be directed.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="DirectBill_ID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifier for the organization to be billed directly for travel services.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="DocumentType">

<xs:annotation>

<xs:documentation xml:lang="en">Provides information on a specific documents</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:choice minOccurs="0">

<xs:element name="DocHolderName" type="StringLength1to64" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">The name of the document holder in unformatted text (Mr. Sam Jones). </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="DocHolderFormattedName" type="PersonNameType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">The name of document holder in formatted text.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

<xs:element name="DocLimitations" type="StringLength1to64" minOccurs="0" maxOccurs="9">

<xs:annotation>

<xs:documentation xml:lang="en">Used to indicate any limitations on the document (e.g. as a person may only be allowed to spend a max of 30 days in country on a visitor's visa).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="AdditionalPersonNames" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">A container for additional person names.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="AdditionalPersonName" type="StringLength1to64" maxOccurs="99">

<xs:annotation>

<xs:documentation xml:lang="en">The name of an additional person listed on this document. </xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="DocIssueAuthority" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the group or association that granted the document.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DocIssueLocation" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the location where the document was issued.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DocID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Unique number assigned by authorities to document.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DocType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the type of document (e.g. Passport, Military ID, Drivers License, national ID, Vaccination Certificate). Refer to OTA Code List Document Type (DOC).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="GenderGroup"/>

<xs:attributeGroup ref="BirthDateGroup"/>

<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>

<xs:attribute name="DocIssueStateProv" type="StateProvCodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">State or Province where the document was issued.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DocIssueCountry" type="ISO3166" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Country where the document was issued.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="BirthCountry" type="ISO3166" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the birth country of the document holder.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DocHolderNationality" type="ISO3166">

<xs:annotation>

<xs:documentation xml:lang="en">The country code of the nationality of the document holder.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="EmailType">

<xs:annotation>

<xs:documentation xml:lang="en">Electronic email addresses, in IETF specified format.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength1to128">

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attributeGroup ref="DefaultIndGroup"/>

<xs:attribute name="EmailType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the purpose of the e-mail address (e.g. personal, business, listserve). Refer to OTA Code List Email Address Type (EAT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used elsewhere in the message to reference this specific email address.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="EmployeeInfoType">

<xs:annotation>

<xs:documentation xml:lang="en">Employment identification; using an employee ID number, title, level within the company, and an indication of their status, i.e.: active, retired, on leave, or terminated from employment. Additional information about an employee can be entered into the element, including the name of the employee, if it differs from the person name identified as a customer or contact.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="EmployeeId" type="StringLength1to16">

<xs:annotation>

<xs:documentation xml:lang="en">Identifier assigned to the employee.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EmployeeLevel" type="StringLength1to16">

<xs:annotation>

<xs:documentation xml:lang="en">Level in employer organization (e.g. seniority) that coveys privileges.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EmployeeTitle" type="StringLength1to64">

<xs:annotation>

<xs:documentation xml:lang="en">Title of employee in the employer company that conveys rank or privileges.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="EmployeeStatus" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Status of employment. Refer to OTA Code List Employee Status (EMP).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="EquipmentType">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the aircraft equipment type.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="AirEquipType" type="StringLength3" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">This is the 3 character IATA code.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ChangeofGauge" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates there is an equipment change.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="FreeTextType">

<xs:annotation>

<xs:documentation xml:lang="en">Textual information to provide descriptions and/or additional information.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="xs:string">

<xs:attributeGroup ref="LanguageGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="ItemSearchCriterionType">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the criterion for a search.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Position" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">The Position element contains three attributes, Latitude, Longitude, and Altitude, used to indicate the geographic location(s) requested by the search, expressed in notation specified by ISO standard 6709. It is likely that only the first two attributes, Latitude and Longitude, would be needed to define a geographic area.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="PositionGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="Address" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Uses any part of address information, such as street name, postal code, or country code.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:complexContent>

<xs:extension base="AddressType">

<xs:attribute name="SameCountryInd" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, only locations in the same country as the specified city's country should be selected.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

<xs:element name="Telephone" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Telephone number(s) used in the search.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="TelephoneGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="RefPoint" minOccurs="0" maxOccurs="999">

<xs:annotation>

<xs:documentation xml:lang="en">The Reference Point element allows for a search by proximity to a designated reference point by name. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="StateProv" type="StateProvCodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The state or province in which the reference point is located.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CountryCode" type="ISO3166" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The country in which the reference point is located.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="CodeListGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify a reference point by a code.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name="CodeRef" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the location of points of interest.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:simpleContent>

<xs:extension base="LocationType">

<xs:attribute name="VicinityCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify the vicinity of the location. Refer to OTA Codelist Vehicle Where at Facility (VWF).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name="HotelRef" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the detail of hotel reference information.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="HotelReferenceGroup"/>

<xs:attribute name="SegmentCategoryCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to search for hotels within a particular market segment. Refer to OTA Code Segment Category Code Type (SEG).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PropertyClassCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Refer to OTA Code list OTA Code List Property Class Type (PCT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ArchitecturalStyleCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Refer to OTA Code List Architectural Style Code (ARC).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SupplierIntegrationLevel" type="xs:nonNegativeInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The level of integration of a property to provide automated transaction information. The lower the number, the higher the integration (e.g., a 1 means the supplier has the highest level of integration automation).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="Radius" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify the extent of a search area. The extent is relative to an element (position, address, hotel reference, etc.) present in this ItemSearchCriterionType that specifies a location.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="DistanceAttributesGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide distance and direction information from the referenced location.

</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="ExactMatch" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Values of "true" or "false", indicating whether the string of the search value must be an exact match.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ImportanceType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An enumerated list, indicating the level of importance of the search criterion. Acceptable values are "Mandatory", "High", "Medium", or "Low."</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="StringLength1to16">

<xs:enumeration value="Mandatory">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the item is required.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="High">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates a high level of importance.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Medium">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates a medium level of importance.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Low">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates a low level of importance.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="Ranking" type="xs:integer" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines a ranking scale expressed as integers; meaning and scale are based on individual implementations.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="LocationType">

<xs:annotation>

<xs:documentation xml:lang="en">Code and optional string to describe a location point.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="xs:string">

<xs:attributeGroup ref="LocationGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="POS_Type">

<xs:annotation>

<xs:documentation xml:lang="en">Point of Sale (POS) is the details identifying the party or connection channel making the request.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="Source" type="SourceType" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">This holds details regarding the requestor. It may be repeated to also accommodate the delivery systems.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType><xs:complexType name="PaymentCardType">

<xs:annotation>

<xs:documentation xml:lang="en">Identification about a specific credit card</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="CardHolderName" type="StringLength1to64" minOccurs="0"/>

<xs:element name="CardIssuerName" minOccurs="0">

<xs:complexType>

<xs:attributeGroup ref="IssuerNameGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="Address" type="AddressType" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="CardType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the type of magnetic striped card. Refer to OTA Code ListCard Type (CDT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CardCode" type="PaymentCardCodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The 2 character code of the credit card issuer.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CardNumber" type="NumericStringLength1to19" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Credit card number embossed on the card.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SeriesCode" type="NumericStringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Verification digits printed on the card following the embossed number. This may also accommodate the customer identification/batch number (CID), card verification value (CVV2 ), card validation code number (CVC2) on credit card.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="PaymentCardDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Date the card becomes valid for use (optional) and the date the card expires (required) in ISO 8601 prescribed format.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="MaskedCardNumber" type="AlphaNumericStringLength1to19" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">May be used to send a concealed credit card number (e.g., xxxxxxxxxxxx9922).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CardHolderRPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Provides a reference pointer that links the payment card to the payment card holder.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="PaymentFormType">

<xs:annotation>

<xs:documentation xml:lang="en">Ways of providing funds for travel by the individual.</xs:documentation>

</xs:annotation>

<xs:choice minOccurs="0">

<xs:element name="PaymentCard" type="PaymentCardType">

<xs:annotation>

<xs:documentation xml:lang="en">Details of a debit or credit card.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="BankAcct" type="BankAcctType">

<xs:annotation>

<xs:documentation xml:lang="en">Details of a bank account. </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="DirectBill" type="DirectBillType">

<xs:annotation>

<xs:documentation xml:lang="en">Details of a direct billing arrangement.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Voucher">

<xs:annotation>

<xs:documentation xml:lang="en">Details of a document indicating prepayment.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="VoucherGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="LoyaltyRedemption">

<xs:annotation>

<xs:documentation xml:lang="en">Details of a loyalty redemption arrangement. This is normally miles or points. </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attributeGroup ref="LoyaltyCertificateNumberGroup"/>

<xs:attributeGroup ref="PromotionCodeGroup"/>

<xs:attribute name="RedemptionQuantity" type="xs:positiveInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The quantity of loyalty units being redeemed.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="MiscChargeOrder">

<xs:annotation>

<xs:documentation xml:lang="en">Details of a miscellaneous charge order (MCO).</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="TicketNumber" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">The ticket number of the miscellaneous charge order (MCO).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

<xs:element name="Cash">

<xs:annotation>

<xs:documentation xml:lang="en">Used to indicate payment in cash.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:attribute name="CashIndicator" type="xs:boolean" use="optional" default="true">

<xs:annotation>

<xs:documentation xml:lang="en">If true, this indicates cash is being used.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType>

</xs:element>

</xs:choice>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="CostCenterID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A reference to identify the billing department for allocating cost of travel to company account.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Provides a reference to a specific form of payment.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PaymentTransactionTypeCode" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This is used to indicate either a charge or reserve (deposit).</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="charge">

<xs:annotation>

<xs:documentation xml:lang="en">This indicates that an actual payment has been made.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="reserve">

<xs:annotation>

<xs:documentation xml:lang="en">This indicates that a hold for the indicated amount has been placed on a credit card or that a cash amount has been taken from the customer to guarantee final payment.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:complexType><xs:complexType name="PersonNameType">

<xs:annotation>

<xs:documentation xml:lang="en">This provides name information for a person.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="NamePrefix" type="StringLength1to16" minOccurs="0" maxOccurs="3">

<xs:annotation>

<xs:documentation xml:lang="en">Salutation of honorific. (e.g., Mr. Mrs., Ms., Miss, Dr.) </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="GivenName" type="StringLength1to64" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Given name, first name or names</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="MiddleName" type="StringLength1to64" minOccurs="0" maxOccurs="3">

<xs:annotation>

<xs:documentation xml:lang="en">The middle name of the person name</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="SurnamePrefix" type="StringLength1to16" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">e.g "van der", "von", "de" </xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="Surname" type="StringLength1to64">

<xs:annotation>

<xs:documentation xml:lang="en">Family name, last name.</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="NameSuffix" type="StringLength1to16" minOccurs="0" maxOccurs="3">

<xs:annotation>

<xs:documentation xml:lang="en">Hold various name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.).</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name="NameTitle" type="StringLength1to16" minOccurs="0" maxOccurs="5">

<xs:annotation>

<xs:documentation xml:lang="en">Degree or honors (e.g., Ph.D., M.D.) </xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="NameType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Type of name of the individual, such as former, nickname, alternate or alias name. Refer to OTA Code List Name Type (NAM).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="RelatedTravelerType">

<xs:annotation>

<xs:documentation xml:lang="en">Other traveler profiles associated with an specific individual.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="UniqueID" type="UniqueID_Type" minOccurs="0"/>

<xs:element name="PersonName" type="PersonNameType" minOccurs="0"/>

</xs:sequence>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="Relation" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the type of relationship with the person in the profile, such as Spouse, Child, Family, Business Associate, Interest Group, Medical, Security, Other, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="SourceType">

<xs:annotation>

<xs:documentation xml:lang="en">Provides information on the source of a request.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="RequestorID" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">An identifier of the entity making the request (e.g. ATA/IATA/ID number, Electronic Reservation Service Provider (ERSP), Association of British Travel Agents (ABTA)). </xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:complexContent>

<xs:extension base="UniqueID_Type">

<xs:attribute name="MessagePassword" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This password provides an additional level of security that the recipient can use to validate the sending party's authority to use the message.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

<xs:element name="Position" minOccurs="0">

<xs:complexType>

<xs:attributeGroup ref="PositionGroup"/>

</xs:complexType>

</xs:element>

<xs:element name="BookingChannel" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the booking channel type and whether it is the primary means of connectivity of the source.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element name="CompanyName" type="CompanyNameType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the company that is associated with the booking channel.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="BookingChannelGroup"/>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="AgentSine" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the party within the requesting entity.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PseudoCityCode" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An identification code assigned to an office/agency by a reservation system.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ISOCountry" type="ISO3166" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The country code of the requesting party.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ISOCurrency" type="AlphaLength3" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The currency code in which the reservation will be ticketed.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AgentDutyCode" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An authority code assigned to a requestor.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AirlineVendorID" type="UpperCaseAlphaNumericLength2to3" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The IATA assigned airline code.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AirportCode" type="UpperCaseAlphaNumericLength3to5" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The IATA assigned airport code.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="FirstDepartPoint" type="StringLength3" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The point of first departure in a trip.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ERSP_UserID" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Electronic Reservation Service Provider (ERSP) assigned identifier used to identify the individual using the ERSP system.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="TerminalID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This is the electronic address of the device from which information is entered.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:complexType><xs:complexType name="StateProvType">

<xs:annotation>

<xs:documentation xml:lang="en">State, province, or region name or code needed to identify location.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="StateCode" type="StateProvCodeType">

<xs:annotation>

<xs:documentation xml:lang="en">The standard code or abbreviation for the state, province, or region.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="StreetNmbrType">

<xs:annotation>

<xs:documentation xml:lang="en">Street name; number on street.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="StringLength0to64">

<xs:attribute name="PO_Box" type="StringLength1to16">

<xs:annotation>

<xs:documentation xml:lang="en">Defines a Post Office Box number.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="TPA_Extensions_Type">

<xs:annotation>

<xs:documentation xml:lang="en">Allows extensions

to be added to the OTA specification per trading partner agreement.</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType><xs:complexType name="TimeInstantType">

<xs:simpleContent>

<xs:extension base="DateOrDateTimeType">

<xs:attribute name="WindowBefore" type="xs:duration" use="optional"/>

<xs:attribute name="WindowAfter" type="xs:duration" use="optional"/>

<xs:attribute name="CrossDateAllowedIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true the requested period may extend over the previous or following day. When false, the search period is restricted to the date specified. Normally used when the window duration is in hours.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="URL_Type">

<xs:annotation>

<xs:documentation xml:lang="en">Web site address, in IETF specified format.</xs:documentation>

</xs:annotation>

<xs:simpleContent>

<xs:extension base="xs:anyURI">

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="Type" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Defines the purpose of the URL address, such as personal, business, public, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="DefaultIndGroup"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType><xs:complexType name="UniqueID_Type">

<xs:annotation>

<xs:documentation xml:lang="en">An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote). </xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name="CompanyName" type="CompanyNameType" minOccurs="0">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the company that is associated with the UniqueID.</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

<xs:attributeGroup ref="UniqueID_Group"/>

</xs:complexType><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="AreaID_Group">

<xs:annotation>

<xs:documentation xml:lang="en">Used in place of a property code to retrieve availability across multiple properties in a hotel reservation system defined area. This attribute does not map to a code list, it maps to a hotel reservation system defined value.</xs:documentation>

</xs:annotation>

<xs:attribute name="AreaID" type="NumericStringLength1to8" use="optional"/>

</xs:attributeGroup><xs:attributeGroup name="BirthDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide a date of birth.</xs:documentation>

</xs:annotation>

<xs:attribute name="BirthDate" type="xs:date" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="BookingChannelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the booking channel types and whether it is the primary means of connectivity of the source.</xs:documentation>

</xs:annotation>

<xs:attribute name="Type" type="OTA_CodeType" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">The type of booking channel (e.g. Global Distribution System (GDS), Alternative Distribution System (ADS), Sales and Catering System (SCS), Property Management System (PMS), Central Reservation System (CRS), Tour Operator System (TOS), Internet and ALL). Refer to OTA Code List Booking Channel Type (BCT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Primary" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates whether the enumerated booking channel is the primary means of connectivity used by the source.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="CitizenCountryNameGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Name of the (self-professed) country that is claimed for citizenship</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="DefaultIndGroup"/>

<xs:attribute name="Code" type="ISO3166"/>

</xs:attributeGroup><xs:attributeGroup name="CodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify a code and the context of the code.</xs:documentation>

</xs:annotation>

<xs:attribute name="Code" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Any code used to specify an item, for example, type of traveler, service code, room amenity, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CodeContext" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the source authority for the code. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="CodeListGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify a code and its associated attributes; meaning is derived from actual use.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="CodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify a code and the context of the code.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="URI" type="xs:anyURI" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the location of the code table</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="QuantityGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies the number of items that are identified by the Code (e.g., 2 adults, 5 first class seats).</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:attributeGroup><xs:attributeGroup name="CompanyID_AttributesGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides meaning to a company code.</xs:documentation>

</xs:annotation>

<xs:attribute name="CompanyShortName" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide the company common name.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="TravelSector" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">

Refer to OTA Code List Travel Sector (TVS).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Code" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies a company by the company code.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CodeContext" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the context of the identifying code, such as DUNS, IATA or internal code, etc.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="CurrencyAmountGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides a monetary amount and the currency code to reflect the currency in which this amount is expressed.</xs:documentation>

</xs:annotation>

<xs:attribute name="Amount" type="Money" use="optional"/>

<xs:attributeGroup ref="CurrencyCodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides a currency code to reflect the currency in which an amount may be expressed as well as the number of decimal places of that currency.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:attributeGroup><xs:attributeGroup name="CurrencyCodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides a currency code to reflect the currency in which an amount may be expressed.</xs:documentation>

</xs:annotation>

<xs:attribute name="CurrencyCode" type="AlphaLength3" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The code specifying a monetary unit. Use ISO 4217, three alpha code.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DecimalPlaces" type="xs:nonNegativeInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the number of decimal places for a particular currency. This is equivalent to the ISO 4217 standard "minor unit". Typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces="2" to represent $85).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="CustomerLoyaltyGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Program rewarding frequent use by accumulating credits for services provided by vendors.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attribute name="ProgramID" type="StringLength1to16">

<xs:annotation>

<xs:documentation xml:lang="en">Identifier to indicate the company owner of the loyalty program.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MembershipID" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">Unique identifier of the member in the program (membership number, account number, etc.).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="TravelSector" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the travel sector. Refer to OTA Code List Travel Sector (TVS).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="LoyalLevelGroup"/>

<xs:attributeGroup ref="SingleVendorIndGroup"/>

<xs:attributeGroup ref="SignupDateGroup"/>

<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>

<xs:attribute name="RPH" type="RPH_Type">

<xs:annotation>

<xs:documentation xml:lang="en">A reference placeholder for this loyalty membership.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="VendorCode" type="ListOfStringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicate the partner(s)/vendor(s) for which the customer loyalty number is valid. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="DateTimeSpanGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The attributes of the OTA DateTimeSpan data type are based on the W3C base data types of timeInstant and timeDuration. The lexical representation for timeDuration is the [ISO 8601] extended format PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision. As an example, 7 months, 2 days, 2hours and 30 minutes would be expressed as P0Y7M2DT2H30M0S. Truncated representations are allowed provided they conform to ISO 8601 format. </xs:documentation>

<xs:documentation xml:lang="en">Time periods, i.e. specific durations of time, can be represented by supplying two items of information: a start instant and a duration or a start instant and an end instant or an end instant and a duration. The OTA standards use the XML mapping that provides for two elements to represent the specific period of time; a startInstant and a duration.</xs:documentation>

</xs:annotation>

<xs:attribute name="Start" type="DateOrTimeOrDateTimeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The starting value of the time span. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Duration" type="DurationType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The duration datatype represents a combination of year, month, day and time values representing a single duration of time, encoded as a single string. </xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="End" type="DateOrTimeOrDateTimeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The ending value of the time span. </xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="DateTimeStampGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Creation date time, Creator Id, last modification date time and last Modifier Id.</xs:documentation>

</xs:annotation>

<xs:attribute name="CreateDateTime" type="xs:dateTime" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Time stamp of the creation.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CreatorID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="LastModifyDateTime" type="xs:dateTime" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Time stamp of last modification.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="LastModifierID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the last software system or person to modify a record.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="DefaultIndGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates that the receiving system should assume the default value if the user specifies no overriding value or action.</xs:documentation>

</xs:annotation>

<xs:attribute name="DefaultInd" type="xs:boolean" use="optional" default="false"/>

</xs:attributeGroup><xs:attributeGroup name="DistanceAttributesGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide distance and direction information.</xs:documentation>

</xs:annotation>

<xs:attribute name="Distance" type="NumericStringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An optional attribute indicating the distance to/from a reference point. When used in conjunction with DistanceMax, this represents the minimum distance.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DistanceMeasure" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When the Distance attribute contains a value, (presumably a numerical value), the unit of measure is a string value that indicate what units are used for the value.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Direction" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An optional string value used to indicate the compass point(s) direction, e.g.: S, SE (South, Southeast), FROM the Reference Point TO the hotel location if the search is not a full circumference from the reference point.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DistanceMax" type="NumericStringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">An optional attribute indicating the maximum distance to/from a reference point.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="EffectiveExpireOptionalDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to send the effective date and/or expiration date.</xs:documentation>

</xs:annotation>

<xs:attribute name="EffectiveDate" type="xs:date" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the starting date.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ExpireDate" type="xs:date" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the ending date.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="FormattedInd">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies if the associated data is formatted into its individual pieces, or exists as a single entity.</xs:documentation>

</xs:annotation>

<xs:attribute name="FormattedInd" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="GenderGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to indicate the gender of a person, if known.</xs:documentation>

</xs:annotation>

<xs:attribute name="Gender" use="optional">

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Male"/>

<xs:enumeration value="Female"/>

<xs:enumeration value="Unknown"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="HotelReferenceGroup">

<xs:annotation>

<xs:documentation xml:lang="en">HotelReference: The hotel reference identifies a specific hotel by using the Chain Code, the Brand Code, and the Hotel Code. The codes used are agreed upon by trading partners.</xs:documentation>

</xs:annotation>

<xs:attribute name="ChainCode" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The code that identifies a hotel chain or management group. The hotel chain code is decided between vendors. This attribute is optional if the hotel is an independent property that can be identified by the HotelCode attribute.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="BrandCode" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A code that identifies the brand or flag of a hotel, often used for independently-owned or franchised properties who are known by a specific brand.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="HotelCode" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The code that uniquely identifies a single hotel property. The hotel code is decided between vendors.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="HotelCityCode" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The IATA city code; for example DCA, ORD.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="HotelName" type="StringLength1to128" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en"> A text field used to communicate the proper name of the hotel.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="HotelCodeContext" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A text field used to communicate the context (or source of - ex Sabre, Galileo, Worldspan, Amadeus) the HotelReferenceGroup codes.

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ChainName" type="StringLength1to64" use="optional"/>

<xs:attribute name="BrandName" type="StringLength1to64" use="optional"/>

<xs:attributeGroup ref="AreaID_Group"/>

</xs:attributeGroup><xs:attributeGroup name="ID_Group">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide a required unique identifier.</xs:documentation>

</xs:annotation>

<xs:attribute name="ID" type="StringLength1to32" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="ID_LevelTitleGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides employee information.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="ID_OptionalGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifier assigned to the employee.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="Level" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Level in employer organization (e.g. seniority) that conveys privileges.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Title" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Title of employee in the employer company that conveys rank or privileges.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="ID_OptionalGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide an optional unique identifier.</xs:documentation>

</xs:annotation>

<xs:attribute name="ID" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="IssuerNameGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Name of bank or organization issuing the card (e.g., alumni association, bank, fraternal organization, etc.).</xs:documentation>

</xs:annotation>

<xs:attribute name="BankID" type="StringLength1to64">

<xs:annotation>

<xs:documentation xml:lang="en">Code of bank issuing the card.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="LanguageGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies language.</xs:documentation>

</xs:annotation>

<xs:attribute name="Language" type="xs:language" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Language identification.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="LocationGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Code and optional string to describe a location point.</xs:documentation>

</xs:annotation>

<xs:attribute name="LocationCode" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Code used to identify a location.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CodeContext" type="StringLength1to32" default="IATA">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies the context of the identifying code (e.g., IATA, ARC, or internal code).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="LoyalLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides the level within a loyalty program.</xs:documentation>

</xs:annotation>

<xs:attribute name="LoyalLevel" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates special privileges in program assigned to individual.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="LoyaltyCertificateNumberGroup">

<xs:attribute name="CertificateNumber" type="StringLength1to32" use="optional"/>

<xs:attribute name="MemberNumber" type="StringLength1to32" use="optional"/>

<xs:attribute name="ProgramName" type="StringLength1to64" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">This identifies the loyalty program.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="MaxResponsesGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify the maximum number of responses to a request.</xs:documentation>

</xs:annotation>

<xs:attribute name="MaxResponses" type="xs:positiveInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A positive integer value that indicates the maximum number of responses desired in the return.</xs:documentation>

</xs:annotation>

</xs:attribute>

</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="StringLength1to128" 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:enumeration value="Continuation">

<xs:annotation>

<xs:documentation xml:lang="en">Specifies that this is a followup request asking for more of what was requested in the previous request.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Subsequent">

<xs:annotation>

<xs:documentation xml:lang="en">This request message is a subsequent request based on the previous message sent in this transaction.

</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attributeGroup ref="PrimaryLangID_Group"/>

<xs:attributeGroup ref="AltLangID_Group"/>

<xs:attribute name="RetransmissionIndicator" type="xs:boolean" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">When true, indicates the message is being re-sent after a failure. It is recommended that this attribute is used (i.e., set to TRUE) only when a message is retransmitted.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="OfficeTypeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Designates the office category within an organization.</xs:documentation>

</xs:annotation>

<xs:attribute name="OfficeType" type="OfficeLocationType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates main office, field office, or division of the organization.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="PaymentCardDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the start and end date for a payment card.</xs:documentation>

</xs:annotation>

<xs:attribute name="EffectiveDate" type="MMYYDate" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the starting date.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ExpireDate" type="MMYYDate" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the ending date.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="PositionGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify the geographic coordinates of a location.</xs:documentation>

</xs:annotation>

<xs:attribute name="Latitude" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The measure of the angular distance on a meridian north or south of the equator.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Longitude" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The measure of the angular distance on a meridian east or west of the prime meridian.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Altitude" type="StringLength1to16" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The height of an item, typically above sea level.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AltitudeUnitOfMeasureCode" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Provides the unit of measure for the altitude (e.g., feet, meters, miles, kilometers). Refer to OTA Code List Unit of Measure Code (UOM).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="PreferLevelGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to indicate a level of prefernce for an associated item, only, unacceptable, preferred.</xs:documentation>

</xs:annotation>

<xs:attribute name="PreferLevel" type="PreferLevelType" use="optional" default="Preferred">

<xs:annotation>

<xs:documentation xml:lang="en">Used to indicate a level of preference for an associated item.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="PrimaryLangID_Group">

<xs:annotation>

<xs:documentation xml:lang="en">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><xs:attributeGroup name="PrivacyGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Allows for control of the sharing of data between parties.</xs:documentation>

</xs:annotation>

<xs:attribute name="ShareSynchInd" use="optional">

<xs:simpleType>

<xs:annotation>

<xs:documentation xml:lang="en"> value="Inherit" Permission for sharing data for synchronization of information held by other travel service providers. </xs:documentation>

</xs:annotation>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Yes"/>

<xs:enumeration value="No"/>

<xs:enumeration value="Inherit"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name="ShareMarketInd" use="optional">

<xs:simpleType>

<xs:annotation>

<xs:documentation xml:lang="en"> value="Inherit" Permission for sharing data for marketing purposes.</xs:documentation>

</xs:annotation>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="Yes"/>

<xs:enumeration value="No"/>

<xs:enumeration value="Inherit"/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="ProfileTypeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify a profile type.</xs:documentation>

</xs:annotation>

<xs:attribute name="ProfileType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Code to specify a profile such as Customer, Tour Operator, Corporation, etc. Refer to OTA Code List Profile Type (PRT).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="PromotionCodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide a promotion code.</xs:documentation>

</xs:annotation>

<xs:attribute name="PromotionCode" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Promotion code is the identifier used by the host to link directly with a specific named advertising campaign. By including the required code, the client is able to gain access to special offers which may have been created for a specifically targeted group via a CRM system or for a wider advertising campaign using Television or press adverts.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PromotionVendorCode" type="ListOfStringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">List of the vendor codes associated with a promotion.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="QuantityGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to define a quantity.</xs:documentation>

</xs:annotation>

<xs:attribute name="Quantity" type="xs:nonNegativeInteger" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to define the quantity for an associated element or attribute.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="RPH_PrefGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates a preference for an item that is referred to using a Reference Place Holder (RPH). Often an object is stored in a collection of similar objects, and a preference for use of one these objects is to be made known. This complex type can be used to specify the preference level, and to provide the indicator to the object in the collection.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PreferLevelGroup"/>

<xs:attribute name="RPH" type="RPH_Type"/>

</xs:attributeGroup><xs:attributeGroup name="RateRangeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">A range of monetary values within which the cost of the available products are requested.</xs:documentation>

</xs:annotation>

<xs:attribute name="MinRate" type="Money" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A decimal value that indicates the minimum monetary value to be considered in a request for an available product.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="MaxRate" type="Money" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">A decimal value that indicates the maximum monetary value to be considered in a request for an available product.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="FixedRate" type="Money" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The rate amount used in place of MinRate and MaxRate when a specific rate is being requested.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="RateTimeUnit" type="TimeUnitType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to specify the period of time to which the rates apply.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="CurrencyCodeGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide currency code and decimal places for the rate attributes.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

</xs:attributeGroup><xs:attributeGroup name="SeatRequestAttributes">

<xs:annotation>

<xs:documentation xml:lang="en">Attributes for seat request. Note: you can choose a specific seat or just a general preference</xs:documentation>

</xs:annotation>

<xs:attribute name="SeatNumber" type="xs:string" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to provide the seat number.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="SeatPreference" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Refer to OTA Code List Seat Preference (STP).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="SmokingIndicatorGroup"/>

</xs:attributeGroup><xs:attributeGroup name="ShareAllGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Used to indicate whether information can be shared.</xs:documentation>

</xs:annotation>

<xs:attribute name="ShareAllSynchInd" type="YesNoType" use="optional" default="No">

<xs:annotation>

<xs:documentation xml:lang="en">Permission for sharing all data in profile for synchronization of profiles held by other travel service providers.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="ShareAllMarketInd" type="YesNoType" use="optional" default="No">

<xs:annotation>

<xs:documentation xml:lang="en">Permission for sharing all data in profile for marketing purposes.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="SignupDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides the date of registration for a loyalty program.</xs:documentation>

</xs:annotation>

<xs:attribute name="SignupDate" type="xs:date" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates when the member signed up for the loyalty program.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="SingleVendorIndGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the alliance status of a program.</xs:documentation>

</xs:annotation>

<xs:attribute name="SingleVendorInd">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates if program is affiliated with a group of related offers accumulating credits.</xs:documentation>

</xs:annotation>

<xs:simpleType>

<xs:restriction base="xs:NMTOKEN">

<xs:enumeration value="SingleVndr">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the program is not part of an alliance.</xs:documentation>

</xs:annotation>

</xs:enumeration>

<xs:enumeration value="Alliance">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates the program is part of an alliance.</xs:documentation>

</xs:annotation>

</xs:enumeration>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="SmokingIndicatorGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Identifies a position with regard to the smoking of cigarettes, either Allowed or NotAllowed. This may be of use when expressing a preference (I prefer a room that allows smoking) or when stating the attributes of an item (smoking in this rental car is not allowed).</xs:documentation>

</xs:annotation>

<xs:attribute name="SmokingAllowed" type="xs:boolean" use="optional" default="false">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates smoking is allowed when true and is not allowed when false.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="TelephoneAttributesGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Provides telephone information details.</xs:documentation>

</xs:annotation>

<xs:attribute name="PhoneLocationType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Refer to OTA Code List Phone Location Type (PLT).

</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PhoneTechType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Indicates type of technology associated with this telephone number, such as Voice, Data, Fax, Pager, Mobile, TTY, etc. Refer to OTA Code List Phone Technology Type (PTT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PhoneUseType" type="OTA_CodeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Describes the type of telephone number, in the context of its general use (e.g. Home, Business, Emergency Contact, Travel Arranger, Day, Evening). Refer to OTA Code List Phone Use Type (PUT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="CountryAccessCode" type="NumericStringLength1to3" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Code assigned by telecommunications authorities for international country access identifier.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="AreaCityCode" type="NumericStringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Code assigned for telephones in a specific region, city, or area.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PhoneNumber" type="StringLength1to32" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">Telephone number assigned to a single location.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Extension" type="NumericStringLength1to5" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Extension to reach a specific party at the phone number.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="PIN" type="StringLength1to8" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Additional codes used for pager or telephone access rights.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="TelephoneGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Construct for holding a telephone number.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="PrivacyGroup"/>

<xs:attributeGroup ref="TelephoneAttributesGroup"/>

<xs:attributeGroup ref="FormattedInd"/>

</xs:attributeGroup><xs:attributeGroup name="TelephoneInfoGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Information about a telephone number, including the actual number and its usage</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="TelephoneGroup"/>

<xs:attributeGroup ref="DefaultIndGroup"/>

<xs:attribute name="RPH" type="RPH_Type" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used elsewhere in the message to reference a specific telephone number (including faxes).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="TimeWindowGroup">

<xs:annotation>

<xs:documentation xml:lang="en">Total time span covered by this availability request (from the earliest arrival to the latest departure)</xs:documentation>

</xs:annotation>

<xs:attribute name="EarliestDate" type="DateOrDateTimeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The earliest ending date/time for the availability requested, expressed in dateTime format as prescribed by ISO 8601.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="LatestDate" type="DateOrDateTimeType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The latest ending date/time for the availability requested, expressed in dateTime format as prescribed by ISO 8601.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="DOW" type="DayOfWeekType" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">The Day of Week of the starting date for the availability requested. Enumerated values of StartDOW are the seven days of the week: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, or Sunday.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="UniqueID_Group">

<xs:annotation>

<xs:documentation xml:lang="en">Provides unique identification information.</xs:documentation>

</xs:annotation>

<xs:attribute name="URL" type="xs:anyURI">

<xs:annotation>

<xs:documentation xml:lang="en">URL that identifies the location associated with the record identified by the UniqueID.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Type" type="OTA_CodeType" use="required">

<xs:annotation>

<xs:documentation xml:lang="en">A reference to the type of object defined by the UniqueID element. Refer to OTA Code List Unique ID Type (UIT).</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attribute name="Instance" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">The identification of a record as it exists at a point in time. An instance is used in update messages where the sender must assure the server that the update sent refers to the most recent modification level of the object being updated.</xs:documentation>

</xs:annotation>

</xs:attribute>

<xs:attributeGroup ref="ID_Group"/>

<xs:attribute name="ID_Context" type="StringLength1to32" use="optional">

<xs:annotation>

<xs:documentation xml:lang="en">Used to identify the source of the identifier (e.g., IATA, ABTA).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup><xs:attributeGroup name="VoucherGroup">

<xs:annotation>

<xs:documentation xml:lang="en">A form of payment using a voucher or coupon.</xs:documentation>

</xs:annotation>

<xs:attributeGroup ref="EffectiveExpireOptionalDateGroup">

<xs:annotation>

<xs:documentation xml:lang="en">The date when a voucher becomes valid for use, if applicable, and the the date when a voucher or series of coupons expires and is no longer valid.</xs:documentation>

</xs:annotation>

</xs:attributeGroup>

<xs:attribute name="SeriesCode" type="StringLength1to32">

<xs:annotation>

<xs:documentation xml:lang="en">Identification of a series of coupons or vouchers identified by serial number(s).</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:attributeGroup></xs:schema>

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Venkat,

what proxy you are using and how you are generating it?

Regards,

Yuva

Former Member
0 Kudos

I am generating a server proxy in ABAP.

the scenario goes like this ....I have imported a XSD into IR and then created an inbound interface then I want to generate the proxy in ERP for the inbound interface.

does that help?

thanks,

Venkat

Former Member
0 Kudos

Venki,

I am not clear what the error you are facing, but ensure you had followed the steps as below,

1. having a valid xsd file.

2. create data type for it and export it.

3. create message type for that data type.

4. create a inbound message interface referencing MT.

5. go to sproxy in R/3 and create a server proxy using the inbound interface.

still you are getting error, then at what step?

Former Member
0 Kudos

I have done all those steps. when I go to sproxy and try to generate the proxy then error(mentioned in the subect) will come.

this is because ABAP will not support following XSD tags.

Limitations for XSD Elements

<b><extension>

and abstract types These elements cannot be converted.</b>

substitutionGroup

and<element abstract="true">

<redefine>

Limitation of value range

(<pattern>, <enumeration>, <maxInclusive>, <maxExclusive>, and so on)

These tags are not taken into consideration by the proxy runtime; checking these properties is part of the task for validating the schema.

Key relationships, uniqueness (<key>, <keyref>, <unique>, and so on)

So now I have to change the XSD to make sure I do not have any <extension> tags in my xsd.

I would like to know If any one has already done some thing like replacement for <extension> with compatible tags in the XSD.

Hope this is clear now.

thanks,

Venkat

Former Member
0 Kudos

Hi Venkat!

Have you found any solution or updates to your problem? I´m having the same issue with Proxy generation terminated: WSDL error ( not supported).

Thanks & Regards

Christoph

Former Member
0 Kudos

No, I have not found any solution other than replacing <extension> tags manually from your XSDs/WSDLs with suitable tags.

Removing those tags from the XSDs/WSDLs from the external definitions is very frustrating and time consuming but looks like that is the only option as of now.

I have posted this in every possible forum and even posted a question to the folks who has lot more understanding and knowledgeable about new release PI 7.1.

I would be more than happy to know if atleast PI 7.1 can overcome this limitation.

If you get any other info regarding this pl keep me posted @ (venkatmarni@gmail.com).

thanks,

Venkat Marni