axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nateshan Soundarapandian" <nates...@gmail.com>
Subject Re: Axis2/Java Nightly builds
Date Tue, 30 Dec 2008 20:13:32 GMT
Deepal, Here is the complete Response XML Schema:
----------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="
http://www.opentravel.org/OTA/2003/05" targetNamespace="
http://www.opentravel.org/OTA/2003/05" elementFormDefault="qualified"
version="3.001" id="OTA2006A">
    <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_HotelAvailRS">
        <xs:annotation>
            <xs:documentation xml:lang="en">Returns information about hotel
properties that meet the requested criteria, indicating whether the
requested service, rate, room stay, etc. is available within the date(s)
specified. The response message may include Warnings from business
processing rules, or Errors if the request did not
succeed.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="POS" type="POS_Type" minOccurs="0"/>
                <xs:choice>
                    <xs:sequence>
                        <xs:element name="Success" type="SuccessType"/>
                        <xs:element name="Warnings" type="WarningsType"
minOccurs="0"/>
                        <xs:element name="Profiles" type="ProfilesType"
minOccurs="0"/>
                        <xs:element name="RoomStays" minOccurs="0">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="RoomStay"
maxOccurs="unbounded">
                                        <xs:annotation>
                                            <xs:documentation
xml:lang="en">Details on the Room Stay including Guest Counts, Time Span of
this Room Stay, and financial information related to the Room Stay,
including Guarantee, Deposit and Payment and Cancellation
Penalties.</xs:documentation>
                                        </xs:annotation>
                                        <xs:complexType>
                                            <xs:complexContent>
                                                <xs:extension
base="RoomStayType">
                                                    <xs:sequence>
                                                        <xs:element
name="Reference" minOccurs="0">
                                                            <xs:annotation>

<xs:documentation xml:lang="en">Information by which this availability quote
can be later cross-referenced.</xs:documentation>
                                                            </xs:annotation>
                                                            <xs:complexType>

<xs:complexContent>

<xs:extension base="UniqueID_Type">

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

<xs:annotation>

    <xs:documentation xml:lang="en">The date and time at which this
availability quote was made available.</xs:documentation>

</xs:annotation>

</xs:attribute>

</xs:extension>

</xs:complexContent>

</xs:complexType>
                                                        </xs:element>
                                                    </xs:sequence>
                                                    <xs:attribute
name="IsAlternate" type="xs:boolean" use="optional">
                                                        <xs:annotation>

<xs:documentation xml:lang="en">Indicates the RoomStay is an alternate
offer. Default=false.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:attribute>
                                                    <xs:attribute
name="AvailabilityStatus" type="RateIndicatorType" use="optional">
                                                        <xs:annotation>

<xs:documentation xml:lang="en">Used to specify an availability status at
the room stay level for a property.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:attribute>
                                                    <xs:attributeGroup
ref="ResponseTypeGroup"/>
                                                    <xs:attribute
name="RoomStayCandidateRPH" type="RPH_Type" use="optional">
                                                        <xs:annotation>

<xs:documentation xml:lang="en">A reference to a requested room stay
candidate from the SearchCriteria.</xs:documentation>
                                                        </xs:annotation>
                                                    </xs:attribute>
                                                    <xs:attribute
name="MoreDataEchoToken" type="StringLength1to128" use="optional">
                                                        <xs:annotation>

<xs:documentation xml:lang="en">The availability response returns the
attribute if there is additional data that could not fit within the
availability response.  The text value should be echoed in the availability
request to indicate where to begin the next block of availability 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="MoreIndicator"
type="StringLength1to128" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">A
text field used to indicate that there are additional rates that cannot fit
in the availability response.  The text returned should be meaningful in
identifying where to begin the next block of data and sent in the
availability request.</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Services" type="ServicesType"
minOccurs="0"/>
                        <xs:element name="Areas" type="AreasType"
minOccurs="0"/>
                        <xs:element name="Criteria" minOccurs="0">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Criterion"
type="HotelSearchCriterionType" maxOccurs="unbounded"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element ref="TPA_Extensions" minOccurs="0"/>
                    </xs:sequence>
                    <xs:element name="Errors" type="ErrorsType"/>
                </xs:choice>
            </xs:sequence>
            <xs:attributeGroup ref="OTA_PayloadStdAttributes"/>
            <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>
    <!-- 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" type="TelephoneInfoType"
maxOccurs="unbounded"/>
            <xs:element name="Email" type="EmailType" minOccurs="0"
maxOccurs="unbounded"/>
            <xs:element name="URL" type="URL_Type" minOccurs="0"
maxOccurs="unbounded"/>
            <xs:element name="BusinessLocale" type="AddressType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="PaymentForm" type="PaymentFormType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="ContactPerson" type="ContactPersonType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="TravelArranger" type="TravelArrangerType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="LoyaltyProgram" type="LoyaltyProgramType"
minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="EmployerType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Company or organization that
employs the customer.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="CompanyName" type="CompanyNameType"
minOccurs="0"/>
            <xs:element name="RelatedEmployer" type="CompanyNameType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="EmployeeInfo" type="EmployeeInfoType"
minOccurs="0" maxOccurs="3"/>
            <xs:element name="InternalRefNmbr" type="FreeTextType"
minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Accounting code(s)
assigned to travel for employer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TravelArranger" type="TravelArrangerType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="LoyaltyProgram" type="LoyaltyProgramType"
minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attributeGroup ref="DefaultIndGroup"/>
        <xs:attributeGroup ref="OfficeTypeGroup"/>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
    </xs:complexType>
    <xs:complexType name="InsuranceType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Travel insurance carried by the
customer or company.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="InsuredName" type="PersonNameType"
minOccurs="0"/>
            <xs:element name="InsuranceCompany" type="CompanyNameType"
minOccurs="0"/>
            <xs:element name="Underwriter" type="CompanyNameType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Underwriting company
providing coverage.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="PrivacyGroup"/>
        <xs:attribute name="InsuranceType" type="StringLength1to32">
            <xs:annotation>
                <xs:documentation xml:lang="en">Type of insurance policy
carried by the individual or company.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="PolicyNumber" type="StringLength1to32"
use="required">
            <xs:annotation>
                <xs:documentation xml:lang="en">Identifier assigned by
insurance company to the insurance policy.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attribute name="RPH" type="RPH_Type" use="optional"/>
    </xs:complexType>
    <xs:complexType name="LoyaltyProgramType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies a membership or
loyalty program offered by the company by name of the
program.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="StringLength0to32">
                <xs:attribute name="ProgramCode" type="StringLength1to16">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Identification of
the loyalty program by code.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attributeGroup ref="SingleVendorIndGroup"/>
                <xs:attribute name="LoyaltyLevel" type="StringLength1to16">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Indicates special
privileges in program assigned to individual.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="RPH" type="RPH_Type"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="OrganizationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Membership organization that has
travel benefits, programs, or discounts.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="OrgMemberName" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Name of the member of
the organization, as listed among the options of customer
names.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="PersonNameType">
                            <xs:attributeGroup ref="ID_LevelTitleGroup"/>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="OrgName" type="CompanyNameType"
minOccurs="0"/>
            <xs:element name="RelatedOrgName" type="CompanyNameType"
minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="TravelArranger" type="TravelArrangerType"
minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attributeGroup ref="DefaultIndGroup"/>
        <xs:attributeGroup ref="PrivacyGroup"/>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attributeGroup ref="OfficeTypeGroup"/>
    </xs:complexType>
    <xs:complexType name="PreferencesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Needs of the traveler related to
travel experiences.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="PrefCollection" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Unique aggregation of
customer travel needs.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="CommonPref" type="CommonPrefType"
minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="VehicleRentalPref"
type="VehicleProfileRentalPrefType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="AirlinePref"
type="AirlinePrefType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="HotelPref" type="HotelPrefType"
minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="OtherSrvcPref"
type="OtherSrvcPrefType" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="TPA_Extensions" minOccurs="0"/>
                    </xs:sequence>
                    <xs:attributeGroup ref="PrivacyGroup"/>
                    <xs:attribute name="TravelPurpose" type="OTA_CodeType"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">
                    Refer to OTA Code List Travel Purpose (TVP).
                    </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="PrivacyGroup"/>
    </xs:complexType>
    <xs:complexType name="ProfileType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Root element for profile
content.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Accesses" type="AccessesType" minOccurs="0"/>
            <xs:element name="Customer" type="CustomerType" minOccurs="0"/>
            <xs:element name="PrefCollections" type="PreferencesType"
minOccurs="0"/>
            <xs:element name="CompanyInfo" type="CompanyInfoType"
minOccurs="0"/>
            <xs:element name="Affiliations" type="AffiliationsType"
minOccurs="0"/>
            <xs:element name="Agreements" type="AgreementsType"
minOccurs="0"/>
            <xs:element ref="TPA_Extensions" minOccurs="0"/>
        </xs:sequence>
        <xs:attributeGroup ref="ShareAllGroup"/>
        <xs:attributeGroup ref="ProfileTypeGroup"/>
        <xs:attributeGroup ref="DateTimeStampGroup"/>
        <xs:attribute name="RPH" type="RPH_Type" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This is a reference
placeholder, used as an index for this guest in this reservation.
</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="ProfilesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of Profile objects
or Unique IDs of Profiles.
</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ProfileInfo" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="UniqueID" type="UniqueID_Type"
minOccurs="0"/>
                        <xs:element name="Profile" type="ProfileType"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TravelArrangerType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Companies or individuals
responsible for making travel plans or transactions either for the customer
or company.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="CompanyNameType">
                <xs:attributeGroup ref="DefaultIndGroup"/>
                <xs:attributeGroup ref="PrivacyGroup"/>
                <xs:attribute name="TravelArrangerType"
