Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The alternative way for the Hotel-Spider system to receive reservations from an online booking system is via the OTA_ReadRQ / OTA_ResRetrieveRS message pair followed by the OTA_NotifReportRQ / OTA_NotifReportRS message pair. Reservations / modifications / cancellations are polled / pulled by the Hotel-Spider system from the online booking system using the OTA_ReadRQ / OTA_ResRetrieveRS request and in a second communication, the Hotel-Spider system pushes the confirmation that the reservation / modification / cancellation has correctly been integrated via the OTA_NotifReportRQ / OTA_NotifReportRS request.

 

Every minute the Hotel-Spider system will poll the online booking system to check if a reservation / modification / cancellation was made / modified / cancelled on the online booking system. When a reservation is available, the entire reservation should be returned to the Hotel-Spider system. As this is a "notif" message, it implies that the third party software client pushes the information to the Hotel-Spider servers.

Endpoints

Two distincts endpoints should be provided when starting the integration. One for the staging / testing and one for the production.

Example request and response

Code Block
titleUse case 1: Poll for unconfirmed reservations with stay dates in the future
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria SelectionType="Undelivered" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 2: Poll for confirmed reservations with stay dates in the future
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria SelectionType="PreviouslyDelivered" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 3: Poll for reservations with arrival date between Start and End
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria DateType="ArrivalDate" Start="2015-12-08T12:00:0+01:00" End="2015-12-15T12:00:00+01:00" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 4: Poll for reservations with reservation date between Start and End
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria DateType="CreateDate" Start="2015-12-08T12:00:0+01:00" End="2015-12-15T12:00:00+01:00" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 5: Poll for reservations with departure date between Start and End
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria DateType="DepartureDate" Start="2015-12-08T12:00:0+01:00" End="2015-12-15T12:00:00+01:00" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 6: Poll for reservations with modification date between Start and End
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria DateType="LastUpdateDate" Start="2015-12-08T12:00:0+01:00" End="2015-12-15T12:00:00+01:00" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 7: Poll for active reservations
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria ResStatus="Reserved" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 8: Poll for cancelled reservations
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria ResStatus="Cancelled" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 9: Poll for reservations for a specific hotel
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest HotelCode="HOTELCODE">
       <SelectionCriteria SelectionType="Undelivered" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Code Block
titleUse case 10: Poll for a specific reservations
<OTA_ReadRQ Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <POS>
    <Source>
      <RequestorID ID="MASTERUSERNAME" MessagePassword="MASTERPASSWORD" />
    </Source>
  </POS>
  <UniqueID Type="14" ID="ABCD-668591" />
  <UniqueID Type="14" ID="DCBA-195866" />
 </OTA_ReadRQ>
