4629 lines
232 KiB
XML
4629 lines
232 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!--
|
|
AlpineBits 2024-10
|
|
http://www.alpinebits.org/
|
|
|
|
W3C XML Schema file
|
|
|
|
changelog:
|
|
|
|
v. 2024-10 1.4 **************************************************************************************************
|
|
All occurrences of type="def_nonempty_string" have been replaced with the value defined in
|
|
OTA 2015A.
|
|
|
|
v. 2024-10 1.3 **************************************************************************************************
|
|
HotelCode: Bugfix: define HotelCode as required everywhere
|
|
|
|
v. 2024-10 1.2 **************************************************************************************************
|
|
RatePlans: Attribute RatePlanNotifType value `New` has been replaced with `Full`. `New` is still
|
|
accepted for compatibility reasons.
|
|
Inventory: Element TypeRoom changed to mandatory element
|
|
|
|
v. 2024-10 1.1 **************************************************************************************************
|
|
GuestRequests: added optional RoomRates element
|
|
|
|
v. 2024-10 1.0 **************************************************************************************************
|
|
GuestRequests: added optional Services element
|
|
|
|
|
|
v. 2022-10 1.2 **************************************************************************************************
|
|
GuestRequests: allow Errors in OTA_HotelResNotifRS
|
|
GuestRequests: allow Warnings in OTA_NotifReportRS
|
|
Inventory: allow Warnings in OTA_HotelDescriptiveInfoRS
|
|
BaseRates: allow Warnings in OTA_HotelRatePlanRS
|
|
|
|
|
|
v. 2022-10 1.1 **************************************************************************************************
|
|
GuestRequests: added optional LastModifyDateTime attribute for HotelReservation element
|
|
|
|
|
|
v. 2022-10 1.0 **************************************************************************************************
|
|
GuestRequests: added optional attribute RoomStayReservation to element HotelReservation
|
|
|
|
|
|
v. 2020-10 1.6 **************************************************************************************************
|
|
HotelCode: define HotelCode as String of length 1 to 16, just like in OTA2015A
|
|
|
|
|
|
v. 2020-10 1.5 **************************************************************************************************
|
|
Inventory: fix HotelDescriptiveContents -> ... -> ContactInfo -> ... -> URL -> ID restriction
|
|
The written 2020-10 standard says on page 55 that "...Partners are allowed to define further
|
|
values...". The prior XSD defined an enumeration of allowed values, which was too restrictive. This
|
|
has been fixed.
|
|
|
|
|
|
v. 2020-10 1.4 **************************************************************************************************
|
|
Inventory: removed attributes Code and CodeContext from element CompanyName under ContactInfo
|
|
|
|
|
|
v. 2020-10 1.3 **************************************************************************************************
|
|
make LocationCategories optional
|
|
|
|
|
|
v. 2020-10 1.2 **************************************************************************************************
|
|
OTA_PingRS has been loosened to accept Warning elements of any type, as well asError elements
|
|
|
|
|
|
v. 2020-10 1.1 **************************************************************************************************
|
|
FreeRooms: major changes, since that action has completely been rewritten; the root node has been
|
|
changed from OTA_HotelAvailNotifRQ/RS to OTA_HotelInvCountNotifRQ/RS
|
|
(done by C. Gapp)
|
|
|
|
**************************************************************************************************
|
|
the CurrencyCode attribute used to be defined as non-empty string or hard-coded to "EUR"; this has
|
|
been changed to a generic string with 3 character in order to allow other currencies and to be
|
|
compatible with OTA
|
|
|
|
**************************************************************************************************
|
|
GuestRequests: added SpecialRequests for pets
|
|
|
|
**************************************************************************************************
|
|
Inventory: HotelDescriptiveContents has been expanded: ContactInfos has more content and
|
|
HotelInfo, Policies and AffiliationInfo are now strictly defined (they used to allow any OTA
|
|
content).
|
|
|
|
**************************************************************************************************
|
|
new action Activities: elements OTA_HotelPostEventNotifRQ and OTA_HotelPostEventNotifRS added
|
|
|
|
|
|
v. 2018-10 1.3 more things changed related to the new section "Responses with a request for complete sets of data":
|
|
|
|
- added "11" as allowed value for the attribute Type of the Error elements
|
|
|
|
- made the attribute Code of the Error elements optional
|
|
|
|
- added Warnings element below OTA_ResRetrieveRS
|
|
|
|
|
|
v. 2018-10 1.2 the Status attribute has been extended to all Warning elements (also the ones
|
|
for GuestRequests) and to Error elements; the choice of keywords has become
|
|
a common definition (def_send_complete)
|
|
|
|
|
|
v. 2018-10 1.1 added Status attribute to Warning element (see section "Responses with a
|
|
request for complete sets of data")
|
|
|
|
fixed copy&paste error in enumeration of new RoomType attribute values
|
|
|
|
|
|
v. 2018-10 1.0 **************************************************************************************************
|
|
allowed additional value "HTML" for attribute TextFormat in Inventory
|
|
HotelDescriptiveContents -> ... -> FacilityInfo -> ... -> MultimediaDescription -> ... -> Description
|
|
|
|
|
|
**************************************************************************************************
|
|
https://gitlab.com/alpinebits/developers-kit/issues/5
|
|
"Booking push functionality"
|
|
|
|
042 - GuestRequests:
|
|
|
|
added HotelCode and HotelName attributes to BasicPropertyInfo element
|
|
(this is needed to share the HotelReservation-sub-schema for
|
|
"GuestRequests" and "GuestRequests (Push)")
|
|
|
|
added new root nodes OTA_HotelResNotifRQ/OTA_HotelResNotifRS for
|
|
"GuestRequests (Push)" messages with a shared HotelReservation-sub-schema
|
|
|
|
|
|
**************************************************************************************************
|
|
https://gitlab.com/alpinebits/developers-kit/issues/8
|
|
"Extension with new room types"
|
|
|
|
042 - GuestRequests:
|
|
OTA_ResRetrieveRS -> ... -> HotelReservation > RoomStays > RoomStay > RoomTypes > RoomType {1}
|
|
|
|
and
|
|
|
|
044 - Inventory/*:
|
|
group name="def_hoteldescriptivecontents" -> ... -> GuestRoom -> TypeRoom
|
|
|
|
=> Added optional RoomType attribute with possible values 1, 2, 3, 4, 5, 6, 7, 8, 9.
|
|
|
|
|
|
**************************************************************************************************
|
|
https://gitlab.com/alpinebits/developers-kit/issues/10
|
|
"Hotel ID transmission"
|
|
|
|
044 - Inventory/*
|
|
group name="def_hoteldescriptivecontents" -> ... -> ContactInfos
|
|
|
|
=> defined (narrowed down) the content of the ContactInfos element
|
|
|
|
|
|
**************************************************************************************************
|
|
https://gitlab.com/alpinebits/developers-kit/issues/4
|
|
"Handshaking review"
|
|
|
|
03 - Handshake
|
|
|
|
=> added new root elements OTA_PingRQ and OTA_PingRS
|
|
|
|
|
|
v. 2017-10 1.1 - RatePlans: RatePlans > RatePlan > Offers: allow only MinLOS and MaxLOS attributes (not the forward ones too)
|
|
|
|
v. 2017-10 1.0 - FreeRooms: OTA_HotelAvailNotifRQ -> UniqueID (added allowed value to attribute Type, by Luca Rainone)
|
|
FreeRooms: OTA_HotelAvailNotifRQ -> AvailStatusMessages -> ... -> StatusApplicationControl (added new mandatory attribute BookingThreshold)
|
|
|
|
GuestRequests: OTA_ResRetrieveRS -> ReservationsList -> ... -> RatePlan (added element Commission)
|
|
GuestRequests: OTA_ResRetrieveRS -> ReservationsList -> ... -> CardNumber (added attributes EncryptedValue and EncryptionMethod)
|
|
GuestRequests: OTA_ResRetrieveRS -> ReservationsList -> ... -> RoomStay > RoomTypes (made optional)
|
|
|
|
SimplePackages section removed
|
|
|
|
Inventory has become Inventory/Basic (Push) and Inventory/HotelInfo (Push):
|
|
OTA_HotelDescriptiveContentNotifRQ (major changes, one being that empty GuestRooms elements are now allowed by Luca Rainone)
|
|
|
|
Inventory/Basic (Pull) and Inventory/HotelInfo (Pull) added
|
|
|
|
RatePlans: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> BookingRules -> ... -> LengthOfStay (added allowed values to attribute MinMaxMessageType)
|
|
RatePlans: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> Supplements -> Supplement (added element PrerequisiteInventory)
|
|
RatePlans: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> Supplements -> Supplement -> Description (major changes)
|
|
RatePlans: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> Offers -> Offer (major changes)
|
|
RatePlans: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> Description (major changes)
|
|
RatePlans: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> ... -> BaseByGuestAmt (NumberOfGuests and Type are optional now to allow static rates)
|
|
|
|
BaseRates section added
|
|
|
|
v. 2015-07b 1.4 - weaken the schema for Inventory (to prepare for upcoming release that will support Inventory deltas):
|
|
|
|
- the RoomAmenityCode attribute becomes optional to allow empty Amenity elements
|
|
- the MultimediaDescription element can be empty
|
|
|
|
v. 2015-07b 1.3 - RatePlans > RatePlan > Description > TextFormat can now also be "HTML" (besides "PlainText")
|
|
|
|
v. 2015-07b 1.2 - added optional attributes RatePlanID and RatePlanQualifier to RatePlan
|
|
for the new OTA_HotelRatePlanNotif_accept_RatePlanJoin capability
|
|
|
|
v. 2015-07b 1.1 - added def_invTypeCode_string type (string with up to 8 chars) used for the following attributes that identify room categories:
|
|
|
|
FreeRooms: OTA_HotelAvailNotifRQ -> AvailStatusMessages -> AvailStatusMessage -> StatusApplicationControl -> InvTypeCode
|
|
GuestRequests: OTA_ResRetrieveRS -> ReservationList -> HotelReservation -> RoomStays -> RoomStay -> RoomTypes > RoomType -> RoomTypeCode
|
|
Inventory: OTA_HotelDescriptiveContentNotifRQ -> HotelDescriptiveContents -> HotelDescriptiveContent -> FacilityInfo -> GuestRooms -> GuestRoom -> Code
|
|
RatePlan: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> BookingRules -> BookingRule -> Code
|
|
RatePlan: OTA_HotelRatePlanNotifRQ -> RatePlans -> RatePlan -> Rates -> Rate -> InvTypeCode
|
|
|
|
(derived from Lukas Braun's pull request)
|
|
|
|
v. 2015-07b 1.0 - RatePlans > RatePlan > Rates > Rate > BaseByGuestAmts > AmountAfterTax
|
|
must be > 0.0 (was: >= 0.0)
|
|
|
|
v. 2015-07 2.9 - Inventory: added a missing maxOccurs="unbounded" to the ImageItem
|
|
|
|
v. 2015-07 2.8 - Inventory: reconciled with the definitions given in the updated document
|
|
|
|
v. 2015-07 2.7 - changes to Inventory: removed the old Inventory, added MaxChildOccupancy to GuestRoom,
|
|
made some of the attributes mandatory, formating changes
|
|
|
|
v. 2015-07 2.6 - made sub-elements of HotelReservation > ... > Customer > Address {0,1} optional
|
|
|
|
v. 2015-07 2.5 - added a choice of 'Modify' for ResStatus
|
|
|
|
v. 2015-07 2.4 - added MinCount attribute to Offer>>Guest
|
|
|
|
v. 2015-07 2.3 - changes to Supplement: a few attributes are removed and many attributes are made optional
|
|
|
|
v. 2015-07 2.2 - RatePlans/Supplements: changed format of description
|
|
|
|
v. 2015-07 2.1 - GuestRequests: ResGuests >> Customer: attributes Gender and Language are now optional
|
|
|
|
v. 2015-07 2.0 - allow Warnings in OTA_NotifReportRQ messages
|
|
|
|
v. 2015-07 1.9 - GuestRequests: use CardNumber -> PlainText instead of the Remark attribute of
|
|
PaymentCard under Guarantee; add BasicPropertyInfo element at the end of the
|
|
ResGlobalInfo block for OTA-2015A compatiblity
|
|
|
|
v. 2015-07 1.8 - added section for New Inventory (exact name pending)
|
|
|
|
v. 2015-07 1.7 - allowed more than one HotelReservationID
|
|
|
|
v. 2015-07 1.6 - RatePlans: allow optional PrerequisiteInventory element under Supplement element
|
|
|
|
v. 2015-07 1.5 - Inventory: removed Amenities and added optional Room -> RoomTypeCode
|
|
|
|
v. 2015-07 1.4 - HotelReservationID -> ResID_Type is not limited to 13 anymore
|
|
|
|
v. 2015-07 1.3 - new section in RoomStays: Guarantee -> GuaranteesAccepted -> GuaranteeAccepted -> PaymentCard
|
|
|
|
v. 2015-07 1.2 - new section in ResGlobalInfo: Profiles -> ProfileInfo -> Profile -> CompanyInfo
|
|
|
|
v. 2015-07 1.1 - HotelReservation > RoomStays > RoomStay > RoomTypes > RoomType is now
|
|
mandatory and has a new optional attribute RoomClassificationCode
|
|
|
|
v. 2015-07 1.0 - OTA_NotifReportRS besides Success, now also allows Error responses
|
|
|
|
v. 2014-04 1.6 - [fixed] InvCode attribute in Supplement changed from def_int_ge0 to def_nonempty_string
|
|
|
|
v. 2014-04 1.5 - [strictness improvement] made NumberOfGuests attribute mandatory
|
|
|
|
v. 2014-04 1.4 - [fixed] RatePlans: optional Rate attributes RateTimeUnit and UnitMultiplier added
|
|
|
|
v. 2014-04 1.3 - [fixed] GuestRequests: ReservationsList can be empy
|
|
|
|
v. 2014-04 1.2 - follow-up to fix 1.1 that allowed empty AvailStatusMessages elements too
|
|
(reverted)
|
|
|
|
v. 2014-04 1.1 - empty AvailStatusMessage elements in FreeRooms now allowed
|
|
(see https://groups.google.com/d/msg/alpinebits/B-orBE9eJCk/rKyIYbNBFNoJ )
|
|
- Version and TimeStamp also added to OTA_NotifReportRS
|
|
(see https://groups.google.com/d/msg/alpinebits/jwaPC3XAafo/yDDYCkpNPYEJ )
|
|
|
|
v. 2014-04 1.0 - major rewrite for 2014-04
|
|
|
|
previous changelogs:
|
|
|
|
v. 2013-04 1.0 - the XML schema is now flattened into this single file;
|
|
some improvements by Martin;
|
|
added optional RatePlanCode attribute to RatePlan;
|
|
removed restrictions on the form of the ID attribute in UniqueID
|
|
|
|
W3C XML Schema for OTA_HotelAvailNotifRQ:
|
|
v. 2013-04 1.0 - added MessageContentCode attribute for delta messages
|
|
v. 2012-05 1.2 - changed Thu -> Thur and Wed -> Weds for OTA compatibility
|
|
v. 2012-05 1.1 - added optional TimeStamp attribute for OTA_HotelAvailNotifRQ to be compatible with AlpineBits 2011-11 documents
|
|
v. 2012-05 1.0
|
|
|
|
W3C XML Schema for OTA_HotelAvailNotifRS:
|
|
v. 2013-04 1.0 - added warnings
|
|
v. 2012-05 1.0
|
|
|
|
W3C XML Schema for OTA_ReadRQ:
|
|
v. 2012-05 1.0
|
|
|
|
W3C XML Schema for OTA_ResRetrieveRS:
|
|
v. 2013-04 1.0 - simplified the definition of GuestCounts for XSD conformance,
|
|
moved UniqueID and RatePlans elements to common to support schema flattening
|
|
v. 2012-05 1.0
|
|
|
|
W3C XML Schema for OTA_HotelRatePlanNotifRQ:
|
|
v. 2013-04 1.0 - removed def_plaintext and simplified def_rate_plan to fix an issue with the parsing of the schema,
|
|
moved UniqueID and RatePlans elements to common
|
|
v. 2012-05 1.2 - changed Thu -> Thur and Wed -> Weds for OTA compatibility
|
|
v. 2012-05 1.0
|
|
|
|
W3C XML Schema for OTA_HotelRatePlanNotifRS:
|
|
v. 2013-04 1.0 - added warnings
|
|
v. 2012-05 1.0
|
|
-->
|
|
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
elementFormDefault="qualified"
|
|
targetNamespace="http://www.opentravel.org/OTA/2003/05"
|
|
xmlns="http://www.opentravel.org/OTA/2003/05">
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * Handshake -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- Handshake: OTA_PingRQ -->
|
|
|
|
<xs:element name="OTA_PingRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="EchoData" type="def_nonempty_string"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Handshake: OTA_PingRS -->
|
|
|
|
<xs:element name="OTA_PingRS">
|
|
<xs:complexType>
|
|
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors -->
|
|
|
|
<xs:sequence>
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_gt0"/>
|
|
<xs:attribute name="Status">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ALPINEBITS_HANDSHAKE"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<!-- choice: Success + Warnings + EchoData -->
|
|
|
|
<xs:sequence>
|
|
<xs:element name="Success"/>
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="Status">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ALPINEBITS_HANDSHAKE"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="EchoData" type="def_nonempty_string"/>
|
|
</xs:sequence>
|
|
|
|
</xs:choice>
|
|
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * Activities -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- Activities: OTA_HotelPostEventNotifRQ -->
|
|
|
|
<xs:element name="OTA_HotelPostEventNotifRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="EventReports">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="EventReport" maxOccurs="99">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- EventSites -->
|
|
<xs:element name="EventSites">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="EventSite">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Event_ID">
|
|
<xs:complexType>
|
|
<xs:attribute name="ID" type="StringLength1to32" use="required"/>
|
|
<xs:attribute name="ID_Context" type="StringLength1to32" use="required"/>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="18"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="HotelCode" use="required" type="def_one_to_sixteen_chars_string"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- GeneralEventInfo -->
|
|
<xs:element name="GeneralEventInfo">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="EventContacts" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="EventContact" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PersonName" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GivenName" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="StringLength1to64"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Surname">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="StringLength1to64"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="URL" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Image"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="EmployeeInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="EmployeeId">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="16"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Role" type="StringLength1to32"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AttendeeInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="TotalQuantity" use="required" type="def_int_ge0"/>
|
|
<xs:attribute name="PreRegisteredQuantity" use="required" type="def_int_ge0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Dates" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<!-- LatestDate/Start/End are dates or datetimes, but we cannot make a choice between the two,
|
|
because XSD would need Elements to be different to distinguish the cases. -->
|
|
<xs:element name="Date" maxOccurs="99">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="EndDateWindow" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="LatestDate" use="required" type="DateOrDateTimeType"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="LocationCategories" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Location" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="AreaID" use="required" type="NumericStringLength1to8"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Category" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Start" use="required" type="DateOrTimeOrDateTimeType"/>
|
|
<xs:attribute name="End" type="DateOrTimeOrDateTimeType"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Comments" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Comment" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="Language">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Image" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Title"/>
|
|
<xs:enumeration value="Category"/>
|
|
<xs:enumeration value="Gallery"/>
|
|
<xs:enumeration value="Description"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Type" type="def_nonempty_string"/>
|
|
<xs:attribute name="URL" type="def_url_string"/>
|
|
<xs:attribute name="Acronym" type="StringLength1to32"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Activities: OTA_HotelPostEventNotifRS -->
|
|
|
|
<xs:element name="OTA_HotelPostEventNotifRS">
|
|
<xs:complexType>
|
|
<xs:group ref="def_generic_response"/>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * FreeRooms -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- FreeRooms: OTA_HotelInvCountNotifRQ -->
|
|
|
|
<xs:element name="OTA_HotelInvCountNotifRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- UniqueID {0,1} -->
|
|
|
|
<xs:element name="UniqueID" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="16"/>
|
|
<xs:enumeration value="35"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ID" use="required" type="xs:string"/> <!-- an ID is required by OTA, we ignore the value -->
|
|
<xs:attribute name="Instance" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="CompleteSet"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Inventories {1} -->
|
|
|
|
<xs:element name="Inventories">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Inventories > Inventory (1,} -->
|
|
|
|
<xs:element name="Inventory" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
|
|
<!-- Inventories > Inventory > StatusApplicationControl {0,1} -->
|
|
|
|
<xs:sequence>
|
|
<xs:element name="StatusApplicationControl" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Start" use="required" type="def_date"/>
|
|
<xs:attribute name="End" use="required" type="def_date"/>
|
|
<xs:attribute name="InvTypeCode" type="def_invTypeCode_string"/>
|
|
<xs:attribute name="InvCode" type="StringLength1to16"/>
|
|
<xs:attribute name="AllInvCode" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="InvCounts" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="InvCount" maxOccurs="3">
|
|
<xs:complexType>
|
|
<xs:attribute name="CountType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="2"/>
|
|
<xs:enumeration value="6"/>
|
|
<xs:enumeration value="9"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Count" use="required" type="def_int_ge0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- FreeRooms: OTA_HotelInvCountNotifRS -->
|
|
|
|
<xs:element name="OTA_HotelInvCountNotifRS">
|
|
<xs:complexType>
|
|
<xs:group ref="def_generic_response"/>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * GuestRequests -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- GuestRequests (push): OTA_HotelResNotifRQ -->
|
|
|
|
<xs:element name="OTA_HotelResNotifRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="HotelReservations">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:group ref="def_hotelreservation"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- GuestRequests (push): OTA_HotelResNotifRS -->
|
|
|
|
<xs:element name="OTA_HotelResNotifRS">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors {1} -->
|
|
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Errors > Error {1,} -->
|
|
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_ge0"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- choice: Success {1} + Warnings {0,1} + HotelReservations {1} -->
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="Code" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="RecordID" use="required" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="HotelReservations">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelReservation" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="UniqueID">
|
|
<xs:complexType>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="14"/>
|
|
<xs:enumeration value="15"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ID" use="required" type="StringLength1to32"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
</xs:choice>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- GuestRequests: OTA_ReadRQ -->
|
|
|
|
<xs:element name="OTA_ReadRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="ReadRequests">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelReadRequest">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="SelectionCriteria" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Start" use="required" type="def_datetime"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- GuestRequests: OTA_ResRetrieveRS -->
|
|
|
|
<xs:element name="OTA_ResRetrieveRS">
|
|
<xs:complexType>
|
|
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors {1} -->
|
|
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Errors > Error {1,} -->
|
|
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_ge0"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- choice: Success {1} + Warnings {0,1} + ReservationsList {1} -->
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Warnings > Warning {1,} -->
|
|
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="Code" type="def_int_ge0"/>
|
|
<xs:attribute name="RecordID" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="ReservationsList">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:group ref="def_hotelreservation"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:choice>
|
|
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- GuestRequests: OTA_NotifReportRQ -->
|
|
|
|
<xs:element name="OTA_NotifReportRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="Code" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="RecordID" use="required" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="NotifDetails" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelNotifReport">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelReservations">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelReservation" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="UniqueID">
|
|
<xs:complexType>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="14"/>
|
|
<xs:enumeration value="15"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ID" use="required" type="StringLength1to32"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- GuestRequests: OTA_NotifReportRS -->
|
|
|
|
<xs:element name="OTA_NotifReportRS">
|
|
<xs:complexType>
|
|
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors {1} -->
|
|
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Errors > Error {1,} -->
|
|
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_ge0"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- choice: Success {1}, Warnings{0,} -->
|
|
|
|
<xs:sequence>
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Warnings > Warning {1,} -->
|
|
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="RecordID" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
|
|
|
|
</xs:choice>
|
|
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * Inventory/Basic (Push) and Inventory/HotelInfo (Push) -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- Inventory: OTA_HotelDescriptiveContentNotifRQ -->
|
|
|
|
<xs:element name="OTA_HotelDescriptiveContentNotifRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:group ref="def_hoteldescriptivecontents"/>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Inventory: OTA_HotelDescriptiveContentNotifRS -->
|
|
|
|
<xs:element name="OTA_HotelDescriptiveContentNotifRS">
|
|
<xs:complexType>
|
|
<xs:group ref="def_generic_response"/>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * Inventory/Basic (Pull) and Inventory/HotelInfo (Pull) -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- Inventory: OTA_HotelDescriptiveInfoRQ -->
|
|
|
|
<xs:element name="OTA_HotelDescriptiveInfoRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelDescriptiveInfos">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelDescriptiveInfo">
|
|
<xs:complexType>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Inventory: OTA_HotelDescriptiveInfoRS -->
|
|
|
|
<xs:element name="OTA_HotelDescriptiveInfoRS">
|
|
<xs:complexType>
|
|
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors {1} -->
|
|
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Errors > Error {1,} -->
|
|
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_ge0"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- choice: Success {1} + Warnings {0, } + HotelDescriptiveContents {1} -->
|
|
|
|
<xs:sequence>
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Warnings > Warning {1,} -->
|
|
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="RecordID" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:group ref="def_hoteldescriptivecontents"/>
|
|
</xs:sequence>
|
|
|
|
</xs:choice>
|
|
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * RatePlans -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- RatePlans: OTA_HotelRatePlanNotifRQ -->
|
|
|
|
<xs:element name="OTA_HotelRatePlanNotifRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- UniqueID {0,1} -->
|
|
|
|
<xs:element name="UniqueID" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="16"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ID" use="required" type="xs:string"/> <!-- an ID is required by OTA, we ignore the value -->
|
|
<xs:attribute name="Instance" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="CompleteSet"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- RatePlans {1} -->
|
|
|
|
<xs:group ref="def_rateplans"/>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- RatePlans: OTA_HotelRatePlanNotifRS -->
|
|
|
|
<xs:element name="OTA_HotelRatePlanNotifRS">
|
|
<xs:complexType>
|
|
<xs:group ref="def_generic_response"/>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * BaseRates -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- BaseRates: OTA_HotelRatePlanRQ -->
|
|
|
|
<xs:element name="OTA_HotelRatePlanRQ">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- RatePlans {1} -->
|
|
|
|
<xs:element name="RatePlans">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- RatePlans > RatePlan {1} -->
|
|
|
|
<xs:element name="RatePlan">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:choice maxOccurs="unbounded">
|
|
|
|
<xs:element name="DateRange">
|
|
<xs:complexType>
|
|
<xs:attribute name="Start" type="def_date"/>
|
|
<xs:attribute name="End" type="def_date"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="RatePlanCandidates">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="RatePlanCandidate" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="RatePlanCode" type="StringLength1to64"/>
|
|
<xs:attribute name="RatePlanID" type="StringLength1to64"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="HotelRef">
|
|
<xs:complexType>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:choice>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- BaseRates: OTA_HotelRatePlanRS -->
|
|
|
|
<xs:element name="OTA_HotelRatePlanRS">
|
|
<xs:complexType>
|
|
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors {1} -->
|
|
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Errors > Error {1,} -->
|
|
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_ge0"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- choice: Success {1} + Warnings {0, } + RatePlans {1} -->
|
|
|
|
<xs:sequence>
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Warnings > Warning {1,} -->
|
|
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="RecordID" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:group ref="def_rateplans"/>
|
|
</xs:sequence>
|
|
|
|
</xs:choice>
|
|
<xs:attribute name="Version" use="required"/>
|
|
<xs:attribute name="TimeStamp"/>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * common definition of HotelReservation used in GuestRequests -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<xs:group name="def_hotelreservation">
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation {0,} -->
|
|
|
|
<xs:element name="HotelReservation" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > UniqueID {1} -->
|
|
|
|
<xs:element name="UniqueID">
|
|
<xs:complexType>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="14"/>
|
|
<xs:enumeration value="15"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ID" use="required" type="StringLength1to32"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays {0,1} -->
|
|
|
|
<xs:element name="RoomStays" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay {1,} -->
|
|
|
|
<xs:element name="RoomStay" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomTypes {0,1} -->
|
|
|
|
<xs:element name="RoomTypes" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomTypes > RoomType {1} -->
|
|
|
|
<xs:element name="RoomType">
|
|
<xs:complexType>
|
|
<xs:attribute name="RoomTypeCode" type="def_invTypeCode_string"/>
|
|
<xs:attribute name="RoomClassificationCode" type="def_int_ge0"/>
|
|
<xs:attribute name="RoomType">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="2"/>
|
|
<xs:enumeration value="3"/>
|
|
<xs:enumeration value="4"/>
|
|
<xs:enumeration value="5"/>
|
|
<xs:enumeration value="6"/>
|
|
<xs:enumeration value="7"/>
|
|
<xs:enumeration value="8"/>
|
|
<xs:enumeration value="9"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RatePlans {0,1} -->
|
|
|
|
<xs:element name="RatePlans" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RatePlans > RatePlan {1} -->
|
|
|
|
<xs:element name="RatePlan">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RatePlans > RatePlan > Commission {0,1} -->
|
|
|
|
<xs:element name="Commission" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CommissionPayableAmount" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Amount" type="def_decimal_ge0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Percent" type="def_int_ge0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RatePlans > RatePlan > MealsIncluded {0,1} -->
|
|
|
|
<xs:element name="MealsIncluded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="MealPlanIndicator" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="true"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="MealPlanCodes" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="3"/>
|
|
<xs:enumeration value="10"/>
|
|
<xs:enumeration value="12"/>
|
|
<xs:enumeration value="14"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="RatePlanCode" type="StringLength1to64"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomRates {0,1} -->
|
|
|
|
<xs:element name="RoomRates" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomRates > RoomRate {1} -->
|
|
|
|
<xs:element name="RoomRate">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomRates > RoomRate > Rates {1} -->
|
|
|
|
<xs:element name="Rates" minOccurs="1">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomRates > RoomRate > Rates > Rate {1,} -->
|
|
|
|
<xs:element name="Rate" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > RoomRates > RoomRate > Rates > Rate > Base {1} -->
|
|
|
|
<xs:element name="Base" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="AmountAfterTax" type="def_decimal_gt0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="EffectiveDate" use="required" type="def_date"/>
|
|
<xs:attribute name="ExpireDate" type="def_date"/>
|
|
<xs:attribute name="ExpireDateExclusiveInd" type="def_bool"/>
|
|
<xs:attribute name="RateTimeUnit">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Day"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="UnitMultiplier" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="RatePlanCode" use="required" type="StringLength1to64"/>
|
|
<xs:attribute name="RoomTypeCode" use="required" type="def_invTypeCode_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > GuestCounts {0,1} -->
|
|
|
|
<xs:element name="GuestCounts" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > GuestCounts > GuestCount {1,} -->
|
|
|
|
<xs:element name="GuestCount" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="Count" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="Age" type="def_int_ge0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > TimeSpan {1} -->
|
|
|
|
<xs:element name="TimeSpan">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > TimeSpan > StartDateWindow {0,1} -->
|
|
|
|
<xs:element name="StartDateWindow" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="EarliestDate" use="required" type="def_date"/>
|
|
<xs:attribute name="LatestDate" use="required" type="def_date"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Start" type="def_date"/>
|
|
<xs:attribute name="End" type="def_date"/>
|
|
<xs:attribute name="Duration">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="P[0-9]+N"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > Guarantee {0,1} -->
|
|
|
|
<xs:element name="Guarantee" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GuaranteesAccepted">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GuaranteeAccepted">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="PaymentCard">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CardHolderName" type="StringLength1to64"/>
|
|
|
|
<xs:element name="CardNumber">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PlainText" type="def_nonempty_string" minOccurs="0"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="EncryptedValue" type="def_nonempty_string"/>
|
|
<xs:attribute name="EncryptionMethod" type="def_nonempty_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="CardCode" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[A-Z][A-Z]?"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ExpireDate" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9][0-9][0-9][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > Total {0,1} -->
|
|
|
|
<xs:element name="Total" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="AmountAfterTax" use="required" type="def_decimal_ge0"/>
|
|
<xs:attribute name="CurrencyCode" use="required" type="def_three_char_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > RoomStays > RoomStay > ServiceRPHs {0,1} -->
|
|
<xs:element name="ServiceRPHs" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ServiceRPH" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="RPH" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9]{1,8}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="RoomStayGroupID" type="StringLength1to32"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > Services {0,1} -->
|
|
|
|
<xs:element name="Services" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > Services > Service {1,} -->
|
|
|
|
<xs:element name="Service" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ServiceDetails" minOccurs="1">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GuestCounts" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GuestCount" maxOccurs="99">
|
|
<xs:complexType>
|
|
<xs:attribute name="Age" type="def_int_gt0"/>
|
|
<xs:attribute name="Count" type="def_int_gt0" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="TimeSpan" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Start" type="def_datetime" use="required"/>
|
|
<xs:attribute name="End" type="def_datetime"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Comments" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Comment">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Total">
|
|
<xs:complexType>
|
|
<xs:attribute name="AmountAfterTax" use="required" type="def_decimal_ge0"/>
|
|
<xs:attribute name="CurrencyCode" use="required" type="def_three_char_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="ServiceDescription" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" minOccurs="1">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="ID" use="required" type="def_one_to_thirty_two_chars_string"/>
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="16"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ServiceCategoryCode" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="BOARD"/>
|
|
<xs:enumeration value="SUPPLEMENT"/>
|
|
<xs:enumeration value="SPA"/>
|
|
<xs:enumeration value="FOOD"/>
|
|
<xs:enumeration value="BEVERAGE"/>
|
|
<xs:enumeration value="ACTIVITY"/>
|
|
<xs:enumeration value="TOURISTTAX"/>
|
|
<xs:enumeration value="TRANSFER"/>
|
|
<xs:enumeration value="OTHER"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ServiceInventoryCode" type="def_one_to_sixteen_chars_string" use="required"/>
|
|
<xs:attribute name="ServiceRPH">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9]{1,8}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ServicePricingType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Per night"/>
|
|
<xs:enumeration value="Per person"/>
|
|
<xs:enumeration value="Per person per night"/>
|
|
<xs:enumeration value="Per stay"/>
|
|
<xs:enumeration value="Per use"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Inclusive" type="xs:boolean" use="required"/>
|
|
<xs:attribute name="Quantity" type="def_int_gt0" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGuests {0, 1} -->
|
|
|
|
<xs:element name="ResGuests" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ResGuest">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Profiles">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ProfileInfo">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Profile">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > ... > Customer {1} -->
|
|
|
|
<xs:element name="Customer">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > ... > Customer > PersonName {1} -->
|
|
|
|
<xs:element name="PersonName">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="NamePrefix" minOccurs="0" type="StringLength1to16"/>
|
|
<xs:element name="GivenName" type="StringLength1to64"/>
|
|
<xs:element name="Surname" type="StringLength1to64"/>
|
|
<xs:element name="NameTitle" minOccurs="0" type="StringLength1to16"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ... > Customer > Telephone {0,} -->
|
|
|
|
<xs:element name="Telephone" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="PhoneTechType">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(1|3|5)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="PhoneNumber" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="\+?[0-9]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ... > Customer > Email {0,1} -->
|
|
|
|
<xs:element name="Email" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_email_string">
|
|
<xs:attribute name="Remark">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="newsletter:(no|yes)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ... > Customer > Address {0,1} -->
|
|
|
|
<xs:element name="Address" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AddressLine" type="StringLength1to255" minOccurs="0"/>
|
|
<xs:element name="CityName" type="StringLength1to64" minOccurs="0"/>
|
|
<xs:element name="PostalCode" type="StringLength1to16" minOccurs="0"/>
|
|
<xs:element name="CountryName" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Code" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[A-Z][A-Z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Remark">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="catalog:(no|yes)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Gender">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(Unknown|Male|Female)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="BirthDate" type="def_date"/>
|
|
<xs:attribute name="Language">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo {0,1} -->
|
|
|
|
<xs:element name="ResGlobalInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > Comments {0,1} -->
|
|
|
|
<xs:element name="Comments" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > Comment {1,2} -->
|
|
|
|
<xs:element name="Comment" maxOccurs="3">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:choice>
|
|
|
|
<xs:element name="ListItem" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="ListItem" use="required" type="def_int_ge0"/>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Text" minOccurs="0" type="def_nonempty_string"/>
|
|
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="included services"/>
|
|
<xs:enumeration value="customer comment"/>
|
|
<xs:enumeration value="additional info"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > SpecialRequests {0,1} -->
|
|
|
|
<xs:element name="SpecialRequests" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="SpecialRequest" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="RequestCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="CodeContext" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ALPINEBITS"/>
|
|
<xs:enumeration value="HOTEL"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > DepositPayments {0,1} -->
|
|
|
|
<xs:element name="DepositPayments" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GuaranteePayment" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AcceptedPayments">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AcceptedPayment">
|
|
<xs:complexType>
|
|
<xs:choice>
|
|
<xs:element name="PaymentCard" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CardHolderName" type="StringLength1to64"
|
|
minOccurs="0"/>
|
|
<xs:element name="CardNumber" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Mask">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9a-zA-Z]{1,32}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Token">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9a-zA-Z]{1,32}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="TokenProviderID" type="def_nonempty_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="CardCode">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[A-Z]{1,2}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ExpireDate">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(0[1-9]|1[0-2])[0-9][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="BankAcct" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="BankAcctName" type="StringLength1to64"
|
|
minOccurs="0"/>
|
|
<xs:element name="BankAcctNumber">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PlainText" type="NumericStringLength1to19"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="Mask">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9a-zA-Z]{1,32}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Voucher" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="ElectronicIndicator" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean">
|
|
<xs:pattern value="1|true"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Identifier" type="StringLength1to64" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:attribute name="GuaranteeTypeCode"/>
|
|
<xs:attribute name="GuaranteeID"/>
|
|
<xs:attribute name="PaymentTransactionTypeCode"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AmountPercent" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Amount" use="required" type="def_decimal_gt0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Start"/>
|
|
<xs:attribute name="GuaranteeCode"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > CancelPenalties {0,1} -->
|
|
|
|
<xs:element name="CancelPenalties" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CancelPenalty">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PenaltyDescription">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" type="def_nonempty_string"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > HotelReservationIDs {0,1} -->
|
|
|
|
<xs:element name="HotelReservationIDs" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="HotelReservationID" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="ResID_Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="ResID_Value" type="StringLength1to64"/>
|
|
<xs:attribute name="ResID_Source" type="StringLength1to64"/>
|
|
<xs:attribute name="ResID_SourceContext" type="StringLength1to64"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelReservation > ResGlobalInfo > Profiles {0,1} -->
|
|
|
|
<xs:element name="Profiles" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ProfileInfo">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Profile">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CompanyInfo">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="CompanyName">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="Code" use="required" type="def_nonempty_string"/>
|
|
<xs:attribute name="CodeContext" use="required" type="def_nonempty_string"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="AddressInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AddressLine" type="StringLength1to255"/>
|
|
<xs:element name="CityName" type="StringLength1to64"/>
|
|
<xs:element name="PostalCode" type="StringLength1to16"/>
|
|
<xs:element name="CountryName">
|
|
<xs:complexType>
|
|
<xs:attribute name="Code" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[A-Z][A-Z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="TelephoneInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="PhoneTechType">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(1|3|5)"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="PhoneNumber" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="\+?[0-9]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Email" minOccurs="0" type="def_nonempty_string"/>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="ProfileType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="4"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="BasicPropertyInfo">
|
|
<xs:complexType>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="CreateDateTime" use="required" type="def_datetime"/>
|
|
<xs:attribute name="LastModifyDateTime" type="def_datetime"/>
|
|
<xs:attribute name="ResStatus" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Requested"/>
|
|
<xs:enumeration value="Reserved"/>
|
|
<xs:enumeration value="Cancelled"/>
|
|
<xs:enumeration value="Modify"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="RoomStayReservation" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:group>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * common definition for HotelDescriptiveContents element as used -->
|
|
<!-- * in the Inventory types Inventory/HotelInfo (Push) and Inventory/Basic (Push) -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<xs:group name="def_hoteldescriptivecontents">
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelDescriptiveContents">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="HotelDescriptiveContent">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelInfo (Inventory/HotelInfo (push)) -->
|
|
<xs:element name="HotelInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- HotelInfo > CategoryCodes -->
|
|
<xs:element name="CategoryCodes" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="HotelCategory">
|
|
<xs:complexType>
|
|
<xs:attribute name="Code" type="def_nonempty_string"/>
|
|
<xs:attribute name="CodeDetail" use="required" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelInfo > Descriptions -->
|
|
<xs:element name="Descriptions" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="MultimediaDescriptions">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="MultimediaDescription" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:choice>
|
|
<xs:element name="TextItems" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="TextItem" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Description" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="SourceID" type="StringLength1to32"/>
|
|
<xs:attribute name="CopyrightNotice" type="StringLength1to64"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="ImageItems" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ImageItem" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ImageFormat">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="URL" type="def_url_string"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="CopyrightNotice" type="StringLength1to64" />
|
|
<xs:attribute name="SourceID" type="StringLength1to32"/>
|
|
<xs:attribute name="Title" type="StringLength1to64"/>
|
|
<xs:attribute name="ApplicableStart">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="--[0-1][0-9]-[0-3][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ApplicableEnd">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="--[0-1][0-9]-[0-3][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Description" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Category" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="def_int_gt0">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="2"/>
|
|
<xs:enumeration value="4"/>
|
|
<xs:enumeration value="12"/>
|
|
<xs:enumeration value="15"/>
|
|
<xs:enumeration value="22"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="VideoItems" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="VideoItem" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="VideoFormat">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="URL" type="def_url_string"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="CopyrightNotice" type="StringLength1to64" />
|
|
<xs:attribute name="SourceID" type="StringLength1to32"/>
|
|
<xs:attribute name="Title" type="StringLength1to64"/>
|
|
<xs:attribute name="ApplicableStart">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-1][0-9]-[0-3][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Description" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Category" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="def_int_gt0">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="2"/>
|
|
<xs:enumeration value="4"/>
|
|
<xs:enumeration value="12"/>
|
|
<xs:enumeration value="20"/>
|
|
<xs:enumeration value="22"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:attribute name="InfoCode">
|
|
<xs:simpleType>
|
|
<xs:restriction base="def_int_gt0">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="17"/>
|
|
<xs:enumeration value="23"/>
|
|
<xs:enumeration value="24"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelInfo > Position -->
|
|
<xs:element name="Position" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Altitude" type="xs:decimal"/>
|
|
<xs:attribute name="AltitudeUnitOfMeasureCode">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Latitude" type="xs:decimal"/>
|
|
<xs:attribute name="Longitude" type="xs:decimal"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- HotelInfo > Services -->
|
|
<xs:element name="Services" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Service" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Features" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Feature" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="AccessibleCode" use="required" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Code" use="required" type="def_alpinebits_code"/>
|
|
<xs:attribute name="MealPlanCode">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="12"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ProximityCode" type="def_int_gt0"/>
|
|
<xs:attribute name="Included" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="HotelStatusCode" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- FacilityInfo (Inventory/Basic (push)) -->
|
|
<xs:element name="FacilityInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="GuestRooms">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="GuestRoom" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="TypeRoom">
|
|
<xs:complexType>
|
|
<xs:attribute name="StandardOccupancy" type="def_int_gt0"/>
|
|
<xs:attribute name="RoomClassificationCode" type="def_int_ge0"/>
|
|
<xs:attribute name="RoomID" type="StringLength1to16"/>
|
|
<xs:attribute name="Size" type="def_int_ge0"/>
|
|
<xs:attribute name="RoomType">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="2"/>
|
|
<xs:enumeration value="3"/>
|
|
<xs:enumeration value="4"/>
|
|
<xs:enumeration value="5"/>
|
|
<xs:enumeration value="6"/>
|
|
<xs:enumeration value="7"/>
|
|
<xs:enumeration value="8"/>
|
|
<xs:enumeration value="9"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Amenities" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Amenity" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="RoomAmenityCode" type="def_alpinebits_code"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="MultimediaDescriptions" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="MultimediaDescription" maxOccurs="unbounded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:choice>
|
|
|
|
<xs:element name="TextItems" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="TextItem">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Description" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="ImageItems" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="ImageItem" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="ImageFormat">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="URL" type="def_url_string"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="CopyrightNotice" type="StringLength1to64" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Description" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Category" use="required" type="def_int_gt0" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:choice>
|
|
<xs:attribute name="InfoCode">
|
|
<xs:simpleType>
|
|
<xs:restriction base="def_int_gt0">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="23"/>
|
|
<xs:enumeration value="25"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Code" use="required" type="def_invTypeCode_string"/>
|
|
<xs:attribute name="MaxOccupancy" type="def_int_gt0"/>
|
|
<xs:attribute name="MinOccupancy" type="def_int_gt0"/>
|
|
<xs:attribute name="MaxChildOccupancy" type="def_int_gt0"/>
|
|
<xs:attribute name="ID" type="def_invTypeCode_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- Policies (Inventory/HotelInfo (push)) -->
|
|
<xs:element name="Policies" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Policy" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="CancelPolicy" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CancelPenalty">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PenaltyDescription">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="CheckoutCharges" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CheckoutCharge">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Description">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Amount" type="def_decimal_ge0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
<xs:attribute name="DecimalPlaces" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="PetsPolicies" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PetsPolicy">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Description">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="MaxPetQuantity" type="def_int_ge0"/>
|
|
<xs:attribute name="NonRefundableFee" type="def_decimal_ge0"/>
|
|
<xs:attribute name="ChargeCode" type="def_int_gt0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
<xs:attribute name="DecimalPlaces" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="TaxPolicies" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="TaxPolicy">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="TaxDescription">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Text" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Amount" type="def_decimal_ge0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
<xs:attribute name="DecimalPlaces" type="def_int_gt0"/>
|
|
<xs:attribute name="Code">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ChargeFrequency">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ChargeUnit">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="21"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="GuaranteePaymentPolicy" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="GuaranteePayment">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AcceptedPayments">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AcceptedPayment" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="BankAcct" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="BankAcctName">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="StringLength1to64"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="BankAcctNumber">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PlainText">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="NumericStringLength1to19"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="BankID">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="PlainText">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="NumericStringLength1to19"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Cash" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="CashIndicator" use="required" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="PaymentCard" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CardType" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="CardCode" type="def_nonempty_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="AmountPercent" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Percent" use="required" type="def_decimal_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Deadline" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="OffsetDropTime" use="required" type="def_nonempty_string"/>
|
|
<xs:attribute name="OffsetTimeUnit" use="required" type="TimeUnitType"/>
|
|
<xs:attribute name="OffsetUnitMultiplier" use="required" type="def_int_ge0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="PolicyInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="MinGuestAge" type="def_int_ge0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="StayRequirements" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="StayRequirement" maxOccurs="2">
|
|
<xs:complexType>
|
|
<xs:attribute name="StayContext">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Checkin"/>
|
|
<xs:enumeration value="Checkout"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Start">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="End">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- AffiliationInfo (Inventory/HotelInfo (push)) -->
|
|
<xs:element name="AffiliationInfo" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Awards">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Award" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="Rating" use="required" type="def_decimal_ge0"/>
|
|
<xs:attribute name="Provider" use="required" type="def_nonempty_string"/>
|
|
<xs:attribute name="RatingSymbol" type="def_nonempty_string"/>
|
|
<xs:attribute name="OfficialAppointmentInd" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- ContactInfos (Inventory/HotelInfo (push)) -->
|
|
<xs:element name="ContactInfos" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ContactInfo">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Addresses" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Address" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="AddressLine" type="StringLength1to255"/>
|
|
<xs:element name="CityName" type="StringLength1to64"/>
|
|
<xs:element name="PostalCode" type="StringLength1to16"/>
|
|
<xs:element name="StateProv" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="StateCode" use="required" type="def_nonempty_string"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="CountryName" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Code" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[A-Z][A-Z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="Language">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Phones" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Phone" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="PhoneTechType" use="required" type="def_nonempty_string"/>
|
|
<xs:attribute name="PhoneNumber" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="\+?[0-9]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Emails" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Email" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="EmailType" use="required" type="def_nonempty_string"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="URLs" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="URL" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:anyURI">
|
|
<xs:attribute name="ID" type="def_uppercase_string"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="CompanyName" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_any_string"/>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="Location">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="6"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="HotelCityCode" type="StringLength1to8"/>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16" />
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
<xs:attribute name="AreaID" type="NumericStringLength1to8"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:group>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * common definition for RatePlans element as used -->
|
|
<!-- * in RatePlans and BaseRates -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<xs:group name="def_rateplans">
|
|
|
|
<xs:sequence>
|
|
<xs:element name="RatePlans">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- RatePlans > RatePlan {1,} -->
|
|
|
|
<xs:element name="RatePlan" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- RatePlans > RatePlan > BookingRules {0,1} -->
|
|
|
|
<xs:element name="BookingRules" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="BookingRule" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="LengthsOfStay" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="LengthOfStay" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="Time" use="required" type="def_decimal_ge0"/>
|
|
<xs:attribute name="TimeUnit" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Day"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="MinMaxMessageType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="SetMinLOS"/>
|
|
<xs:enumeration value="SetForwardMinStay"/>
|
|
<xs:enumeration value="SetMaxLOS"/>
|
|
<xs:enumeration value="SetForwardMaxStay"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="DOW_Restrictions" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ArrivalDaysOfWeek" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Mon" type="def_bool"/>
|
|
<xs:attribute name="Tue" type="def_bool"/>
|
|
<xs:attribute name="Weds" type="def_bool"/>
|
|
<xs:attribute name="Thur" type="def_bool"/>
|
|
<xs:attribute name="Fri" type="def_bool"/>
|
|
<xs:attribute name="Sat" type="def_bool"/>
|
|
<xs:attribute name="Sun" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="DepartureDaysOfWeek" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Mon" type="def_bool"/>
|
|
<xs:attribute name="Tue" type="def_bool"/>
|
|
<xs:attribute name="Weds" type="def_bool"/>
|
|
<xs:attribute name="Thur" type="def_bool"/>
|
|
<xs:attribute name="Fri" type="def_bool"/>
|
|
<xs:attribute name="Sat" type="def_bool"/>
|
|
<xs:attribute name="Sun" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="RestrictionStatus" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Restriction">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Master"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Status">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Open"/>
|
|
<xs:enumeration value="Close"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="CodeContext">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ROOMTYPE"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_invTypeCode_string"/>
|
|
<xs:attribute name="Start" type="def_date"/>
|
|
<xs:attribute name="End" type="def_date"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- RatePlans > RatePlan > Rates {0,1} -->
|
|
|
|
<xs:element name="Rates" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Rate" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="BaseByGuestAmts" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="BaseByGuestAmt" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="NumberOfGuests" type="def_int_gt0"/>
|
|
<xs:attribute name="AmountAfterTax" type="def_decimal_gt0"/>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
<xs:attribute name="Type">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="7"/>
|
|
<xs:enumeration value="25"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="AgeQualifyingCode" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="AdditionalGuestAmounts" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="AdditionalGuestAmount" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="Amount" type="def_decimal_ge0"/>
|
|
<xs:attribute name="AgeQualifyingCode" type="def_int_gt0"/>
|
|
<xs:attribute name="MinAge" type="def_int_gt0"/>
|
|
<xs:attribute name="MaxAge" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="RateDescription" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="ListItem" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="ListItem" use="required" type="def_int_ge0"/>
|
|
<xs:attribute name="Language" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="included services"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="MealsIncluded" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Breakfast" type="def_bool"/>
|
|
<xs:attribute name="Lunch" type="def_bool"/>
|
|
<xs:attribute name="Dinner" type="def_bool"/>
|
|
<xs:attribute name="MealPlanCodes">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="3"/>
|
|
<xs:enumeration value="10"/>
|
|
<xs:enumeration value="12"/>
|
|
<xs:enumeration value="14"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="MealPlanIndicator">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="true"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="MinGuestApplicable" type="def_int_gt0"/>
|
|
<xs:attribute name="Start" type="def_date"/>
|
|
<xs:attribute name="End" type="def_date"/>
|
|
<xs:attribute name="RateTimeUnit">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Day"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="UnitMultiplier" type="def_int_gt0"/>
|
|
<xs:attribute name="Mon" type="def_bool"/>
|
|
<xs:attribute name="Tue" type="def_bool"/>
|
|
<xs:attribute name="Weds" type="def_bool"/>
|
|
<xs:attribute name="Thur" type="def_bool"/>
|
|
<xs:attribute name="Fri" type="def_bool"/>
|
|
<xs:attribute name="Sat" type="def_bool"/>
|
|
<xs:attribute name="Sun" type="def_bool"/>
|
|
<xs:attribute name="Duration">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="P[0-9]+N"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="InvTypeCode" type="def_invTypeCode_string"/>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- RatePlans > RatePlan > Supplements {0,1} -->
|
|
|
|
<xs:element name="Supplements" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Supplement" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:choice>
|
|
<xs:element name="PrerequisiteInventory" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="InvCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="InvType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ALPINEBITSDOW"/>
|
|
<xs:enumeration value="ROOMTYPE"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<!-- RatePlans > RatePlan > Supplements > Supplement > Description {0,5} -->
|
|
|
|
<xs:element name="Description" minOccurs="0" maxOccurs="5">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:choice maxOccurs="unbounded">
|
|
|
|
<xs:element name="ListItem" type="def_nonempty_string"/>
|
|
|
|
<xs:element name="Image" type="def_url_string"/>
|
|
|
|
<xs:element name="Text">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="URL" type="def_url_string"/>
|
|
|
|
</xs:choice>
|
|
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="title"/>
|
|
<xs:enumeration value="intro"/>
|
|
<xs:enumeration value="description"/>
|
|
<xs:enumeration value="gallery"/>
|
|
<xs:enumeration value="codelist"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="AddToBasicRateIndicator">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="true"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="ChargeTypeCode">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="12"/>
|
|
<xs:enumeration value="18"/>
|
|
<xs:enumeration value="19"/>
|
|
<xs:enumeration value="20"/>
|
|
<xs:enumeration value="21"/>
|
|
<xs:enumeration value="24"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Amount" type="def_decimal_ge0"/>
|
|
|
|
<xs:attribute name="InvType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="EXTRA"/>
|
|
<xs:enumeration value="ALPINEBITSEXTRA"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="InvCode" type="StringLength1to16" use="required"/>
|
|
|
|
<xs:attribute name="MandatoryIndicator" type="def_bool"/>
|
|
|
|
<xs:attribute name="Start" type="def_date"/>
|
|
<xs:attribute name="End" type="def_date"/>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- RatePlans > RatePlan > Offers {0,1} -->
|
|
|
|
<xs:element name="Offers" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Offer" maxOccurs="3">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="OfferRules" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="OfferRule" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="LengthsOfStay" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="LengthOfStay" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="Time" use="required" type="def_decimal_ge0"/>
|
|
<xs:attribute name="TimeUnit" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Day"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="MinMaxMessageType" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="SetMinLOS"/>
|
|
<xs:enumeration value="SetMaxLOS"/>
|
|
<xs:enumeration value=""/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="DOW_Restrictions" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ArrivalDaysOfWeek" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Mon" type="def_bool"/>
|
|
<xs:attribute name="Tue" type="def_bool"/>
|
|
<xs:attribute name="Weds" type="def_bool"/>
|
|
<xs:attribute name="Thur" type="def_bool"/>
|
|
<xs:attribute name="Fri" type="def_bool"/>
|
|
<xs:attribute name="Sat" type="def_bool"/>
|
|
<xs:attribute name="Sun" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="DepartureDaysOfWeek" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Mon" type="def_bool"/>
|
|
<xs:attribute name="Tue" type="def_bool"/>
|
|
<xs:attribute name="Weds" type="def_bool"/>
|
|
<xs:attribute name="Thur" type="def_bool"/>
|
|
<xs:attribute name="Fri" type="def_bool"/>
|
|
<xs:attribute name="Sat" type="def_bool"/>
|
|
<xs:attribute name="Sun" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Occupancy" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="AgeQualifyingCode" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="8"/>
|
|
<xs:enumeration value="10"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="MinAge" type="def_int_gt0"/>
|
|
<xs:attribute name="MaxAge" type="def_int_gt0"/>
|
|
<xs:attribute name="MinOccupancy" type="def_int_ge0"/>
|
|
<xs:attribute name="MaxOccupancy" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="MinAdvancedBookingOffset">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="P[0-9]+D"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="MaxAdvancedBookingOffset">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="P[0-9]+D"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Discount" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:attribute name="Percent" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="100"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="NightsRequired" type="def_int_gt0"/>
|
|
<xs:attribute name="NightsDiscounted" type="def_int_gt0"/>
|
|
<xs:attribute name="DiscountPattern">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="0*1*"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Guests" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Guest">
|
|
<xs:complexType>
|
|
<xs:attribute name="AgeQualifyingCode" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="MaxAge" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="MinCount" use="required" type="def_int_ge0"/>
|
|
<xs:attribute name="FirstQualifyingPosition" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="LastQualifyingPosition" use="required" type="def_int_gt0"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- RatePlans > RatePlan > Description {0,5} -->
|
|
|
|
<xs:element name="Description" minOccurs="0" maxOccurs="5">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<xs:choice maxOccurs="unbounded">
|
|
|
|
<xs:element name="ListItem" type="def_nonempty_string"/>
|
|
|
|
<xs:element name="Image" type="def_url_string"/>
|
|
|
|
<xs:element name="Text">
|
|
<xs:complexType>
|
|
<xs:simpleContent>
|
|
<xs:extension base="def_nonempty_string">
|
|
<xs:attribute name="TextFormat" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PlainText"/>
|
|
<xs:enumeration value="HTML"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Language">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language">
|
|
<xs:pattern value="[a-z][a-z]"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="URL" type="def_url_string"/>
|
|
|
|
</xs:choice>
|
|
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="title"/>
|
|
<xs:enumeration value="intro"/>
|
|
<xs:enumeration value="description"/>
|
|
<xs:enumeration value="gallery"/>
|
|
<xs:enumeration value="codelist"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="Start" type="def_date"/>
|
|
<xs:attribute name="End" type="def_date"/>
|
|
<xs:attribute name="RatePlanNotifType">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Overlay"/>
|
|
<xs:enumeration value="New"/>
|
|
<xs:enumeration value="Full"/>
|
|
<xs:enumeration value="Remove"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="CurrencyCode" type="def_three_char_string"/>
|
|
<xs:attribute name="RatePlanCode" type="StringLength1to64"/>
|
|
<xs:attribute name="RatePlanType">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="12"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="RatePlanCategory" type="StringLength1to64"/>
|
|
<xs:attribute name="RatePlanID" type="StringLength1to64"/>
|
|
<xs:attribute name="RatePlanQualifier" type="def_bool"/>
|
|
</xs:complexType>
|
|
</xs:element> <!-- close RatePlan -->
|
|
|
|
</xs:sequence>
|
|
<xs:attribute name="HotelCode" use="required" type="StringLength1to16"/>
|
|
<xs:attribute name="HotelName" type="StringLength1to128"/>
|
|
</xs:complexType>
|
|
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:group>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * common definition for success/advisory/warning/error responses -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<xs:group name="def_generic_response">
|
|
<xs:choice>
|
|
|
|
<!-- choice: Errors {1} -->
|
|
|
|
<xs:element name="Errors">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Errors > Error {1,} -->
|
|
|
|
<xs:element name="Error" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="11"/>
|
|
<xs:enumeration value="13"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="Code" type="def_int_gt0"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<!-- choice: Success {1} + Warnings {0,1} -->
|
|
|
|
<xs:sequence>
|
|
|
|
<xs:element name="Success"/>
|
|
|
|
<xs:element name="Warnings" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
|
|
<!-- Warnings > Warning {1,} -->
|
|
|
|
<xs:element name="Warning" maxOccurs="unbounded">
|
|
<xs:complexType mixed="true">
|
|
<xs:attribute name="Type" use="required" type="def_int_gt0"/>
|
|
<xs:attribute name="RecordID" type="StringLength1to64"/>
|
|
<xs:attribute name="Status" type="def_send_complete"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:sequence>
|
|
|
|
</xs:choice>
|
|
</xs:group>
|
|
|
|
|
|
<!-- ******************************************************************************* -->
|
|
<!-- * common definition for recurring, simple types -->
|
|
<!-- ******************************************************************************* -->
|
|
|
|
<!-- The keywords to request complete set responses. -->
|
|
|
|
<xs:simpleType name="def_send_complete">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ALPINEBITS_SEND_HANDSHAKE"/>
|
|
<xs:enumeration value="ALPINEBITS_SEND_FREEROOMS"/>
|
|
<xs:enumeration value="ALPINEBITS_SEND_RATEPLANS"/>
|
|
<xs:enumeration value="ALPINEBITS_SEND_INVENTORY"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic non-empty string type. -->
|
|
|
|
<xs:simpleType name="def_nonempty_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic string type. -->
|
|
|
|
<xs:simpleType name="def_any_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="0"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic non-empty uppercase string type. -->
|
|
|
|
<xs:simpleType name="def_uppercase_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[A-Z]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic string type containing an @ char, like an email address -->
|
|
|
|
<xs:simpleType name="def_email_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="\S+@\S+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- String type defining room category codes (like InvTypeCode) -->
|
|
|
|
<xs:simpleType name="def_invTypeCode_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="8"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic string type starting with http:// or https:// -->
|
|
|
|
<xs:simpleType name="def_url_string">
|
|
<xs:restriction base="xs:anyURI">
|
|
<xs:pattern value="https?://.+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic string type with 3 characters. -->
|
|
|
|
<xs:simpleType name="def_three_char_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="3"/>
|
|
<xs:maxLength value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic string type with 1 to 16 characters (defintion taken from OTA2015A). -->
|
|
|
|
<xs:simpleType name="def_one_to_sixteen_chars_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="16"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="def_one_to_thirty_two_chars_string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="32"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic integer > 0 type. -->
|
|
|
|
<xs:simpleType name="def_int_gt0">
|
|
<xs:restriction base="xs:positiveInteger">
|
|
<xs:pattern value="[0-9]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic integer >= 0 type. -->
|
|
|
|
<xs:simpleType name="def_int_ge0">
|
|
<xs:restriction base="xs:nonNegativeInteger">
|
|
<xs:pattern value="[0-9]+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic decimal >= 0 type. -->
|
|
|
|
<xs:simpleType name="def_decimal_ge0">
|
|
<xs:restriction base="xs:decimal">
|
|
<xs:minInclusive value="0.0"/>
|
|
<xs:pattern value="[0-9]*\.?[0-9]*"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic decimal > 0 type. -->
|
|
|
|
<xs:simpleType name="def_decimal_gt0">
|
|
<xs:restriction base="xs:decimal">
|
|
<xs:minExclusive value="0.0"/>
|
|
<xs:pattern value="[0-9]*\.?[0-9]*"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic date type. -->
|
|
|
|
<xs:simpleType name="def_date">
|
|
<xs:restriction base="xs:date">
|
|
<xs:pattern value="\S+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic datetime type. -->
|
|
|
|
<xs:simpleType name="def_datetime">
|
|
<xs:restriction base="xs:dateTime">
|
|
<xs:pattern value="\S+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A generic boolean type (1,true,0,false). -->
|
|
|
|
<xs:simpleType name="def_bool">
|
|
<xs:restriction base="xs:boolean">
|
|
<xs:pattern value="\S+"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- A code defined in the OpenTravel or AlpineBits Code tables (1,101,101.ABR). -->
|
|
|
|
<xs:simpleType name="def_alpinebits_code">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9]{1,3}(\.[A-Z]{3}){0,1}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- OTA2015A legacy restrictions -->
|
|
|
|
<xs:simpleType name="TimeUnitType">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Defines the unit in which the time is expressed (e.g. year, day, hour).</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:enumeration value="Minute"/>
|
|
</xs:restriction>
|
|
</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="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="StringLength0to8">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Character Strings, length 0 to 8.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="0"/>
|
|
<xs:maxLength value="8"/>
|
|
</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="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="StringLength1to180">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Character Strings, length 1 to 180.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="180"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="StringLength0to255">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Character Strings, length 0 to 255.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="0"/>
|
|
<xs:maxLength value="255"/>
|
|
</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="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="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="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="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="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="Numeric0to4">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 0 to 4 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="0"/>
|
|
<xs:maxInclusive value="4"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Numeric0to10">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 0 to 10 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="0"/>
|
|
<xs:maxInclusive value="10"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Numeric0to99">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 0 to 99 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="0"/>
|
|
<xs:maxInclusive value="99"/>
|
|
</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="Numeric0to9999">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 0 to 9999 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="0"/>
|
|
<xs:maxInclusive value="9999"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Numeric1to3">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 1 to 3 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Numeric1to4">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 1 to 4 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="4"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="Numeric1to99">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric values, from 1 to 99 inclusive.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="99"/>
|
|
</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="NumericStringLength2">
|
|
<xs:annotation>
|
|
<xs:documentation>Used for Numeric Strings, length exactly 2.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9]{2}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="NumericStringLength4">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric Strings, length exactly 4.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9]{4}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="NumericStringLength1to3">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">Used for Numeric Strings length 1 to 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="NumericStringLength15to50">
|
|
<xs:annotation>
|
|
<xs:documentation>Used for Numeric Strings, length 15 to 50.</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[0-9]{15,50}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
</xs:schema>
|