type="StringLength1to32">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Type of service
making travel plans or transactions (e.g., travel agency,
etc.).</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="RPH" type="RPH_Type"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="TravelClubType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies a travel club that
offers special privileges and related services.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="TravelClubName" type="CompanyNameType"/>
            <xs:element name="ClubMemberName" minOccurs="0">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="PersonNameType">
                            <xs:attributeGroup ref="ID_Group">
                                <xs:annotation>
                                    <xs:documentation
xml:lang="en">Identifier assigned to person registered with travel
club.</xs:documentation>
                                </xs:annotation>
                            </xs:attributeGroup>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="PrivacyGroup"/>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
    </xs:complexType>
    <!-- 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:attribute name="PersonalSrvcType" type="OTA_CodeType">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Identifies the types
of personal services offered by the hotel as identified in the
PersonalSrvcCode Table</xs:documentation>
                        <xs:documentation xml:lang="en">
                            <DeprecationWarning>Candidate for removal, usage
is not recommended. Deprecation Warning added in 2006A. Removal intended for
2006B.
    </DeprecationWarning>
                        </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </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_HotelReservation.xsd -->
    <xs:complexType name="ResCommonDetailType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A grouping of elements including
Guest Counts, Time Span, pointers to Res Guests, guest Memberships, Comments
and Special Requests and finally finacial information including Guarantee,
Deposit and Payyment and Cancellation Penalties.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GuestCounts" type="GuestCountType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Guest
Counts associated to the whole Reservation or a particular Room Stay or
Service. A child Guest Count element is required for each distict age
group.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TimeSpan" type="DateTimeSpanType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The Time Span which
covers the Reservation, Room Stay or Service.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ResGuestRPHs" type="ResGuestRPHsType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
ResGuestRPH objects. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Memberships" type="MembershipType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
Membership objects. Memberships provides a list of reward programs which may
be credited with points accrued from the guest's activity. Which memberships
are to be applied to which part is determined by each object's
SelectedMembershipRPHs collection.
</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Comments" type="CommentType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Comment
objects. Comments which apply to the whole Reservation or a particular Room
Stay or Service. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="SpecialRequests" type="SpecialRequestType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The SpecialRequest
object indicates special requests for the whole Reservation, or a particular
Room Stay or Service.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Guarantee" type="GuaranteeType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The guarantee
information associated to the Reservation or a particular Room Stay or
Service.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DepositPayments" type="RequiredPaymentsType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of deposit
and/or payments.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CancelPenalties" type="CancelPenaltiesType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
Cancellation Penalties objects. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Fees" type="FeesType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>A collection of fees that applies to
the reservation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Total" type="TotalType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The total amount charged
for the accommodation including additional occupant amounts and fees. If
TaxInclusive is set to True, then taxes are included in the total
amount.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResGuestRPHsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of unsigned
integers serving as reference placeholders, and used as an index identifying
which guests occupy this room</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ResGuestRPH" type="ReferencePlaceHolderType"
maxOccurs="unbounded">
                <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.
</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ServicesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of Service objects.
This is the collection of all services associated with any part of this
reservation (the reservation in its entirety, one or more guests, or one or
more room stays).   Which services are attributable to which part is
determined by each object's ServiceRPHs collection.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Service" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A Service object
represents a non-room product provided to guests.  Service products may have
associated inventory and charges.  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Price" type="AmountType"
minOccurs="0">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">The selling
price of this Service.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="ServiceDetails"
type="ResCommonDetailType" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Details on
the Service including Guest Counts, Time Span of this Service, pointers to
Res Guests, guest Memberships, Comments and Special Requests pertaining to
this particular Service and finally financial information related to the
Service, including Guarantee, Deposit and Payment and Cancellation
Penalties.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element ref="TPA_Extensions" minOccurs="0"/>
                    </xs:sequence>
                    <xs:attribute name="ServicePricingType"
type="PricingType" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An enumerated
type that defines how a service is priced.  Values:  Per stay,  Per person,
Per night, Per person per night,  Per use.  </xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ReservationStatusType"
type="PMS_ResStatusType" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An enumerated
type that defines the status of the reservation for this service.
</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="ServiceRPH" type="RPH_Type"
use="optional"/>
                    <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="RatePlanCode"
type="StringLength1to16" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The
representation of the rate plan under which this service was
booked.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="InventoryBlockCode"
type="StringLength1to16" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The
representation of the block code under which the inventory for this service
is categorized.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="PriceGuaranteed" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Whether the
price for this service is guaranteed or quoted and subject to change.
Values: False (Price NOT guaranteed) and True (Price is
guaranteed).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="Inclusive" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Whether the
price for this service is included in the room rate.
Values: False (or No), and True (or Yes).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="Quantity" type="Numeric1to999"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The number of
tickets, rounds of golf, etc.  Also serves as the number of persons when
pricing class is per person or per person per night.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- OTA_HotelCommonTypes.xsd -->
    <xs:complexType name="AdditionalDetailType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to send additional
information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="DetailDescription" type="ParagraphType"
minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Type" type="OTA_CodeType">
            <xs:annotation>
                <xs:documentation xml:lang="en">Used to define the type of
information being sent (e.g., rate description, property description, room
information). Refer to OTA Code List Additional Detail Type (ADT).
</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Code" type="StringLength1to16">
            <xs:annotation>
                <xs:documentation xml:lang="en">Trading partner code
associated to AdditionalDetailType</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="CurrencyAmountGroup"/>
    </xs:complexType>
    <xs:complexType name="AdditionalDetailsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of
AdditionalDetail.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="AdditionalDetail" type="AdditionalDetailType"
maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Used to send additional
information.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AdditionalGuestAmountType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Charges related to additional
guests.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Amount" type="TotalType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The amount charged for
an additional guest.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AddlGuestAmtDescription" type="ParagraphType"
minOccurs="0" maxOccurs="9">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Descriptive information
regarding amounts charged for additional guests.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="MaxAdditionalGuests" type="Numeric1to999">
            <xs:annotation>
                <xs:documentation xml:lang="en">Increase the base rate by
the additional occupant amount for each additional     occupant of the same
age group up to this maximum number of occupants of this age
group.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="AgeQualifyingGroup"/>
        <xs:attribute name="Type" type="StringLength1to32" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">A code representing the
charges related to additional guests. Refer to OTA Code List Additional
Detail Type (ADT). Typically, the 'extra person information' code would be
used here.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Percent" type="Percentage" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The percent charged for an
additional guest.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="RPH" type="RPH_Type" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">An index code to identify an
instance in a collection of like items.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AmountPercentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the percentage basis
for calculating the fee amount or the amount .</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Taxes" type="TaxesType" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="TaxInclusive" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates whether taxes are
included when figuring the base amount.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="FeesInclusive" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates whether fees, such
as those imposed by a travel agency or other booking agent, are included
when figuring cancel penalties.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="NmbrOfNights" type="xs:nonNegativeInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The number of nights of the
hotel stay that are used to calculate the fee amount.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="BasisType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">An enumerated type
indicating when the drop time goes into effect.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="StringLength1to16">
                    <xs:enumeration value="FullStay"/>
                    <xs:enumeration value="Nights"/>
                    <xs:enumeration value="FirstLast"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Percent" type="Percentage" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The percentage used to
calculate the amount.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="CurrencyAmountGroup"/>
    </xs:complexType>
    <xs:complexType name="AmountType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Base charge and additional