Warning
titleCombination of all the parameters
All the parameter displayed accross the different use cases can be combined to form additional use cases.
Code Block
languagexml
titleOTA_ResRetrieveRS request
<OTA_ResRetrieveRS Target="Test" EchoToken="7571639933" TimeStamp="2015-11-12T18:05:39+01:00" Version="1.000">
  <ReservationsList>
    <HotelReservation ResStatus="Reserved" OriginalDeliveryMethodCode="11" RoomStayReservation="1" WalkInIndicator="0" CreateDateTime="2015-11-12T18:06:39+01:00" LastModifyDateTime="2015-11-12T18:06:40+01:00">
      <POS>
        <Source>
          <RequestorID ID="ONLINEBOOKINGSYSTEMIDENTIFIER" Type="22" />
          <BookingChannel Type="7">
            <CompanyName>ONLINEBOOKINGSYSTEMNAME</CompanyName>
          </BookingChannel>
        </Source>
      </POS>
      <RoomStays>
        <RoomStay IndexNumber="1" RoomStayStatus="Reserved">
          <RoomTypes>
            <RoomType RoomID="00L55bf507c63634" IsRoom="1">
              <RoomDescription Name="Double Room with lake view"/>
            </RoomType>
          </RoomTypes>
          <RoomRates>
            <RoomRate EffectiveDate="2015-11-20" ExpireDate="2015-11-20" RatePlanID="00L55cdbe855ce0b">
              <Rates>
                <Rate>
                  <Base CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="162.00"/>
                  <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="162.00"/>
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Best Available Rate</Text>
              </RoomRateDescription>
            </RoomRate>
            <RoomRate EffectiveDate="2015-11-21" ExpireDate="2015-11-21" RatePlanID="00L55cdbe855ce0b">
              <Rates>
                <Rate>
                  <Base CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="162.00"/>
                  <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="162.00"/>
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Best Available Rate</Text>
              </RoomRateDescription>
            </RoomRate>
          </RoomRates>
          <GuestCounts>
            <GuestCount AgeQualifyingCode="10" Count="1"/>
          </GuestCounts>
          <TimeSpan Start="2015-11-20" End="2015-11-22" Duration="P2D"/>
          <CancelPenalties>
            <CancelPenalty>
              <Deadline AbsoluteDeadline="2015-11-18T00:00:00+01:00"/>
              <AmountPercent FeesInclusive="1" Amount="162.00" CurrencyCode="CHF"/>
              <PenaltyDescription Name="free cancellation 48 hours"/>
            </CancelPenalty>
          </CancelPenalties>
          <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="324.00"/>
          <BasicPropertyInfo HotelCode="HOTELCODE" HotelName="HOTELNAME" CurrencyCode="CHF"/>
          <ResGuestRPHs>1</ResGuestRPHs>
        </RoomStay>
        <RoomStay IndexNumber="2" RoomStayStatus="Reserved">
          <RoomTypes>
            <RoomType RoomID="00L55bf507c63634" IsRoom="1">
              <RoomDescription Name="Double Room with lake view"/>
            </RoomType>
          </RoomTypes>
          <RoomRates>
            <RoomRate EffectiveDate="2015-11-20" ExpireDate="2015-11-20" RatePlanID="00L55cdbe855ce0b">
              <Rates>
                <Rate>
                  <Base CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="143.00"/>
                  <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="143.00"/>
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Best Available Rate</Text>
              </RoomRateDescription>
            </RoomRate>
            <RoomRate EffectiveDate="2015-11-21" ExpireDate="2015-11-21" RatePlanID="00L55cdbe855ce0b">
              <Rates>
                <Rate>
                  <Base CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="143.00"/>
                  <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="143.00"/>
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Best Available Rate</Text>
              </RoomRateDescription>
            </RoomRate>
          </RoomRates>
          <GuestCounts>
            <GuestCount AgeQualifyingCode="10" Count="1"/>
          </GuestCounts>
          <TimeSpan Start="2015-11-20" End="2015-11-22" Duration="P2D"/>
          <CancelPenalties>
            <CancelPenalty>
              <Deadline AbsoluteDeadline="2015-11-18T00:00:00+01:00"/>
              <AmountPercent FeesInclusive="1" Amount="162.00" CurrencyCode="CHF"/>
              <PenaltyDescription Name="free cancellation 48 hours"/>
            </CancelPenalty>
          </CancelPenalties>
          <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="286.00"/>
          <BasicPropertyInfo HotelCode="HOTELCODE" HotelName="HOTELNAME" CurrencyCode="CHF"/>
          <ResGuestRPHs>2</ResGuestRPHs>
        </RoomStay>
      </RoomStays>
      <ResGuests>
        <ResGuest ResGuestRPH="1">
          <Profiles>
            <ProfileInfo>
              <Profile ProfileType="1">
                <Customer MaritalStatus="Unknown" Gender="Unknown">
                  <PersonName>
                    <GivenName>James</GivenName>
                    <Surname>Bond</Surname>
                  </PersonName>
                  <Email>jamesbond@secretmail.ch</Email>
                  <Address>
                    <StreetNmbr>2</StreetNmbr>
                    <AddressLine>Bahnhofstrasse</AddressLine>
                    <CityName>Zurich</CityName>
                    <PostalCode>1000</PostalCode>
                    <County>Zurich</County>
                    <StateProv>Zurich</StateProv>
                    <CountryName Code="CH">Switzerland</CountryName>
                  </Address>
                </Customer>
              </Profile>
            </ProfileInfo>
          </Profiles>
        </ResGuest>
        <ResGuest ResGuestRPH="2">
          <Profiles>
            <ProfileInfo>
              <Profile ProfileType="1">
                <Customer MaritalStatus="Unknown" Gender="Unknown">
                  <PersonName>
                    <GivenName>Money</GivenName>
                    <Surname>Penny</Surname>
                  </PersonName>
                  <Email>moneypenny@secretmail.ch</Email>
                  <Address>
                    <StreetNmbr>2</StreetNmbr>
                    <AddressLine>Bahnhofstrasse</AddressLine>
                    <CityName>Zurich</CityName>
                    <PostalCode>1000</PostalCode>
                    <County>Zurich</County>
                    <StateProv>Zurich</StateProv>
                    <CountryName Code="CH">Switzerland</CountryName>
                  </Address>
                </Customer>
              </Profile>
            </ProfileInfo>
          </Profiles>
        </ResGuest>
      </ResGuests>
      <ResGlobalInfo>
        <GuestCounts>
          <GuestCount AgeQualifyingCode="10" Count="2"/>
        </GuestCounts>
        <TimeSpan Start="2015-11-20" End="2015-11-22" Duration="P2D"/>
        <Comments>
          <Comment>
            <Text>They are on a secret mission</Text>
          </Comment>
        </Comments>
        <Guarantee GuaranteeType="CC/DC/Voucher">
          <GuaranteesAccepted>
            <GuaranteeAccepted>
              <PaymentCard CardCode="MC" ExpireDate="0717">
                <CardHolderName>Gareth Mallory</CardHolderName>
                <CardNumber Mask="xxxxxxxxxxxx1111">4111111111111111</CardNumber>
              </PaymentCard>
            </GuaranteeAccepted>
          </GuaranteesAccepted>
        </Guarantee>
        <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="324.00"/>
        <HotelReservationIDs>
          <HotelReservationID ResID_Source="ONLINEBOOKINGSYSTEMID" ResID_SourceContext="ONLINEBOOKINGSYSTEMNAME" ResID_Type="14" ResID_Value="ABCD-668591"/>
        </HotelReservationIDs>
        <Profiles>
          <ProfileInfo>
            <Profile ProfileType="1">
              <Customer MaritalStatus="Unknown" Gender="Unknown">
                <PersonName>
                  <GivenName>Gareth</GivenName>
                  <Surname>Mallory</Surname>
                </PersonName>
                <Email>garethmallory@secretmail.ch</Email>
                <Address>
                  <StreetNmbr>2</StreetNmbr>
                  <AddressLine>Bahnhofplatz</AddressLine>
                  <CityName>Winterthur</CityName>
                  <PostalCode>4104</PostalCode>
                  <County>Winterthur</County>
                  <StateProv>Winterthur</StateProv>
                  <CountryName Code="CH">Switzerland</CountryName>
                </Address>
              </Customer>
            </Profile>
          </ProfileInfo>
          <ProfileInfo>
            <Profile ProfileType="4">
              <CompanyInfo>
                <CompanyName>Her Majesty's secret services</CompanyName>
                <Email>quartermaster@secretmail.ch</Email>
                <AddressInfo>
                  <StreetNmbr>2</StreetNmbr>
                  <AddressLine>Bahnhofplatz</AddressLine>
                  <CityName>Winterthur</CityName>
                  <PostalCode>4104</PostalCode>
                  <County>Winterthur</County>
                  <StateProv>Winterthur</StateProv>
                  <CountryName Code="CH">Switzerland</CountryName>
                </AddressInfo>
              </CompanyInfo>
            </Profile>
          </ProfileInfo>
        </Profiles>
        <BasicPropertyInfo HotelCode="00L55bf2f4e6c708" HotelName="Hôtel du Port" CurrencyCode="CHF"/>
      </ResGlobalInfo>
    </HotelReservation>
  </ReservationsList>
