Step 1: Polling the reservations based on OTA_ReadRQ / OTA_ResRetrieveRS

This is part one of the asynchronuous method. The Hotel-Spider will poll the online booking system every minute 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 

Endpoints

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

Example requests and response

Use 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" Type="13" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria SelectionType="Undelivered" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Use 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" Type="13" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria SelectionType="PreviouslyDelivered" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Use 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" Type="13" />
    </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>
Use 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" Type="13" />
    </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>
Use 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" Type="13" />
    </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>
Use 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" Type="13" />
    </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>
Use 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" Type="13" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria ResStatus="Reserved" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Use 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" Type="13" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest>
       <SelectionCriteria ResStatus="Cancelled" SelectionType="All" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Use 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" Type="13" />
    </Source>
  </POS>
  <ReadRequests>
     <HotelReadRequest HotelCode="HOTELCODE">
       <SelectionCriteria SelectionType="Undelivered" />
     </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>
Use 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" Type="13" />
    </Source>
  </POS>
  <UniqueID Type="14" ID="ABCD-668591" />
  <UniqueID Type="14" ID="DCBA-195866" />
 </OTA_ReadRQ>

Combination of all the parameters

All the parameter displayed accross the different use cases can be combined to form additional use cases.
OTA_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

One 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

Extracting 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

Provide 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

Provide 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

The 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

Default AgeQualifyingCode

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

GuestCount 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

BasicPropertyInfo 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

The 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

The 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

NamePrefix

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

 

NameTitle

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

NameTitle

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

 

GivenName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

GivenName

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

 

MiddleName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

MiddleName

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


SurnamePrefix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

SurnamePrefix

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

 

Surname

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: None

Surname

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

NameSuffix

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

FormattedInd attribute

When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.

Correct 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

StreetNmbr

Contains the street number.

 

AddressLine

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

AddressLine

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

PostalCode

Postal Office Code number

 

CityName

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

CityName

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

County

County or Region Name

 

StateProv

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

StateProv

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

CountryName

The CountryName can also be transmitted for readability.

 

 

Company 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

FormattedInd attribute

When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.

Correct 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

StreetNmbr

Contains the street number.

 

AddressLine

Parent: AddressInfo

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

Mandatory: no

Attributes: None

Child elements: None

AddressLine

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

PostalCode

Postal Office Code number

 

CityName

Parent: AddressInfo

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

Mandatory: no

Attributes: None

Child elements: None

CityName

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

County

County or Region Name

 

StateProv

Parent: AddressInfo

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

Mandatory: no

Attributes: None

Child elements: None

StateProv

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

CountryName

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

Default 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

No 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

The 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

NamePrefix

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

 

NameTitle

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

NameTitle

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

 

GivenName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

GivenName

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

 

MiddleName

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

MiddleName

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


SurnamePrefix

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

SurnamePrefix

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

 

Surname

Parent: PersonName

ProfileType: 1 (Customer)

Mandatory: yes

Attributes: None

Child elements: None

Surname

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

NameSuffix

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

FormattedInd attribute

When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.

Correct 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

StreetNmbr

Contains the street number.

 

AddressLine

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

AddressLine

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

PostalCode

Postal Office Code number

 

CityName

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

CityName

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

County

County or Region Name

 

StateProv

Parent: Address

ProfileType: 1 (Customer)

Mandatory: no

Attributes: None

Child elements: None

StateProv

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

CountryName

The CountryName can also be transmitted for readability.

 

 

Company 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

FormattedInd attribute

When the FormattedInd attribute is set, the CountryAccessCode, the AreaCityCode and the PhoneNumber attributes should contain the appropriate information.

Correct 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

StreetNmbr

Contains the street number.

 

AddressLine

Parent: AddressInfo

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

Mandatory: no

Attributes: None

Child elements: None

AddressLine

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

PostalCode

Postal Office Code number

 

CityName

Parent: AddressInfo

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

Mandatory: no

Attributes: None

Child elements: None

CityName

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

County

County or Region Name

 

StateProv

Parent: AddressInfo

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

Mandatory: no

Attributes: None

Child elements: None

StateProv

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

CountryName

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

No BasicPropertyInfo for room stays accross different properties

Should the reservation have been made for more than one hotel, in order words not all the room stays are for the same hotel, then the BasicPropertyInfo should not be used in the ResGlobalInfo container.