Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 2 Next »

Reservation Confirmation Request is used to confirm booking of selected offer. It should always follow after corresponding "Initiate" request.

OTA_HotelResRQ:

Element

Attribute

Type

Description

Min…Max occurs

PrimaryLangID

For more information see Common Data Description section in Glossary.

ResStatus*

string ("Book")

Must be "Book" for that step.

1…1

TransactionIdentifier*

string

Unique ID of transaction. This attribute must have the same value as in Reservation Initiate Response.

1…1

HotelReservations/ HotelReservation*

Basket of separate room reservations, each of it defines a specific reservation with a unique client's ResID_Value.

After first HotelReservation block comes another (second, third etc). 

Important note: If in HotelAvail search a client sends a request to search for several rooms within the same guest set (for example for 2 same guest sets Quantity=2), then for every guest set a separate HotelReservation block should be configured, with unique ResGuestRPH and client ResID_Value.

1…*

HotelReservations/ HotelReservationIDs/ HotelReservationID

A mandatory tag for multi-room booking, that defines a unique basket identifier within all separate room reservations. This element can not be used for a single booking.

0...1

ResID_Source

string ("basket")

Allows to pass client (agent) booking reference that is generated by application connecting to GP Travel HUB for identification of each booking. Has value "basket" for the whole list of room reservations.

1...1

ResID_Value

string

A unique identifier of a separate multi-room reservation (basket).

1...1

OTA_HotelResRQ/HotelReservations/HotelReservation*:

Element

Attribute

Type

Description

Min…Max occurs

RoomStays/RoomStay*

Represents room offer in a certain hotel.

1…1

ResGuests/ResGuest*

Represents guest details. Guest data should be specified for each room reservation.

1...*

ResGlobalInfo*

Contains global details regarding the reservation (of a single reservation in reservation basket).

1...1

OTA_HotelResRQ/HotelReservations/HotelReservation/RoomStays/RoomStay*:

Element

Attribute

Type

Description

Min…Max occurs

RoomRates/RoomRate*

Describes the offer to book.

1…*

InvBlockCode*

string (default - 1)

A room identifier. Must start from 1 and must be unique within booking. Together with ResGuestRPH this element allows to allocate passengers in rooms. It must be "1" in current implementation. For multi-room reservation InvBlockCode increments within next room reservation.

1...1

BookingCode*

string

Must be taken from the previous step OTA_HotelResRS. 

Please note: BookingCode may change between Availability response and Reservation Initiate response (it is supplier specific).

1...1

NumberOfUnits*

integer (1)

Always has fixed value =1.

1...1

RoomRates/ RoomRate/ Services/ Service

0...*

TimeSpan

For more information see Common Data Description section in Glossary.

OTA_HotelResRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/Services/Service:

Element

Attribute

Type

Description

Min…Max occurs

ServiceRPH*

string 1 - 32

Unique service ID from OTA_HotelAvailRS.

1...1

Inclusive

boolean (default - false)

Identifies whether the price for this service is included in the room rate. Possible values: No (false), and Yes (true).

0...1

IsPerRoom

boolean (default - false)

Identifies if the service applied per room (true) or per person (false).

0...1

SpecialServiceType*

For more information see Common Data Description section in Glossary.

RequiredInd

boolean (default - false)

Specifies whether the service is mandatory for the client or not.

0...1

GuestUniqueId

Refers to ResGuest/ProfileInfo/UniqueID/@ID and specified the traveler which the service should be assigned to. The GuestUniqueId is only necessary when the Service/@IsPerRoom="false" in OTA_HotelAvailRS.

0...99

Id*

integer (1 - 999)

1...1

ServiceDetails/TimeSpan

If specified then it means that user would like to check in or/and check out at time that differs from established by hotel.

0...1

Start

hh-mm-ss

Specifies the time of EarlyCheckIn.

0...1

End

hh-mm-ss

Specifies the time of LateCheckOut.

0...1

 Reservation Confirmation Request Sample XML - 2 adult 1 child