</OTA_ResRetrieveRS>

 

Request structure

OTA_ReadRQ

Parent: None (Root element)

Mandatory: yes

Attributes:

NameMandatoryDescription
TimeStampYesThe format should respect the ISO 8601 2015-11-16T22:23:48+00:00
TargetYes

When sending updates to the staging environment "Test" must be used.

When sending updates to the production environment "Production" must be used.

VersionYes

The default value should be "1.000"

EchoTokenYesThe value will be returned in the OTA_HotelResNotifRS response

Child elements: POSHotelReservations

UniqueID

Parent: OTA_ReadRQ

Mandatory: No

Attributes:

NameMandatoryDescription
TypeYes

Possible values are:

  • 14 (Reservation)
  • 15 (Cancellation) 
IDYesThe reservation number as assigned by the online booking system and communicated to the end customer/guest 

Child elements: None

ReadRequests

Parent: OTA_ReadRQ

Mandatory: no

Attributes: None

Child elements: HotelReadRequest

HotelReadRequest

Parent: ReadRequests

Mandatory: yes (when ReadRequests is used)

Attributes:

NameMandatoryDescription
HotelCodeNoThe ID of the hotel as defined on the online booking system

Child elements: SelectionCriteria

SelectionCriteria

Parent: HotelReadRequest

Mandatory: yes (when ReadRequests is used)

Attributes:

NameMandatoryDescription
DateTypeNo 

Possible values are:

 
  • ArrivalDate
  • CreateDate
  • DepartureDate
  • LastUpdateDate
     
ResStatusNo

Possible values are:

 
  • Reserved
  • Cancelled
SelectionTypeNo

Possible values are:

 
  • All
  • PreviouslyDelivered
  • Undelivered
StartNoThe format will respect the ISO 8601 2015-11-16T22:23:48+00:00
EndNoThe format will respect the ISO 8601 2015-11-16T22:23:48+00:00

Child elements: None

Response structure

OTA_ResRetrieveRS

Parent: None (Root element)

Mandatory: yes

Attributes:

NameMandatoryDescription
TimeStampYesThe format should respect the ISO 8601 2015-11-16T22:23:48+00:00
TargetYes

When sending updates to the staging environment "Test" must be used.

When sending updates to the production environment "Production" must be used.

VersionYes

The default value should be "1.000"