charges related to a room that includes such things as additional guest
amounts, cancel fees, etc. Also includes Discount percentages, total amount,
and the rate description.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Base" type="TotalType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The base amount charged
for the accommodation or service per unit of time (ex: Nightly, Weekly,
etc). If TaxInclusive is set to True, then taxes are included in the base
amount. Note that any additional charges should itemized in the other
elements.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AdditionalGuestAmounts" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of charges
that apply to for additional occupants, guests or service users (over and
above the rate's MaxGuest Applicable) </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="AdditionalGuestAmount"
type="AdditionalGuestAmountType" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Collection
of incremental charges per age qualifying code for additional guests. Amount
charged for additional occupant is with respect to age group of the base
guests.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="AmountBeforeTax" type="Money"
use="optional"/>
                    <xs:attribute name="AmountAfterTax" type="Money"
use="optional"/>
                    <xs:attributeGroup ref="CurrencyCodeGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="Fees" type="FeesType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
Fees.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CancelPolicies" type="CancelPenaltiesType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
Cancellation Policies</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="PaymentPolicies" type="RequiredPaymentsType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Payment
Policies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Discount" minOccurs="0" maxOccurs="5">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Discount percentage
and/or Amount, code and textual reason for discount</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="DiscountType">
                            <xs:attribute name="AppliesTo" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">Used to
identify the monetary amount to which the discount
applies.</xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:NMTOKEN">
                                        <xs:enumeration value="Base">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">Indicates the discount applies to the amount identified in the
Base element.</xs:documentation>
                                            </xs:annotation>
                                        </xs:enumeration>
                                        <xs:enumeration
value="AdditionalGuestAmount">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">Indicates the discount applies to the amount identified in the
AdditionalGuestAmount element.</xs:documentation>
                                            </xs:annotation>
                                        </xs:enumeration>
                                        <xs:enumeration value="Fee">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">Indicates the discount applies to the amount identified in the
Fee element.</xs:documentation>
                                            </xs:annotation>
                                        </xs:enumeration>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:attribute>
                            <xs:attribute name="ItemRPH" type="RPH_Type"
use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">Used to
identify the specific item referred to by the AppliesTo attribute.
</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="Total" type="TotalType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The total amount charged
for this rate including additional occupant amounts and fees.
</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RateDescription" type="ParagraphType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Description of the rate
associated with the various monetary amounts and
policies.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AdditionalCharges" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Collection of additional
charges.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="AdditionalCharge" maxOccurs="99">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Amenities or
services to which a charge applies.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Amount"
type="TotalType" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation
xml:lang="en">The amount charged for an amenity or service.
</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="RoomAmenityCode"
type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation
xml:lang="en">Identifes the types of room amenities to which a charge
applies. Refer to OTA Code List Room Amenity Type (RMA).</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attributeGroup ref="QuantityGroup"/>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="AmountBeforeTax" type="Money"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Total additional
charges before taxes.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="AmountAfterTax" type="Money"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Total additional
charges after taxes.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attributeGroup ref="CurrencyCodeGroup">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Currency code
and number of decimal places used.</xs:documentation>
                        </xs:annotation>
                    </xs:attributeGroup>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attributeGroup ref="AgeQualifyingGroup"/>
        <xs:attribute name="GuaranteedInd" type="xs:boolean"
use="optional"/>
        <xs:attribute name="NumberOfUnits" type="Numeric1to999"
use="optional"/>
        <xs:attribute name="RateTimeUnit" type="TimeUnitType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the time unit for
the rate.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="UnitMultiplier" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the number of rate
time units such as "3 Days".</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MinGuestApplicable" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the minimum number
of guests at this rate.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxGuestApplicable" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the maximum number
of guests at this rate.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MinLOS" type="xs:nonNegativeInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the minimum length
of stay.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxLOS" type="xs:nonNegativeInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the maximum length
of stay.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="StayOverDate" type="DayOfWeekType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Day of week guest is
required to stay over in order to be eligible for this
rate.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="AlternateCurrencyInd" type="xs:boolean"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, indicates the
amounts are provided in an alternate currency. When false, indicates the
amounts are provided in the primary currency. This may be used to indicate
that the currency provided is different from the requested or stored
currency .</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AreasType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines an area determined by
the hotel reservation system.  </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Area" maxOccurs="99">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An area determined by
the hotel reservation system.  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="AreaDescription"
type="ParagraphType" minOccurs="0"/>
                    </xs:sequence>
                    <xs:attributeGroup ref="AreaID_Group"/>
                    <xs:attribute name="CityCode" 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="StateProvCode"
type="StateProvCodeType" use="optional">
                        <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:attribute name="CountryCode" type="ISO3166"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The country in
which the area is located.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BasicPropertyInfoType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An abbreviated short summary of
hotel descriptive information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="VendorMessages" type="VendorMessagesType"
minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
VenderMessages</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Position" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An element that
identifies the geographic position of the hotel.  The Position element uses
the representation defined by ISO Standard 6709 to define a geographic point
location.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="PositionGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="Address" type="AddressInfoType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Public address of the
hotel property.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ContactNumbers" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ContactNumber"
type="TelephoneInfoType" minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Contact
numbers of the hotel property. Examples are telephone and fax
numbers.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </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="RelativePosition" type="RelativePositionType"
minOccurs="0"/>
            <xs:element name="HotelAmenity" minOccurs="0" maxOccurs="5">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Hotel-level amenities
(pool, etc) for searching.</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: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="5">
                <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:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="HotelReferenceGroup"/>
        <xs:attribute name="HotelSegmentCategoryCode" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Identifies the segment
(e.g., luxury, upscale, extended stay) of the hotel.  Refer to OTA Codelist
Segment Category Code (SEG).</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:complexType name="CancelPenaltiesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of
CancelPenalty.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="CancelPenalty" type="CancelPenaltyType"
minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines the cancellation
penalty of the hotel facility. </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="CancelPolicyIndicator" type="xs:boolean"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, indicates a
cancel policy exits. When false, no cancel policy exists.  Typically this
indicator is used when details are not being sent.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="CancelPenaltyType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The CancelPenalty class defines
the cancellation policy of the hotel facility. </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Deadline" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Cancellation deadline,
absolute or relative. </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="DeadlineGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="AmountPercent" type="AmountPercentType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Cancellation fee
expressed as a fixed amount, or percentage of/or room
nights.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="PenaltyDescription" type="ParagraphType"
minOccurs="0" maxOccurs="9">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text description of the
Penalty in a given language.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="ConfirmClassCode" type="StringLength1to16"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Confirm
Class.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="PolicyCode" type="StringLength1to16"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Policy
Class.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="NonRefundable" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates that any
prepayment for the reservation is non refundable, therefore a 100% penalty
on the prepayment is applied, irrespective of deadline.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="DOW_PatternGroup"/>
        <xs:attributeGroup ref="DateTimeSpanGroup"/>
        <xs:attribute name="RoomTypeCode" type="StringLength1to16"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">A system specific room type
to which this cancellation penalty applies.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="CommentType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of Comment objects.
Comments which apply to any part of the reservation (the reservation in its
entirety, one or more guests,
one or more services, or one or more roomstays).  Which comments apply to
which part is determined by each object's ResCommentsRPHs
collection.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Comment" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">ResComment : The
ResComment object is used to store a further information (comments)
pertaining to a reservation. Comments appended to the reservation may be
retained as the reservation passes through multiple
channels.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="ParagraphType">
                            <xs:attribute name="CommentOriginatorCode"
type="StringLength1to16" use="optional">
                                <xs:annotation>
                                    <xs:documentation
xml:lang="en">CommentOriginatorCode : String
Unique identifier for the system which created the
comment.</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="GuestViewable"
type="xs:boolean" use="optional">
                                <xs:annotation>
                                    <xs:documentation
xml:lang="en">GuestViewable : Boolean
Whether or not this comment should be shown to the guest.
Values: False or No, and True or Yes.</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DiscountType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies and provides details
about the discount.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="TotalType">
                <xs:sequence>
                    <xs:element name="DiscountReason" type="ParagraphType"/>
                </xs:sequence>
                <xs:attribute name="TaxInclusive" type="xs:boolean"
use="optional"/>
                <xs:attribute name="Percent" type="Percentage"
use="optional"/>
                <xs:attribute name="DiscountCode" type="StringLength1to16"
use="optional"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GuaranteeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The guarantee information to
hold a reservation</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GuaranteesAccepted" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="GuaranteeAccepted"
maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Guarantee
Detail</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:complexContent>
                                    <xs:extension base="PaymentFormType">
                                        <xs:attribute name="Default"
type="xs:boolean">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">This is to indicate that the information in the model is the
default (e.g. if PaymentCard information is completed then this would be
considered the default if the boolean is true). </xs:documentation>
                                            </xs:annotation>
                                        </xs:attribute>
                                        <xs:attribute
name="NoCardHolderInfoReqInd" type="xs:boolean" use="optional">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">If true, no credit card holder information is required.  If
false, it is not required.</xs:documentation>
                                            </xs:annotation>
                                        </xs:attribute>
                                        <xs:attribute name="NameReqInd"
type="xs:boolean" use="optional">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">If true, the credit card holder name is required.  If false,
it is not required.</xs:documentation>
                                            </xs:annotation>
                                        </xs:attribute>
                                        <xs:attribute name="AddressReqInd"
type="xs:boolean" use="optional">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">If true, credit card holder address is required.  If false, it
is not required.</xs:documentation>
                                            </xs:annotation>
                                        </xs:attribute>
                                        <xs:attribute name="PhoneReqInd"
type="xs:boolean" use="optional">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">If true, credit card holder phone number is required.  If
false, it is not required.</xs:documentation>
                                            </xs:annotation>
                                        </xs:attribute>
                                        <xs:attribute
name="InterbankNbrReqInd" type="xs:boolean" use="optional">
                                            <xs:annotation>
                                                <xs:documentation
xml:lang="en">If true, the credit card interbank number is required.  If
false, it is not required.</xs:documentation>
                                            </xs:annotation>
                                        </xs:attribute>
                                    </xs:extension>
                                </xs:complexContent>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Deadline" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Guarantee deadline,
absolute or relative</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="DeadlineGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="Comments" type="CommentType" minOccurs="0"/>
            <xs:element name="GuaranteeDescription" type="ParagraphType"
minOccurs="0" maxOccurs="9">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text description of the
Guarantee in a given language.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="RetributionType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">An enumerated type defining
the type of action taken when the deadline has been exceeded. Valid values:
Res Automatically Cancelled, Res No Longer Guaranteed.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="StringLength1to32">
                    <xs:enumeration value="ResAutoCancelled"/>
                    <xs:enumeration value="ResNotGuaranteed"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="GuaranteeCode" type="StringLength1to32"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Guarantee
Code</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="GuaranteeType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">GuaranteeType :
GuaranteeType An enumerated type defining the guarantee to be applied to
this reservation.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="StringLength1to32">
                    <xs:enumeration value="GuaranteeRequired"/>
                    <xs:enumeration value="None"/>
                    <xs:enumeration value="CC/DC/Voucher"/>
                    <xs:enumeration value="Profile"/>
                    <xs:enumeration value="Deposit"/>
                    <xs:enumeration value="PrePay">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates
prepayment, typically this means payment is required at
booking.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="HoldTime" type="xs:time" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The room will held up until
this time without a guarantee.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <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="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="5">
                        <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: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="5">
                        <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: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="MembershipType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of Membership
objects. Memberships provides a list of reward programs which may be
credited with points accrued from the guest's activity. Which memberships
are to be applied to which part is determined by each object's
SelectedMembershipRPHs collection.
</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Membership" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The SelectedMembership
object identifies the frequent customer reward program and (optionally)
indicates points awarded for stay activity. </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attribute name="ProgramCode"
type="StringLength1to32" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The code or name
of the membership program ('Hertz', 'AAdvantage', etc.).</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="BonusCode" type="StringLength1to32"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The code or name
of the bonus program. BonusCode can be used to indicate the level of
membership (Gold Club, Platinum member, etc.)</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="AccountID" type="StringLength1to64"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The account
identification number for this particular member in this particular
program.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="PointsEarned" type="xs:integer"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The total number
of points earned through the selected membership.
</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:complexType>
            </xs:element>
        </xs:sequence>
    </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="RatePlanType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Combination of the rate plan
core type and rate plan additional information to define the details of the
rate plan.</xs:documentation>
            <xs:documentation xml:lang="en">Policies and descriptions that
apply to a rate plan.</xs:documentation>
            <xs:documentation xml:lang="en">Information significant to
defining a rate plan.</xs:documentation>
        </xs:annotation>
        <xs:sequence minOccurs="0">
            <xs:element name="Guarantee" type="GuaranteeType" minOccurs="0"
maxOccurs="5">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Guarantee information
that applies to the rate plan. A maximum of 5 occurances are available for
use depending on the context.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CancelPenalties" type="CancelPenaltiesType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Collection of
cancellation penalties.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RatePlanDescription" type="ParagraphType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Describes the rate
plan.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RatePlanInclusions" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines charges that are
included in this rate plan.This element allows for future extension should
there be a need.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="RatePlanInclusionDesciption"
type="ParagraphType" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Description
of what is included in the rate plan.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="TaxInclusive" type="xs:boolean"
use="optional"/>
                    <xs:attribute name="ServiceFeeInclusive"
type="xs:boolean" use="optional"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="Commission" type="CommissionType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Commission associated
with the RatePlan. This can be a percentage or a flat
amount.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="MealsIncluded" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Defines which meals are
included with this rate program.</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 program.</xs:documentation>
                        </xs:annotation>
                    </xs:attributeGroup>
                </xs:complexType>
            </xs:element>
            <xs:element name="RestrictionStatus" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Used to indicate whether
the rate is on request or available. </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="RestrictionStatusGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="AdditionalDetails"
type="AdditionalDetailsType" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="BookingCode" type="StringLength1to16"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This is used to indicate the
item booked and is primarily used to exchange information with
GDSs.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="RatePlanCode" type="StringLength1to16"
use="optional">
            <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>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attribute name="RateIndicator" type="RateIndicatorType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Information pertaining to
the availability of the rate plan.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <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="RatePlanID" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">A text field used to provide
a special  ID code that is associated with the rate and is required in the
reservation request in order to obtain the rate.  Examples are a corporate
ID number, a promotion code or a membership number.


</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="RatePlanName" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Provides the name of the
rate plan or group. Typically used with RatePlanType to further describe the
rate plan.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MarketCode" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The code that relates to the
market being sold to (e.g., the corporate market,
packages).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="AvailabilityStatus" type="RateIndicatorType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Used to specify an
availability status for the rate plan.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ID_RequiredInd" type="xs:boolean"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, indicates proof
of qualification for this rate is required.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="RateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Individual rate amount. This
rate is valid for a range of number of occupants and an occupant
type.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Rate" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The  Rate contains a
collection of elements that define the amount of the rate, associated fees,
additional occupant amounts as well as payment and cancellation policies.
Taxes can be broken out or included within the various amounts. A currency
can be associated to each amount  The applicable period of the the rate are
indicated by the effective dates.  Restrictions that may apply to that rate,
such as the minimum or maximum length of stay,  stay-over dates (such as a
Saturday night), min/max guests applicable for the rate, and age group (ex
Adult) are attributes of Rate. It indicates the number of units that the
quoted rate is based upon, as well as the TimeUnits type used that the rate
is based upon, e.g.: 3days at $100.00 per day.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="AmountType">
                            <xs:sequence>
                                <xs:element ref="TPA_Extensions"
minOccurs="0"/>
                            </xs:sequence>
                            <xs:attribute name="Duration" type="xs:duration"
use="optional"/>
                            <xs:attribute name="RateMode"
type="OTA_CodeType" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">This
supports returning a type of rate (minimum, maximum, etc.) as an alternative
to returning a specific rate. Refer to OTA Code List Rate Mode
(RMO).</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="CachedIndicator"
type="xs:boolean" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">When
true, this indicates the rate data is not real-time.</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="RateSource"
type="StringLength1to32" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">The
source from which the rate was acquired.</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="RateTypeCode"
type="OTA_CodeType" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">Used to
identify the type of rate. Refer to OTA code list Rate Plan Type
(RPT).</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RequiredPaymentsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of required
payments.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="GuaranteePayment" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Used to define the
deposit policy, guarantees policy, and/or accepted forms of
payment.                             </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="AcceptedPayments"
type="AcceptedPaymentsType" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Collection
of forms of payment accepted for payment.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="AmountPercent"
type="AmountPercentType" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Payment
expressed as a fixed amount, or a percentage of/or room
nights.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="Deadline" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Payment
deadline, absolute or relative</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attributeGroup ref="DeadlineGroup"/>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Description" type="ParagraphType"
minOccurs="0" maxOccurs="5">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Text
description of the Payment in a given language.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="Address" type="AddressType"
minOccurs="0" maxOccurs="3">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">The address
to which a deposit may be sent.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element ref="TPA_Extensions" minOccurs="0"/>
                    </xs:sequence>
                    <xs:attribute name="RetributionType" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">An enumerated
type defining the type of action taken when the deadline has been exceeded.
Valid values: Res Automatically Cancelled, Res No Longer
Guaranteed.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="StringLength1to32">
                                <xs:enumeration value="ResAutoCancelled"/>
                                <xs:enumeration value="ResNotGuaranteed"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="PaymentCode" type="StringLength1to8"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">This defines the
form of payment. Recommended usage of this is with the Payment Type in OTA
Code List, this datatype will be updated in the future.

In order to maintain forward compatability a change is not being made in
this publication. This will be corrected in a future version, when a major
update is released.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="Type" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Used to specify
the type of information being sent (i.e., RequiredPayment, GuaranteePolicy,
AcceptedPaymentForms)</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="RequiredPayment">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">A
required payment, such as a deposit due or payment in the event of
cancellation.</xs:documentation>
                                    </xs:annotation>
                                </xs:enumeration>
                                <xs:enumeration value="GuaranteePolicy">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">Used
to define policies required to guarantee a reservation at the property
(e.g., room(s), function space(s)).</xs:documentation>
                                    </xs:annotation>
                                </xs:enumeration>
                                <xs:enumeration
value="AcceptedPaymentForms">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">Used
to define the acceptable payment forms of the property.</xs:documentation>
                                    </xs:annotation>
                                </xs:enumeration>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="GuaranteeCode"
type="StringLength1to32" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Guarantee
Code</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="GuaranteeType" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">GuaranteeType :
GuaranteeType An enumerated type defining the guarantee to be applied to
this reservation.</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="StringLength1to32">
                                <xs:enumeration value="GuaranteeRequired"/>
                                <xs:enumeration value="None"/>
                                <xs:enumeration value="CC/DC/Voucher"/>
                                <xs:enumeration value="Profile"/>
                                <xs:enumeration value="Deposit"/>
                                <xs:enumeration value="PrePay">
                                    <xs:annotation>
                                        <xs:documentation
xml:lang="en">Indicates prepayment, typically this means payment is required
at booking.</xs:documentation>
                                    </xs:annotation>
                                </xs:enumeration>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="HoldTime" type="xs:time"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The room will
held up until this time without a guarantee.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attributeGroup ref="DOW_PatternGroup"/>
                    <xs:attributeGroup ref="DateTimeSpanGroup"/>
                    <xs:attribute name="NoCardHolderInfoReqInd"
type="xs:boolean" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en"> If true, no
credit cardholder information is required for
guarantee/deposit.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="NameInd" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If true, the
credit cardholder name is required for guarantee/deposit.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="AddressInd" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If true, the
credit cardholder address is required for
guarantee/deposit.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="PhoneInd" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If true, the
credit cardholder phone number is required for
guarantee/deposit.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="InterbankNbrInd" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">If true, the
Interbank Card Association number is required for
guarantee/deposit.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="RoomTypeCode"
type="StringLength1to16" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">A system
specific room type to which this guarantee payment information
applies.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="InfoSource" type="InfoSourceType"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">To specify the
source of the rate of exchange for a currency code.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                    <xs:attribute name="NonRefundableIndicator"
type="xs:boolean" use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">When true,
indicates that any prepayment for the reservation is non refundable,
therefore a 100% penalty on the prepayment is applied, irrespective of
deadline.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RoomRateType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Individual rate amount. This
rate is valid for a range of number of occupants and an occupant
type.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Rates" type="RateType">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Individual rate amount.
This rate is valid for a range of number of occupants and an occupant
type.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RoomRateDescription" type="ParagraphType"
minOccurs="0"/>
            <xs:element name="Features" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of features
that are made available as part of  this  speciific room and this specifiic
rate plan.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Feature" minOccurs="0"
maxOccurs="99">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Allows for
the description of any features and/or amenities that are made available as
part of  this  specific room and this specifiic rate plan, for example,
large screen television, video/DVD player in room, room service breakfast,
and details about that breakfast.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Description"
type="ParagraphType" minOccurs="0" maxOccurs="5"/>
                                </xs:sequence>
                                <xs:attribute name="RoomAmenity"
type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">
                                Refer to OTA Code List Room Amenity Type
(RMA).
                                </xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="Quantity"
type="Numeric1to999" use="optional"/>
                                <xs:attribute name="RoomViewCode"
type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation
xml:lang="en">Specifies the type of view a room has. Refer to OTA Code List
Room View Type (RVT).</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Total" type="TotalType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The total of all rates
for this room rate type.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="BookingCode" type="StringLength1to16"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This is used to indicate the
item booked and is primarily used to exchange information with
GDSs.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attribute name="RoomTypeCode" type="StringLength1to16">
            <xs:annotation>
                <xs:documentation xml:lang="en">Specfic system room type
code, ex: A1K, A1Q etc.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="InvBlockCode" type="StringLength1to32">
            <xs:annotation>
                <xs:documentation xml:lang="en">Code that identifies an
inventory block.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="NumberOfUnits" type="Numeric1to999"
use="optional"/>
        <xs:attributeGroup ref="RatePlanGroup"/>
        <xs:attribute name="AvailabilityStatus" type="RateIndicatorType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Used to specify an
availability status for the room rate.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </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:complexType name="RoomStayType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Details on the Room Stay
including Guest Counts, Time Span of this Room Stay, pointers to Res Guests,
guest Memberships, Comments and Special Requests pertaining to this
particular Room Stay and finally finacial information related to the Room
Stay, including Guarantee, Deposit and Payment and Cancellation
Penalties.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="RoomTypes" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Room
Types associated with a particular Room Stay.</xs:documentation>
                    <xs:documentation xml:lang="en">The RoomType element is
used to contain all the room type information for a single RateType Code (ex
A1K) for a given date range. </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="RoomType" type="RoomTypeType"
maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="RatePlans" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Rate
Plans associated with a particular Room Stay.</xs:documentation>
                    <xs:documentation xml:lang="en">The rate plan element is
used to contain all the rate information for a single Rate Plan Code (ex
RACK) for a given date range. A given Rate Plan may have variable rates,
over the effective period of the Rate Plan, this is represented by the child
element Rates.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="RatePlan" type="RatePlanType"
maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="RoomRates" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Room
Rates associated with a particular Room Stay. Each Room Rate combination can
have multiple rates. Example King room, Rack rate plan, Monday through
Thursday, weekday amount, Friday and Saturday, weekend
amount.</xs:documentation>
                    <xs:documentation xml:lang="en">The combination of a
given Rate Plan and Room Type. This allows for support for systems where
Rate Plans are child of Room Type as well as systems which Room Types are
child of Rate Plans.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="RoomRate" type="RoomRateType"
maxOccurs="unbounded"/>
                    </xs:sequence>
                    <xs:attribute name="MoreRatesExistInd" type="xs:boolean"
use="optional">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">When true,
indicates more rates exist. When false, all rate information is
provided.</xs:documentation>
                        </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="GuestCounts" type="GuestCountType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of Guest
Counts associated with Room Stay. A child Guest Count element is required
for each distinct age group.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="TimeSpan" type="DateTimeSpanType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The Time Span which
covers the Room Stay.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Guarantee" type="GuaranteeType" minOccurs="0"
maxOccurs="5">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The guarantee
information associated to the Room Stay. A maximum of 5 occurances are
available for use depending on the context.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="DepositPayments" type="RequiredPaymentsType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of deposit
and/or payments for the Room Stay.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CancelPenalties" type="CancelPenaltiesType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
Cancellation Penalties objects for the Room Stay. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Discount" type="DiscountType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Discount percentage
and/or Amount, code and textual reason for discount.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Total" type="TotalType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The total amount charged
for the Room Stay  including additional occupant amounts and fees. If
TaxInclusive is set to True, then taxes are included in the total
amount.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="BasicPropertyInfo"
type="BasicPropertyInfoType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Property Information for
the Room Stay.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element ref="TPA_Extensions" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="MarketCode" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The code that relates to the
market being sold to (e.g., the corporate market,
packages).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="SourceOfBusiness" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">To specify where the
business came from e.g. radio, newspaper ad, etc.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="DiscountCode" type="StringLength1to64"
use="optional"/>
        <xs:attributeGroup ref="PromotionCodeGroup"/>
    </xs:complexType>
    <xs:complexType name="RoomTypeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides details regarding
rooms, usually guest rooms.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="RoomDescription" type="ParagraphType"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Textual information
regarding the room.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="AdditionalDetails"
type="AdditionalDetailsType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
additional details.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Amenities" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of amenity
information.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Amenity"
type="RoomAmenityPrefType" minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Used to
provide room amenity information.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element ref="TPA_Extensions" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="RoomTypeCode" type="StringLength1to16"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Specfic system room type
code (e.g. A1K, A1Q).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="NumberOfUnits" type="Numeric1to999"
use="optional"/>
        <xs:attribute name="IsRoom" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the room is a
sleeping room when true.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="IsConverted" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the room is
converted when true.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="IsAlternate" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the room is an
alternate room type to the requested room type when true.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="InvBlockCode" type="StringLength1to32"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Code that identifies an
inventory block.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ReqdGuaranteeType" type="xs:string"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Denotes the form of
guarantee for this room.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:attributeGroup name="AgeQualifyingGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Base age group of occupants for
which this rate is valid (ex Adult).</xs:documentation>
        </xs:annotation>
        <xs:attribute name="AgeQualifyingCode" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Defines an age range or age
category of a guest (e.g., under 21, over 65, teen, infant). Refer to OTA
Code List Age Qualifying Code (AQC).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MinAge" type="Numeric1to999" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">MinAge: The minimum age to
qualify for AgeQualifyingCode</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxAge" type="Numeric1to999" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Max Age: The maximum age to
qualify for AgeQualifyingCode</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="AgeTimeUnit" type="TimeUnitType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">TimeUnit : Qualifier for
Age</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <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>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">
            <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="RestrictionStatusGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Describes the status of a
restriction on a room and/or rate.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="Restriction" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKENS">
                    <xs:enumeration value="Master"/>
                    <xs:enumeration value="Arrival"/>
                    <xs:enumeration value="Departure"/>
                    <xs:enumeration value="NonGuarantee"/>
                    <xs:enumeration value="TravelAgent"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Status" type="AvailabilityStatusType"
use="optional"/>
        <xs:attribute name="SellThroughOpenIndicator" type="xs:boolean"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, this indicates
sell through is open and when false, this indicates sell through is closed.
Typically this would be used in conjunction with the Status attribute to
indicate that bookings may be allowed based on a trading partner agreement
even though one or more days are closed.</xs:documentation>
            </xs:annotation>
        </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 Romm 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>
    <xs:simpleType name="AvailabilityStatusType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Identifies the availability
status of an item.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKENS">
            <xs:enumeration value="Open">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Inventory is available
for sale.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Close">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Inventory is not
available for sale.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ClosedOnArrival">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Inventory is not
available for sale to arriving guests.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ClosedOnArrivalOnRequest">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Inventory may not be
available for sale to arriving guests.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="OnRequest">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Inventory may be
available.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- 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" type="TelephoneInfoType"/>
        </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="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]{3}"/>
        </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]{4}"/>
        </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="AmountDeterminationType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to indicate if an amount is
