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 »

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:

 PersonName element in Hotel Availability Response Sample XML
<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:

 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:

 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:

 CitizenCountryName element in Hotel Availability Response Sample XML
<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:

 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:

 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:

 Availability Response with Services Sample XML
<OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="54039685" Version="2.0">
  <Success/>
  <RoomStays>
       ...
      <RoomRates>
        <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="3e8" InexactPrice="false" NonRefundable="false" NumberOfUnits="999" RatePlanCode="13" RoomTypeCode="230410389">
          <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>
            <Service Inclusive="true" IsPerRoom="true" ServiceRPH="133242" SpecialServiceType="Bedding">
              <ServiceDetails ShortName="Bedding">
                <ServiceDescription>
                  <Text>1 Large Twin Bunk Bed and 1 Twin Murphy Bed</Text>
                </ServiceDescription>
              </ServiceDetails>
            </Service>
          </Services>
          <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="135.48" AmountBeforeTax="113.00" CurrencyCode="USD">
            <Taxes>
                   ...
            </Taxes>
          </Total>
          <CitizenCountryName OnlyLead="Yes"/>
          <PersonName OnlyLead="Yes"/>
        </RoomRate>
      </RoomRates>
      <TimeSpan End="2019-11-03" Start="2019-11-01"/>
      <BasicPropertyInfo BrandCode="chainCode_127757540" BrandName="chainName_127757540" ChainCode="chainCode_127757540" ChainName="chainName_127757540" HotelCityCode="1" HotelCode="11775754" HotelCodeContext="expedia" HotelName="NoName">
           ...
      </BasicPropertyInfo>
    </RoomStay>
  </RoomStays>
</OTA_HotelAvailRS>

In order to book a service, it have to be specified on Reservation Initiate Request and Reservation Confirmation request in <Services> element:

 Reservation Initiate Request Sample XML
<OTA_HotelResRQ xmlns:ota="http://www.opentravel.org/OTA/2003/05" ResStatus="Initiate" EchoToken="tok1" Version="2">
  <POS>
    <Source>
      <RequestorID ID="client" MessagePassword="pwd" Type="22"/>
      <BookingChannel Type="7"/>
    </Source>
  </POS>
  <HotelReservations>
    <HotelReservation>
      <RoomStays>
        <RoomStay>
          <RoomRates>
            <RoomRate InvBlockCode="1" BookingCode="3e8" NumberOfUnits="1">
              <Services>
                <Service ServiceRPH="133243" SpecialServiceType="Bedding"/>
              </Services>
            </RoomRate>
          </RoomRates>
        </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="client" ResID_Value="123456"/>
        </HotelReservationIDs>
      </ResGlobalInfo>
    </HotelReservation>
  </HotelReservations>
</OTA_HotelResRQ>
 Reservation Confirmation Request Sample XML
<OTA_HotelResRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="tok1" ResStatus="Book" Version="2" TransactionIdentifier="179430">
  <POS>
    <Source>
      <RequestorID ID="client" MessagePassword="pwd" Type="22"/>
      <BookingChannel Type="7"/>
    </Source>
  </POS>
  <HotelReservations>
    <HotelReservation>
      <RoomStays>
        <RoomStay>
          <RoomRates>
            <RoomRate InvBlockCode="1" BookingCode="3e8" NumberOfUnits="1">
              <Services>
                <Service ServiceRPH="133243" SpecialServiceType="Bedding"/>
              </Services>
            </RoomRate>
          </RoomRates>
        </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="client" ResID_Value="123456"/>
        </HotelReservationIDs>
      </ResGlobalInfo>
    </HotelReservation>
  </HotelReservations>
</OTA_HotelResRQ>
 Reservation Confirmation Response Sample XML
<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.

 Change dates on Reservation Initiate step Sample XML
<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="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="gasusn6dsv"/>
            </HotelReservationIDs>
         </ResGlobalInfo>
      </HotelReservation>
   </HotelReservations>
</OTA_HotelResRQ>

If dates are changed on Reservation Initiate <TimeSpan> element also has to be specified on Reservation Confirmation step.

 Change dates on Reservation Confirmation step Sample XML