EchoTokenYesThe value from the OTA_ReadRQ should be returned

Child elements: POSReservationsList

ReservationsList

Parent: OTA_ResRetrieveRS

Mandatory: yes

Attributes: None

Child elements: HotelReservation

HotelReservation

Parent: ReservationsList

Mandatory: yes

Attributes:

NameMandatoryDescription
ResStatusYes

Possible values are:

  • Reserved
  • Modify
  • Cancelled
OriginalDeliveryMethodCodeNoThe default value should be "11" for

.

RoomStayReservationNo

The default value should be "1.000"

WalkInIndicatorNoThe value will be returned in the OTA_HotelResNotifRS response
CreateDateTimeYesThe format should respect the ISO 8601 2015-11-16T22:23:48+00:00
LastModifyDateTimeYesThe format should respect the ISO 8601 2015-11-16T22:23:48+00:00

Child elements: RoomStays, ResGuests, Services, ResGlobalInfo

RoomStays

Parent: HotelReservation

Mandatory: yes

Attributes: None

Child elements: RoomStay

RoomStay

Parent: RoomStays

Mandatory: yes

Attributes:

NameMandatoryDescription
IndexNumberYesUnique identifier of this specific room stay.
RoomStayStatusYes

Possible values are:

  • Reserved 
  • Cancelled

Child elements: RoomTypes, RoomRates, GuestCounts, TimeSpan, CancelPenalties, Total, BasicPropertyInfo, ResGuestRPHs, ServiceRPHs

Note
titleOne RoomStay per booked room
Each RoomStay should contain one room. Should the same room type have been booked multiple times, then there should be as many RoomStay elements as booked rooms.

RoomTypes

Parent: RoomStay

Mandatory: yes

Attributes: None

Child elements: RoomType

RoomType

Parent: RoomTypes

Mandatory: yes

Attributes:

NameMandatoryDescription
RoomIDYes

The ID of the room as defined on the online booking system. This value should be retrievable via the methods described in Retrieving the room types and the rate plans

IsRoomNoThe default value should be "1"

Child elements: RoomDescription

RoomDescription

Parent: RoomType

Mandatory: yes

Attributes:

NameMandatoryDescription
NameYes

The name of the room as defined on the online booking system. This value should be retrievable via the methods described in Retrieving the room types and the rate plans

Child elements: None

RoomRates

Parent: RoomStay

Mandatory: yes

Attributes: None

Child elements: RoomRate

RoomRate

Parent: RoomRate

Mandatory: yes

Attributes:

NameMandatoryDescription
EffectiveDateYes

The day on which this rate plan was applied for a reservation. The format should respect the ISO 8601 2015-11-16

ExpireDateNoThe day on which this rate plan was applied for a reservation. The format should respect the ISO 8601 2015-11-16
ExpireDateExclusiveIndNoIn the case of a date span, should the ExpireDate be included (ExpireDateExclusiveInd="0") or excluded (ExpireDateExclusiveInd="1")
RatePlanIDYesThe ID of the rate plan as defined on the online booking system.This value should be retrievable via the methods described in Retrieving the room types and the rate plans

Child elements: Rates, RoomRateDescription

Info
titleExtracting the day rates

In order to avoid any confusion about the exact day rate and for which days they have been applied, the Hotel-Spider can work with the following three scenarios:

  • The values of the EffectiveDate and the ExpireDate attributes are equal. The day rate will apply only to the date specified
  • The values of the EffectiveDate and the ExpireDate attributes are different and the ExpireDateExclusiveInd attribute is not set. The day rate will apply to all the days covered from the EffectiveDate until and including the ExpireDate.
  • The values of the EffectiveDate and the ExpireDate attributes are different and the ExpireDateExclusiveInd attribute is set. The day rate will apply to all the days covered from the EffectiveDate until the day before the ExpireDate. Thus the ExpireDate is excluded from the day rates.

 

Rates

Parent: RoomRate

Mandatory: yes

Attributes: None

Child elements: Rate

Rate

Parent: Rates

Mandatory: yes

Attributes: None

Child elements: Base, Total

Base

Parent: Rate

Mandatory: yes

Attributes:

NameMandatoryDescription
CurrencyCodeYes

The day on which this rate plan was applied for a reservation. The format should respect the ISO 8601 2015-11-16

AmountBeforeTax / AmountAfterTaxYesThe day rate for this specific product (room type + rate plan) without any additional services

Child elements: None

Note
titleProvide a day rate
The price provided should be applicable per day and only for one room stay.

Total

Parent: Rate

Mandatory: yes

Attributes:

NameMandatoryDescription
CurrencyCodeYes

The day on which this rate plan was applied for a reservation. The format should respect the ISO 8601 2015-11-16

AmountBeforeTax / AmountAfterTaxYesThe day rate for this specific product (room type + rate plan) with additional services

