Here we list use cases that could appear during the booking process.
12.1.
...
HOTEL AVAILABILITY
...
12.1.1. PersonName ELEMENT
PersonName element shows if it is enough to provide name only for tour lead. This element is present on Availability response:
Expand |
---|
title | PersonName element in Hotel Availability Response Sample XML |
---|
|
Code Block |
---|
| <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="131dfebd24" FreeCancellationDeadline="2020-11-09T23:58:59+01:00" InexactPrice="false" NumberOfUnits="14" RoomTypeCode="APT.C2" SupplierNumberOfUnitsInd="true" RatePlanCode="RO#102|170054|0">
<Rates>
...
</Rates>
<Total AmountAfterTax="2335.95" CurrencyCode="EUR"/>
<TotalRetail AmountAfterTax="2465.00" IsMin="true" CurrencyCode="EUR"/>
...
<PersonName OnlyLead="Mixed"/>
</RoomRate> |
|
Possible value of PersonName/@OnlyLead attribute are "Yes", "No", "Mixed". Identifies the rule, if it's necessary to provide name of each passenger (No), or only tour leader (Yes), or both variants are possible (Mixed).
– If PersonName/@OnlyLead is "Yes" need to just send only Tour Lead name in Reservation Initiate and Reservation Confirmation requests:
Expand |
---|
title | Hotel Reservation Request with Tour Lead name only Sample XML |
---|
|
|
– If PersonName/@OnlyLead is "No" need to send names of all guests in Reservation Initiate and reservation Confirmation requests:
Expand |
---|
title | Hotel Reservation Request with all guests names Sample XML |
---|
|
|
12.1.2. CitizenCountryName ELEMENT
CitizenCountryName element shows if it is enough to provide information about citizenship only for tour lead. This element is present on Availability response:
Expand |
---|
title | CitizenCountryName element in Hotel Availability Response Sample XML |
---|
|
Code Block |
---|
| <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="131dfebd24" FreeCancellationDeadline="2020-11-09T23:58:59+01:00" InexactPrice="false" NumberOfUnits="14" RoomTypeCode="APT.C2" SupplierNumberOfUnitsInd="true" RatePlanCode="RO#102|170054|0">
<Rates>
...
</Rates>
<Total AmountAfterTax="2335.95" CurrencyCode="EUR"/>
<TotalRetail AmountAfterTax="2465.00" IsMin="true" CurrencyCode="EUR"/>
<CitizenCountryName OnlyLead="Mixed"/>
...
</RoomRate> |
|
Possible value of CitizenCountryName/@OnlyLead attribute are "Yes", "No", "Mixed". Identifies the rule, if it is enough to provide information only for tour leader (Yes), or it is necessary to provide for all passengers (No), or both options are possible (Mixed). By default it is necessary to provide this information for all passenger (No).
– If PersonName/@OnlyLead is "Yes" need to just send only Tour Lead citizenship (<CitizenCountryName> element) in Reservation Initiate and Reservation Confirmation requests:
Expand |
---|
title | Hotel Reservation Request with Tour Lead citizenship only Sample XML |
---|
|
|
– If PersonName/@OnlyLead is "No" need to send citizenship (<CitizenCountryName> element) of all guests in Reservation Initiate and Reservation Confirmation requests:
Expand |
---|
title | Hotel Reservation Request with all guests citizenship Sample XML |
---|
|
|
12.2. BOOKING
...
12.2.1. BOOKING WITH SERVICES
Services that can be booked are contained in <Services> element on Availability response:
...
Expand |
---|
title | Reservation Confirmation Response Sample XML |
---|
|
Code Block |
---|
| <OTA_HotelResRS EchoToken="tok1" TransactionIdentifier="0" Version="2.0" xmlns="http://www.opentravel.org/OTA/2003/05">
<Success/>
<HotelReservations>
<HotelReservation ResStatus="Reserved">
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="87787">
<RoomDescription Name="Deluxe Room, 1 Double Bed">
<Text>Deluxe Room, 1 Double Bed</Text>
</RoomDescription>
</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="13">
<RatePlanDescription>
<Text>As brochured</Text>
</RatePlanDescription>
<MealsIncluded Breakfast="false" Dinner="false" Lunch="false" MealPlanCodes="13"/>
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate AvailabilityStatus="AvailableForSale" BookingCode="3e8" InexactPrice="false" InvBlockCode="1" NonRefundable="true" NumberOfUnits="1" RatePlanCode="13" RoomTypeCode="87787">
<Rates>
<Rate AgeQualifyingCode="10" RateSource="Calculated">
<Total AmountAfterTax="135.48" CurrencyCode="USD"/>
</Rate>
</Rates>
<RoomRateDescription Code="276321198" Name="276321198"/>
<Services>
<Service Inclusive="true" IsPerRoom="true" ServiceRPH="133243" SpecialServiceType="Bedding">
<ServiceDetails ShortName="Bedding">
<ServiceDescription>
<Text>1 Double Futon, 1 Large Twin Sofa Bed and 1 King Water Bed</Text>
</ServiceDescription>
</ServiceDetails>
</Service>
</Services>
<Total AmountAfterTax="372.10" AmountBeforeTax="319.00" CurrencyCode="USD">
<Taxes>
<Tax Amount="54.10" Code="14" CurrencyCode="USD" TaxInclusiveInd="true"/>
<Tax Amount="79.36" Code="12" CurrencyCode="USD" TaxInclusiveInd="false"/>
</Taxes>
</Total>
</RoomRate>
</RoomRates>
<TimeSpan End="2019-11-03" Start="2019-11-01"/>
<CancelPenalties>
<CancelPenalty End="2020-07-01T18:00:00.000-07:00" Start="2020-06-30T18:00:00.000-07:00">
<AmountPercent Amount="40.65" CurrencyCode="USD" Percent="30"/>
</CancelPenalty>
</CancelPenalties>
<Total AmountAfterTax="372.10" AmountBeforeTax="319.00" CurrencyCode="USD"/>
<BasicPropertyInfo HotelCityCode="1" HotelCode="18773" HotelCodeContext="expedia" HotelName="NoName">
<Award Provider="Hotel" Rating="2"/>
</BasicPropertyInfo>
</RoomStay>
</RoomStays>
<ResGuests>
<ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
<Profiles>
<ProfileInfo>
<UniqueID ID="1" Type="1"/>
<Profile>
<Customer>
<PersonName>
<NamePrefix>Mr</NamePrefix>
<GivenName>Ivan</GivenName>
<Surname>Ivanov</Surname>
</PersonName>
<Telephone CountryAccessCode="375" PhoneNumber="292149601"/>
<Email>suppliers@software.travel</Email>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
<ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
<Profiles>
<ProfileInfo>
<UniqueID ID="2" Type="1"/>
<Profile>
<Customer>
<PersonName>
<NamePrefix>Mrs</NamePrefix>
<GivenName>Maria</GivenName>
<Surname>Ivanova</Surname>
</PersonName>
<Telephone CountryAccessCode="375" PhoneNumber="292149601"/>
<Email>suppliers@software.travel</Email>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Source="agent" ResID_Value="123456"/>
<HotelReservationID ResID_Source="client" ResID_Value="123456"/>
<HotelReservationID ResID_Source="supplier" ResID_SourceContext="supplierCode" ResID_Value="7241672073990"/>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelReservation>
</HotelReservations>
</OTA_HotelResRS> |
|
12.
...
2.2. CHANGE DATES
GP HUB allows to specify date on booking step other than date on Availability step. In order to change date on Reservation step, <TimeSpan> element have to be specified on Reservation Initiate Request. <TimeSpan> element should contains desired booking date.
...
Expand |
---|
title | Change dates on Reservation Confirmation step Sample XML |
---|
|
Code Block |
---|
| <OTA_HotelResRQ EchoToken="tok1" ResStatus="Book" Version="2" TransactionIdentifier="178938" PrimaryLangID="ru">
<POS>
<Source>
<RequestorID ID="client" MessagePassword="pwd" Type="22"/>
<BookingChannel Type="7"/>
</Source>
</POS>
<HotelReservations>
<HotelReservation>
<RoomStays>
<RoomStay>
<RoomRates>
<RoomRate BookingCode="12b133cb" InvBlockCode="1" NumberOfUnits="1"/>
</RoomRates>
<TimeSpan End="2020-09-16" Start="2020-09-13"/>
</RoomStay>
</RoomStays>
<ResGuests>
<ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
<Profiles>
<ProfileInfo>
<UniqueID ID="1" Type="1"/>
<Profile>
<Customer>
<PersonName>
<NamePrefix>Mr</NamePrefix>
<GivenName>Alexey</GivenName>
<Surname>Feofanov</Surname>
</PersonName>
<CitizenCountryName Code="RU"/>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Source="agent" ResID_Value="htr656h56h56hgun622"/>
<HotelReservationID ResID_Source="client" ResID_Value="gdsfsun6dsv"/>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelReservation>
</HotelReservations>
</OTA_HotelResRQ> |
|
12.
...
3.3. MULTIBOOKING WITH ROOMGROUPIND
Some suppliers return special offer combinations for multibooking on Availability Response. HUB identifies such combinations with an element RoomGroupInd.
...
Expand |
---|
title | Reservation Initiate Request Sample XML |
---|
|
Code Block |
---|
| <OTA_HotelResRQ EchoToken="tok1" Version="2" ResStatus="Initiate" PrimaryLangID="en" xmlns="http://www.opentravel.org/OTA/2003/05">
<POS>
<Source>
<RequestorID ID="client" MessagePassword="pwd" Type="22"/>
<BookingChannel Type="7"/>
</Source>
</POS>
<HotelReservations>
<HotelReservation>
<RoomStays>
<RoomStay>
<RoomRates>
<RoomRate BookingCode="12fe437651" InvBlockCode="1" NumberOfUnits="1"/>
</RoomRates>
</RoomStay>
</RoomStays>
<ResGuests>
<ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
<Profiles>
<ProfileInfo>
<UniqueID ID="1" Type="1"/>
<Profile>
<Customer>
<PersonName>
<NamePrefix>Mr</NamePrefix>
<GivenName>Alexey</GivenName>
<Surname>Feofanov</Surname>
</PersonName>
<CitizenCountryName Code="UA"/>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Source="agent" ResID_Value="tbobu442x19qq"/>
<HotelReservationID ResID_Source="client" ResID_Value="sdfsddfgdfs"/>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelReservation>
<HotelReservation>
<RoomStays>
<RoomStay>
<RoomRates>
<RoomRate BookingCode="12fe437951" InvBlockCode="2" NumberOfUnits="1"/>
</RoomRates>
</RoomStay>
</RoomStays>
<ResGuests>
<ResGuest AgeQualifyingCode="10" ResGuestRPH="2">
<Profiles>
<ProfileInfo>
<UniqueID ID="1" Type="1"/>
<Profile>
<Customer>
<PersonName>
<NamePrefix>Mr</NamePrefix>
<GivenName>Oleg</GivenName>
<Surname>Petrov</Surname>
</PersonName>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
<ResGuest AgeQualifyingCode="10" ResGuestRPH="2">
<Profiles>
<ProfileInfo>
<UniqueID ID="2" Type="1"/>
<Profile>
<Customer>
<PersonName>
<NamePrefix>Mrs</NamePrefix>
<GivenName>Olga</GivenName>
<Surname>Petrova</Surname>
</PersonName>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
<ResGuest AgeQualifyingCode="7" ResGuestRPH="3">
<Profiles>
<ProfileInfo>
<UniqueID ID="3" Type="1"/>
<Profile>
<Customer BirthDate="2019-05-14">
<PersonName>
<NamePrefix>Mrs</NamePrefix>
<GivenName>Bera</GivenName>
<Surname>Hell</Surname>
</PersonName>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Source="agent" ResID_Value="tbobu442x19qq"/>
<HotelReservationID ResID_Source="client" ResID_Value="sdfsddfgdfgd"/>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelReservation>
<HotelReservationIDs>
<HotelReservationID ResID_Source="basket" ResID_Value="xsdfvsdf"/>
</HotelReservationIDs>
</HotelReservations>
</OTA_HotelResRQ> |
|
12.
...
4. MODIFICATION
...
12.
...
4.1. CHANGE BOOKING DATES
In order to change booking dates, it have to be specified in <TimeSpan> element on Modification Initiate Request and Modification Confirmation Request. <TimeSpan> element should contains desired booking date:
Expand |
---|
title | Change booking dates Sample XML |
---|
|
Code Block |
---|
| ...
<RoomStay>
<RoomRates>
<RoomRate InvBlockCode="1" NumberOfUnits="1"/>
</RoomRates>
<TimeSpan Start="2020-05-01" End="2020-05-03"/>
</RoomStay>
... |
|
12.
...
4.2. CHANGE ROOM LEAD NAME
In order to change room lead name, it have to be specified new name in <PersonName> element on Modification Initiate Request and Modification Confirmation Request. <PersonName> element should contains desired lead name:
Expand |
---|
title | Change room lead Sample XML |
---|
|
Code Block |
---|
| ...
<PersonName>
<NamePrefix>Mr</NamePrefix>
<GivenName>New</GivenName>
<Surname>Name</Surname>
</PersonName>
... |
|
12.
...
4.3. CHANGE GUEST AGE
In order to change room lead name, it have to be specified new guest age in <BirthDate> element on Modification Initiate Request and Modification Confirmation Request. <BirthDate> element should contains desired guest age:
Expand |
---|
title | Change guest age Sample XML |
---|
|
Code Block |
---|
| ...
<Profile>
<Customer BirthDate="2013-05-14">
<PersonName>
... |
|
...
In order to add or change comment, it have to be specified in <Comments> element on Modification Initiate Request and Modification Confirmation Request. <Comments> element should contains desired comment:
...