inclusive or exclusive of other charges, such as taxes, or is cumulative
(amounts have been added to each other).
        </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="Inclusive"/>
            <xs:enumeration value="Exclusive"/>
            <xs:enumeration value="Cumulative"/>
            <xs:enumeration value="Tax Information"/>
            <xs:enumeration value="Service Charge Information"/>
        </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="DistanceUnitNameType">
        <xs:annotation>
            <xs:documentation xml:lang="en">This simple type defines a set
of valid values for the units in which distance is measured (i.e. mile or
kilometer).</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Mile"/>
            <xs:enumeration value="Km"/>
            <xs:enumeration value="Block"/>
        </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]{2}"/>
        </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="Numeric1to9999">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used for Numeric values, from 1
to 9999 inclusive.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="9999"/>
        </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]{3}(\.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="PMS_ResStatusType">
        <xs:annotation>
            <xs:documentation>Statuses that exist in a property management
system (PMS).</xs:documentation>
        </xs:annotation>
        <xs:restriction base="StringLength1to16">
            <xs:enumeration value="Reserved"/>
            <xs:enumeration value="Requested"/>
            <xs:enumeration value="Request denied"/>
            <xs:enumeration value="No-show"/>
            <xs:enumeration value="Cancelled"/>
            <xs:enumeration value="In-house"/>
            <xs:enumeration value="Checked out"/>
            <xs:enumeration value="Waitlisted"/>
        </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="Percentage">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used for percentage
values</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0.01"/>
            <xs:maxInclusive value="100.00"/>
        </xs:restriction>
    </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="PricingType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An enumerated type that defines
how a service is priced.  Values:  Per stay,  Per person, Per night, Per
person per night,  Per use.  </xs:documentation>
        </xs:annotation>
        <xs:restriction base="StringLength1to32">
            <xs:enumeration value="Per stay"/>
            <xs:enumeration value="Per person"/>
            <xs:enumeration value="Per night"/>
            <xs:enumeration value="Per person per night"/>
            <xs:enumeration value="Per use"/>
        </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="RateIndicatorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An enumerated type indicating
special conditions with the rate  Valid values: ChangeDuringStay,
MultipleNights, Exclusive, OnRequest,
LimitedAvailability.</xs:documentation>
        </xs:annotation>
        <xs:restriction base="StringLength1to32">
            <xs:enumeration value="ChangeDuringStay"/>
            <xs:enumeration value="MultipleNights"/>
            <xs:enumeration value="Exclusive"/>
            <xs:enumeration value="OnRequest"/>
            <xs:enumeration value="LimitedAvailability"/>
            <xs:enumeration value="AvailableForSale"/>
            <xs:enumeration value="ClosedOut"/>
            <xs:enumeration value="OtherAvailable"/>
            <xs:enumeration value="UnableToProcess">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Indicates an issue that
precluded the ability to provide the information.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NoAvailability"/>
            <xs:enumeration value="RoomTypeClosed"/>
            <xs:enumeration value="RatePlanClosed"/>
            <xs:enumeration value="LOS_Restricted"/>
        </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:restriction>
    </xs:simpleType>
    <xs:simpleType name="TimeOrDateTimeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Allows for the specification of
a date time or just time.</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="xs:dateTime xs:time"/>
    </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">should this be an enumerated
list?</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: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="AcceptedPaymentsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to define the types of
payments accepted.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="AcceptedPayment" type="PaymentFormType"
maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <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" type="StringLength0to64"
minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Building name, room,
apartment, or suite number.</xs:documentation>
                </xs:annotation>
            </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="CommissionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Contains details pertaining to
commissions.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="UniqueID" type="UniqueID_Type" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Identifies the recipient
of the commission.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CommissionableAmount" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The amount on which
commission is calculated.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="CurrencyAmountGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="PrepaidAmount" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The amount of commission
paid to the agency prior to the service being rendered.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="CurrencyAmountGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="FlatCommission" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A fixed commission
amount.  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="CurrencyAmountGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="CommissionPayableAmount" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The amount of commission
to be paid.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:attributeGroup ref="CurrencyAmountGroup"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="Comment" type="ParagraphType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text related to the
commission.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="StatusType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the status of the
commission payment itself (e.g. no-show indicates that a different
commission may be applied if the reservation is not
fulfilled).</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="Full">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates full
commission.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="Partial">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates
partial commission.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="Non-paying">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates no
commission.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="No-show">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates
customer did not use the reserved product or service and did not cancel.
This "no show" may impact commission.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="Adjustment">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">Indicates the
commission is being adjusted.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Percent" type="Percentage" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The percent applied to the
commissionable amount to determine the commission payable
amount.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="CurrencyCodeGroup">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates the currency to be
applied to the amounts located in the child elements.</xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
        <xs:attribute name="ReasonCode" type="StringLength1to8"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Identifies the reason why a
commission is not paid or not paid in full.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="BillToID" type="StringLength1to8"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Identifies who should be
billed for the commission amount.</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: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:element name="Telephone" type="TelephoneInfoType"
minOccurs="0" maxOccurs="5"/>
            <xs:element name="Address" type="AddressInfoType" minOccurs="0"
maxOccurs="5"/>
            <xs:element name="Email" type="EmailType" minOccurs="0"
maxOccurs="5"/>
            <xs:element name="URL" type="URL_Type" minOccurs="0"
maxOccurs="5"/>
            <xs:element name="CompanyName" type="CompanyNameType"
minOccurs="0" maxOccurs="3"/>
            <xs:element name="EmployeeInfo" type="EmployeeInfoType"
minOccurs="0" maxOccurs="3"/>
        </xs:sequence>
        <xs:attributeGroup ref="PrivacyGroup"/>
        <xs:attributeGroup ref="DefaultIndGroup"/>
        <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: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:complexContent>
                        <xs:extension base="TelephoneInfoType">
                            <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:extension>
                    </xs:complexContent>
                </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="DescriptionsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of
Description.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Description" type="MultimediaObjectType"
minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A text description to
explain additional descriptive information. </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </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="ErrorType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Standard way to indicate that an
error occurred during the processing of an OTA message</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="FreeTextType">
                <xs:attribute name="Type" type="OTA_CodeType"
use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">The Error element
MUST contain the Type attribute that uses a recommended set of values to
indicate the error type. The validating XSD can expect to accept values that
it has NOT been explicitly coded for and process them by using Type
="Unknown".  Refer to OTA Code List Error Warning Type
(EWT).</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attributeGroup ref="ErrorWarningAttributeGroup"/>
                <xs:attribute name="NodeList" type="xs:string">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">An XPath expression
that selects all the nodes whose data caused this error.  Further, this
expression should have an     additional contraint which contains the data
of the node.  This will provide the offending data back to systems that
cannot maintain the original message. </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="ErrorsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of errors that
occurred during the processing of a message.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Error" type="ErrorType" maxOccurs="99"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FeeType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used for non-tax fees and
charges (e.g. service charges) .</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Taxes" type="TaxesType" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Used for taxes on the
associated fee.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Description" type="ParagraphType"
minOccurs="0" maxOccurs="5">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text description of the
fees  in a given language.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="TaxInclusive" type="xs:boolean">
            <xs:annotation>
                <xs:documentation xml:lang="en">Indicates whether taxes are
included when figuring the fees.    </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="FeeTaxGroup"/>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attribute name="MandatoryIndicator" type="xs:boolean"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, indicates the fee
is mandatory. When false, the fee is not mandatory.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="RPH" type="RPH_Type" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">An index code to identify an
instance in a collection of like items.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="ChargeUnitGroup">
            <xs:annotation>
                <xs:documentation xml:lang="en">Specifies charge information
by unit (e.g., room, person, item) and frequency (e.g., daily, weekly,
stay).</xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
        <xs:attribute name="TaxableIndicator" type="xs:boolean"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, indicates that
the fee is subject to tax.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="FeesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of
fees.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Fee" type="FeeType" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Fee Amount that is
applied to the rate. Fees are used for non tax amounts like service
charges.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FormattedTextSubSectionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to provide subsection
formatted text information.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Paragraph" type="ParagraphType"
maxOccurs="99"/>
        </xs:sequence>
        <xs:attribute name="SubTitle" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This attribute may be used
to provide a title for a sub-section of the formatted free text.  A
sub-section may have multiple related paragraphs of information.  For
example, if used to provide driving directions there may be multiple
paragraphs, and these paragraphs may be grouped into a sub-section called
"Driving from the North".  A second subsection may be titled "Driving from
the South", and may contain several paragraphs to describe the driving
directions when driving from the south. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="SubCode" type="StringLength1to8" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">An optional code that may be
assigned to this sub-section of formatted free text.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="SubSectionNumber" type="Numeric1to999"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This attribute may be used
when there is a need to number all of the sub-sections of information that
is to be presented.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="FormattedTextTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides text and indicates
whether it is formatted or not.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="Formatted" type="xs:boolean"
use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Textual information,
which may be formatted as a line of information, or unformatted, as a
paragraph of text.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attributeGroup ref="LanguageGroup"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="FormattedTextType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Collection of formatted text sub
sections.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="SubSection" type="FormattedTextSubSectionType"
maxOccurs="99"/>
        </xs:sequence>
        <xs:attribute name="Title" type="StringLength1to64" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This attribute may be used
to provide a title for the formatted free text,
for example, Driving Directions.  Each of the sub sections that are defined
to be a part of the formatted text would provide detailed information about
the subject identified by the title.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Language" type="xs:language" use="optional"/>
    </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="StringLength1to64">
                            <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: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="MultimediaObjectType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to pass a multimedia object
such as an image, and the associated details .</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="ParagraphType">
                <xs:attributeGroup ref="FileAttachmentGroup"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OperationScheduleType">
        <xs:sequence>
            <xs:element name="OperationTimes" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A collection of
OperationTimes.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="OperationTime" maxOccurs="999">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Provides
operating times of a facility.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:attributeGroup ref="DOW_PatternGroup"/>
                                <xs:attributeGroup ref="DateTimeSpanGroup"/>
                                <xs:attribute
name="AdditionalOperationInfoCode" type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">Used
to provide additional information regarding operation times (e.g., after
hours operations, restricted times). Refer to OTA Codelist Additional
Operation Info (OPR).</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="DateTimeSpanGroup"/>
    </xs:complexType>
    <xs:complexType name="OperationSchedulesType">
        <xs:sequence>
            <xs:element name="OperationSchedule"
type="OperationScheduleType" maxOccurs="999">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The OperationSchedule
class defines the dates and hours of operation. </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </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="ParagraphType">
        <xs:annotation>
            <xs:documentation xml:lang="en">An indication of a new paragraph
for a sub-section of a formatted text message.</xs:documentation>
        </xs:annotation>
        <xs:choice minOccurs="0" maxOccurs="300">
            <xs:element name="Text" type="FormattedTextTextType"/>
            <xs:element name="Image" type="xs:string"/>
            <xs:element name="URL" type="xs:anyURI"/>
            <xs:element name="ListItem">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="FormattedTextTextType">
                            <xs:attribute name="ListItem" type="xs:integer"
use="optional"/>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
        </xs:choice>
        <xs:attribute name="Name" type="StringLength1to64" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">In many cases the
description repeats, this will allow you to define the information that is
being sent, typically used when multiple occurrences of ParagraphType are
being sent.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ParagraphNumber" type="xs:nonNegativeInteger"
use="optional"/>
        <xs:attributeGroup ref="DateTimeStampGroup"/>
        <xs:attributeGroup ref="LanguageGroup"/>
    </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>
            <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="ReferencePlaceHolderType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to provide a reference to
an object that is stored elsewhere in a collection of the same
objects.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="RPH" type="RPH_Type"/>
    </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="RelativePositionType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The RelativePosition object
contains information about the direction, distance and travel time to/from a
facility (hotel, car rental location, or airport) or to/from a designated
location.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="TransportationsType">
                <xs:attributeGroup ref="RelativePositionGroup"/>
                <xs:attribute name="Nearest" type="xs:boolean"
use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">The indicator for
whether this location is nearest. </xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="IndexPointCode" type="OTA_CodeType"
use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">This is the object
referred to by the relative position (e.g. cross street, airport). Refer to
OTA Code List Index Point Code (IPC).</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="Name" type="StringLength0to64"
use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">This is used to
accommodate a city name, rail station name etc. when using the indexPoint
attribute.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="PrimaryIndicator" type="xs:boolean"
use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Indicates whether
the reference point is considered the main reference point for the specific
type of IndexPointCode (e.g., in Dallas, where IndexPointCode=airport
Dallas/Fort Worth airport would be the primary airport even if another
airport such as Love Field is closer).</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute name="ToFrom" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">Used to indicate
whether the context is to a facility or from a facility.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="ToFacility">
                                <xs:annotation>
                                    <xs:documentation
xml:lang="en">Indicates the direction is to the facility based on use (e.g.,
hotel, car rental location, airport).</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="FromFaciilty">
                                <xs:annotation>
                                    <xs:documentation
xml:lang="en">Indicates the direction is from the facility based on use
(e.g., hotel, car rental location, airport). </xs:documentation>
                                    <xs:documentation xml:lang="en">
                                        <DeprecationWarning>Candidate for
removal, usage is not recommended. Deprecation Warning added in 2006A.
Candidate for removal because the enumeration is misspelled. A replacement
enumeration of the same value has been added with the correct spelling.
     Remove in 2006B.</DeprecationWarning>
                                    </xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                            <xs:enumeration value="FromFacility">
                                <xs:annotation>
                                    <xs:documentation
xml:lang="en">Indicates the direction is from the facility based on use
(e.g., hotel, car rental location, airport).</xs:documentation>
                                </xs:annotation>
                            </xs:enumeration>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="ApproximateDistanceInd"
type="xs:boolean" use="optional">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">When true, the
distance information is approximate.</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </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="SpecialRequestType">
        <xs:annotation>
            <xs:documentation xml:lang="en">SpecialRequests : SpecialRequest
A collection of SpecialRequest objects. The collection of all special
requests associated with any part of the reservation (the reservation in its
entirety, one or more guests, or one or more room stays).  Which special
requests belong to which part is determined by each object's
SpecialRequestRPHs collection.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="SpecialRequest" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation xml:lang="en">The SpecialRequest
object indicates special requests for a particular guest, service or
reservation.  Each of these may be independent of any that are tied to the
profile (see Profile Synchronization standard).</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="ParagraphType">
                            <xs:attribute name="RequestCode"
type="StringLength1to16" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">This
identifies a special request for this reservation and is typically
hotel-specific.</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 RequestCode.
</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="NumberOfUnits"
type="Numeric1to999" use="optional">
                                <xs:annotation>
                                    <xs:documentation xml:lang="en">Allows
you to pass the number of units that the special request is for (e.g., if 4
rooms are booked you may want 3 with double/double beds and 1 with a king).
</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </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="SuccessType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Standard way to indicate
successful processing of an OTA message. Returning an empty element of this
type indicates success.</xs:documentation>
        </xs:annotation>
    </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="TaxType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Applicable tax element.  This
element allows for both percentages and flat amounts. If one field is used,
the other should be zero since logically, taxes should be calculated in only
one of the two ways.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="TaxDescription" type="ParagraphType"
minOccurs="0" maxOccurs="5">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Text description of the
taxes in a given language.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="FeeTaxGroup"/>
        <xs:attributeGroup ref="EffectiveExpireOptionalDateGroup"/>
        <xs:attributeGroup ref="ChargeUnitGroup">
            <xs:annotation>
                <xs:documentation xml:lang="en">Specifies charge information
by unit (e.g., room, person, item) and frequency (e.g., daily, weekly,
stay).</xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
    </xs:complexType>
    <xs:complexType name="TaxesType">
        <xs:annotation>
            <xs:documentation xml:lang="en">A collection of
taxes.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Tax" type="TaxType" minOccurs="0"
maxOccurs="99">
                <xs:annotation>
                    <xs:documentation xml:lang="en">An individual
tax.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attributeGroup ref="CurrencyAmountGroup">
            <xs:annotation>
                <xs:documentation xml:lang="en">Used to provide a total of
all the taxes.</xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
    </xs:complexType>
    <xs:complexType name="TelephoneInfoType">
        <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: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="TotalType">
        <xs:annotation>
            <xs:documentation xml:lang="en">The total amount charged for the
service including additional amounts and fees.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Taxes" type="TaxesType" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="AmountBeforeTax" type="Money" use="optional"/>
        <xs:attribute name="AmountAfterTax" type="Money" use="optional"/>
        <xs:attributeGroup ref="CurrencyCodeGroup"/>
        <xs:attribute name="AdditionalFeesExcludedIndicator"
type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, amounts do not
contain additional fees or charges. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="TransportationsType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to define the types of
transportaion offered.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="Transportations" minOccurs="0">
                <xs:annotation>
                    <xs:documentation xml:lang="en">Collection of directions
to/from a specific location via various modes of
transportation</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Transportation"
maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation xml:lang="en">Contains the
directions to/from a specific location for a mode of
travel.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Descriptions"
type="DescriptionsType" minOccurs="0" maxOccurs="2"/>
                                    <xs:element name="OperationSchedules"
type="OperationSchedulesType" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation
xml:lang="en">Collection of operation schedules for the
transportation.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="NotificationRequired"
type="StringLength1to64" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">This
would be used for information such as a shuttle needs to be requested or a
reservation is required.</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="TransportationCode"
type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">The
mode of transportation. Refer to OTA Code List Transportation Code
(TRP).</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="ChargeUnit"
type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation
xml:lang="en">Refer to OTA Codelist Charge Type (CHG).</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="Included"
type="xs:boolean" use="optional"/>
                                <xs:attributeGroup ref="CodeInfoGroup">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">May
be used to give further detail on the code (e.g. if a trolley is chosen, the
trolley name could be added here) or to remove an obsolete item.
                    </xs:documentation>
                                    </xs:annotation>
                                </xs:attributeGroup>
                                <xs:attribute name="Description"
type="StringLength0to64" use="optional">
                                    <xs:annotation>
                                        <xs:documentation
xml:lang="en">Descriptive information about the mode of
transportation.</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attribute name="TypicalTravelTime"
type="xs:string" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">The
normal (average) travel time required to get to or from the location,
measured in minutes. </xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                                <xs:attributeGroup
ref="CurrencyAmountGroup"/>
                                <xs:attribute name="ExistsCode"
type="OTA_CodeType" use="optional">
                                    <xs:annotation>
                                        <xs:documentation xml:lang="en">This
attribute is used to explicitly define whether the type of transportation
applies. Refer to OTA Code list Option Type Code (OTC). This is used in
conjunction with TransportationCode.</xs:documentation>
                                    </xs:annotation>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </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:complexType name="VendorMessageType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides formatted textual
information that a vendor wishes to make known.  The type of information is
indicated</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="FormattedTextType">
                <xs:attribute name="InfoType" type="OTA_CodeType"
use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">To define the type
of information such as Description, Policy, Marketing, etc. Refer to OTA
Code List Information Type (INF).</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="VendorMessagesType">
        <xs:sequence>
            <xs:element name="VendorMessage" type="VendorMessageType"
maxOccurs="99">
                <xs:annotation>
                    <xs:documentation xml:lang="en">A specific message
associated with this vendor</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="WarningType">
        <xs:annotation>
            <xs:documentation xml:lang="en">Standard way to indicate
successful processing of an OTA message, but one in which warnings are
generated</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="FreeTextType">
                <xs:attribute name="Type" type="OTA_CodeType"
use="required">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">The Warning element
MUST contain the Type attribute that uses a recommended set of values to
indicate the warning type. The validating XSD can expect to accept values
that it has NOT been explicitly coded for and process them by using Type
="Unknown".  Refer to OTA Code List Error Warning Type
(EWT).</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attributeGroup ref="ErrorWarningAttributeGroup"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="WarningsType">
        <xs:sequence>
            <xs:element name="Warning" type="WarningType" maxOccurs="99"/>
        </xs:sequence>
    </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="ChargeUnitGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Specifies charge information by
unit (e.g., room, person, item) and frequency (e.g., daily, weekly,
stay).</xs:documentation>
        </xs:annotation>
        <xs:attribute name="ChargeUnit" type="OTA_CodeType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This is the unit for which
the charge applies (e.g. room, person, seat). Refer to OTA Code List Charge
Type (CHG).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ChargeFrequency" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">This is the timeframe used
to apply the charge during the course of the reservation (e.g. Daily,
Weekly, Stay). Refer to OTA Code List Charge Type (CHG).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ChargeUnitExempt" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Number of units permitted
before charges are applied (e.g., more than 4 persons).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ChargeFrequencyExempt" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">ChargeFrequency exemptions
before charges are applied (e.g. after 2 nights).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxChargeUnitApplies" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Maximum number of Units for
which the charge will be applied (e.g., waive charges above 10
rooms).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MaxChargeFrequencyApplies"
type="xs:positiveInteger" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Maximum number of times the
charge will be applied (e.g. waive charges above 30
nights).</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>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="CodeInfoGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">This is intended to be used in
conjunction with an attribute that uses an OTA code list. It is used  to
provide additional information about the code being referenced.
</xs:documentation>
            <xs:documentation xml:lang="en">May be used to give further
detail on the code or to remove an obsolete item.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="CodeDetail" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">May be used to give further
detail on the code. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="RemovalGroup"/>
    </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="DOW_PatternGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">If a day(s) of the week is set
to true then the associated item is available on that day of the week  (e.g.
if Mon="T" then a flight operates on Mondays or a certain rate is available
on Mondays).</xs:documentation>
        </xs:annotation>
        <xs:attribute name="Mon" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Monday.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Tue" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Tuesday.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Weds" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Wednesday.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Thur" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Thursday.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Fri" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Friday.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Sat" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Saturday.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Sun" type="xs:boolean" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">When true, apply to
Sunday.</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="DeadlineGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">The absolute deadline or amount
of offset time before a deadline for a payment of cancel goes into
effect.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="AbsoluteDeadline" type="TimeOrDateTimeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Defines the absolute
deadline.  Either this or the offset attributes may be
used.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="OffsetTimeUnit" type="TimeUnitType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The units of time, e.g.:
days, hours, etc., that apply to the deadline.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="OffsetUnitMultiplier" type="Numeric0to999"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The number of units of
DeadlineTimeUnit.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="OffsetDropTime" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">An enumerated type
indicating when the deadline drop time goes into effect.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="BeforeArrival"/>
                    <xs:enumeration value="AfterBooking"/>
                    <xs:enumeration value="AfterConfirmation">
                        <xs:annotation>
                            <xs:documentation xml:lang="en">The deadline
information applies from when the reservation was confirmed.  In some
systems the confirmation time will differ from the booking
time.</xs:documentation>
                        </xs:annotation>
                    </xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </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"/>
    </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="ErrorWarningAttributeGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Used to identify an application
error by either text, code, or by an online description and also to give the
status, tag, and/or identification of the record that may have caused the
error.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="ShortText" type="StringLength1to64"
use="optional"/>
        <xs:attribute name="Code" type="OTA_CodeType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">If present, this refers to a
table of coded values exchanged between applications to identify errors or
warnings. Refer to OTA Code List Error Codes (ERR).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="DocURL" type="xs:anyURI" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">If present, this URL refers
to an online description of the error that occurred.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Status" type="StringLength1to64" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">If present, recommended
values are those enumerated in the OTA_ErrorRS, (NotProcessed | Incomplete |
Complete | Unknown) however, the data type is designated as string data,
recognizing that trading partners may identify additional status conditions
not included in the enumeration.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Tag" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">If present, this attribute
may identify an unknown or misspelled tag that caused an error in
processing. It is recommended that the Tag attribute use XPath notation to
identify the location of a tag in the event that more than one tag of the
same name is present in the document. Alternatively, the tag name alone can
be used to identify missing data [Type=ReqFieldMissing].</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="RecordID" type="StringLength1to32"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">If present, this attribute
allows for batch processing and the identification of the record that failed
amongst a group of records.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="FeeTaxGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the fees and/or taxes
associated with a charge (e.g. taxes associated with a hotel
rate).</xs:documentation>
        </xs:annotation>
        <xs:attribute name="Type" type="AmountDeterminationType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Used to indicate if the
amount is inclusive or exclusive of other charges, such as taxes, or is
cumulative (amounts have been added to each other).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Code" type="OTA_CodeType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Code identifying the fee
(e.g.,agency fee, municipality fee). Refer to OTA Code List Fee Tax Type
(FTT).
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Percent" type="Percentage" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Fee percentage; if zero,
assume use of the Amount attribute (Amount or Percent must be a zero
value).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attributeGroup ref="CurrencyAmountGroup"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="FileAttachmentGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Provides information about any
files attached (e.g., multimedia objects) at the transport layer (e.g.,
HTTP/SOAP)</xs:documentation>
        </xs:annotation>
        <xs:attributeGroup ref="CodeInfoGroup">
            <xs:annotation>
                <xs:documentation xml:lang="en">May be used to give further
detail on the code or to remove an obsolete item.
                                </xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
        <xs:attribute name="ContentData" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Vendor-specific format that
contains the content data for the multimedia object.  </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Description" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">A short description of the
multimedia object.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="PictureCategoryCode" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">A code defining the type of
picture (e.g. Exterior, Lobby, Reception area, RoomTypes, Facilities, Dining
areas, Meeting Rooms, Logo). Refer to OTA Code List Picture Category Code
(PIC).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Version" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The version of the
multimedia object. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ContentTitle" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The title for the multimedia
object. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ContentCaption" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The caption to be published
with the multimedia file. </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="CopyrightNotice" type="xs:string"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The information describing
the copyright notice for the multimedia object at a hotel facility. If this
field is filled in, this copyright notice must be printed with the
multimedia object.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="FileName" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Specifies the name of the
file being sent.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="FileSize" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The size of the file sent,
in bytes.  This may be used to validate that the received file is the
correct size.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MultimediaObjectHeight"
type="xs:positiveInteger" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The height of the
image.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="MultimediaObjectWidth" type="xs:positiveInteger"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The width of the
image.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="UnitOfMeasureCode" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The unit of measure for the
multimedia object (e.g., inches, pixels, centimeters). Refer to OTA Code
List Unit of Measure Code (UOM).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ContentID" type="StringLength1to64"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The content ID of a file
attachment with the prefix 'cid:'. The value of this can be used to retrieve
the corresponding attachment by the receiving system.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ContentCode" type="OTA_CodeType" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Description of the
multimedia object or attached file contents. Refer to OTA Code List Content
Code (CTT).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ContentFormatCode" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The specific file format of
the multimedia object or attached file (e.g., mpeg, jpg, gif). Refer to OTA
Code List Content Format Code (CFC).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="RecordID" type="StringLength1to32"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Uniquely identifies this
file in the message.</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">
            <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>Code and optional string to describe a
location point.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="LocationCode" type="StringLength1to16"
use="required">
            <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="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">
            <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">The two Privacy attributes allow
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="Numeric1to9999" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Used to define a quantity of
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="RelativePositionGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">Defines the position of an
entity in relation to another entity (e.g. from an airport to a hotel, the
relationship is dependant on use). </xs:documentation>
        </xs:annotation>
        <xs:attribute name="Direction" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Defines the cardinal
direction (e.g., north, south, southwest).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="Distance" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Defines the distance between
two points.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="DistanceUnitName" type="DistanceUnitNameType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">Provides the ability to
specify the unit of measure to which the "Distance" attribute is
referring.</xs:documentation>
                <xs:documentation xml:lang="en">
                    <DeprecationWarning>Candidate for potential removal,
usage is not recommended. Deprecation Warning added in 2006A.
    </DeprecationWarning>
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute name="UnitOfMeasureCode" type="OTA_CodeType"
use="optional">
            <xs:annotation>
                <xs:documentation xml:lang="en">The unit of measure in a
code format. Refer to OTA Code List Unit of Measure Code
(UOM).</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="RemovalGroup">
        <xs:annotation>
            <xs:documentation xml:lang="en">This is used to indicate that an
item is obsolete.</xs:documentation>
        </xs:annotation>
        <xs:attribute name="Removal" type="xs:boolean" use="optional"
default="false">
            <xs:annotation>
                <xs:documentation xml:lang="en">If true, this item is
obsolete and should be removed from the receiving system.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </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="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>

----------------------------------------------------------------------------------------------------------------------




Many Thanks,
Nateshan Soundarapandian
Amutech Business Solutions Inc
Mobile:(813) 579-0326
Fax: (919) 882-1737


On Tue, Dec 30, 2008 at 1:33 PM, Deepal jayasinghe <deepalk@gmail.com>wrote:

> can you send us the full schema, for the part you have given I can
> exactly tell whether the response is correct for that I need to look at
> the schema type of TelephoneInfoType as well. because all the properties
> in that fields are in as attributes. So need to make sure that is the
> what the schema also says.
>
> Deepal
> > Dear Deepal,
> >
> > Thanks for the response. NO, The server side code is not Axis2.
> > However the server side code returns the soap envelope that conforms
> > to the Schema defined in the wsdl.
> >
> > This problem is related to sequences defined in the xsd.
> >
> >
> > Here is what I defined in the Response schema:
> > <xs:element name="ContactNumbers" minOccurs="0">
> >                 <xs:complexType>
> >                     <xs:sequence>
> >                         <xs:element name="ContactNumber"
> > type="TelephoneInfoType" minOccurs="0" maxOccurs="unbounded">
> >                             <xs:annotation>
> >                                 <xs:documentation
> > xml:lang="en">Contact numbers of the hotel property. Examples are
> > telephone and fax numbers.</xs:documentation>
> >                             </xs:annotation>
> >                         </xs:element>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >
> > Here is the Response:
> > <ContactNumbers>
> > <ContactNumber PhoneNumber="1-305-4469000" PhoneTechType="1"
> > PhoneUseType="5"/>
> > <ContactNumber PhoneNumber="1-305-4471189" PhoneTechType="3"
> > PhoneUseType="5"/>
> > </ContactNumbers>
> >
> > Exception:
> > org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException:
> > Unexpected subelement ContactNumber
> > at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
> > at
> >
> org.opentravel.www.ota._2003._05.HotelAvailabilityStub.fromOM(HotelAvailabilityStub.java:363)
> > <http://www.ota.
> _2003._05.hotelavailabilitystub.fromom%28hotelavailabilitystub.java:363/>
> >
> > at
> >
> org.opentravel.www.ota._2003._05.HotelAvailabilityStub.HotelAvailabilityOperation(HotelAvailabilityStub.java:191)
> > <http://www.ota.
> _2003._05.hotelavailabilitystub.hotelavailabilityoperation%28hotelavailabilitystub.java:191/>
> >
> > at
> >
> com.ihg.ws.cxf.servlets.HotelAvailability.doGet(HotelAvailability.java:211)
> >
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
> > at
> >
> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
> >
> > at
> >
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
> >
> > at
> >
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
> >
> > at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:270)
> > at com.caucho.server.port.TcpConnection.run(TcpConnection.java:678)
> > at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721)
> > at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643)
> > at java.lang.Thread.run(Thread.java:595)
> >
> > Please note: Iam not posting all the schema information here as they
> > are huge.
> >
> >
> > Many Thanks,
> > nateshan
> >
> >
> > On Tue, Dec 30, 2008 at 1:08 PM, Deepal Jayasinghe
> > <deepal@opensource.lk <mailto:deepal@opensource.lk>> wrote:
> >
> >     How about the server side code? is it also Axis2?
> >
> >     You get this error when you receive a message which is not correct
> >     according to its WSDL.
> >
> >     Deepal
> >     > Hi,
> >     >
> >     > I am new to Axis2. I am having some trouble with the Axis Client
> >     code
> >     > that was generated using Axis2 Release 1.4.1. However I wanted
> >     to try
> >     > with the nightly builds to see if the problem has been fixed as
> >     I see
> >     > so many bug reports on Axis2/ADB UnExpected Sublement errors.
> >     >
> >     > Please advice on where I can download Axis2/Java nightly builds,
> The
> >     > Axis2 Website only points to a directory where only Axis2/C Nightly
> >     > downloads are available.
> >     >
> >     > Many Thanks,
> >     > Nateshan Soundarapandian
> >     > Amutech Business Solutions Inc
> >     > Mobile:(813) 579-0326
> >     > Fax: (919) 882-1737
> >
> >     --
> >     Thank you!
> >
> >
> >     http://blogs.deepal.org
> >     http://deepal.org
> >
> >
>
>
> --
> Thank you!
>
>
> http://blogs.deepal.org
> http://deepal.org
>
>

Mime
View raw message