Child elements: None

Note
titleProvide a day rate
The price provided should be applicable per day and only for one room stay.

RoomRateDescription

Parent: RoomRate

Mandatory: yes

Attributes: None

Child elements: Text

Text

Parent: RoomRateDescription

Mandatory: yes

Attributes: None

Child elements: None

Info
titleThe name of the rate plan
The Text element should contain the name of the rate plan as defined on the online booking system.This value should be retrievable via the methods described in Retrieving the room types and the rate plans

 

GuestCounts

Parent: RoomStay

Mandatory: yes

Attributes: None

Child elements: GuestCount

GuestCount

Parent: GuestCounts

Mandatory: yes

Attributes:

NameMandatoryDescription
AgeQualifyingCodeNo

Possible values are:

  • 7 (Infant) 
  • 8 (Child)
  • 9 (Teenager)
  • 10 (Adult) 
  • 11 (Senior)
CountYes

The number of guests for this specific room stay within a specific age category.

Child elements: None

Info
titleDefault AgeQualifyingCode
Should no AgeQualifyingCode attribute be provided, the Hotel-Spider system will assume that the guest count applies for adults (10).
Warning
titleGuestCount per RoomStay
The guest count should apply per Room Stay

 

TimeSpan

Parent: RoomStay

Mandatory: yes

Attributes:

NameMandatoryDescription
StartYes

The arrival day for this room stay. The format should respect the ISO 8601 2015-11-16

EndYes

The departure day for this room stay. The format should respect the ISO 8601 2015-11-16

DurationNoThe number of nights for this room stay. The format should respects the ISO 8601 format PnYnMnDTnHnMnS

Child elements: None

 

Total

Parent: RoomStay

Mandatory: yes

Attributes:

 

Name
Mandatory
Description
CurrencyCodeYesThe currency in which the price is transmitted. The format will be provided in ISO 4214
AmountBeforeTaxNoThe price for this particular room stay without any taxes
AmountAfterTaxNoThe price for this particular room stay with taxes

 

Child elements: None

Price for the room night + services

 
The value in the Total element will reflect the price of the room stay with any additional services.

 

BasicPropertyInfo

Parent: RoomStay

Mandatory: yes

Attributes:

NameMandatoryDescription
HotelCodeYes

The ID of the hotel as defined on the online booking system

HotelNameYes

The name of the hotel as defined on the online booking system

CurrencyCodeNoThe currency code that has been configured for the hotel on the online booking system.

Child elements: None

Info
titleBasicPropertyInfo per room stay vs BasicPropertyInfo per reservation
Although the vast majority of the reservations transmitted to the Hotel-Spider system will only contain room stays for one single hotel, technically, in accordance with the OTA protocol, it is possible to book multiple room stays across multiple properties. For this reason, the BasicPropertyInfo must always be provided on room stay level.

 

Comments

Parent: RoomStay

Mandatory: No

Attributes: None

Child elements: Comment

Comment

Parent: Comments

Mandatory: yes

Attributes:None

Child elements: Text

 

Text

Parent: Comment

Mandatory: yes

Attributes:None

Child elements: None

 

ResGuestRPHs

Parent: RoomStay

Mandatory: yes

Attributes: None

Child elements: None

Info
titleThe link to the Guest profile
The ResGuestRPHs element should contain a comma separated string of integers that each link uniquely to a guest profile as described in the ResGuest elements.

 

ServiceRPHs

Parent: RoomStay

Mandatory: yes

Attributes: None

Child elements: ServiceRPH

ServiceRPH

Parent: ServiceRPHs

Mandatory: yes

Attributes:

NameMandatoryDescription
IsPerRoomNo

The default value should be "1"

RPHYes

An integer that will uniquely link a service described in the Service element to a RoomStay

Child elements: None

ResGuests

Parent: HotelReservation

Mandatory: yes

Attributes: None

Child elements: ResGuest

ResGuest

Parent: ResGuests

Mandatory: yes

Attributes:

NameMandatoryDescription
ResGuestRPHYes

An integer that will uniquely link the current guest profile to a RoomStay

Child elements: Profiles

Profiles

Parent: ResGuest

Mandatory: yes

Attributes: None

Child elements: ProfileInfo

Tip
titleThe identity of the guest
When the Profiles element is in the ResGuest container, it should contain the identity/profile of the person whom will sleep in the hotel.

ProfileInfo

Parent: Profiles

Mandatory: yes

Attributes: None

Child elements: Profile

Profile

Parent: ProfileInfo

Mandatory: yes

Attributes:

NameMandatoryDescription
ProfileTypeYes

Possible values are:

  • 1 (Customer) 
  • 4 (Company)
  • 5 (Travel Agency)

Child elements: Customer, CompanyInfo

Customer