<OTA_HotelResRQ ResStatus="Book" TransactionIdentifier="12232" EchoToken="tok1" PrimaryLangID="en" Version="2">
   <POS>
      <Source>
         <RequestorID ID="client" MessagePassword="pwd" Type="22"/>
         <BookingChannel Type="7" PriceDomain="1"/>
      </Source>
   </POS>
   <HotelReservations>
      <HotelReservation>
         <RoomStays>
            <RoomStay>
               <RoomRates>
                  <RoomRate NumberOfUnits="1" InvBlockCode="1" BookingCode="1001">
                     <Services>
                        <Service SpecialServiceType="Meal" ServiceRPH="1000136"/>
                     </Services>
                  </RoomRate>
               </RoomRates>
               <TimeSpan Start="2020-10-20" End="2020-10-25"/>
            </RoomStay>
         </RoomStays>
         <ResGuests>
            <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="1" Type="1"/>
                     <Profile>
                        <Customer>
                           <PersonName>
                              <NamePrefix>Mr</NamePrefix>
                              <GivenName>Oleg</GivenName>
                              <Surname>Ivanov</Surname>
                           </PersonName>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
            <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="2" Type="1"/>
                     <Profile>
                        <Customer>
                           <PersonName>
                              <NamePrefix>Mrs</NamePrefix>
                              <GivenName>Olga</GivenName>
                              <Surname>Ivanova</Surname>
                           </PersonName>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
            <ResGuest AgeQualifyingCode="8" ResGuestRPH="1">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="3" Type="1"/>
                     <Profile>
                        <Customer BirthDate="2014-07-18">
                           <PersonName>
                              <NamePrefix>Mr</NamePrefix>
                              <GivenName>Alexey</GivenName>
                              <Surname>Ivanov</Surname>
                           </PersonName>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
         </ResGuests>
         <ResGlobalInfo>
            <Comments>
               <Comment>
                  <Text>non-smoking room requested;king bed</Text>
               </Comment>
            </Comments>
            <HotelReservationIDs>
               <HotelReservationID ResID_Source="client" ResID_Value="264888"/>
            </HotelReservationIDs>
         </ResGlobalInfo>
      </HotelReservation>
   </HotelReservations>
</OTA_HotelResRQ>
 Multibooking Reservation Confirmation Request Sample XML - 1 room: 2 adult 1 child; 2 room: 2 adults 2 children
<OTA_HotelResRQ EchoToken="tok1" PrimaryLangID="en" ResStatus="Book" TransactionIdentifier="156864" Version="2" 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="10326490" 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="RU"/>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
            <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="2" Type="1"/>
                     <Profile>
                        <Customer>
                           <PersonName>
                              <NamePrefix>Mr</NamePrefix>
                              <GivenName>Ivan</GivenName>
                              <Surname>Feofanov</Surname>
                           </PersonName>
                           <CitizenCountryName Code="RU"/>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
            <ResGuest AgeQualifyingCode="8" ResGuestRPH="1">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="3" Type="1"/>
                     <Profile>
                        <Customer BirthDate="2016-05-14">
                           <PersonName>
                              <NamePrefix>Mr</NamePrefix>
                              <GivenName>Ivan</GivenName>
                              <Surname>Feofanov</Surname>
                           </PersonName>
                           <CitizenCountryName Code="RU"/>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
         </ResGuests>
         <ResGlobalInfo>
            <HotelReservationIDs>
               <HotelReservationID ResID_Source="agent" ResID_Value="tour001"/>
               <HotelReservationID ResID_Source="client" ResID_Value="tour001"/>
            </HotelReservationIDs>
         </ResGlobalInfo>
      </HotelReservation>
      <HotelReservation>
         <RoomStays>
            <RoomStay>
               <RoomRates>
                  <RoomRate BookingCode="103264f4" 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>Mr</NamePrefix>
                              <GivenName>Ivan</GivenName>
                              <Surname>Feofanov</Surname>
                           </PersonName>
                           <CitizenCountryName Code="RU"/>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
            <ResGuest AgeQualifyingCode="8" ResGuestRPH="2">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="3" Type="1"/>
                     <Profile>
                        <Customer BirthDate="2015-05-14">
                           <PersonName>
                              <NamePrefix>Mrs</NamePrefix>
                              <GivenName>Olga</GivenName>
                              <Surname>Petrova</Surname>
                           </PersonName>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
            <ResGuest AgeQualifyingCode="8" ResGuestRPH="2">
               <Profiles>
                  <ProfileInfo>
                     <UniqueID ID="4" Type="1"/>
                     <Profile>
                        <Customer BirthDate="2012-05-14">
                           <PersonName>
                              <NamePrefix>Mrs</NamePrefix>
                              <GivenName>Olga</GivenName>
                              <Surname>Petrova</Surname>
                           </PersonName>
                        </Customer>
                     </Profile>
                  </ProfileInfo>
               </Profiles>
            </ResGuest>
         </ResGuests>
         <ResGlobalInfo>
            <HotelReservationIDs>
               <HotelReservationID ResID_Source="client" ResID_Value="tour002"/>
            </HotelReservationIDs>
         </ResGlobalInfo>
      </HotelReservation>
      <HotelReservationIDs>
         <HotelReservationID ResID_Source="basket" ResID_Value="tourb001"/>
      </HotelReservationIDs>
   </HotelReservations>
</OTA_HotelResRQ>
  • No labels