Hotel information (mapping).
By retrieving hotel information from Smarthotel you are able to map the room types and rate codes between the external system and Smarthotel.
To Retrieve Room type information a OTA_HoteldescriptiveInfoRQ needs to be posted. In the response, the room types can be found (Note: ‘SendGuestRooms‘ should be set to ‘True‘)
To Retrieve rate Codes a OTA_HotelRatePlanRQ should be sent. Within the response to this request, Sell-able products can be found, which refer to the Room Types in the OTA_HoteldescriptiveInfoRQ. By combining these two responses the setup Room-Rate combinations can be defined.
OTA_HotelDescriptiveInfoRQ/RS.
The OTA_HotelDescriptiveInfoRQ message allows a trading partner to query for specific hotel descriptive data.
OTA_HotelDescriptiveInfoRQ
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
HotelDescriptiveInfos | OTA_HotelDescriptiveInfoRQ | Collection of items for data from multiple hotels. | 1 | |
HotelDescriptiveInfo | HotelDescriptiveInfos | This allows the requestor to indicate which specific information is requested if complete hotel details are not required. | 1 | |
@HotelCode | HotelDescriptiveInfo | The ID of the hotel. | [integer] | 1 |
AffiliationInfo | HotelDescriptiveInfo | Is used to the indicate the specific affiliation information being requested. | 0..1 | |
@SendAwards | AffiliationInfo | Send this data. "True" means send the data. | True False | 0..1 |
ContactInfo | HotelDescriptiveInfo | Is used to the indicate whether contact information is being requested. | 0..1 | |
@SendData | ContactInfo | Send this data. "True" means send the data. | True False | 0..1 |
FacilityInfo | HotelDescriptiveInfo | Is used to the indicate the specific facility information being requested. | 0..1 | |
@SendGuestRooms | FacilityInfo | Send this data. "True" means send the data. | True False | 0..1 |
HotelInfo | HotelDescriptiveInfo | Is used to indicate whether hotel information is being requested. | 0..1 | |
@SendData | HotelInfo | Send this data. "True" means send the data. | True False | 0..1 |
MultimediaObjects | HotelDescriptiveInfo | Is used to the indicate whether multimedia information is being requested. | 0..1 | |
@SendData | MultimediaObjects | Send this data. "True" means send the data. | True False | 0..1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelDescriptiveInfoRQ EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source> <RequestorID ID="APIKEY" MessagePassword="APIPASSWORD"/> </Source> </POS> <HotelDescriptiveInfos> <HotelDescriptiveInfo HotelCode="21052"> <AffiliationInfo SendAwards="True" /> <ContactInfo SendData="True" /> <FacilityInfo SendGuestRooms="True" /> <HotelInfo SendData="True" /> <MultimediaObjects SendData="True" /> </HotelDescriptiveInfo> </HotelDescriptiveInfos> </OTA_HotelDescriptiveInfoRQ>
OTA_HotelDescriptiveInfoRS
The OTA_HotelDescriptiveInfoRS is a message used to provide detailed descriptive information about a hotel property.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
HotelDescriptiveContents | OTA_HotelDescriptiveInfoRS | A collection of hotel descriptive information. | 1 | |
HotelDescriptiveContent | HotelDescriptiveContents | Hotel descriptive information. | 0..n | |
@HotelCode | HotelDescriptiveContent | The ID of the hotel. | [integer] | 1 |
@HotelName | HotelDescriptiveContent | A text field used to communicate the proper name of the hotel. | [string] | 1 |
@ChainCode | HotelDescriptiveContent | The ID of the chain. | [integer] | 0..1 |
@CurrencyCode | HotelDescriptiveContent | An ISO 4217 (3) alpha character code that specifies a monetary unit. | [string] | 1 |
ContactInfos | HotelDescriptiveContent | Provides contact information. A collection of ContactInfo elements that provides detailed contact information. | 0..1 | |
ContactInfo | ContactInfos | Used to define specific contact information such as phone and address. The ContactInfo class is used to define the contacts for consumers and technical people at the hotel facility, including various telephone numbers and e-mail addresses, or any respective attribute or affiliation for the hotel. | 1 | |
Names | ContactInfo | A collection of Name elements. Provides detailed name information. | 1 | |
Name | Names | Used to pass detailed name information regarding a contact. | 1 | |
GivenName | Name | Given name. | [string] | 1 |
Addresses | ContactInfo | A collection of Address elements. | 1 | |
Address | Addresses | An address. | 1 | |
@FormattedInd | Address | Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted. | True,False | 1 |
StreetNmbr | Address | May contain the street number and optionally the street name. | [string] | 0..1 |
AddressLine | Address | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. | [string] | 1 |
PostalCode | Address | Post Office Code number. | [string] | 1 |
CityName | Address | City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address). | [string] | 1 |
StateProv | Address | State or Province name (e.g., Zuid-Holland). | [string] | 1 |
CountryName | Address | Country name (e.g., Ireland). | [string] | 1 |
TPA_Extensions | Address | A placeholder in the schema to allow for additional elements and attributes to be included per Trading Partner Agreement (TPA). | 1 | |
StateID | TPA_Extensions | The ID of the state. | [integer] | 1 |
CountryID | TPA_Extensions | The ID of the country. | [integer] | 1 |
Emails | ContactInfo | A collection of email elements. | 1 | |
Emails | An email address. | [string] | 1 | |
Phones | ContactInfo | A collection of Phone elements. Provides detailed phone information. | 1 | |
Phone | Phones | Used to pass detailed phone information. | 0..n | |
@PhoneTechType | Phone | Indicates type of technology associated with this telephone number. | Refer to OpenTravel Code List Phone Technology Type (PTT). Values: | 1 |
@CountryAccessCode | Phone | Code assigned by telecommunications authorities for international country access identifier. | [integer] | 0..1 |
@AreaCityCode | Phone | Code assigned for telephones in a specific region, city, or area. | [integer] | 0..1 |
@PhoneNumber | Phone | Telephone number assigned to a single location. | [integer] | 1 |
URLs | ContactInfo | A collection of URL elements. Used to pass detailed URL information. The URLs class identifies URI information. | 1 | |
URL | URLs | Provides a Website address. | [string] | 1 |
DestinationSystemsCode | HotelDescriptiveContent | A collection of destination systems codes. A collection of DestinationSystemCode. | 0..1 | |
DestinationSystemCode | DestinationSystemsCode | The ID of the channel. | [integer] | 1..n |
FacilityInfo | HotelDescriptiveContent | Provides information pertaining to the hotel facility itself. The FacilityInfo class that describes the facilities provided at the hotel, including rooms. | 0..1 | |
GuestRooms | FacilityInfo | Collection of guest room types that are comprised within the hotel. | 0..1 | |
GuestRoom | GuestRooms | The accommodation occupied by a guest. | 0..n | |
Code | GuestRoom | The ID of the room. | [integer] | 1 |
@MinOccupancy | GuestRoom | Minimum number of guests allowed in a room type. | [integer] | 1 |
@MaxOccupancy | GuestRoom | Maximum number of guests allowed in a room type. | [integer] | 1 |
@MaxAdultOccupancy | GuestRoom | Maximum number of adults allowed in a room type. | [integer] | 0..1 |
@MaxChildOccupancy | GuestRoom | Maximum number of children allowed in a room type. | [integer] | 0..1 |
@Sort | GuestRoom | Used to define the display order. | [integer] | 1 |
DescriptiveText | GuestRoom | Descriptive text that describes the guest room. | [string] | 1 |
TypeRoom | GuestRoom | Describes the guest room type; in composite types there can be multiple occurrences. | 1 | |
@Name | TypeRoom | Text name of the type of room such as "Two Bedroom Villas". | [string] | 1 |
@RoomTypeCode | TypeRoom | Specific system room type code, ex: A1K, A1Q etc. | [string] | 1 |
@Composite | TypeRoom | Indicates that the room (suite) is a composite of smaller units. True for a virtual room / package, false for a room. | True, False | 1 |
Amenities | GuestRoom | Collection of room amenity items available to the guest. | 0..1 | |
Amenity | Amenities | Tangible room item(s) (e.g., newspaper) available to the guest. | 1..n | |
@ID | Amenity | The ID of the amenity. | [integer] | 1 |
@RoomAmenityCode | Amenity | The code of the amenity. | Refer to OpenTravel Code List Room Amenity Type (RMA). | 0..1 |
@CodeDetail | Amenity | May be used to give further detail on the code. | [string] | 1 |
MultimediaDescriptions | GuestRoom | Multimedia information about a collection of multimedia objects. Contains multimedia item(s). | 0..1 | |
MultimediaDescription | MultimediaDescriptions | A multimedia item. Describes multimedia item(s). | 1 | |
ImageItems | MultimediaDescription | A collection of image items. Collection of image items. | 1 | |
ImageItem | ImageItems | Image of a given category. | 1..n | |
ImageFormat | ImageItem | A set of images for a given category which may be provided in multiple formats. | 1 | |
URL | ImageFormat | URL of the multimedia item for a specific format. | [string] | 1 |
HotelInfo | HotelDescriptiveContent | Contains descriptive information about a hotel. The HotelInfo class that describes general information about the hotel. | 0..1 | |
@HotelStatusCode | HotelInfo | This indicates the operating status of the hotels to be returned in the response. | Refer to OpenTravel Code List HotelStatusCode. Values: | 1 |
HotelName | HotelInfo | The full name of the hotel. | 1 | |
Position | HotelInfo | Describes the geocoded location of the hotel. | 1 | |
@Latitude | Position | The measure of the angular distance on a meridian north or south of the equator. | [decimal] | 1 |
@Longitude | Position | The measure of the angular distance on a meridian east or west of the prime meridian. | [decimal] | 1 |
Services | HotelInfo | Collection of hotel services and/or amenities available to the guest. | 0..1 | |
Service | Services | A hotel service or amenity available to the guest such as a business center, concierge, valet parking, massage, newspapers, etc. | 1..n | |
@ID | Service | The ID of the amenity. | [integer] | 1 |
@Code | Service | The code of the amenity. | Refer to OpenTravel Code List Hotel Amenity Code (HAC). | 0..1 |
@CodeDetail | Service | May be used to give further detail on the code. | [string] | 1 |
AffiliationInfo | HotelDescriptiveContent | Provides information regarding affiliations, loyalty programs and award ratings. The AffiliationInfo object is used to identify the brand or franchise affiliations of the hotel. | 0..1 | |
Awards | AffiliationInfo | A collection of Award elements. | 1 | |
Award | Awards | Provides detailed information regarding each award for this hotel. | 1 | |
@Rating | Award | The actual award or rating received by the hotel facility (e.g. 4 stars). If used in conjunction with RatingSymbol only the numeric rating would be passed here. | [integer] | 1 |
@RatingSymbol | Award | Provides the symbol used in the rating. Used in conjunction with the Rating. | Star | 1 |
MultimediaDescriptions | HotelDescriptiveContent | Multimedia information about a collection of multimedia objects. Contains multimedia item(s). | 0..1 | |
MultimediaDescription | MultimediaDescriptions | A multimedia item. Describes multimedia item(s). | 0..1 | |
ImageItems | MultimediaDescription | A collection of image items. Collection of image items. | 1 | |
ImageItem | ImageItems | Image of a given category. | 1..n | |
ImageFormat | ImageItem | A set of images for a given category which may be provided in multiple formats. | 1 | |
URL | ImageFormat | URL of the multimedia item for a specific format. | [string] | 1 |
Policies | HotelDescriptiveContent | A collection of policy information as it applies to the hotel. | 1 | |
Policy | Policies | Describes the policies of the hotel, such as the type of payments, or whether children or pets are accepted. | 1..n | |
CancelPolicy | Policy | Defines the cancellation policy of the hotel facility. A collection of CancelPenalty. | 0..1 | |
CancelPenalty | CancelPolicy | Defines the cancellation penalty of the hotel facility. The CancelPenalty class defines the cancellation policy of the hotel facility. | 1 | |
PenaltyDescription | CancelPenalty | Text description of the Penalty in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
Text | PenaltyDescription | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
GuaranteePaymentPolicy | Policy | A collection of deposit policies, guarantees policy, and/or accepted forms of payment. | 0..1 | |
GuaranteePayment | GuaranteePaymentPolicy | Used to define the deposit policy, guarantees policy, and/or accepted forms of payment. | 1 | |
Description | GuaranteePayment | Text description of the Payment in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
@Language | Description | The ID of the language. | Refer to Languages code list | 1 |
Text | Description | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
AcceptedPayments | GuaranteePayment | Collection of forms of payment accepted for payment. Used to define the types of payments accepted. | 0..1 | |
AcceptedPayment | AcceptedPayments | An acceptable form of payment. | 1..n | |
Cash | AcceptedPayment | Used to indicate payment in cash. | 0..1 | |
@CashIndicator | Cash | If true, this indicates cash is being used. | True, False | 1 |
PaymentCard | AcceptedPayment | Details of a debit or credit card. Specific payment card information. | 0..1 | |
CardType | PaymentCard | Payment card type. | 1 | |
@Description | PaymentCard | The card description. | MasterCard American Express Visa | 1 |
PolicyInfo | Policy | Basic property policy information. | 1 | |
@CheckInTime | PolicyInfo | The usual check-in time for the hotel. | [hh:mm:ss] | 1 |
CheckOutTime | PolicyInfo | The usual check-out time for the hotel. | [hh:mm:ss] | 1 |
@Name | PolicyInfo | The name of the policy. | Child Policy, Smoking Policy | 0..1 |
Description | PolicyInfo | Text description of the Payment in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
@Language | Description | The ID of the language. | Refer to Languages code list | 1 |
Text | Description | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
PetsPolicies | Policy | Property pet policies. | 0..1 | |
PetsPolicy | PetsPolicies | Detailed policy information when pets are allowed. | 1 | |
Description | PetsPolicy | A description of the pet policy. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
@Language | Description | The ID of the language. | Refer to Languages code list | 1 |
Text | Description | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
TPA_Extensions | HotelDescriptiveContent | A placeholder in the schema to allow for additional elements and attributes to be included per Trading Partner Agreement (TPA). Allows extensions to be added to the OpenTravel specification per trading partner agreement. | 1 | |
HotelInfo | TPA_Extensions | Contains descriptive information about a hotel. The HotelInfo class that describes general information about the hotel. | 0..1 | |
ImportantInformations | HotelInfo | A collection with important information. | 0..1 | |
ImportantInformation | ImportantInformations | Important information about the hotel. | 1..n | |
Description | ImportantInformation | Text description of the Important Information in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
@Language | Description | The ID of the language. | Refer to Languages code list | 1 |
Text | Description | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
TravelInformations | HotelInfo | A collection with travel information. | 0..1 | |
TravelInformation | TravelInformations | Travel information about the hotel. | 1..n | |
Description | TravelInformation | Text description of the Important Information in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
@Language | Description | The ID of the language. | Refer to Languages code list | 1 |
Text | Description | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
HotelServices | HotelInfo | A collection of services. | 0..1 | |
Service | HotelServices | A Service object represents a non-room product provided to guests. | 1..n | |
@ID | Service | A unique identifying value assigned by the creating system. | [integer] | 1 |
@ServiceInventoryCode | Service | The code of the service. | [string] | 1 |
@ServiceStatusCode | Service | The status of the service. | Active, Inactive | 1 |
@ServiceCategoryCode | Service | The representation of the specific service category for this specific service. | None Standard ExtraBed ExtraBabyCot ExtraInfant ExtraChild BreakfastAndDinner Dinner3Course Dinner4Course Breakfast TouristTax ReservationCharge ExtraNight3 ExtraNight4 | 1 |
@ServicePricingType | Service | An enumerated type that defines how a service is priced. | None PerStay PerNight PerAdultPerStay PerAdultPerNight SelectedDates SelectedDatesPerAdult PercentagePerStay PercentagePerStayPerChild PerPiece PerPiecePerNight PerPiecePerAdult PerPiecePerAdultPerNight SelectedDatesPerChild PercentagePerStayPerAdult PerChildPerStay PerChildPerNight | 1 |
@Inclusive | Service | Whether the price for this service is included. | True False | 1 |
@Sort | Service | Used to define the display order. | [integer] | 1 |
ServiceDetails | Service | Details on the Service. | 1 | |
ServiceNames | ServiceDetails | A collection of ServiceName. | 0..1 | |
ServiceName | ServiceNames | Name of the service. | 1..n | |
@Language | ServiceName | The ID of the language. | Refer to Languages code list | 1 |
Text | ServiceName | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
ServiceDescriptions | ServiceDetails | A collection of ServiceDescription. | 0..1 | |
ServiceDescription | ServiceDescriptions | Description of the service. | 1..n | |
@ Language | ServiceDescription | The ID of the language. | Refer to Languages code list | 1 |
Text | ServiceDescription | Formatted text content. Provides text and indicates whether it is formatted or not. | [string] | 1 |
MultimediaDescriptions | ServiceDetails | Multimedia information about a collection of multimedia objects. Contains multimedia item(s). | 0..1 | |
MultimediaDescription | MultimediaDescriptions | A multimedia item. Describes multimedia item(s). | 0..1 | |
ImageItems | MultimediaDescription | A collection of image items. Collection of image items. | 1 | |
ImageItem | ImageItems | Image of a given category. | 1..n | |
ImageFormat | ImageItem | A set of images for a given category which may be provided in multiple formats. | 1 | |
URL | ImageFormat | URL of the multimedia item for a specific format. | [string] | 1 |
FacilityInfo | TPA_Extensions | Provides information pertaining to the hotel facility itself. The FacilityInfo class that describes the facilities provided at the hotel, including meeting rooms restaurants. | 0..1 | |
GuestRooms | FacilityInfo | Collection of guest room types that are comprised within the hotel. | 0...1 | |
GuestRoom | GuestRooms | The accommodation occupied by a guest. | 0..n | |
@Code | GuestRoom | The ID of the room. | [integer] | 1 |
@Default | GuestRoom | The default number of packages to offer. | [integer] | 1 |
@Threshold | GuestRoom | The threshold at which to stop offering the package. | [integer] | 1 |
@MasterID | GuestRoom | The ID of the master room (for master/slave). If 0, this is a master room. | [integer] | 1 |
RoomPlans | GuestRoom | The room plans belonging to the room. | 0..1 | |
RoomPlan | RoomPlans | A room plan. | 1..n | |
@Code | RoomPlan | The ID of the room plan. | [integer] | 1 |
@RoomTypeCode | RoomPlan | The code of the room plan. | [string] | 1 |
@Name | RoomPlan | The name. | [string] | 1 |
@DestinationSystemsCode | RoomPlan | The ID of the channel. | [integer] | 1 |
@Sort | RoomPlan | The sort index. | [integer] | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelDescriptiveInfoRS EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <Success /> <HotelDescriptiveContents> <HotelDescriptiveContent HotelCode="21052" HotelName="Hotel SmartPMS" CurrencyCode="EUR"> <HotelInfo HotelStatusCode="Open"> <HotelName>Hotel SmartPMS</HotelName> <Position Latitude="5204056" Longitude="4719406" /> <Services> <Service ID="40" Code="0" CodeDetail="Air conditioning" /> <Service ID="41" Code="0" CodeDetail="Anti allergenic rooms" /> <Service ID="42" Code="0" CodeDetail="Car hire" /> <Service ID="155" Code="0" CodeDetail="Balcony" /> </Services> </HotelInfo> <AffiliationInfo> <Awards> <Award Rating="2" RatingSymbol="Star" /> </Awards> </AffiliationInfo> <ContactInfos> <ContactInfo> <Names> <Name> <GivenName>SmartPMS</GivenName> </Name> </Names> <Addresses> <Address FormattedInd="True"> <StreetNmbr>5-7</StreetNmbr> <AddressLine>Einsteinstraat</AddressLine> <PostalCode>2811 EP</PostalCode> <CityName>Reeuwijk</CityName> <StateProv>Zuid-Holland</StateProv> <CountryName>Netherlands</CountryName> <TPA_Extensions> <StateID>2</StateID> <CountryID>151</CountryID> </TPA_Extensions> </Address> </Addresses> <Emails> <Email>support@smarthotel.nl</Email> </Emails> <Phones> <Phone PhoneTechType="1" CountryAccessCode="31" AreaCityCode="182" PhoneNumber="751118" /> </Phones> <URLs> <URL>www.smartpms.nl</URL> </URLs> </ContactInfo> </ContactInfos> <DestinationSystemsCode> <DestinationSystemCode>1</DestinationSystemCode> <DestinationSystemCode>2</DestinationSystemCode> <DestinationSystemCode>3</DestinationSystemCode> </DestinationSystemsCode> <FacilityInfo> <GuestRooms> <GuestRoom Code="1" MinOccupancy="2" MaxOccupancy="4" MaxAdultOccupancy="3" MaxChildOccupancy="2" Sort="1"> <DescriptiveText>test</DescriptiveText> <TypeRoom Name="Comfort Room" RoomTypeCode="STD" Composite="False" /> <Amenities> <Amenity ID="1" RoomAmenityCode="0" CodeDetail="Air conditioning" /> <Amenity ID="17" RoomAmenityCode="0" CodeDetail="Heating" /> <Amenity ID="20" RoomAmenityCode="0" CodeDetail="LAN" /> <Amenity ID="29" RoomAmenityCode="0" CodeDetail="Shower" /> </Amenities> <MultimediaDescriptions> <MultimediaDescription> <ImageItems> <ImageItem> <ImageFormat> <URL>https://smhimages.blob.core.windows.net/imagescontainer/1000_21052_C2E1D7511AC44780A4B1D2EF39D0230C97368A75_1_o.png?v=635773879793002651</URL> </ImageFormat> </ImageItem> </ImageItems> </MultimediaDescription> </MultimediaDescriptions> </GuestRoom> </GuestRooms> </FacilityInfo> <MultimediaDescriptions> <MultimediaDescription> <ImageItems> <ImageItem> <ImageFormat> <URL>https://smhdev.blob.core.windows.net/imagescontainer/1000_21052_249AF65BB33DA0DC7D73CC02DF918439231F6290_1_o.png?v=636038302856283386</URL> </ImageFormat> </ImageItem> </ImageItems> </MultimediaDescription> </MultimediaDescriptions> <Policies> <Policy> <PolicyInfo CheckInTime="14:00:00" CheckOutTime="11:05:00" /> </Policy> <Policy> <PetsPolicies> <PetsPolicy> <Description Language="1"> <Text>Dieren</Text> </Description> <Description Language="2"> <Text>Pets</Text> </Description> </PetsPolicy> </PetsPolicies> <CancelPolicy> <CancelPenalty> <PenaltyDescription Language="1"> <Text> <em>Bij annulering of niet komen opdagen, berekenen wij de volgende kosten door aan de klant:</em> <br>Binnen 24 uur voor incheck datum -> 100% van de kamerkosten<br>Langer dan 24 uur -> geen kosten<br> <br>Bij reserveringen van meer dan 3 kamers hanteren wij de Uniforme Voorwaarden Horeca<br>Langer dan 14 dagen voor aankomst -> geen kosten<br>Tussen 7 en 14 dagen voor aankomst -> 35% van de kamerkosten<br>Tussen 3 en 7 dagen voor aankomst -> 60% van de kamerkosten<br> Tussen 24 uur en 3 dagen voor aankomst -> 85% van de kamerkosten<br>Binnen 24 uur voor aankomst -> 100% van de kamerkosten</Text> </PenaltyDescription> <PenaltyDescription Language="2"> <Text>48 hours in advance of arriving cancellation is free of charge.</Text> </PenaltyDescription> <PenaltyDescription Language="3"> <Text>48 Stunden im Voraus Stornogebühr.</Text> </PenaltyDescription> </CancelPenalty> </CancelPolicy> <GuaranteePaymentPolicy> <GuaranteePayment> <Description Language="1"> <Text>Direct bevestigd!</Text> </Description> <Description Language="2"> <Text>Guaranteed!</Text> </Description> <AcceptedPayments> <AcceptedPayment> <Cash CashIndicator="True" /> </AcceptedPayment> <AcceptedPayment> <PaymentCard> <CardType Description="AmericanExpress" /> </PaymentCard> </AcceptedPayment> <AcceptedPayment> <PaymentCard> <CardType Description="MasterCard" /> </PaymentCard> </AcceptedPayment> <AcceptedPayment> <PaymentCard> <CardType Description="Visa" /> </PaymentCard> </AcceptedPayment> </AcceptedPayments> </GuaranteePayment> </GuaranteePaymentPolicy> </Policy> <Policy> <PolicyInfo Name="Child Policy"> <Description Language="1"> <Text>Kindjes</Text> </Description> </PolicyInfo> </Policy> <Policy> <PolicyInfo Name="Smoking Policy"> <Description Language="1"> <Text>Roken niet toegestaan</Text> </Description> </PolicyInfo> </Policy> </Policies> <TPA_Extensions> <HotelInfo> <ImportantInformations> <ImportantInformation> <Description Language="1"> <Text> <b>Gaarne vooraf contact opnemen indien u of uw gast later dan 20.00 uur wilt inchecken.</b> Met een door ons toegewezen persoonlijke code kunt u zelf inchecken en heeft u daarna te allen tijde toegang tot het hotel.<br> <br> <b>Because the reception is closed at 20.00 pm please contact us in advance if you want to check in later.</b> With a programmed code, self in check is possible after 20.00 pm and with the key you have 24 access to the hotel. www.khn.nl/uvh-nl <https://www.khn.nl/uvh-nl> </Text> </Description> </ImportantInformation> </ImportantInformations> <TravelInformations> <TravelInformation> <Description Language="2"> <Text>The Hotel is located at 'De Reeuwijkse Plassen'</Text> </Description> </TravelInformation> <TravelInformation> <Description Language="3"> <Text>Das Hotel liegt an den Seen Reeuwijkse entfernt.</Text> </Description> </TravelInformation> </TravelInformations> <HotelServices> <Service ID="212384" ServiceInventoryCode="CHA" ServiceStatusCode="Active" ServiceCategoryCode="Standard" ServicePricingType="SelectedDates" Inclusive="False" Sort="0"> <ServiceDetails> <ServiceNames> <ServiceName Language="1"> <Text>Champagne</Text> </ServiceName> <ServiceName Language="2"> <Text>Champagne!</Text> </ServiceName> </ServiceNames> <ServiceDescriptions> <ServiceDescription Language="1"> <Text>Wilt u graag iets extra's aan uw verblijf toevoegen, bestel nu alvast een fles Champagne op uw kamer.</Text> </ServiceDescription> <ServiceDescription Language="2"> <Text>Bottle of Bubbles in the room!</Text> </ServiceDescription> </ServiceDescriptions> <MultimediaDescriptions> <MultimediaDescription> <ImageItems> <ImageItem> <ImageFormat> <URL>https://smhimages.blob.core.windows.net/imagescontainer/1000_21052_E6DD34D3D9386249DE264F1CAE3F6E9763057FF3_1_o.png?v=635711755060758113</URL> </ImageFormat> </ImageItem> </ImageItems> </MultimediaDescription> </MultimediaDescriptions> </ServiceDetails> <Price Mon="true" Tue="true" Weds="true" Thur="true"> <Base AmountAfterTax="1800" DecimalPlaces="2" /> </Price> <Price Fri="true" Sat="true" Sun="true"> <Base AmountAfterTax="2000" DecimalPlaces="2" /> </Price> </Service> </HotelServices> </HotelInfo> <FacilityInfo> <GuestRooms> <GuestRoom Code="1" Default="0" Threshold="0" MasterID="0"> <RoomPlans> <RoomPlan Code="6" RoomTypeCode="STD" Name="Comfort Room" DestinationSystemsCode="0" Sort="1" /> </RoomPlans> </GuestRoom> </GuestRooms> </FacilityInfo> </TPA_Extensions> </HotelDescriptiveContent> </HotelDescriptiveContents> </OTA_HotelDescriptiveInfoRS>
Explanation on how to use IndexNumber, as these numbers always need to be unique throughout the booking process, to modify and cancel per RoomStay.
Example:
Reservation with 2 room stays, one has IndexNumber 123 and the other has 456.
Then a modification is created with 3 room stays, IndexNumbers 123, 456 and 789. This means the first 2 was modified and 789 is a new room stay.
Following a new modification with 4 room stays IndexNumbers 789, 145, 658, 987. 789 was modified, 123 and 456 were canceled and 145, 658 and 987 were booked.
Occupancies:
In the OTA_HotelDescriptiveInfoRS there are several possibilities for the attributes @MinOccupancy and @MaxOccupancy. In below schema you can find the possible occupancies for a room based on the MinOccpuancy and MaxOccupancy.
@MinOccupancy | @MaxOccupancy | Pricing sent for: |
---|---|---|
1 | 1 | 1 person |
2 | 2 | 1 & 2 persons |
2 | 3 | 1,2 & 3 persons |
2 | 4 | 1,2,3 & 4 persons |
3 | 3 | 3 persons |
4 | 4 | 4 persons |
OTA_HotelRatePlanRQ/RS.
This message provides the ability to request rate plan details for hotel properties by specific criteria.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
RatePlans | OTA_HotelRatePlanRQ | Collection of rate plans. | 1 | |
RatePlan | RatePlans | Provides the criteria to identify the rate plan to be returned. | 1..n | |
HotelRef | RatePlan | Indicates the detail of hotel reference information. | 1 | |
@HotelCode | HotelRef | The ID of the hotel | [integer] | 1 |
DestinationSystemsCode | RatePlan | A collection of destination system codes. These are systems for which this rate plan is targeted. A collection of DestinationSystemCode. | 0..1 | |
DestinationSystemsCode | DestinationSystemsCode | The ID of the channel | [integer] | 1 |
RatePlanCandidates | RatePlan | Collection of requested rateplans | 0..1 | |
RatePlanCandidate | RatePlanCandidates | Element used to identify available products and rates. | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelRatePlanRQ EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source> <RequestorID ID="APIKEY" MessagePassword="APIPASSWORD"/> </Source> </POS> <RatePlans> <RatePlan> <HotelRef HotelCode="21052" /> <DestinationSystemsCode> <DestinationSystemCode>1</DestinationSystemCode> </DestinationSystemsCode> <RatePlanCandidates> <RatePlanCandidate RatePlanCode="1" /> </RatePlanCandidates> </RatePlan> </RatePlans> </OTA_HotelRatePlanRQ>
OTA_HotelRatePlanRS
In the TPA_Extensions you will find some attributes which are specific for the Smarthotel channel manager. The values for this will be explained below:
RateType: the RateType will define what kind of rate this rate code is. There are several values:
- Base Rate: Calculated rates will be calculated from the Base rate
- Default: This is the standard setting for a rate code
- Calculated: This rate will be calculated from the Base Rate
- Best Bar by Day: Rate type used for specific setup with RMS systems
- No R&A update: This rate will not send any messages to an OTA.
Masterrate: Thick this box if the rate code needs to be a master rate and the standard availability needs to be sent for this rate code.
Default: number of rooms to be send to an OTA for the Single, Triple and Quadruple column in case of a master rate.
Threshold: The number of rooms on which the Single, Triple and Quadruple colums will be closed on an OTA in case of a master rate.
CorporateType: What type of corporate rate this rate code is (currently only for selected OTAs
- Not Applicable: This is no corporate rate
- Fixed corporate: No rate update sent to connected OTA (specific OTA functionality)
- Corporate: In use for specific OTA.
- Trade fair: not in use
BBARTrigger: Specific RMS setup
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
RatePlans | OTA_HotelRatePlanRS | A collection of rate plans. | 1 | |
RatePlan | RatePlans | An individual rate plan. All details pertaining to a specific rate plan. | 0..n | |
@RatePlanCode | RatePlan | The ID of the rate. | [integer] | 1 |
@DestinationSystemsCode | RatePlan | The ID of the channel. | [integer] | 1 |
HotelRef | RatePlan | Indicates the detail of hotel reference information. | 1 | |
@HotelCode | HotelRef | The ID of the hotel. | [integer] | 1 |
Description | RatePlan | Description of the RatePlan. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
@Name | Description | Indicates the type of the description. | Name | 1 |
Text | Description | Formatted text content. | 1 | |
RatePlanLevelFee | RatePlan | A Fee that is attached directly to the RatePlan. Can be used to send a global surcharge at the RatePlan level. | 0..1 | |
Fee | RatePlanLevelFee | Fee Amount that is applied to the rate. Fees are used for non-tax amounts like service charges. | 1 | |
@MealPlanCode | Fee | This describes meal plans associated with a rate plan. | Refer to OpenTravel Code Table Meal Plan Type (MPT). | 1 |
BookingRules | RatePlan | A collection of booking rules. | 1 | |
BookingRule | BookingRules | The BookingRule element defines restrictions to rates and stays at the hotel for a given rate plan, room type or rate plan/room type combination. | 1 | |
@MaxAdvancedBookingOffset | BookingRule | Maximum days before the arrival date for which this rate plan may be booked. | [integer] | 0..1 |
RequiredPaymts | BookingRule | A collection of required payments that are part of the booking restriction. A collection of required payments. | 0..1 | |
GuaranteePayment | RequiredPaymts | Used to define the deposit policy, guarantees policy, and/or accepted forms of payment. | 1 | |
AmountPercent | GuaranteePayment | Payment expressed as a fixed amount, or a percentage of/or room nights. | 1 | |
@Percent | AmountPercent | The percentage used to calculate the amount. | [double] | 1 |
CancelPenalties | BookingRule | A collection of required payments that are part of the booking restriction. A collection of CancelPenalty. | 1 | |
@CancelPolicyIndicator | CancelPenalties | When true, indicates a cancel policy exists. When false, no cancel policy exists. Typically this indicator is used when details are not being sent. | True, False | 1 |
CancelPenalty | CancelPenalties | Defines the cancellation penalty of the hotel facility. The CancelPenalty class defines the cancellation policy of the hotel facility. | 1 | |
@NonRefundable | CancelPenalty | Indicates that any prepayment for the reservation is non-refundable, therefore a 100% penalty on the prepayment is applied, irrespective of deadline. | True, False | 1 |
@PolicyCode | CancelPenalty | The ID of the cancellation policy. | 0 = None, 1 = Non-cancellable 2 = Time pre-arrival day 3 = Time arrival day 4 = Days before arrival day 5 = UVH | 1 |
Deadline | CancelPenalty | Cancellation deadline, absolute or relative. | 0..1 | |
@AbsoluteDeadline | Deadline | Defines the absolute deadline. Either this or the offset attributes may be used. | [hh:mm:ss] | 0..1 |
@OffsetDropTime | Deadline | An enumerated type indicating when the deadline drop time goes into effect. | BeforeArrival | 0..1 |
@OffsetTimeUnit | Deadline | The units of time, e.g.: days, hours, etc., that apply to the deadline. | Days, Hours | 0..1 |
@OffsetUnitMultiplier | Deadline | The number of units of DeadlineTimeUnit. | [integer] | 0..1 |
PenaltyDescription | CancelPenalty | Text description of the Penalty in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 0..1 | |
Text | PenaltyDescription | Formatted text content. | [string] | 0..1 |
AmountPercent | CancelPenalty | Cancellation fee expressed as a fixed amount, or percentage of/or room nights. Defines the percentage basis for calculating the fee amount or the amount. | 0..1 | |
@ApplyAs | AmountPercent | Used to specify how the amount needs to be applied with respect to the stay. | FirstNightPayment | 0..1 |
@NmbrOfNights | AmountPercent | The number of nights of the hotel stay that are used to calculate the fee amount. | [integer] | 0..1 |
@Percent | AmountPercent | The percentage used to calculate the amount. | [double] | 0..1 |
@BasisType | AmountPercent | Provides the basis for how the amount of the guarantee is calculated. | FullStay, Nights | 1 |
SellableProducts | RatePlan | A collection of Sellable Products. The SellableProduct class defines the inventoried item for this rate plan. | 0..1 | |
SellableProduct | SellableProducts | The individual sellable product. A sellable product may be a guest room, a meeting room or an inventory block. Attributes of SellableProduct are the inventory codes, information on the use, application and sequencing of the inventory information. | 1..n | |
@InvTypeCode | SellableProduct | The ID of the room to link to as mentioned in the @Code attribute in the GuestRoom element in the OTA_HotelDescriptiveInfoRS | [integer] | 1 |
TPA_Extensions | OTA_HotelRatePlanRS | A placeholder in the schema to allow for additional elements and attributes to be included per Trading Partner Agreement (TPA). Allows extensions to be added to the OpenTravel specification per trading partner agreement. | 1 | |
RatePlans | TPA_Extensions | A collection of rate plans. | 1 | |
RatePlan | RatePlans | An individual rate plan. All details pertaining to a specific rate plan. | 0..n | |
@RatePlanCode | RatePlan | The ID of the rate code | [integer] | 1 |
@RatePlanTypeCode | RatePlan | The code of the rate. | [string] | 1 |
@Sort | RatePlan | The sort index. | [integer] | 1 |
@IncludesTaxInd | RatePlan | Indicates whether tax is included (true/false). | True, False | 1 |
@RateType | RatePlan | The type of the rate: | BaseRate, Default, CalculatedRate, BestBarByDay, NoRnAUpdate | 1 |
@MasterRate | RatePlan | Indicates whether the rate is a master rate. | True, False | 1 |
@Default | RatePlan | The rate default. | [integer] | 1 |
@Threshold | RatePlan | The rate threshold. | [integer] | 1 |
@CorporateType | RatePlan | The corporate type. | NotApplicable, Corporate, FixedCorporate, TradeFair | 1 |
@BBARTrigger | RatePlan | The BBAR trigger. | None, OpenClose, CTA, FPLOS | 1 |
RatePlanGroups | TPA_Extensions | A collection of RatePlanGroup | 1 | |
RatePlanGroup | RatePlanGroups | A RatePlan | 0..n | |
@RatePlanCode | RatePlanGroup | The ID of the rate plan group. | [integer] | 1 |
@RatePlanTypeCode | RatePlanGroup | The code of the rate plan group. | [string] | 1 |
@Sort | RatePlanGroup | The sort index | [integer] | 1 |
Description | RatePlanGroup | Description of the rate plan group. | 1 | |
@Name | Description | Indicates the type of the description. | Name | 1 |
Text | Description | Formatted text content. | [string] | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelRatePlanRS EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <Success /> <RatePlans> <RatePlan RatePlanCode="1" DestinationSystemsCode="1"> <HotelRef HotelCode="21052" /> <Description Name="Name"> <Text>Standard rate</Text> </Description> <RatePlanLevelFee> <Fee MealPlanCode="3" /> </RatePlanLevelFee> <BookingRules> <BookingRule> <CancelPenalties CancelPolicyIndicator="True"> <CancelPenalty NonRefundable="True" PolicyCode="3"> <Deadline AbsoluteDeadline="02:00:00" /> <AmountPercent Percent="100" /> </CancelPenalty> </CancelPenalties> </BookingRule> </BookingRules> <SellableProducts> <SellableProduct InvTypeCode="1" /> <SellableProduct InvTypeCode="2" /> <SellableProduct InvTypeCode="3" /> <SellableProduct InvTypeCode="4" /> <SellableProduct InvTypeCode="8" /> <SellableProduct InvTypeCode="10" /> <SellableProduct InvTypeCode="13" /> </SellableProducts> </RatePlan> </RatePlans> <TPA_Extensions> <RatePlans> <RatePlan RatePlanCode="1" RatePlanTypeCode="STD" Sort="4" IncludesTaxInd="False" RateType="BaseRate" MasterRate="True" Default="2" Threshold="2" CorporateType="NotApplicable" BBARTrigger="None" /> </RatePlans> <RatePlanGroups> <RatePlanGroup RatePlanCode="1" RatePlanTypeCode="RATEPLAN" Sort="2"> <Description Name="Name"> <Text>Rateplan</Text> </Description> </RatePlanGroup> </RatePlanGroups> </TPA_Extensions> </OTA_HotelRatePlanRS>
Rates & Availability.
For an OBE implementation there is only one request to perform when information about availability and prices are needed.
The OTA_HotelAvailRQ requests availability of hotel properties by specific criteria that may include: dates, date ranges, price range, room types, regular and qualifying rates, and/or services and amenities. The availability message can be used to get an initial availability or to get availability for the purpose of modifying an existing reservation.
The OTA_HotelAvailRS returns information about hotel properties that meet the requested criteria, indicating whether the requested service, rate, room stay, etc. is available within the date(s) specified. The response message may include Warnings from business processing rules, or Errors if the request did not succeed.
OTA_HotelAvailGetRQ/RS.
Provides the ability to request availability details for hotel properties by specific criteria that may include dates, date ranges, rates, rooms and products. For example to fill calendars on a Booking Engine.
OTA_HotelAvailGetRQ
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
HotelAvailRequests | OTA_HotelAvailGetRQ | Container for the individual HotelAvailRequests(s). | 1 | |
HotelAvailRequest | HotelAvailRequests | Provides the criteria to specify availability details to return. The criteria can include date ranges, room and products, rate plans, hurdle rate, etc. | 1 | |
DateRange | HotelAvailRequest | A date or range of dates for the request criteria. | 1 | |
@Start | DateRange | The starting value of the time span. | [yyyy-MM-dd] | 1 |
@End | DateRange | The ending value of the time span. | [yyyy-MM-dd] | 1 |
HotelRef | HotelAvailRequest | Indicates the detail of hotel reference information. | 1 | |
@HotelCode | HotelRef | The ID of the hotel. | [integer] | 1 |
DestinationSystemsCode | HotelAvailRequest | A collection of destination system codes. These are systems for which this request is targeted. A collection of DestinationSystemCode. | 0..1 | |
DestinationSystemCode | DestinationSystemsCode | The ID of the channel. | [integer] | 1 |
RoomTypeCandidates | HotelAvailRequest | Collection of room stay candidates. | 0..1 | |
RoomTypeCandidate | RoomTypeCandidates | Element used to specify room products. | 1 | |
@RoomTypeCode | The ID of the room. | [integer] | 1 | |
RatePlanCandidates | HotelAvailRequest | Collection of requested rate plans. | 0..1 | |
RatePlanCandidate | RatePlanCandidates | Element used to identify available products and rates. | 1 | |
RatePlanCode | RatePlanCandidate | The ID of the rate. | [integer] | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelAvailGetRQ EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source> <RequestorID ID="APIKEY" MessagePassword="APIPASSWORD"/> </Source> </POS> <HotelAvailRequests> <HotelAvailRequest> <DateRange Start="2018-07-29" End="2018-07-29" /> <HotelRef HotelCode="21052" /> <DestinationSystemsCode> <DestinationSystemCode>1</DestinationSystemCode> </DestinationSystemsCode> <RoomTypeCandidates> <RoomTypeCandidate RoomTypeCode="1" /> </RoomTypeCandidates> <RatePlanCandidates> <RatePlanCandidate RatePlanCode="1" /> </RatePlanCandidates> </HotelAvailRequest> </HotelAvailRequests> </OTA_HotelAvailGetRQ>
OTA_HotelAvailGetRS
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
AvailStatusMessages | OTA_HotelAvailGetRS | Container for the individual AvailStatusMessage(s). An OTA_HotelAvailGetRS contains the availability statuses for a single hotel. Hotel identification information are the attributes of this element. | 1 | |
@HotelCode | AvailStatusMessages | The ID of the hotel. | [integer] | 1 |
AvailStatusMessage | AvailStatusMessages | The AvailStatusMessage indicates whether the inventory is opened, closed, etc. | 1..n | |
@BookingLimit | AvailStatusMessage | Number of units of inventory that can be sold. | [integer] | 1 |
StatusApplicationControl | AvailStatusMessage | Information on what the AvailStatus Message applies to (i.e. the combination of inventory and rate codes) and the period of application. The StatusApplicationControl class is used to indicate to which block codes/rate plans/inventory codes a status should be applied. | 1 | |
@InvTypeCode | StatusApplicationControl | The ID of the room. | [integer] | 1 |
@RatePlanCode | StatusApplicationControl | The ID of the rate. | [integer] | 1 |
@RateTier | StatusApplicationControl | The ID of the channel. | [integer] | 1 |
@Start | StatusApplicationControl | The starting value of the time span. | [yyyy-MM-dd] | 1 |
@End | StatusApplicationControl | The ending value of the time span. | [yyyy-MM-dd] | 1 |
@Mon, @Tue, @Weds, @Thur, @Fri, @Sat, @Sun | StatusApplicationControl | When true, applies only to a particular day. | True, False | 0..1 |
BestAvailableRates | AvailStatusMessage | A collection of the best rates available. | 1 | |
BestAvailableRate | BestAvailableRates | The details of a best available rate. | 1..n | |
@Amount | BestAvailableRate | A monetary amount. | [numeric] | 1 |
@DecimalPlaces | BestAvailableRate | The ISO 4217 standard "minor unit" for the number of decimal places for a particular currency. | [integer] | 1 |
@AgeQualifyingCode | BestAvailableRate | Defines an age range or age category of a guest. | Refer to OpenTravel Code List Age Qualifying Code (AQC). | 1 |
@NumberOfGuests | BestAvailableRate | The number of guests associated with this base charge, only required when AgeQualifyingCode is set to ‘10’. | 1 = Single use 2 = Standard use 3 = Triple use 4 = Quad use 0 = Extra person | 0..1 |
RestrictionStatus | AvailStatusMessage | Availability status assigned to the room rate combination for this booking rule. | 0..n | |
@Restriction | RestrictionStatus | The type of the restriction. | Arrival Departure Master (default) | 0..1 |
@Status | RestrictionStatus | The status. | Open Close | 1 |
LengthsOfStay | AvailStatusMessage | A collection of lengths of stay. A collection of LengthOfStay. | 0..1 | |
@FixedPatternLength | LengthsOfStay | The number of elements in a fixed pattern length of stay (FPLOS) array. | [integer] | 1 |
LengthOfStay | LengthsOfStay | A collection of patterns defining allowable lengths of stay (LOS). | 1..n | |
@MinMaxMessageType | LengthOfStay | An enumerated type used to define how the minimum and maximum LOS is applied: | MinLOS MaxLOS | 1 |
@Time | LengthOfStay | Used in conjunction with the MinMaxMessageType and the TimeUnit to define the length of stay requirements. (Only applicable for MinMaxMessageType ‘MinLOS’ and ‘MaxLOS’.) | [integer] | 0..1 |
LOS_Pattern | LengthOfStay | Used to define the LOS Pattern. | 0..1 | |
@FullPatternLOS | LOS_Pattern | This may be used when MinMaxMessageType is FullPatternLOS to identify the open and closed status by LOS (e.g., if LengthsOfStay@FixedPatternLength="7" then FullPatternLOS="YYNYYYY"). | [string] | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelAvailGetRS EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <Success /> <AvailStatusMessages HotelCode="21052"> <AvailStatusMessage BookingLimit="5"> <StatusApplicationControl InvTypeCode="1" RatePlanCode="1" RateTier="1" Start="2018-07-29" End="2018-07-29" Mon="true" Fri="true" /> <BestAvailableRates> <BestAvailableRate Amount="4995" DecimalPlaces="2" AgeQualifyingCode="10" NumberOfGuests="2" /> <BestAvailableRate Amount="2550" DecimalPlaces="2" AgeQualifyingCode="7" /> </BestAvailableRates> <RestrictionStatus Restriction="Master" Status="Open" /> <RestrictionStatus Restriction="Arrival" Status="Close" /> <RestrictionStatus Restriction="Departure" Status="Close" /> <LengthsOfStay FixedPatternLength="7"> <LengthOfStay MinMaxMessageType="MinLOS" Time="2" /> <LengthOfStay MinMaxMessageType="MaxLOS" Time="7" /> <LengthOfStay MinMaxMessageType="FullPatternLOS"> <LOS_Pattern FullPatternLOS="YYYNNNN" /> </LengthOfStay> </LengthsOfStay> </AvailStatusMessage> </AvailStatusMessages> </OTA_HotelAvailGetRS>
OTA_HotelAvailRQ/RS.
OTA_HotelAvailRQ
Requests availability of hotel properties by specific criteria that may include: dates, date ranges, price range, room types, regular and qualifying rates, and/or services and amenities. The availability message can be used to get an initial availability or to get availability for the purpose of modifying an existing reservation.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
AvailRequestSegments | OTA_HotelAvailRQ | A collection of AvailRequestSegment. Each segment includes a collection of criteria that requests a bookable entity, which may include designated rate plans, room types, amenities or services, and the request can be used for guest rooms or other inventory items for which availability is sought. Each segment would be presumed to have a unique date range for each request. | 1 | |
AvailRequestSegment | AvailRequestSegments | To accommodate the ability to perform multiple requests within one message, the availability request contains the repeating element, AvailRequestSegment. Each segment includes a collection of criteria that requests a bookable entity, which may include designated rate plans, room types, amenities or services, and the request can be used for guest rooms or other inventory items for which availability is sought. Each segment would be presumed to have a unique date range for each request. | 1..n | |
HotelSearchCriteria | AvailRequestSegment | HYotelsearch criteria. | 1 | |
@BestOnlyIndicator | HotelSearchCriteria | When true, return only the lowest room rate for hotels that are available. | True False | 0..1 |
Criterion | HotelSearchCriteria | Child elements that identify a single search criterion by criteria type. Because many of the types include partial matches to string values such as partial addresses (street names without a number). A ExactMatch attribute indicates whether the match to the string value must be exact. | 1 | |
@ExactMatch | Criterion | Values of "true" or "false", indicating whether the string of the search value must be an exact match. | True False | 0..1 |
HotelRef | Criterion | Indicates the detail of hotel reference information. | 0..1 | |
@HotelCode | HotelRef | The ID of the hotel. | [integer] | 0..1 |
RatePlanCandidates | Criterion | Collection of requested rate plans. | 0..1 | |
RatePlanCandidate | RatePlanCandidates | Element used to identify available products and rates. | 1 | |
RatePlanCode | RatePlanCandidate | The ID of the rate. | [integer] | 1 |
RoomStayCandidates | Criterion | Collection of room stay candidates. | 0..1 | |
RoomStayCandidate | RoomStayCandidate | Element used to identify available room products. Used to identify available room products. | 1 | |
@RoomID | RoomStayCandidate | The ID of the room. | [integer] | 0..1 |
@Quantity | RoomStayCandidate | Defines the number of the item in question. Used for Numeric values, from 1 to 9999 inclusive. | [integer] | 1 |
GuestCounts | RoomStayCandidate | A collection of GuestCount by age group. | 1 | |
@IsPerRoom | GuestCounts | IsPerRoom means that the guests defined in the GuestCounts object apply to each room in the NumberOfRooms for the RoomStay. Value of "false" means that the guests defined in the GuestCounts object apply to all rooms combined in the NumberOfRooms for the RoomStay. | True False | 1 |
GuestCount | GuestCounts | A recurring element that identifies the number of guests and ages of the guests. | 1..n | |
@AgeQualifyingCode | GuestCount | A code representing a business rule that determines the charges for a guest based upon age range. This attribute allows for an increase in rate by occupant class. | Refer to Code List Age Qualifying Code (AQC). | 1 |
@Count | GuestCount | The number of guests in one AgeQualifyingCode or Count. | [integer] | 1 |
StayDateRange | Criterion | Range of dates, or fixed set of dates for Availability Request. Date range can also be specified by using start dates and number of nights (minimum, maximum or fixed). Used to specify a time window range by either specifying an earliest and latest date for the start date and end date or by giving a date with a time period that can be applied before and/or after the start date. | 1 | |
@Start | StayDateRange | The starting value of the time span. | [yyyy-MM-dd] | 1 |
@End | StayDateRange | The ending value of the time span. | [yyyy-MM-dd] | 1 |
Award | Criterion | An element that identifies the hotel ratings. | 0..1 | |
@Rating | Award | The actual award or rating received by the hotel facility. | [integer] | 1 |
Address | Criterion | Uses any part of address information, such as street name, postal code, or country code. | 0..1 | |
@FormattedInd | Address | Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted. | True False | 1 |
AddressLine | Address | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. | [string] | 0..1 |
StreetNmbr | Address | May contain the street number and optionally the street name. | [string] | 0..1 |
PostalCode | Address | Post Office Code number. | [string] | 0..1 |
CityName | Address | City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address). | [string] | 0..1 |
StateProv | Address | State or Province name (e.g., Zuid-Holland). State, province, or region name or code needed to identify location. | [string] | 0..1 |
CountryName | Address | Country name (e.g., Ireland). The name or code of a country (e.g. as used in an address or to specify citizenship of a traveller). | [string] | 0..1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelAvailRQ EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source> <RequestorID ID="APIKEY" MessagePassword="APIPASSWORD"/> </Source> </POS> <AvailRequestSegments> <AvailRequestSegment> <HotelSearchCriteria BestOnlyIndicator="false"> <Criterion ExactMatch="false"> <HotelRef HotelCode="21052" /> <RatePlanCandidates> <RatePlanCandidate RatePlanCode="1" /> </RatePlanCandidates> <RoomStayCandidates> <RoomStayCandidate RoomID="1" Quantity="1"> <GuestCounts IsPerRoom="true"> <GuestCount AgeQualifyingCode="10" Count="2" /> </GuestCounts> </RoomStayCandidate> </RoomStayCandidates> <StayDateRange Start="2018-08-04" End="2018-08-05" /> <Award Rating="2" /> <Address> <AddressLine/> <StreetNmbr/> <PostalCode/> <CityName/> <StateProv/> <CountryName/> </Address> </Criterion> </HotelSearchCriteria> </AvailRequestSegment> </AvailRequestSegments> </OTA_HotelAvailRQ>
OTA_HotelAvailRS
Returns information about hotel properties that meet the requested criteria, indicating whether the requested service, rate, room stay, etc. is available within the date(s) specified. The response message may include Warnings from business processing rules, or Errors if the request did not succeed.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
HotelStays | OTA_HotelAvailRS | A collection of summarized information about the requested hotels' general availability for each day in the requested range. | 1 | |
HotelStay | HotelStays | A quick view of the requested hotels' general availability for each day in the requested range. | 0..n | |
@RoomStayRPH | HotelStay | References one or more room stays associated with this hotel stay. | [integer] | 1 |
BasicPropertyInfo | HotelStay | Property Information for the Hotel Stay. An abbreviated short summary of hotel descriptive information. | 1 | |
@HotelCode | BasicPropertyInfo | The ID of the hotel. | [integer] | 1 |
@HotelName | BasicPropertyInfo | A text field used to communicate the proper name of the hotel. | [string] | 1 |
@ChainCode | BasicPropertyInfo | The ID of the chain. | [integer] | 0..1 |
Address | BasicPropertyInfo | Public address of the hotel property. Information about an address that identifies a location for a specific purpose. | 1 | |
@FormattedInd | Address | Specifies if the associated data is formatted or not. When true, then it is formatted; when false, then not formatted. | True False | 1 |
StreetNmbr | Address | May contain the street number and optionally the street name. | [string] | 0..1 |
AddressLine | Address | When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence. | [string] | 1 |
PostalCode | Address | Post Office Code number. | [string] | 1 |
CityName | Address | City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address). | [string] | 1 |
StateProv | Address | State or Province name (e.g., Zuid-Holland). | [string] | 1 |
CountryName | Address | Country name (e.g., Ireland). | [string] | 1 |
TPA_Extensions | Address | A placeholder in the schema to allow for additional elements and attributes to be included per Trading Partner Agreement (TPA). | 1 | |
StateID | TPA_Extensions | The ID of the state. | [integer] | 1 |
CountryID | TPA_Extensions | The ID of the country. | [integer] | 1 |
Award | BasicPropertyInfo | An element that identifies the hotel ratings. | 1 | |
@Rating | Award | The actual award or rating received by the hotel facility. | [integer] | 1 |
ContactNumbers | BasicPropertyInfo | Collection of hotel contact numbers. | 1 | |
ContactNumber | ContactNumbers | Contact numbers of the hotel property. Examples are telephone and fax numbers. | 1..n | |
@PhoneTechType | ContactNumber | Indicates type of technology associated with this telephone number. | Refer to Code List Phone Technology Type (PTT). | 1 |
@CountryAccessCode | ContactNumber | Code assigned by telecommunications authorities for international country access identifier. | [integer] | 0..1 |
@AreaCityCode | ContactNumber | Code assigned for telephones in a specific region, city, or area. | [integer] | 0..1 |
@PhoneNumber | ContactNumber | Telephone number assigned to a single location. | [integer] | 1 |
Policy | BasicPropertyInfo | Policy information for this hotel. | 1 | |
@CheckInTime | Policy | The checkin time required by this hotel for a room stay. | [hh:mm:ss] | 1 |
@CheckOutTime | Policy | The checkout time required by this hotel for a room stay. | [hh:mm:ss] | 1 |
Position | BasicPropertyInfo | An element that identifies the geographic position of the hotel. The Position element uses the representation defined by ISO Standard 6709 to define a geographic point location. | 1 | |
@Latitude | Position | The measure of the angular distance on a meridian north or south of the equator. | [decimal] | 1 |
@Longitude | Position | The measure of the angular distance on a meridian east or west of the prime meridian. | [decimal] | 1 |
RoomStays | OTA_HotelAvailRS | A collection of details on the Room Stay including Guest Counts, Time Span of this Room Stay, and financial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties. | 1 | |
RoomStay | RoomStays | Details on the Room Stay including Guest Counts, Time Span of this Room Stay, and financial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties. | 0..n | |
@IsAlternate | RoomStay | Indicates the RoomStay is an alternate offer. Default=false. | True False | 1 |
@RoomStayGroupID | RoomStay | An ID of a group of rooms which must be booked together. | [integer] | 1 |
@RPH | RoomStay | Identifies the room stay for use in the hotel stay. | [integer] | 1 |
TimeSpan | RoomStay | The Time Span which covers the Room Stay. Used to specify a time window range by either specifying an earliest and latest date for the start date and end date or by giving a date with a time period that can be applied before and/or after the start date. | 1 | |
@Start | TimeSpan | The starting value of the time span. | [hh:mm:ss] | 1 |
@End | TimeSpan | The ending value of the time span. | [hh:mm:ss] | 1 |
RoomTypes | RoomStay | A collection of Room Types associated with a particular Room Stay. | 1 | |
RoomType | RoomTypes | Provides details regarding rooms, usually guest rooms. | 1 | |
@RoomID | RoomType | The ID of the room. | [integer] | 1 |
@RoomTypeCode | RoomType | Specific system room type code, ex: A1K, A1Q etc. | [string] | 1 |
@Composite | RoomType | Indicates that the room (suite) is a composite of smaller units. True for a virtual room / package, false for a room. | True False | 1 |
RoomDescription | RoomType | Textual information regarding the room. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
Text | RoomDescription | Formatted text content. | [string] | 1 |
Occupancy | RoomType | Provides parameters of occupancy limits. | 0..n | |
@AgeQualifyingCode | Occupancy | Defines an age range or age category of a guest. | Refer to Code List Age Qualifying Code (AQC). | 1 |
@MaxOccupancy | Occupancy | Maximum number of persons allowed in a unit of accommodation or place. | [integer] | 1 |
RatePlans | RoomStay | A collection of Rate Plans associated with a particular Room Stay. | 1 | |
RatePlan | RatePlans | Defines the details of the rate plan as used in the booking process. | 1 | |
@RatePlanCode | RatePlan | The ID of the rate. | [integer] | 1 |
@RatePlanName | RatePlan | Provides the name of the rate plan or group. | [string] | 1 |
@AvailableQuantity | RatePlan | Provides the number of rooms available within this rate plan. | [integer] | 1 |
RatePlanDescription | RatePlan | Describes the rate plan. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
Text | RatePlanDescription | Formatted text content. | [string] | 1 |
MealsIncluded | RatePlan | Defines which meals are included with this rate program. | 1 | |
@MealPlanIndicator | MealsIncluded | When true, a meal plan is included in this rate plan. When false, a meal plan is not included in this rate plan. | True False | 1 |
@MealPlanCodes | MealsIncluded | Used to identify the types of meals included with a rate plan. | Refer to Code List Meal Plan Type (MPT). | 1 |
CancelPenalties | RatePlan | A collection of required payments that are part of the booking restriction. A collection of CancelPenalty. | 1 | |
CancelPenalty | CancelPenalties | Defines the cancellation penalty of the hotel facility. The CancelPenalty class defines the cancellation policy of the hotel facility. | 1 | |
@CancelPolicyIndicator | CancelPenalty | When true, indicates a cancel policy exits. When false, no cancel policy exists. Typically this indicator is used when details are not being sent. | True False | 1 |
@NonRefundable | CancelPenalty | Indicates that any prepayment for the reservation is non-refundable, therefore a 100% penalty on the prepayment is applied, irrespective of deadline. | True False | 1 |
Deadline | CancelPenalty | Cancellation deadline, absolute or relative. | 0..1 | |
@AbsoluteDeadline | Deadline | Defines the absolute deadline. Either this or the offset attributes may be used. | [integer] | 0..1 |
@OffsetDropTime | Deadline | An enumerated type indicating when the deadline drop time goes into effect. | BeforeArrival | 0..1 |
@OffsetTimeUnit | Deadline | The units of time, e.g.: days, hours, etc., that apply to the deadline. | Days | 0..1 |
@OffsetUnitMultiplier | Deadline | The number of units of DeadlineTimeUnit. | [integer] | 0..1 |
PenaltyDescription | CancelPenalty | Text description of the Penalty in a given language. An indication of a new paragraph for a sub-section of a formatted text message. | 0..1 | |
Text | PenaltyDescription | Formatted text content. | [string] | 1 |
AmountPercent | CancelPenalty | Cancellation fee expressed as a fixed amount, or percentage of/or room nights. Defines the percentage basis for calculating the fee amount or the amount. | 0..1 | |
@ApplyAs | AmountPercent | Used to specify how the amount needs to be applied with respect to the stay. | FirstNightPayment | 0..1 |
@NmbrOfNights | AmountPercent | The number of nights of the hotel stay that are used to calculate the fee amount. | [integer] | 0..1 |
@Percent | AmountPercent | The percentage used to calculate the amount. | [double] | 0..1 |
RoomRates | RoomStay | A collection of Room Rates associated with a particular Room Stay. | 1 | |
RoomRate | RoomRates | A room rate. | 1 | |
Rates | RoomRate | Individual rate amount. This rate is valid for a range of number of occupants and an occupant type. Individual rate amount. This rate is valid for a range of number of occupants and an occupant type. | 1 | |
Rate | Rates | The Rate contains a collection of elements that define the amount of the rate, associated fees, additional occupant amounts as well as payment and cancellation policies. Taxes can be broken out or included within the various amounts. A currency can be associated to each amount. The applicable period of the rate are indicated by the effective dates. Restrictions that may apply to that rate, such as the minimum or maximum length of stay, stay-over dates (such as a Saturday night), min/max guests applicable for the rate, and age group (ex Adult) are attributes of Rate. It indicates the number of units that the quoted rate is based upon, as well as the TimeUnits type used that the rate is based upon, e.g.: 3days at $100.00 per day. | 1..n | |
@EffectiveDate | Rate | Indicates the starting date. | [yyyy-MM-dd] | 1 |
Base | Rate | The base amount charged for the accommodation or service per unit of time (ex: Nightly, Weekly, etc). Note that any additional charges should itemized in the other elements. The total amount charged for the service including additional amounts and fees. | 1 | |
@AmountBeforeTax | Base | The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax). | [numeric] | 1 |
@AmountAfterTax | Base | The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax). | [numeric] | 1 |
@DecimalPlaces | Base | The ISO 4217 standard "minor unit" for the number of decimal places for a particular currency. | [integer] | 1 |
@CurrencyCode | Base | An ISO 4217 (3) alpha character code that specifies a monetary unit. | [string] | 1 |
Total | RoomStay | The total amount charged for the Room Stay including additional occupant amounts and fees. If TaxInclusive is set to True, then taxes are included in the total amount. The total amount charged for the service including additional amounts and fees. | 1 | |
@AmountBeforeTax | Total | The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax). | [numeric] | 1 |
@AmountAfterTax | Total | The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax). | [numeric] | 1 |
@DecimalPlaces | Total | The ISO 4217 standard "minor unit" for the number of decimal places for a particular currency. | [integer] | 1 |
@CurrencyCode | Total | An ISO 4217 (3) alpha character code that specifies a monetary unit. | [string] | 1 |
GuestCounts | RoomStay | A collection of Guest Counts associated with Room Stay. A child Guest Count element is required for each distinct age group. A collection of GuestCount by age group. | 1 | |
GuestCount | GuestCounts | A recurring element that identifies the number of guests and ages of the guests. | 1..n | |
@AgeQualifyingCode | GuestCount | A code representing a business rule that determines the charges for a guest based upon age range. This attribute allows for an increase in rate by occupant class. | Refer to Code List Age Qualifying Code (AQC). | 1 |
@Count | GuestCount | The number of guests in one AgeQualifyingCode or Count. | [integer] | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_HotelAvailRS EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <Success /> <HotelStays> <HotelStay> <BasicPropertyInfo HotelCode="21052" HotelName="Hotel SmartPMS" CurrencyCode="EUR"> <Address FormattedInd="True"> <StreetNmbr>5-7</StreetNmbr> <AddressLine>Einsteinstraat</AddressLine> <PostalCode>2811 EP</PostalCode> <CityName>Reeuwijk</CityName> <StateProv /> <CountryName>NL</CountryName> <TPA_Extensions> <StateID>2</StateID> </TPA_Extensions> </Address> <Award Rating="2" /> <ContactNumbers> <ContactNumber PhoneTechType="1" CountryAccessCode="31" AreaCityCode="182" PhoneNumber="751118" /> </ContactNumbers> <Policy CheckInTime="14:00:00" CheckOutTime="14:00:00" /> <Position Latitude="5204056" Longitude="4719406" /> </BasicPropertyInfo> </HotelStay> </HotelStays> <RoomStays> <RoomStay> <TimeSpan Start="2018-08-04" End="2018-08-06" /> <RoomTypes> <RoomType RoomID="1" RoomTypeCode="STD" Composite="False"> <RoomDescription> <Text>Comfort Room</Text> </RoomDescription> <Occupancy AgeQualifyingCode="7" MaxOccupancy="1" /> <Occupancy AgeQualifyingCode="8" MaxOccupancy="2" /> <Occupancy AgeQualifyingCode="10" MaxOccupancy="3" /> </RoomType> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="1" RatePlanName="Standaard" AvailableQuantity="8"> <RatePlanDescription> <Text /> </RatePlanDescription> <MealsIncluded MealPlanIndicator="True" MealPlanCodes="3" /> <CancelPenalties> <CancelPenalty CancelPolicyIndicator="True" NonRefundable="True"> <Deadline AbsoluteDeadline="02:00:00" /> <AmountPercent Percent="100" /> </CancelPenalty> </CancelPenalties> </RatePlan> </RatePlans> <RoomRates> <RoomRate> <Rates> <Rate EffectiveDate="2018-08-04"> <Base AmountBeforeTax="20000" AmountAfterTax="20000" DecimalPlaces="2" CurrencyCode="EUR" /> </Rate> <Rate EffectiveDate="2018-08-05"> <Base AmountBeforeTax="21000" AmountAfterTax="21000" DecimalPlaces="2" CurrencyCode="EUR" /> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2" /> </GuestCounts> <Total AmountBeforeTax="41000" AmountAfterTax="41000" DecimalPlaces="2" CurrencyCode="EUR" /> </RoomStay> <RoomStay> <TimeSpan Start="2018-08-04" End="2018-08-06" /> <RoomTypes> <RoomType RoomID="1" RoomTypeCode="STD" Composite="False"> <RoomDescription> <Text>Comfort Room</Text> </RoomDescription> <Occupancy AgeQualifyingCode="7" MaxOccupancy="1" /> <Occupancy AgeQualifyingCode="8" MaxOccupancy="2" /> <Occupancy AgeQualifyingCode="10" MaxOccupancy="3" /> </RoomType> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="2" RatePlanName="Non refundable" AvailableQuantity="8"> <RatePlanDescription> <Text /> </RatePlanDescription> <MealsIncluded MealPlanIndicator="False" /> <CancelPenalties> <CancelPenalty CancelPolicyIndicator="True" NonRefundable="True"> <Deadline AbsoluteDeadline="02:00:00" /> </CancelPenalty> </CancelPenalties> </RatePlan> </RatePlans> <RoomRates> <RoomRate> <Rates> <Rate EffectiveDate="2018-08-04"> <Base AmountBeforeTax="6000" AmountAfterTax="6000" DecimalPlaces="2" CurrencyCode="EUR" /> </Rate> <Rate EffectiveDate="2018-08-05"> <Base AmountBeforeTax="7000" AmountAfterTax="7000" DecimalPlaces="2" CurrencyCode="EUR" /> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2" /> </GuestCounts> <Total AmountBeforeTax="13000" AmountAfterTax="13000" DecimalPlaces="2" CurrencyCode="EUR" /> </RoomStay> </RoomStays> </OTA_HotelAvailRS>
Reservations.
The OTA_HotelResNotifRQ/RS supports the functionality of updating other systems with reservation data. The message assumes a push model, with the originating system pushing the data to another system. The originating system would usually be a booking source. This call is used to push new created reservations to the channel manager or the PMS.
The OTA_HotelResModifyNotifRQ/RS is used for modifying a reservation. It is used for a full overlay of the reservation. When changing data that requires an availability check, this message assumes the availability is known. (if availability is not known an availability check including the reservation ID may be useful).
The OTA_CancelRQ/RS is a generic message, available as an action on several OpenTravel services which requests a server to cancel the booking identified by the UniqueID element.
OTA_HotelResNotifRQ/RS.
Smarthotel supports the PUSH method for transferring reservations. This means that as soon as a new reservation is created at the originated system, the originated system is responsible for sending this reservation through to the connected system.
The same external reservation number must be used for the lifespan of the reservation through all its possible mutations (booking, modifications, and cancellation).
OTA_HotelResNotifRQ
This message supports the functionality of updating other systems with reservation data. The message assumes a push model, with the originating system pushing the data to another system. The originating system would usually be a booking source.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
HotelReservations | OTA_HotelResNotifRQ | 1 | ||
Hotelreservation | HotelReservations | 1..n | ||
@ResStatus | HotelReservation | Book | 1 | |
@CreateDateTime | HotelReservation | yyyy-mm-ddThh:mm:ss | 1 | |
RoomStays | HotelReservation | 1 | ||
RoomStay | RoomStays | 1..n | ||
@IndexNumber | RoomStay | Please find the description on how to use the IndexNumber under this table | 1..n | 0..1 |
RoomTypes | RoomStays | 1 | ||
RoomType | RoomTypes | 1..n | ||
@RoomTypeCode | RoomType | 1 | ||
@NumberOfUnits | RoomType | 1..n | 1 | |
RoomRates | RoomStay | 1 | ||
RoomRate | RoomRates | 1..n | ||
@RatePlanCode | RoomRate | 1 | ||
Rates | RoomRate | 1 | ||
Rate | Rates | 1 | ||
@EffectiveDate | Rate | yyyy-mm-dd | 1 | |
Base | Rate | 1 | ||
@AmountAfterTax | Base | No decimal point: 120.50 becomes 12050 | 1 | |
@AmountBeforeTax | Base | No decimal point: 120.50 becomes 12050 | 1 | |
@CurrencyCode | Base | EUR USD | 1 | |
@DecimalPlaces | Base | 2 | 1 | |
RatePlans | RoomStay | 1 | ||
RatePlan | RatePlans | 0..1 | ||
MealsIncluded | MealsIncluded | 0..1 | ||
@MealPlanCodes | MealsIncluded | Please Refer to the Code List Meal Plan Type (MPT) | 1 | |
Commission | RatePlan | 0..1 | ||
CommissionPayableAmount | Commission | 1 | ||
@Amount | CommissionPayableAmount | 1 | ||
@DecimalPlaces | CommissionPayableAmount | 1 | ||
@CurrencyCode | CommissionPayableAmount | 1 | ||
GuestCounts | RoomStay | 1 | ||
GuestCount | GuestCounts | 1..n | ||
@AgeQualifyingCode | GuestCount | Please Refer to the Code List Age Qualifying Code (AQC) | 1 | |
@Count | GuestCount | 1..n | 1 | |
TimeSpan | RoomStay | 1 | ||
@Start | TimeSpan | Check in Date | yyyy-mm-dd | 1 |
@End | TimeSpan | Check out Date | yyyy-mm-dd | 1 |
Comments | RoomStay | 0..1 | ||
Comment | Comments | 1..n | ||
Text | Comment | Comment included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
SpecialRequests | RoomStay | 0..n | ||
SpecialRequest | SpecialRequests | 1..n | ||
Text | SpecialRequest | Request included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
Total | RoomStay | Total of the RoomStay | 1 | |
@AmountAfterTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@AmountBeforeTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@CurrencyCode | Total | EUR | 1 | |
USD | ||||
@DecimalPlaces | Total | 2 | 1 | |
Taxes | Total | 0..1 | ||
Tax | Tax | 1 | ||
@Amount | Tax | No decimal point: 120.50 becomes 12050 | 1 | |
@DecimalPlaces | Tax | 2 | 1 | |
@CurrencyCode | Tax | EUR USD | 1 | |
ResGuestRPHs | RoomStay | Reference which ResGuest is in which RoomStay | 1 | |
@ServiceRPH | Service | A unique ID for a service that may be referenced elsewhere in the schema. | [integer] | 1 |
@RPH | ResGuestRPH | The reference number of the guest. Must stay consistent with the RPH values defined in ResGuest. | 1 | |
Services | HotelReservation | Collection of services. A collection of Service objects. This is the collection of all services associated with any part of this reservation (the reservation in its entirety, one or more guests, or one or more room stays). Which services are attributable to which part is determined by each object's ServiceRPHs collection. | 1 | |
Service | Services | A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges. | 0..n | |
@ServiceInventoryCode | Service | The external code of the room the service applies to. | [integer] | 1 |
@ID | Service | A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation. | [integer] | 1 |
Price | Service | The selling price of this Service. | 1 | |
@NumberOfUnits | Price | The number of services. | [integer] | 1 |
Base | Price | The base amount charged for the service per unit of time. | 1 | |
@AmountAfterTax | Price | The total amount including all associated taxes. | [numeric] | 1 |
@DecimalPlaces | Price | The ISO 4217 standard "minor unit" for the number of decimal places for a particular currency. | [integer] | 0..1 |
ServiceDetails | Service | Details on the Service including Guest Counts, Time Span of this Service, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Service and finally financial information related to the Service, including Guarantee, Deposit and Payment and Cancellation Penalties. | 1 | |
GuestCounts | ServiceDetails | A collection of Guest Counts associated to the whole Reservation or a particular Room Stay or Service. A child Guest Count element is required for each distinct age group. A collection of GuestCount by age group. | 1 | |
GuestCount | GuestCounts | A recurring element that identifies the number of guests and ages of the guests. | 1 | |
@Count | GuestCount | The number of guests in one AgeQualifyingCode or Count. | [integer] | 1 |
TimeSpan | ServiceDetails | The Time Span which covers the Service. | 1 | |
@Start | TimeSpan | The starting value of the time span. | [yyyy-MM-dd] | 1 |
@End | TimeSpan | The ending value of the time span. | [yyyy-MM-dd] | 1 |
ServiceDescription | ServiceDetails | Description of the service. An indication of a new paragraph for a sub-section of a formatted text message. | 1 | |
Text | ServiceDescription | Formatted text content. | [CDATA string] | 1 |
TPA_Extensions | Service | A placeholder in the schema to allow for additional elements and attributes to be included per Trading Partner Agreement (TPA). Allows extensions to be added to the OpenTravel specification per trading partner agreement. | 1 | |
ServiceExtension | TPA_Extensions | An extension to the service. | 1 | |
@ServiceChargeType | ServiceExtension | The way the service is charged. | Refer to Code List Service Charge Type | 1 |
SelectedDates | ServiceExtension | A collection of dates on which the service is active. | 1 | |
Date | SelectedDates | A date on which the service is active. | 0..n | |
@Value | Date | The date. | [yyyy-MM-dd] | 1 |
ResGuests | HotelReservation | 1 | ||
ResGuest | Resguests | 1..n | ||
@ResguestRPH | ResGuest | 1 | ||
Profiles | ResGuest | 1 | ||
ProfileInfo | Profiles | 1..n | ||
Profile | ProfileInfo | 1 | ||
Customer | Profile | 1 | ||
PersonName | Customer | 1 | ||
GivenName | PersonName | GivenName included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
SurName | PersonName | Surname included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
ResGlobalInfo | HotelReservation | 1 | ||
Profiles | ResGlobalInfo | Contains the data of the booker | 1 | |
Profile | Profiles | 1..n | ||
@ProfileType | Profile | Refer to the Code List Profile Types | 1 | |
Customer | Profile | 1 | ||
@Gender | Customer | Male Female | 0..1 | |
@BirthDate | Customer | yyyy-mm-dd | 0..1 | |
PersonName | Customer | 0..1 | ||
GivenName | PersonName | GivenName included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
SurName | PersonName | SurName included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
Telephone | Customer | 0..1 | ||
@PhoneNumber | Telephone | 1 | ||
Customer | 0..1 | |||
Address | Customer | 0..1 | ||
StreetNmbr | Address | 1 | ||
CityName | Address | 1 | ||
PostalCode | Address | 1 | ||
CountryName | Address | Country name, according to the ISO 3166-1 alpha-2 list (e.g., NL). The code of a country (e.g. as used in an address or to specify citizenship of a traveller). | 1 | |
CompanyName | Address | 0..1 | ||
Comments | ResGlobalInfo | 1 | ||
Comment | Comments | Comment included as CDATA, to prevent invalid characters from breaking the XML. | 1..n | |
Text | Comment | 1 | ||
Guarantee | ResGlobalInfo | Credit card details related to the reservation | 0..1 | |
GuaranteesAccepted | Guarantee | 1 | ||
PaymentCard | GuaranteesAccepted | 1 | ||
@cardCode | PaymentCard | 1 | ||
@CardNumber | PaymentCard | 1 | ||
@ExpireDate | PaymentCard | MMYY | 1 | |
Total | ResGlobalInfo | Reservation total | 1 | |
@AmountAfterTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@AmountBeforeTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@CurrencyCode | Total | EUR USD | 1 | |
@DecimalPlaces | Total | 2 | 1 | |
BasicPropertyInfo | ResGlobalInfo | 1 | ||
@HotelCode | BasicPropertyInfo | The hotel code that identifies this hotel (PIN code). | 1 | |
HotelreservationIDs | ResGlobalInfo | 1 | ||
HotelReservationID | HotelReservationIDs | 1 | ||
ResID_Value | HotelReservationID | The reservation number supplied by the OTA. The same reservation number must be used for the lifespan of the reservation through all its possible mutations (modifications and cancellation). | 1 | |
ResID_Type | HotelReservationID | 14 | 1 |
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResNotifRQ PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source AgentDutyCode="OTA"> <RequestorID ID="APIKey" MessagePassword="APIKeyPassword"> </RequestorID> </Source> </POS> <HotelReservations> <HotelReservation ResStatus="Book" CreateDateTime="2018-09-22T08:26:21" LastModifyDateTime="2018-09-22T08:27:06"> <RoomStays> <RoomStay IndexNumber="401"> <RoomTypes> <RoomType RoomTypeCode="20002" NumberOfUnits="1" /> </RoomTypes> <RoomRates> <RoomRate RatePlanCode="1"> <Rates> <Rate EffectiveDate="2018-10-11"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-12"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-13"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> </Rates> </RoomRate> </RoomRates> <RatePlans> <RatePlan> <MealsIncluded MealPlanCodes="12" /> <Commission> <CommissionPayableAmount Amount="5355" DecimalPlaces="3" CurrencyCode="EUR"/> </Commission> </RatePlan> </RatePlans> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2" /> </GuestCounts> <TimeSpan Start="2018-10-11" End="2018-10-14" /> <Comments> <Comment> <Text> <![CDATA[Fictional comment]]> </Text> </Comment> <Comment> <Text> <![CDATA[Another fictional comment]]> </Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text> <![CDATA[Smoking preference : Non-Smoking]]> </Text> </SpecialRequest> </SpecialRequests> <Total AmountAfterTax="28500" AmountBeforeTax="33000" CurrencyCode="EUR" DecimalPlaces="2" /> <ResGuestRPHs> <ResGuestRPH RPH="0" /> </ResGuestRPHs> </RoomStay> <RoomStay IndexNumber="402"> <RoomTypes> <RoomType RoomTypeCode="20003" NumberOfUnits="1" /> </RoomTypes> <RoomRates> <RoomRate RatePlanCode="1"> <Rates> <Rate EffectiveDate="2018-10-11"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-12"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-13"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> </Rates> </RoomRate> </RoomRates> <RatePlans> <RatePlan> <MealsIncluded MealPlanCodes="12" /> <Commission> <CommissionPayableAmount Amount="5355" DecimalPlaces="3" CurrencyCode="EUR"/> </Commission> </RatePlan> </RatePlans> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2" /> </GuestCounts> <TimeSpan Start="2018-10-11" End="2018-10-14" /> <Comments> <Comment> <Text> <![CDATA[Fictional comment]]> </Text> </Comment> <Comment> <Text> <![CDATA[Another fictional comment ]]> </Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text> <![CDATA[Smoking preference : Non-Smoking]]> </Text> </SpecialRequest> </SpecialRequests> <Total AmountAfterTax="28500" AmountBeforeTax="33000" CurrencyCode="EUR" DecimalPlaces="2"> <Taxes> <Tax Amount="2030" CurrencyCode="EUR" DecimalPlaces="2" /> </Taxes> </Total> <ResGuestRPHs> <ResGuestRPH RPH="1" /> </ResGuestRPHs> </RoomStay> </RoomStays> <ResGuests> <ResGuest ResGuestRPH="0"> <Profiles> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[John]]> </GivenName> <Surname> <![CDATA[Smith]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[Jane]]> </GivenName> <Surname> <![CDATA[Smith]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> <ResGuest ResGuestRPH="1"> <Profiles> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[John]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[Jane]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[Jake]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <Profiles> <ProfileInfo> <Profile ProfileType="1"> <Customer Gender="Male" BirthDate="1955-08-01"> <PersonName> <GivenName> <![CDATA[John]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> <Telephone PhoneNumber="+31182751118" /> <Email>j.doe@gmail.com</Email> <Address> <StreetNmbr>Einsteinstraat 5</StreetNmbr> <CityName>Reeuwijk</CityName> <PostalCode>2811EP</PostalCode> <CountryName>NL</CountryName> <CompanyName>Smarthotel</CompanyName> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> <Comments> <Comment> <Text> <![CDATA[Comment that will be displayed on the reservation.]]> </Text> </Comment> </Comments> <Guarantee> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard CardCode="VI" CardNumber="4444444444444444" ExpireDate="2017/03"> <CardHolderName>John Smith</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total AmountAfterTax="28500" CurrencyCode="EUR" DecimalPlaces="2" /> <BasicPropertyInfo HotelCode="101073" /> <HotelReservationIDs> <HotelReservationID ResID_Value="your-unique-reference" ResID_Type="14" /> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRQ>
OTA_HotelResNotifRS
This message returns acknowledgement that the reservation has been successfully received, or includes warnings from business processing rules or errors if the request did not succeed. It may optionally include the updated reservation data.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
Success | OTA_HotelResNotifRS | Only there if reservation was added successfully | 0..1 | |
Errors | OTA_HotelResNotifRS | Only if the reservation was not added | 0..1 | |
Error | Errors | 1..n | ||
@Code | Error | 1 | ||
Text | Error | |||
HotelReservations | OTA_HotelResNotifRS | 0..1 | ||
HotelReservation | HotelReservations | 1..n | ||
UniqueID | HotelReservation | 1 | ||
@Type | UniqueID | 14 | 1 | |
@ID | UniqueID | Reservation number supplied by the OTA | 1 | |
ResGlobalInfo | HotelReservation | 1 | ||
HotelReservationIDs | ResGlobalInfo | 1 | ||
HotelReservationID | HotelReservationIDs | 1..n | ||
@ResID_Type | HotelReservationID | 14 | 1 | |
@ResID_Value | HotelReservationID | Reservation ID from the Channel manager | 1 |
Success
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResNotifRS> <Success /> <HotelReservations> <HotelReservation> <UniqueID Type="14" ID="your-unique-reference" /> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="1160" /> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRS>
Error
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResNotifRS> <Errors> <Error Code="11"> <Text>No ID was found for hotel with code 101073.</Text> </Error> </Errors> </OTA_HotelResNotifRS>
OTA_HotelResModifyNotifRQ/RS.
OTA_HotelResModifyNotifRQ
This is a request message for modifying a reservation. It is used for a full overlay of the reservation. When changing data that requires an availability check, this message assumes the availability is known (if availability is not known an availability check containing the reservation ID may be useful).
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
HotelResModifies | OTA_HotelResModifyNotifRQ | 1 | ||
HotelResModify | HotelResModifies | 1..n | ||
@ResStatus | HotelResModify | MODIFY | 1 | |
@CreateDateTime | HotelResModify | yyyy-mm-ddThh:mm:ss | 1 | |
@ LastModifyDateTime | HotelResModify | yyyy-mm-ddThh:mm:ss | 1 | |
RoomStays | HotelResModify | 1 | ||
RoomStay | RoomStays | 1..n | ||
@IndexNumber | RoomStay | Please find the description on how to use the IndexNumber under this table | 1-65535 | 0..1 |
RoomTypes | RoomStays | 1 | ||
RoomType | RoomTypes | 1..n | ||
@RoomTypeCode | RoomType | 1 | ||
@NumberOfUnits | RoomType | 36161 | 1 | |
RoomRates | RoomStay | 1 | ||
RoomRate | RoomRates | 1..n | ||
@RatePlanCode | RoomRate | 1 | ||
Rates | RoomRate | 1 | ||
Rate | Rates | 1 | ||
@EffectiveDate | Rate | yyyy-mm-dd | 1 | |
Base | Rate | 1 | ||
@AmountAfterTax | Base | No decimal point: 120.50 becomes 12050 | 1 | |
@AmountBeforeTax | Base | No decimal point: 120.50 becomes 12050 | 1 | |
@CurrencyCode | Base | EUR USD | 1 | |
@DecimalPlaces | Base | 2 | 1 | |
RatePlans | RoomStay | 1 | ||
RatePlan | RatePlans | 0..1 | ||
MealsIncluded | MealsIncluded | 0..1 | ||
@MealPlanCodes | MealsIncluded | Please refer to MealPlanList (MPT) | 1 | |
Commission | RatePlan | 1 | ||
CommissionPayableAmount | Commission | 1 | ||
@Amount | CommissionPayableAmount | 1 | ||
@DecimalPlaces | CommissionPayableAmount | 1 | ||
@CurrencyCode | CommissionPayableAmount | 1 | ||
GuestCounts | RoomStay | 1 | ||
GuestCount | GuestCounts | 1..n | ||
@AgeQualifyingCode | GuestCount | Please refer to Code List Age Qualifying (AQC) | 1 | |
@Count | GuestCount | 36161 | 1 | |
TimeSpan | RoomStay | 1 | ||
@Start | TimeSpan | yyyy-mm-dd | 1 | |
@End | TimeSpan | yyyy-mm-dd | 1 | |
Comments | RoomStay | 0..1 | ||
Comment | Comments | 1..n | ||
Text | Comment | Comment included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
SpecialRequests | RoomStay | 0..n | ||
SpecialRequest | SpecialRequests | 1..n | ||
Text | SpecialRequest | Request included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
Total | RoomStay | Total of the RoomStay | 1 | |
@AmountAfterTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@AmountBeforeTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@CurrencyCode | Total | EUR | 1 | |
USD | ||||
@DecimalPlaces | Total | 2 | 1 | |
Taxes | Total | 0..1 | ||
Tax | Tax | 1 | ||
@Amount | Tax | No decimal point: 120.50 becomes 12050 | 1 | |
@DecimalPlaces | Tax | 2 | 1 | |
@CurrencyCode | Tax | EUR USD | 1 | |
ResGuestRPHs | RoomStay | Reference which ResGuest is in which RoomStay | 1 | |
@RPH | ResGuestRPH | The reference number of the guest. Must stay consistent with the RPH values defined in ResGuest. | 1 | |
ResGuests | HotelResModify | 1 | ||
ResGuest | Resguests | 1..n | ||
@ResguestRPH | ResGuest | 1 | ||
Profiles | ResGuest | 1 | ||
ProfileInfo | Profiles | 1..n | ||
Profile | ProfileInfo | 1 | ||
Customer | Profile | 1 | ||
PersonName | Customer | 1 | ||
GivenName | PersonName | GivenName included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
SurName | PersonName | Surname included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
ResGlobalInfo | HotelResModify | 1 | ||
Profiles | ResGlobalInfo | Contains the data of the booker | 1 | |
Profile | Profiles | 1..n | ||
@ProfileType | Profile | Please refer to Code List Profile Type (PRT) | 1 | |
Customer | Profile | 1 | ||
@Gender | Customer | Male Female | 0..1 | |
@BirthDate | Customer | yyyy-mm-dd | 0..1 | |
PersonName | Customer | 0..1 | ||
GivenName | PersonName | GivenName included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
SurName | PersonName | SurName included as CDATA, to prevent invalid characters from breaking the XML. | 1 | |
Telephone | Customer | 0..1 | ||
@PhoneNumber | Telephone | 1 | ||
Customer | 0..1 | |||
Address | Customer | 0..1 | ||
StreetNmbr | Address | 1 | ||
CityName | Address | 1 | ||
PostalCode | Address | 1 | ||
CountryName | Address | Country name, according to the ISO 3166-1 alpha-2 list (e.g., NL). The code of a country (e.g. as used in an address or to specify citizenship of a traveller). | 1 | |
CompanyName | Address | 0..1 | ||
Comments | ResGlobalInfo | 1 | ||
Comment | Comments | Comment included as CDATA, to prevent invalid characters from breaking the XML. | 1..n | |
Text | Comment | 1 | ||
Guarantee | ResGlobalInfo | Credit card details related to the reservation | 0..1 | |
GuaranteesAccepted | Guarantee | 1 | ||
PaymentCard | GuaranteesAccepted | 1 | ||
@CardCode | PaymentCard | 1 | ||
@CardNumber | PaymentCard | 1 | ||
@ExpireDate | PaymentCard | yyyy/mm | 1 | |
Total | ResGlobalInfo | Reservation total | 1 | |
@AmountAfterTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@AmountBeforeTax | Total | No decimal point: 120.50 becomes 12050 | 1 | |
@CurrencyCode | Total | EUR USD | 1 | |
@DecimalPlaces | Total | 2 | 1 | |
BasicPropertyInfo | ResGlobalInfo | 1 | ||
@HotelCode | BasicPropertyInfo | The hotel code that identifies this hotel (PIN code). | 1 | |
HotelreservationIDs | ResGlobalInfo | 1 | ||
HotelReservationID | HotelReservationIDs | 1 | ||
ResID_Value | HotelReservationID | The reservation number supplied by the OTA. The same reservation number must be used for the lifespan of the reservation through all its possible mutations (modifications and cancellation). | 1 | |
ResID_Type | HotelReservationID | 14 | 1 |
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResModifyNotifRQ PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source AgentDutyCode="OTA"> <RequestorID ID="APIKEY" MessagePassword="APIPASSWORD"/> </Source> </POS> <HotelResModifies> <HotelResModify ResStatus="Modify" CreateDateTime="2018-09-22T08:26:21" LastModifyDateTime="2018-09-22T08:27:06"> <RoomStays> <RoomStay IndexNumber="401"> <RoomTypes> <RoomType RoomTypeCode="20002" NumberOfUnits="1" /> </RoomTypes> <RoomRates> <RoomRate RatePlanCode="1"> <Rates> <Rate EffectiveDate="2018-10-11"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-12"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-13"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> </Rates> </RoomRate> </RoomRates> <RatePlans> <RatePlan> <MealsIncluded MealPlanCodes="12" /> <Commission> <CommissionPayableAmount Amount="5355" DecimalPlaces="3" CurrencyCode="EUR"/> </Commission> </RatePlan> </RatePlans> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2" isPerRoom="true" /> </GuestCounts> <TimeSpan Start="2018-10-11" End="2018-10-13" /> <Comments> <Comment> <Text> <![CDATA[Fictional comment]]> </Text> </Comment> <Comment> <Text> <![CDATA[Another fictional comment]]> </Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text> <![CDATA[Smoking preference : Non-Smoking]]> </Text> </SpecialRequest> </SpecialRequests> <Total AmountAfterTax="28500" AmountBeforeTax="33000" CurrencyCode="EUR" DecimalPlaces="2" /> <ResGuestRPHs> <ResGuestRPH RPH="0" /> </ResGuestRPHs> </RoomStay> <RoomStay IndexNumber="402"> <RoomTypes> <RoomType RoomTypeCode="20003" NumberOfUnits="1" /> </RoomTypes> <RoomRates> <RoomRate RatePlanCode="1"> <Rates> <Rate EffectiveDate="2018-10-11"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-12"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> <Rate EffectiveDate="2018-10-13"> <Base AmountAfterTax="9500" AmountBeforeTax="9000" CurrencyCode="EUR" DecimalPlaces="2" /> </Rate> </Rates> </RoomRate> </RoomRates> <RatePlans> <RatePlan> <MealsIncluded MealPlanCodes="12" /> <Commission> <CommissionPayableAmount Amount="5355" DecimalPlaces="3" CurrencyCode="EUR"/> </Commission> </RatePlan> </RatePlans> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2" isPerRoom="true" /> </GuestCounts> <TimeSpan Start="2018-10-11" End="2018-10-13" /> <Comments> <Comment> <Text> <![CDATA[Fictional comment]]> </Text> </Comment> <Comment> <Text> <![CDATA[Another fictional comment ]]> </Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text> <![CDATA[Smoking preference : Non-Smoking]]> </Text> </SpecialRequest> </SpecialRequests> <Total AmountAfterTax="28500" AmountBeforeTax="33000" CurrencyCode="EUR" DecimalPlaces="2"> <Taxes> <Tax Amount="2030" CurrencyCode="EUR" DecimalPlaces="2" /> </Taxes> </Total> <ResGuestRPHs> <ResGuestRPH RPH="1" /> </ResGuestRPHs> </RoomStay> </RoomStays> <ResGuests> <ResGuest ResGuestRPH="0"> <Profiles> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[John]]> </GivenName> <Surname> <![CDATA[Smith]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[Jane]]> </GivenName> <Surname> <![CDATA[Smith]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> <ResGuest ResGuestRPH="1"> <Profiles> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[John]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[Jane]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile> <Customer> <PersonName> <GivenName> <![CDATA[Jake]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <Profiles> <ProfileInfo> <Profile ProfileType="1"> <Customer Gender="Male" BirthDate="1955-08-01"> <PersonName> <GivenName> <![CDATA[John]]> </GivenName> <Surname> <![CDATA[Doe]]> </Surname> </PersonName> <Telephone PhoneNumber="+31182751118" /> <Email>j.doe@gmail.com</Email> <Address> <StreetNmbr>Einsteinstraat 5</StreetNmbr> <CityName>Reeuwijk</CityName> <PostalCode>2811EP</PostalCode> <CountryName>NL</CountryName> <CompanyName>Smarthotel</CompanyName> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> <Comments> <Comment> <Text> <![CDATA[Comment that will be displayed on the reservation.]]> </Text> </Comment> </Comments> <Guarantee> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard CardCode="VI" CardNumber="4444444444444444" SeriesCode="333" ExpireDate="2017/03"> <CardHolderName>John Smith</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total AmountAfterTax="28500" CurrencyCode="EUR" DecimalPlaces="2" /> <BasicPropertyInfo HotelCode="101073" /> <HotelReservationIDs> <HotelReservationID ResID_Value="your-unique-reference" ResID_Type="14" /> </HotelReservationIDs> </ResGlobalInfo> </HotelResModify> </HotelResModifies> </OTA_HotelResModifyNotifRQ>
OTA_HotelResModifyNotifRS
This is the response message for a full overlay modification to a reservation. The response could be as simple as indicating the modification was made or as complex as echoing back all reservation information.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
Success | OTA_HotelResModifyNotifRS | Only there if reservation was added successfully | 0..1 | |
Errors | OTA_HotelResModifyNotifRS | Only if the reservation was not added | 0..1 | |
Error | Errors | 1..n | ||
@Code | Error | 1 | ||
Text | Error | |||
HotelReservations | OTA_HotelResModifyNotifRS | 0..1 | ||
HotelReservation | HotelReservations | 1..n | ||
UniqueID | HotelReservation | 1 | ||
@Type | UniqueID | 14 | 1 | |
@ID | UniqueID | Reservation number supplied by the OTA | 1 | |
ResGlobalInfo | HotelReservation | 1 | ||
HotelReservationIDs | ResGlobalInfo | 1 | ||
HotelReservationID | HotelReservationIDs | 1..n | ||
@ResID_Type | HotelReservationID | 14 | 1 | |
@ResID_Value | HotelReservationID | Reservation ID from the Channel manager | 1 |
Success
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResModifyNotifRS> <Success /> <HotelReservations> <HotelReservation> <UniqueID Type="14" ID="your-unique-reference" /> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="1160" /> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResmodifyNotifRS>
Error
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResModifyNotifRS> <Errors> <Error Code="11"> <Text>No ID was found for hotel with code 101073.</Text> </Error> </Errors> </OTA_HotelResModifyNotifRS>
OTA_CancelRQ/RS.
OTA_CancelRQ
A generic message, available as an action on several OpenTravel services which requests a server to cancel the booking identified by the UniqueID element.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
UniqueID | OTA_CancelRQ | This allows a user to send more than one UniqueID where there is more than one UniqueID associated to a single reservation (e.g. confirmation number and PNR record locator). | 1..n | |
@ID | UniqueID | The ID of the reservation. | [integer] | 1 |
@ID_Context | UniqueID | The ID of the booking site. | [integer] | 1 |
@Type | UniqueID | A reference to the type of object defined by the UniqueID element. | Refer to Code List Unique ID Type (UIT). | 1 |
TPA_Extensions | UniqueID | A placeholder in the schema to allow for additional elements and attributes to be included. Allows extensions to be added to the OpenTravel specification. | 1 | |
HotelInfo | TPA_Extensions | The element containing information related to the hotel. | 1 | |
@HotelCode | HotelInfo | The ID of the hotel. | [integer] | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_CancelRQ EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <POS> <Source AgentDutyCode="OTA"> <RequestorID ID="APIKEY" MessagePassword="APIPASSWORD"/> </Source> </POS> <UniqueID ID="123456" ID_Context="2" Type="15"> <TPA_Extensions> <HotelInfo HotelCode="123" /> </TPA_Extensions> </UniqueID> </OTA_CancelRQ>
OTA_CancelRS
Used to rspond to a CancelRQ and may provide details about the cancellation.
Element / @Attribute | Parent | Info | Values | Occurrence |
---|---|---|---|---|
UniqueID | OTA_CancelRS | Contains the reference(s) of the items being cancelled. An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote). | 2 | |
Two instance of this element are required, one to reference the reservation ID for which a cancellation was requested and one to reference the ID of the cancellation. | ||||
@ID | UniqueID | The ID of the reservation or cancellation. | [integer] | 1 |
@Type | UniqueID | A reference to the type of object defined by the UniqueID element. | Refer to Code List Unique ID Type (UIT). | 1 |
<?xml version="1.0" encoding="UTF-16"?> <OTA_CancelRS EchoToken="Example123" PrimaryLangID="eng" Target="Production" TimeStamp="2018-07-29T07:38:54.729Z" Version="1.0"> <Success /> <UniqueID ID="123456" Type="15" /> <UniqueID ID="123457" Type="15" /> </OTA_CancelRS>