Parent: Profile

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: PersonName, Email, Telephone, Address

PersonName

Parent: Customer

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: NamePrefix, NameTitle, GivenName, MiddleName, SurnamePrefix, Surname, NameSuffix

NamePrefix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleNamePrefix
Salutation of honorific. Example: Mr, Mrs, Ms, Miss, Dr

 

NameTitle

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleNameTitle
Degree or honors. Example: Ph. D., M.D.

 

GivenName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleGivenName
Given name, first name or names. Example: John, James, Martin

 

MiddleName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleMiddleName
The middle name of the person name. Example: Johny, James, Martin

SurnamePrefix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleSurnamePrefix
The surname prefix. Example: "van der", "von", "de"

 

Surname

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: None

Tip
titleSurname
Family name, last name. Even though this is not recommended, it may also be used for full name if the online booking system does have the ability to separate a full name into its parts.

 

NameSuffix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleNameSuffix
Can contain various name suffixes and letters. Example: "Jr.", "Sr.", "III"

 

Telephone

Parent: Customer

ProfileType

Mandatory: No

Attributes:

NameMandatoryDescription
PhoneTechTypeYes

Possible values are:

  • 1 (Voice) 
  • 3 (Fax)
  • 5 (Mobile)
PhoneNumberYesThe numerical string representing the telephone number
FormattedIndnoIs the telephone number provided formatted or unformatted
CountryAccessCodenoCode assigned by telecommunications authorities for international country access identifier
AreaCityCodenoCode assigned for telephones in a specific region, city or area

Child elements: None

Info
titleFormattedInd attribute
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.
Warning
titleCorrect formatting
When the telephone is transmitted formatted, the PhoneNumber attribute should not contain the CountryAccessCode nor the AreaCityCode values.

 

Email

Parent: Customer

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Address

Parent: Customer

ProfileType: 1 (Customer)

Mandatory: no

Attributes:

NameMandatoryDescription
FormattedIndNoWhen 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.

Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName

StreetNmbr

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStreetNmbr
Contains the street number.

 

AddressLine

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleAddressLine
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.

 

PostalCode

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titlePostalCode
Postal Office Code number

 

CityName

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCityName
City, town or postal station (i.e., a postal service territory, often used in a military address)

 

County

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCounty
County or Region Name

 

StateProv

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStateProv
State or Province name

 

CountryName

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes:

NameMandatoryDescription
CodeYesISO 3166 alpha 2 code for a county

Child elements: None

Tip
titleCountryName

The CountryName can also be transmitted for readability.

 

 

Info
titleCompany or Travel Agency Profile
Description of the ProfileType="3" and ProfileType="4"

 

 

CompanyInfo

Parent: Profile

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: yes

Attributes: None

Child elements: CompanyName, Email, TelephoneInfo, AddressInfo

CompanyName

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: No

Attributes: None

Child elements: none

 

 

TelephoneInfo

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: No

Attributes:

NameMandatoryDescription
PhoneTechTypeYes

Possible values are:

  • 1 (Voice) 
  • 3 (Fax)
  • 5 (Mobile)
PhoneNumberYesThe numerical string representing the telephone number
FormattedIndnoIs the telephone number provided formatted or unformatted
CountryAccessCodenoCode assigned by telecommunications authorities for international country access identifier
AreaCityCodenoCode assigned for telephones in a specific region, city or area

Child elements: None

Info
titleFormattedInd attribute
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.
Warning
titleCorrect formatting
When the telephone is transmitted formatted, the PhoneNumber attribute should not contain the CountryAccessCode nor the AreaCityCode values.

 

Email

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

AddressInfo

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes:

NameMandatoryDescription
FormattedIndNoWhen 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.

Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName

StreetNmbr

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStreetNmbr
Contains the street number.

 

AddressLine

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleAddressLine
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.

 

PostalCode

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titlePostalCode
Postal Office Code number

 

CityName

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCityName
City, town or postal station (i.e., a postal service territory, often used in a military address)

 

County

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCounty
County or Region Name

 

StateProv

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStateProv
State or Province name

 

CountryName

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes:

NameMandatoryDescription
CodeYesISO 3166 alpha 2 code for a county

Child elements: None

Tip
titleCountryName

The CountryName can also be transmitted for readability.

 

ResGlobalInfo

Parent: HotelReservation

Mandatory: Yes

Attributes: None

Child elements: GuestCounts, TimeSpan, Comments, Guarantee, Total, HotelReservationIDs, Profiles, BasicPropertyinfo

GuestCounts

Parent: HotelReservation

Mandatory: yes

Attributes: None

Child elements: GuestCount

GuestCount

Parent: GuestCounts

Mandatory: yes

Attributes:

NameMandatoryDescription
AgeQualifyingCodeNo

Possible values are:

  • 7 (Infant) 
  • 8 (Child)
  • 9 (Teenager)
  • 10 (Adult) 
  • 11 (Senior)