<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.

 Availability Response Sample XML
<OTA_HotelAvailRS EchoToken="tok1" Version="2.0" xmlns="http://www.opentravel.org/OTA/2003/05">
   <Success/>
   <RoomStays>
      <RoomStay RoomStayCandidateRPH="1">
         <RoomTypes>
            <RoomType RoomTypeCode="1">
               <RoomDescription Name="Deluxe Studio,1 Double Bed,Nonsmoking">
                  <Text>Deluxe Studio,1 Double Bed,Nonsmoking</Text>
               </RoomDescription>
            </RoomType>
            ...
         </RoomTypes>
         <RatePlans>
            <RatePlan RatePlanCode="5a173c69">
               <RatePlanDescription>
                  <Text>Free WiFi</Text>
               </RatePlanDescription>
               <MealsIncluded Breakfast="false" Dinner="false" Lunch="false" MealPlanCodes="13"/>
            </RatePlan>
            ...
         </RatePlans>
         <RoomRates>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437751" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="15" RatePlanCode="6748014a">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="305.09" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="305.09" AmountBeforeTax="249.12" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>0</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe438251" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="1" RatePlanCode="5a173c69">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="141.31" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               >
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="141.31" AmountBeforeTax="115.37" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>1</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437651" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="3" RatePlanCode="5a173c69">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="156.83" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="156.83" AmountBeforeTax="128.05" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>2</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437c51" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="5" RatePlanCode="5a173c69">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="172.35" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="172.35" AmountBeforeTax="140.74" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>3</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
         </RoomRates>
         <TimeSpan End="2020-09-25" Start="2020-09-23"/>
         <BasicPropertyInfo HotelCityCode="115936" HotelCode="1002877" HotelCodeContext="tbo" HotelName="Pearl Marina Hotel Apartments">
            <Position Latitude="25.06944" Longitude="55.12894"/>
            <Address>
               <AddressLine>Al Marsa Street P.O.Box 125179</AddressLine>
            </Address>
            <CategoryCodes>
               <HotelCategory Code="3" GroupCode="Category" CodeDetail="ThreeStar"/>
               <HotelCategory Code="3" GroupCode="Type" CodeDetail="Apartment"/>
            </CategoryCodes>
            <Award Provider="Hotel" Rating="3"/>
            <Award Provider="Supplier" Rating="ThreeStar"/>
            <Service ServiceType="Hotel" SupplierCode="198ebef39de462e57eb08c3d3c48bd13">
               <DescriptiveText>Accessible bathroom</DescriptiveText>
            </Service>
            ...
            <MultimediaDescriptions>
               <MultimediaDescription>...</MultimediaDescription>
            </MultimediaDescriptions>
            <Reviews>
               <Review CodeContext="tripadvisor" ReviewRating="4.5" URL="http://www.tripadvisor.com/Hotel_Review-g295424-d2615948-Reviews-Pearl_Marina_Hotel_Apartments-Dubai"/>
            </Reviews>
         </BasicPropertyInfo>
      </RoomStay>
      <RoomStay RoomStayCandidateRPH="2">
         <RoomTypes>
            <RoomType RoomTypeCode="10">
               <RoomDescription Name="Deluxe Apartment, 1 Bedroom,1 Double Bed,Nonsmoking">
                  <Text>Deluxe Apartment, 1 Bedroom,1 Double Bed,Nonsmoking</Text>
               </RoomDescription>
            </RoomType>
            ...
         </RoomTypes>
         <RatePlans>
            <RatePlan RatePlanCode="5a173c69">
               <RatePlanDescription>
                  <Text>Free WiFi</Text>
               </RatePlanDescription>
               <MealsIncluded Breakfast="false" Dinner="false" Lunch="false" MealPlanCodes="13"/>
            </RatePlan>
            ...
         </RatePlans>
         <RoomRates>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437b51" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="16" RatePlanCode="6748014a">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="7">
                     <Total AmountAfterTax="0.00" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="152.54" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="152.55" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="305.09" AmountBeforeTax="249.12" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>0</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437451" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="2" RatePlanCode="5a173c69">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="7">
                     <Total AmountAfterTax="0.00" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="70.65" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="70.66" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="141.31" AmountBeforeTax="115.37" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>1</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437951" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="4" RatePlanCode="5a173c69">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="7">
                     <Total AmountAfterTax="0.00" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="78.41" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="78.42" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <RoomRateDescription>
                  <Text>mandatory_tax -  needs to be paid at hotel : 40 USD (local currency).</Text>
               </RoomRateDescription>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="156.83" AmountBeforeTax="128.05" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>2</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
            <RoomRate AvailabilityStatus="AvailableForSale" BookingCode="12fe437e51" InexactPrice="true" NumberOfUnits="1" RoomTypeCode="6" RatePlanCode="5a173c69">
               <Rates>
                  <Rate RateSource="Calculated" AgeQualifyingCode="7">
                     <Total AmountAfterTax="0.00" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="86.17" CurrencyCode="USD"/>
                  </Rate>
                  <Rate RateSource="Calculated" AgeQualifyingCode="10">
                     <Total AmountAfterTax="86.18" CurrencyCode="USD"/>
                  </Rate>
               </Rates>
               <Discount>
                  <DiscountReason Language="en">
                     <Text>Save 25%</Text>
                  </DiscountReason>
               </Discount>
               <Total AmountAfterTax="172.35" AmountBeforeTax="140.74" CurrencyCode="USD"/>
               <RoomGroupInds>
                  <RoomGroupInd>3</RoomGroupInd>
               </RoomGroupInds>
            </RoomRate>
         </RoomRates>
         <TimeSpan End="2020-09-25" Start="2020-09-23"/>
         <BasicPropertyInfo HotelCityCode="115936" HotelCode="1002877" HotelCodeContext="tbo" HotelName="Pearl Marina Hotel Apartments">
            <Position Latitude="25.06944" Longitude="55.12894"/>
            <Address>
               <AddressLine>Al Marsa Street P.O.Box 125179</AddressLine>
            </Address>
            <CategoryCodes>
               <HotelCategory Code="3" GroupCode="Category" CodeDetail="ThreeStar"/>
               <HotelCategory Code="3" GroupCode="Type" CodeDetail="Apartment"/>
            </CategoryCodes>
            <Award Provider="Hotel" Rating="3"/>
            <Award Provider="Supplier" Rating="ThreeStar"/>
            <Service ServiceType="Hotel" SupplierCode="198ebef39de462e57eb08c3d3c48bd13">
               <DescriptiveText>Accessible bathroom</DescriptiveText>
            </Service>
            ...
            <MultimediaDescriptions>
               <MultimediaDescription>...</MultimediaDescription>
            </MultimediaDescriptions>
            <Reviews>
               <Review CodeContext="tripadvisor" ReviewRating="4.5" URL="http://www.tripadvisor.com/Hotel_Review-g295424-d2615948-Reviews-Pearl_Marina_Hotel_Apartments-Dubai"/>
            </Reviews>
         </BasicPropertyInfo>
      </RoomStay>
   </RoomStays>
</OTA_HotelAvailRS>

It’s allowed to make reservation only with the same RoomGroupInd for all rooms. For example, reservation can be complete only if RoomGroupInd of all offers is 2. That’s why the offer with bookingCode=”12fe437651” for 1st room (RPH=”1” ) and the offer with bookingCode=”12fe437951” for 2st room (RPH=”2” ) are used for booking.

 Reservation Initiate Request Sample XML
<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:

 Change booking dates Sample XML
...
<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:

 Change room lead Sample XML
...
<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:

 Change guest age Sample XML
...
<Profile>
  <Customer BirthDate="2013-05-14">
    <PersonName>
...

12.4.4. ADD OR CHANGE COMMENT

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:

 Add or change comment Sample XML
...
<Comments>
   <Comment>
      <Text>non-smoking room requested;king bed</Text>
   </Comment>
</Comments>
...

Examples of full Modification request can be found in HOTEL MODIFICATION paragraph.

  • No labels