CountYes

The total number of guests for this specific reservation within a specific age category.

Child elements: None

Info
titleDefault AgeQualifyingCode
Should no AgeQualifyingCode attribute be provided, the Hotel-Spider system will assume that the guest count applies for adults (10).

 

TimeSpan

Parent: ResGlobalInfo

Mandatory: no

Attributes:

NameMandatoryDescription
StartYes

The arrival day for this reservation. The format should respect the ISO 8601 2015-11-16

EndYes

The departure day for this reservation. The format should respect the ISO 8601 2015-11-16

DurationNoThe number of nights for this reservation. The format should respects the ISO 8601 format PnYnMnDTnHnMnS

Child elements: None

Warning
titleNo TimeSpan with different stay dates
Should the arrival and departure dates be different accross the different room stays, then the TimeSpan attribute must not be provided in the ResGlobalInfo container.

 

Comments

Parent: HotelReservation

Mandatory: No

Attributes: None

Child elements: Comment

Comment

Parent: Comments

Mandatory: yes

Attributes:None

Child elements: Text

 

Text

Parent: Comment

Mandatory: yes

Attributes:None

Child elements: None

 

Guarantee

Parent: ResGlobalInfo

Mandatory: no

Attributes:

NameMandatoryDescription
GuaranteeTypeYes

Possible values are:

  • CC/DC/Voucher
  • Deposit
  • Profile

Child elements: GuaranteesAccepted

GuaranteesAccepted

Parent: Guarantee

Mandatory: yes

Attributes:None

Child elements: GuaranteeAccepted

GuaranteeAccepted

Parent: GuaranteesAccepted

Mandatory: yes

Attributes:None

Child elements: PaymentCard

PaymentCard

Parent: ResGlobalInfo

Mandatory: no

Attributes:

NameMandatoryDescription
CardCodeYes

Possible values are:

  • AX (American Express)
  • BC (Bank Card)
  • BL (Carte Bleu)
  • CB (Carte Blance)
  • DN (Diners Club)
  • DS (Discover Card)
  • EC (Eurocard)
  • JC (Japanese Credit Bureau Credit Card)
  • MA (Maestro / Switch)
  • MC (Mastercard)
  • TP (Universal Air Travel Card)
  • VI (Visa)
ExpireDateYesThe expire date of the payment card. The format provided should be mmYY

Child elements: CardHoldername, CardNumber

CardHolderName

Parent: PaymentCard

Mandatory: Yes

Attributes: None

Child elements: None

CardNumber

Parent: PaymentCard

Mandatory: No

Attributes:

Name
Mandatory
Description
MaskNo

The masked version of the credit card number. Only the last 4 digits will be displayed.

Child elements: None

Total

Parent: ResGlobalInfo

Mandatory: yes

Attributes:

 

Name
Mandatory
Description
CurrencyCodeYesThe currency in which the price is transmitted. The format will be provided in ISO 4214
AmountBeforeTaxNoThe price for this particular day without any taxes
AmountAfterTaxNoThe price for this particular day with taxes

 

Child elements: None

Price for the room nights + services

 
The value in the Total element will reflect the sum of the room nights with any additional services.

 

HotelReservationIDs

Parent: ResGlobalInfo

Mandatory: yes

Attributes: None

Child elements: HotelReservationID

HotelReservationID

Parent: HotelReservationIDs

Mandatory: yes

Attributes:

NameMandatoryDescription
ResID_TypeYes

Possible values are:

  • 14 (Reservation) 
  •     15 (Cancellation)
ResID_ValueYes

The reservation number as provided by the online booking system to the end customer/guest

ResID_SourceContextNoThe name of the online booking system
ResID_SourceYesThe ID of the online booking system as defined on the Hotel-Spider system.

Child elements: None

 

Profiles

Parent: ResGlobalInfo

Mandatory: yes

Attributes: None

Child elements: ProfileInfo

Tip
titleThe identity of the booker
When the Profiles element is in the ResGlobalInfo container, it should contain the identity/profile of the person / company / travel agency that booked.

ProfileInfo

Parent: Profiles

Mandatory: yes

Attributes: None

Child elements: Profile

Profile

Parent: ProfileInfo

Mandatory: yes

Attributes:

NameMandatoryDescription
ProfileTypeYes

Possible values are:

  • 1 (Customer) 
  • 4 (Company)
  • 5 (Travel Agency)

Child elements: Customer, CompanyInfo

Customer

Parent: Profile

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: PersonName, Email, Telephone, Address

PersonName

Parent: Customer

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: NamePrefix, NameTitle, GivenName, MiddleName, SurnamePrefix, Surname, NameSuffix

NamePrefix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleNamePrefix
Salutation of honorific. Example: Mr, Mrs, Ms, Miss, Dr

 

NameTitle

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleNameTitle
Degree or honors. Example: Ph. D., M.D.

 

GivenName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleGivenName
Given name, first name or names. Example: John, James, Martin

 

MiddleName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleMiddleName
The middle name of the person name. Example: Johny, James, Martin

SurnamePrefix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleSurnamePrefix
The surname prefix. Example: "van der", "von", "de"

 

Surname

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: None

Tip
titleSurname
Family name, last name. Even though this is not recommended, it may also be used for full name if the online booking system does have the ability to separate a full name into its parts.

 

NameSuffix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleNameSuffix
Can contain various name suffixes and letters. Example: "Jr.", "Sr.", "III"

 

Telephone

Parent: Customer

ProfileType

Mandatory: No

Attributes:

NameMandatoryDescription
PhoneTechTypeYes

Possible values are:

  • 1 (Voice) 
  • 3 (Fax)
  • 5 (Mobile)
PhoneNumberYesThe numerical string representing the telephone number
FormattedIndnoIs the telephone number provided formatted or unformatted
CountryAccessCodenoCode assigned by telecommunications authorities for international country access identifier
AreaCityCodenoCode assigned for telephones in a specific region, city or area

Child elements: None

Info
titleFormattedInd attribute
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.
Warning
titleCorrect formatting
When the telephone is transmitted formatted, the PhoneNumber attribute should not contain the CountryAccessCode nor the AreaCityCode values.

 

Email

Parent: Customer

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Address

Parent: Customer

ProfileType: 1 (Customer)

Mandatory: no

Attributes:

NameMandatoryDescription
FormattedIndNoWhen 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.

Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName

StreetNmbr

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStreetNmbr
Contains the street number.

 

AddressLine

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleAddressLine
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.

 

PostalCode

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titlePostalCode
Postal Office Code number

 

CityName

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCityName
City, town or postal station (i.e., a postal service territory, often used in a military address)

 

County

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCounty
County or Region Name

 

StateProv

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStateProv
State or Province name

 

CountryName

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes:

NameMandatoryDescription
CodeYesISO 3166 alpha 2 code for a county

Child elements: None

Tip
titleCountryName

The CountryName can also be transmitted for readability.

 

 

Info
titleCompany or Travel Agency Profile
Description of the ProfileType="3" and ProfileType="4"

 

 

CompanyInfo

Parent: Profile

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: yes

Attributes: None

Child elements: CompanyName, Email, TelephoneInfo, AddressInfo

CompanyName

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: No

Attributes: None

Child elements: none

 

 

TelephoneInfo

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: No

Attributes:

NameMandatoryDescription
PhoneTechTypeYes

Possible values are:

  • 1 (Voice) 
  • 3 (Fax)
  • 5 (Mobile)
PhoneNumberYesThe numerical string representing the telephone number
FormattedIndnoIs the telephone number provided formatted or unformatted
CountryAccessCodenoCode assigned by telecommunications authorities for international country access identifier
AreaCityCodenoCode assigned for telephones in a specific region, city or area

Child elements: None

Info
titleFormattedInd attribute
When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.
Warning
titleCorrect formatting
When the telephone is transmitted formatted, the PhoneNumber attribute should not contain the CountryAccessCode nor the AreaCityCode values.

 

Email

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

AddressInfo

Parent: CompanyInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes:

NameMandatoryDescription
FormattedIndNoWhen 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.

Child elements: StreetNmbr, AddressLine, PostalCode, CityName, County, StateProv, CountryName

StreetNmbr

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStreetNmbr
Contains the street number.

 

AddressLine

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleAddressLine
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.

 

PostalCode

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titlePostalCode
Postal Office Code number

 

CityName

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCityName
City, town or postal station (i.e., a postal service territory, often used in a military address)

 

County

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleCounty
County or Region Name

 

StateProv

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes: None

Child elements: None

Tip
titleStateProv
State or Province name

 

CountryName

Parent: AddressInfo

ProfileType: 3 (Company), 4 (Travel Agency)

Mandatory: no

Attributes:

NameMandatoryDescription
CodeYesISO 3166 alpha 2 code for a county

Child elements: None

Tip
titleCountryName

The CountryName can also be transmitted for readability.

 

BasicPropertyInfo

Parent: ResGlobalInfo

Mandatory: No

Attributes:

NameMandatoryDescription
HotelCodeYes

The ID of the hotel as defined on the online booking system

HotelNameYes

The name of the hotel as defined on the online booking system

CurrencyCodeNoThe currency code that has been configured for the hotel on the online booking system.

Child elements: None

...

titleNo BasicPropertyInfo for room stays accross different properties

...

As this is an asynchronuous communication (meaning that the confirmation of a successfull transmission needs to be transmitted over a new request/response connection), the details of the two steps are detailed step by step: