OTA_ReadRQ / OTA_HotelResNotifRQ or OTA_ResRetrieveRS

a

The OTA_ReadRQ messages are used to request the following elements in the Hotel-Spider system:

  • New reservations
  • Modified reservations
  • Cancelled reservations


Prior to retrieving reservations/modifications/cancellations from the Hotel-Spider servers, the room types and rate plans need to be mapped. For this purpose, a third party software provider can use either the OTA_HotelRoomListRQ/OTA_HotelRoomListRS pair or the combination of the OTA_HotelDescriptiveInfoRQ/OTA_HotelDescriptiveInfoRS and OTA_HotelRatePlanRQ/OTA_HotelRatePlanRS request pairs.


Response format

Depending on the preferences of the third party software provider, the Hotel-Spider system will either reply to an OTA_ReadRQ with an OTA_HotelResNotifRQ (asynchronous usage) or with an OTA_ResRetrieveRS response.  By default, our system will reply with the OTA_HotelResNotifRQ format. For other formats, please contact us.

Confirming successful import

Disregarding which response format the Hotel-Spider system will return the third party software client needs to confirm every reservation/modification/cancellation it has imported via an OTA_HotelResNotifRS / OTA_HotelResNotifRS or an OTA_NotifReportRQ / OTA_NotifReportS call.

Reservation are automatically flagged as exported after 5 reads

After any reservation has been returned 5 times (with SelectionType set to Undelivered) it will be marked as exported, and thus will not be returned in the subsequent responses to OTA_ReadRQ requests.

Credit-card information specifics

If your system is PCI-DSS compliant and you are using the secure endpoints, please be aware that credit-card number is returned in clear text in response to the first read request only

The next responses will contain only the masked card number.

Regarding the CVC code, please be aware that it can be exported only one time, either on the extranet or through the API. If the CVC code as been shown in the extranet, it will be be present in the response.

Endpoints

Example request and response

OTA_ReadRQ request
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2018-03-17T09:30:47-05:00" Target="Test" Version="2.0">
  <POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
    </Source>
  </POS>
  <UniqueID Type="14" ID="" />
  <ReadRequests>
    <HotelReadRequest HotelCode="" HotelName="">
      <SelectionCriteria SelectionType="Undelivered" DateType="" Start="" End="" />
    </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>

OTA_HotelReservationNotifRQ response
<OTA_HotelResNotifRQ Target="Production" TimeStamp="2011-08-01T14:47:59" Version="2.0" PrimaryLangID="en" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResNotifRQ.xsd">
  <Success />
  <HotelReservations>
    <HotelReservation ResStatus="Book" ForcedSellIndicator="0" OriginalDeliveryMethodCode="11" RoomStayReservation="1" WalkInIndicator="0" CreateDateTime="2015-10-29T17:06:02+01:00" LastModifyDateTime="2015-10-29T17:06:03+01:00">
      <POS>
        <Source>
          <RequestorID ID="0" Type="22"/>
          <BookingChannel Type="5">
            <CompanyName>Hotel-Spider</CompanyName>
          </BookingChannel>
        </Source>
      </POS>
      <RoomStays>
        <RoomStay IndexNumber="1" RoomStayStatus="Book">
          <RoomTypes>
            <RoomType RoomID="00F55f80d7db845a" IsRoom="1">
              <RoomDescription Name="Single room standard"/>
            </RoomType>
          </RoomTypes>
          <RatePlans>
            <RatePlan RatePlanID="00P561b590116e60">
			  <MealsIncluded MealPlanIndicator="1" MealPlanCodes="4.MPT"/>
            </RatePlan>
          </RatePlans>
          <RoomRates>
            <RoomRate EffectiveDate="2015-09-16" ExpireDate="2015-09-19" RatePlanID="00F55f80f515c377">
              <Rates>
                <Rate EffectiveDate="2015-09-16" ExpireDate="2015-09-16">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-17" ExpireDate="2015-09-17">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-18" ExpireDate="2015-09-18">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-19" ExpireDate="2015-09-19">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Standard with breakfast</Text>
              </RoomRateDescription>
            </RoomRate>
          </RoomRates>
          <GuestCounts>
            <GuestCount AgeQualifyingCode="10" Count="1"/>
          </GuestCounts>
          <TimeSpan Start="2015-09-16" End="2015-09-20" Duration="P4D"/>
          <CancelPenalties>
            <CancelPenalty PolicyCode="STD" Fri="1" Mon="1" Sat="1" Sun="1" Thur="1" Tue="1" Weds="1">
              <AmountPercent FeesInclusive="1" Amount="0.0000"/>
              <PenaltyDescription Name="Standard"/>
            </CancelPenalty>
          </CancelPenalties>
          <DepositPayments>
            <GuaranteePayment GuaranteeType="PrePay" Type="RequiredPayment" NonRefundableIndicator="False">
              <AcceptedPayments>
                <AcceptedPayment GuaranteeTypeCode="4" PaymentTransactionTypeCode="charge">
                  <PaymentCard CardCode="VI" ExpireDate="0917">
                    <CardHolderName>Dr WhoWho II</CardHolderName>
                    <CardNumber>
                      <PlainText>4970497049704971</PlainText>
                    </CardNumber>
                    <SeriesCode>
                      <PlainText>124</PlainText>
                    </SeriesCode>
                  </PaymentCard>
                </AcceptedPayment>
              </AcceptedPayments>
              <AmountPercent Percent="10" CurrencyCode="EUR" Amount="5.90" DecimalPlaces="2" ApplyAs="FirstAndLastNightDeposit" />
              <Description>
                <Text>This is a test DepositPayment on the RoomStay level</Text>
              </Description>
            </GuaranteePayment>
          </DepositPayments>
          <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="680.00" DecimalPlaces="2" />
          <BasicPropertyInfo HotelCode="00F55f7e28de4a33" HotelName="Hotel Ennit PO" CurrencyCode="EUR"/>
          <ResGuestRPHs>1</ResGuestRPHs>
        </RoomStay>
        <RoomStay IndexNumber="2" RoomStayStatus="Book">
          <RoomTypes>
            <RoomType RoomID="00F55f80d7db845a" IsRoom="1">
              <RoomDescription Name="Single room standard"/>
            </RoomType>
          </RoomTypes>
          <RatePlans>
            <RatePlan RatePlanID="00P561b58e7250da">
              <MealsIncluded MealPlanIndicator="0"/>
            </RatePlan>
          </RatePlans>
          <RoomRates>
            <RoomRate EffectiveDate="2015-09-16" ExpireDate="2015-09-19" RatePlanID="00F55f80f515c377">
              <Rates>
                <Rate EffectiveDate="2015-09-16" ExpireDate="2015-09-16">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-17" ExpireDate="2015-09-17">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-18" ExpireDate="2015-09-18">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-19" ExpireDate="2015-09-19">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Standard with breakfast</Text>
              </RoomRateDescription>
            </RoomRate>
          </RoomRates>
          <GuestCounts>
            <GuestCount AgeQualifyingCode="10" Count="1"/>
          </GuestCounts>
          <TimeSpan Start="2015-09-16" End="2015-09-20" Duration="P4D"/>
          <CancelPenalties>
            <CancelPenalty PolicyCode="STD" Fri="1" Mon="1" Sat="1" Sun="1" Thur="1" Tue="1" Weds="1">
              <AmountPercent FeesInclusive="1" Amount="0.00" DecimalPlaces="2" />
              <PenaltyDescription Name="Standard"/>
            </CancelPenalty>
          </CancelPenalties>
          <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="680.00" DecimalPlaces="2" />
          <BasicPropertyInfo HotelCode="00F55f7e28de4a33" HotelName="Hotel Ennit PO" CurrencyCode="EUR"/>
          <ResGuestRPHs>1</ResGuestRPHs>
        </RoomStay>
      </RoomStays>
      <ResGuests>
        <ResGuest ResGuestRPH="1">
          <Profiles>
            <ProfileInfo>
              <UniqueID ID="00R5615405a213c7" ID_Context="Internal" Type="1"/>
              <Profile StatusCode="4" CreateDateTime="2015-10-07T17:55:06+02:00" LastModifyDateTime="2015-10-29T17:06:05+01:00" ProfileType="1" OptInStatus="Unknown">
                <Customer MaritalStatus="Unknown" Gender="Unknown">
                  <PersonName>
                    <GivenName>Friedrichstraße</GivenName>
                    <Surname>Crescenzio</Surname>
                  </PersonName>
                  <Email EmailType="1" TextFormat="text/html" ShareMarketInd="Inherit" ShareSynchInd="Inherit">fabio.crescenzio@hotel-spider.com</Email>
                  <Address UseType="2" ValidationStatus="NotChecked" ValidInd="1" ShareMarketInd="Inherit" ShareSynchInd="Inherit">
                    <AddressLine>Friedrichstraße 7</AddressLine>
                    <CityName>Montcherand</CityName>
                    <PostalCode>1354</PostalCode>
                    <CountryName>Switzerland</CountryName>
                  </Address>
                </Customer>
              </Profile>
            </ProfileInfo>
          </Profiles>
        </ResGuest>
      </ResGuests>
      <ResGlobalInfo>
        <GuestCounts>
          <GuestCount AgeQualifyingCode="10" Count="1"/>
        </GuestCounts>
        <TimeSpan Start="2015-09-16" End="2015-09-19" Duration="P3D"/>
        <Comments>
          <Comment CreateDateTime="2015-10-29T17:06:03+01:00" LastModifyDateTime="2015-10-29T17:06:03+01:00" Language="en">
            <Text>This reservation has been sent to test if everything is working fine with the OTA messages, you can ignore it</Text>
          </Comment>
        </Comments>
        <Guarantee GuaranteeType="CC/DC/Voucher" GuaranteeCode="00F563243eb94a3c">
          <GuaranteesAccepted>
            <GuaranteeAccepted>
              <PaymentCard CardCode="VI" ExpireDate="1111">
                <CardHolderName>Fabio Crescenzio</CardHolderName>
                <CardNumber Mask="xxxxxxxxxxxx1111">
					<PlainText>4242424242421111</PlainText>
				</CardNumber>
                <SeriesCode>
					<PlainText>011</PlainText>
				</SeriesCode>
              </PaymentCard>
            </GuaranteeAccepted>
          </GuaranteesAccepted>
        </Guarantee>
        <DepositPayments>
          <GuaranteePayment GuaranteeType="PrePay" Type="RequiredPayment" NonRefundableIndicator="False">
            <AcceptedPayments>
              <AcceptedPayment GuaranteeTypeCode="4" PaymentTransactionTypeCode="charge">
                <PaymentCard CardCode="VI" ExpireDate="0917">
                  <CardHolderName>Dr WhoWho II</CardHolderName>
                  <CardNumber>
                    <PlainText>4970497049704971</PlainText>
                  </CardNumber>
                  <SeriesCode>
                    <PlainText>124</PlainText>
                  </SeriesCode>
                </PaymentCard>
              </AcceptedPayment>
            </AcceptedPayments>
            <AmountPercent Percent="10" CurrencyCode="EUR" Amount="5.90" DecimalPlaces="2" ApplyAs="FirstAndLastNightDeposit" />
            <Description>
              <Text>This is a test DepositPayment on the Reservation level</Text>
            </Description>
          </GuaranteePayment>
        </DepositPayments>
        <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="1360.00" DecimalPlaces="2" />
        <HotelReservationIDs>
          <HotelReservationID ResID_Date="2015-10-29T17:06:04+01:00" ResID_Source="1" ResID_SourceContext="Tourisoft" ResID_Type="14" ResID_Value="12315465678914guiguifbuif"/>
          <HotelReservationID ResID_Date="2015-10-29T17:06:04+01:00" ResID_SourceContext="Hotel Spider" ResID_Type="34" ResID_Value="00F563243ea41b11"/>
        </HotelReservationIDs>
        <Profiles>
          <ProfileInfo>
            <UniqueID ID="00R5615405a213c7" ID_Context="Internal" Type="1"/>
            <Profile StatusCode="4" CreateDateTime="2015-10-07T17:55:06+02:00" LastModifyDateTime="2015-10-29T17:06:05+01:00" ProfileType="1" OptInStatus="Unknown">
              <Customer MaritalStatus="Unknown" Gender="Unknown">
                <PersonName>
                  <GivenName>Friedrichstraße</GivenName>
                  <Surname>Crescenzio</Surname>
                </PersonName>
                <Email EmailType="1" TextFormat="text/html" ShareMarketInd="Inherit" ShareSynchInd="Inherit">fabio.crescenzio@hotel-spider.com</Email>
                <Address UseType="2" ValidationStatus="NotChecked" ValidInd="1" ShareMarketInd="Inherit" ShareSynchInd="Inherit">
                  <AddressLine>Friedrichstraße 7</AddressLine>
                  <CityName>Montcherand</CityName>
                  <PostalCode>1354</PostalCode>
                  <CountryName>Switzerland</CountryName>
                </Address>
              </Customer>
            </Profile>
          </ProfileInfo>
        </Profiles>
        <BasicPropertyInfo HotelCode="00F55f7e28de4a33" HotelName="Hotel Ennit PO" CurrencyCode="EUR"/>
      </ResGlobalInfo>
    </HotelReservation>
  </HotelReservations>
</OTA_HotelResNotifRQ>
OTA_ResRetrieveRS response
<OTA_ResRetrieveRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ResRetrieveRS.xsd" Version="1.000">
  <Success/>
  <ReservationsList>
    <HotelReservation ResStatus="Book" ForcedSellIndicator="0" OriginalDeliveryMethodCode="11" RoomStayReservation="1" WalkInIndicator="0" CreateDateTime="2015-10-29T17:06:02+01:00" LastModifyDateTime="2015-10-29T17:06:03+01:00">
      <POS>
        <Source>
        <RequestorID ID="0" Type="22"/>
        <BookingChannel Type="5">
          <CompanyName>Hotel-Spider</CompanyName>
        </BookingChannel>
        </Source>
      </POS>
      <RoomStays>
        <RoomStay IndexNumber="1" RoomStayStatus="Book">
          <RoomTypes>
            <RoomType RoomID="00F55f80d7db845a" IsRoom="1">
              <RoomDescription Name="Single room standard"/>
            </RoomType>
          </RoomTypes>
          <RoomRates>
            <RoomRate EffectiveDate="2015-09-16" ExpireDate="2015-09-19" RatePlanID="00F55f80f515c377">
              <Rates>
                <Rate EffectiveDate="2015-09-16" ExpireDate="2015-09-16">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-17" ExpireDate="2015-09-17">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-18" ExpireDate="2015-09-18">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-19" ExpireDate="2015-09-19">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Standard with breakfast</Text>
              </RoomRateDescription>
            </RoomRate>
          </RoomRates>
          <GuestCounts>
            <GuestCount AgeQualifyingCode="10" Count="1"/>
          </GuestCounts>
          <TimeSpan Start="2015-09-16" End="2015-09-20" Duration="P4D"/>
          <CancelPenalties>
            <CancelPenalty PolicyCode="STD" Fri="1" Mon="1" Sat="1" Sun="1" Thur="1" Tue="1" Weds="1">
              <AmountPercent FeesInclusive="1" Amount="0.00" DecimalPlaces="2" />
              <PenaltyDescription Name="Standard"/>
            </CancelPenalty>
          </CancelPenalties>
          <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="680.00" DecimalPlaces="2" />
          <BasicPropertyInfo HotelCode="00F55f7e28de4a33" HotelName="Hotel Ennit PO" CurrencyCode="EUR"/>
          <ResGuestRPHs>1</ResGuestRPHs>
        </RoomStay>
        <RoomStay IndexNumber="2" RoomStayStatus="Book">
          <RoomTypes>
            <RoomType RoomID="00F55f80d7db845a" IsRoom="1">
              <RoomDescription Name="Single room standard"/>
            </RoomType>
          </RoomTypes>
          <RoomRates>
            <RoomRate EffectiveDate="2015-09-16" ExpireDate="2015-09-19" RatePlanID="00F55f80f515c377">
              <Rates>
                <Rate EffectiveDate="2015-09-16" ExpireDate="2015-09-16">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-17" ExpireDate="2015-09-17">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-18" ExpireDate="2015-09-18">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
                <Rate EffectiveDate="2015-09-19" ExpireDate="2015-09-19">
                  <Base CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                  <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="160.00" DecimalPlaces="2" />
                </Rate>
              </Rates>
              <RoomRateDescription>
                <Text>Standard with breakfast</Text>
              </RoomRateDescription>
            </RoomRate>
          </RoomRates>
          <GuestCounts>
            <GuestCount AgeQualifyingCode="10" Count="1"/>
          </GuestCounts>
          <TimeSpan Start="2015-09-16" End="2015-09-20" Duration="P4D"/>
          <CancelPenalties>
            <CancelPenalty PolicyCode="STD" Fri="1" Mon="1" Sat="1" Sun="1" Thur="1" Tue="1" Weds="1">
              <AmountPercent FeesInclusive="1" Amount="0.00" DecimalPlaces="2" />
              <PenaltyDescription Name="Standard"/>
            </CancelPenalty>
          </CancelPenalties>
          <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="680.00" DecimalPlaces="2" />
          <BasicPropertyInfo HotelCode="00F55f7e28de4a33" HotelName="Hotel Ennit PO" CurrencyCode="EUR"/>
          <ResGuestRPHs>1</ResGuestRPHs>
        </RoomStay>
      </RoomStays>
      <ResGuests>
        <ResGuest ResGuestRPH="1">
          <Profiles>
            <ProfileInfo>
              <UniqueID ID="00R5615405a213c7" ID_Context="Internal" Type="1"/>
              <Profile StatusCode="4" CreateDateTime="2015-10-07T17:55:06+02:00" LastModifyDateTime="2015-10-29T17:06:05+01:00" ProfileType="1" OptInStatus="Unknown">
                <Customer MaritalStatus="Unknown" Gender="Unknown">
                  <PersonName>
                    <GivenName>Friedrichstraße</GivenName>
                    <Surname>Crescenzio</Surname>
                  </PersonName>
                  <Email EmailType="1" TextFormat="text/html" ShareMarketInd="Inherit" ShareSynchInd="Inherit">fabio.crescenzio@hotel-spider.com</Email>
                  <Address UseType="2" ValidationStatus="NotChecked" ValidInd="1" ShareMarketInd="Inherit" ShareSynchInd="Inherit">
                  <AddressLine>Friedrichstraße</AddressLine>
                  <CityName>Montcherand</CityName>
                  <PostalCode>1354</PostalCode>
                  <CountryName>Switzerland</CountryName>
                  </Address>
                </Customer>
              </Profile>
            </ProfileInfo>
          </Profiles>
        </ResGuest>
      </ResGuests>
      <ResGlobalInfo>
        <GuestCounts>
          <GuestCount AgeQualifyingCode="10" Count="1"/>
        </GuestCounts>
        <TimeSpan Start="2015-09-16" End="2015-09-19" Duration="P3D"/>
        <Comments>
          <Comment CreateDateTime="2015-10-29T17:06:03+01:00" LastModifyDateTime="2015-10-29T17:06:03+01:00" Language="en">
            <Text>This reservation has been sent to test if everything is working fine with the OTA messages, you can ignore it</Text>
          </Comment>
        </Comments>
        <Guarantee GuaranteeType="CC/DC/Voucher" GuaranteeCode="00F563243eb94a3c">
          <GuaranteesAccepted>
            <GuaranteeAccepted>
              <PaymentCard CardCode="VI" ExpireDate="1111">
                <CardHolderName>Fabio Crescenzio</CardHolderName>
                <CardNumber Mask="xxxxxxxxxxxx1111">
					<PlainText>4242424242421111</PlainText>
				</CardNumber>
                <SeriesCode>
					<PlainText>011</PlainText>
				</SeriesCode>
              </PaymentCard>
            </GuaranteeAccepted>
          </GuaranteesAccepted>
        </Guarantee>
        <Total CurrencyCode="EUR" AmountBeforeTax="0.00" AmountAfterTax="1360.00" DecimalPlaces="2" />
        <HotelReservationIDs>
          <HotelReservationID ResID_Date="2015-10-29T17:06:04+01:00" ResID_Source="1" ResID_SourceContext="Tourisoft" ResID_Type="14" ResID_Value="12315465678914guiguifbuif"/>
          <HotelReservationID ResID_Date="2015-10-29T17:06:04+01:00" ResID_SourceContext="Hotel Spider" ResID_Type="34" ResID_Value="00F563243ea41b11"/>
        </HotelReservationIDs>
        <Profiles>
          <ProfileInfo>
            <UniqueID ID="00R5615405a213c7" ID_Context="Internal" Type="1"/>
            <Profile StatusCode="4" CreateDateTime="2015-10-07T17:55:06+02:00" LastModifyDateTime="2015-10-29T17:06:05+01:00" ProfileType="1" OptInStatus="Unknown">
              <Customer MaritalStatus="Unknown" Gender="Unknown">
                <PersonName>
                  <GivenName>Friedrichstraße</GivenName>
                  <Surname>Crescenzio</Surname>
                </PersonName>
                <Email EmailType="1" TextFormat="text/html" ShareMarketInd="Inherit" ShareSynchInd="Inherit">fabio.crescenzio@hotel-spider.com</Email>
                <Address UseType="2" ValidationStatus="NotChecked" ValidInd="1" ShareMarketInd="Inherit" ShareSynchInd="Inherit">
                <AddressLine>Friedrichstraße</AddressLine>
                <CityName>Montcherand</CityName>
                <PostalCode>1354</PostalCode>
                <CountryName>Switzerland</CountryName>
                </Address>
              </Customer>
            </Profile>
          </ProfileInfo>
        </Profiles>
        <BasicPropertyInfo HotelCode="00F55f7e28de4a33" HotelName="Hotel Ennit PO" CurrencyCode="EUR"/>
      </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.

VersionYesThe default value should be "1.000"

Child elements: POS (when using POS authentication. See Authentication methods for more information), HotelRoomLists


UniqueID

Parent: OTA_ReadRQ

Mandatory: No

Attributes:

NameMandatoryDescription
TypeYes

When querying for a reservation by using the Hotel-Spider ID  Type="14" must be used

When querying for a reservation by using the original ID Type="22" must be used (not implemented yet)

IDYesThe reservation ID you're trying to retrieve

Child elements: None

Retrieving a specific reservation/modification/cancellation

When using Type="22", the value of the ID attribute need to be the reservation confirmation number of the booking channel from which the reservation originated. So should a reservation originate from Booking.com, their reservation confirmation should be used. Should a reservation originate from Expedia.com, their reservation confirmation should be used, etc.

ReadRequests

Parent: OTA_ReadRQ

Mandatory: No

Attributes: None

Children: HotelReadRequest


HotelReadRequest

Parent: ReadRequests

Mandatory: Yes (If ReadRequests is used)

Attributes:

NameMandatoryDescription
HotelCodeYes

The Hotel-Spider hotel ID which you are updating

By default our system will search for the HotelCode attribute. Should this not be available, our system will try to identify the hotel based on the room ID as this is uniquely linked to one hotel.

HotelNameNoThis attribute can be used for readability.

Child elements: None


SelectionCriteria

Parent: HotelReadRequest

Mandatory: Yes (If ReadRequests is used)

Attributes:

NameMandatoryDescription
SelectionTypeYes

Possible values are "All", "PreviouslyDelivered", Undelivered"

DateTypeNo

Possible values are "ArrivalDate", "CreateDate", "DepartureDate", "LastUpdateDate"

When not specified, default value is "LastUpdateDate"

StartYes*

The format should respect the ISO 8601 2015-11-16

The Start is mandatory if End is provided.

EndYes*

The format should respect the ISO 8601 2015-11-17

The End date is inclusive meaning that it will also be searched.

The End is mandatory if Start is provided.

Child elements: None

Note on Start and End date limitations

  • 'Start' date and 'End' date are both required on request. If only one of them is missing the response will be an error message.
  • The distance between 'Start' and 'End' date must not exceed 30 days. Otherwise it will change End date to 30 days from Start.
  • If both 'Start' and 'End' date are missing then a default date will be assigned:
    'Start' =  today
    'End' = today + 30 days

Use case 1: Query the Hotel-Spider system for new reservations, modifications and cancellations

 <?xml version="1.0" encoding="utf-8"?>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
  <POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
  </Source>
  </POS>
  <ReadRequests>
    <HotelReadRequest HotelCode="" HotelName="">
      <SelectionCriteria SelectionType="Undelivered" />
    </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>

Use case 2: Query for reservations created between Start and End date

<?xml version="1.0" encoding="utf-8"?>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
  <POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
   </Source> 
  </POS>
  <ReadRequests>
    <HotelReadRequest HotelCode="" HotelName="">
      <SelectionCriteria SelectionType="All" DateType="CreateDate" Start="2015-11-01" End="2015-11-30" />
    </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>

Use case 3: Query for reservations with modification date between Start and End

<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
  <POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
  </Source>
  </POS>

  <ReadRequests>
    <HotelReadRequest HotelCode="" HotelName="">
      <SelectionCriteria SelectionType="All" DateType="LastUpdateDate" Start="2015-11-01" End="2015-11-30" />
    </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>

Use case 4: Query for reservations with arrival date between Start and End

<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
<POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
  </Source>
  </POS>

  <ReadRequests>
    <HotelReadRequest HotelCode="" HotelName="">
      <SelectionCriteria SelectionType="All" DateType="ArrivalDate" Start="2015-11-01" End="2015-11-30" />
    </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>

Use case 5: Query for reservations with departure date between Start and End

<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
<POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
  </Source>
  </POS>

  <ReadRequests>
    <HotelReadRequest HotelCode="" HotelName="">
      <SelectionCriteria SelectionType="All" DateType="DepartureDate" Start="2015-11-01" End="2015-11-30" />
    </HotelReadRequest>
  </ReadRequests>
</OTA_ReadRQ>

Use case 6: Query for a specific reservation using the Hotel-Spider ID

<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
<POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
  </Source>
  </POS>

 <UniqueID Type="14" ID="005LDSDFD0134687321" />
</OTA_ReadRQ>

Use case 7: Query for a specific reservation using the channel's ID

<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_ReadRQ.xsd" TimeStamp="2003-03-17T09:30:47-05:00" Target="Test">
<POS>
    <Source>
      <RequestorID ID="USERNAME" MessagePassword="PASSWORD" />
  </Source>
  </POS>

 <UniqueID Type="22" ID="87654321" />
</OTA_ReadRQ>


Response structure

OTA_HotelResNotifRQ / OTA_ResRetrieveRS

Parent: None (Root element)

Mandatory: yes

Attributes:

NameMandatoryDescription
TimeStampYesThe format will respect the ISO 8601 2015-11-16T22:23:48+00:00
TargetYesThe same value, used in the request, will be returned.
VersionYesThe value wil be "1.000"

Child elements: Success, HotelReservations / ReservationsList Errors

Root element

Depending on the response format requested by the third party software provider, the response will either contain the OTA_HotelResNotifRQ or the OTA_ResRetrieveRS as the root element.


HotelReservations / ReservationsList

Parent: OTA_HotelResNotifRQ / OTA_ResRetrieveRS

Mandatory: Yes

Attributes: None

Child elements: HotelReservation

HotelReservation parent element

Depending on the response format requested by the third party software provider, the response will either contain the HotelReservations or the ReservationsList as the container for all the reservations to be exported.


HotelReservation

Parent: HotelReservations

Mandatory: yes

Attributes:

NameMandatoryDescription
ResStatusYes

Possible values are "Book", "Modify", "Cancel"

ForcedSellIndicatorNoIndicates a sell (reservation) was forced even if there were restrictions or no availability.
OriginalDeliveryMethodCodeNo

The method by which the original reservation was delivered. Possible values are:

  • 1 (Fax)
  • 2 (E-mail)
  • 3 (Mail)
  • 4 (Courier)
  • 5 (Airport collection)
  • 6 (City office)
  • 7 (Hotel desk)
  • 8 (Will call)
  • 9 (EXpress mail)
  • 10 (Telephone)
  • 11 (XML)
  • 12 (FTP)
  • 13 (Website)
  • 14 (HTTP)
  • 15 (Non-XML)
  • 16 (Any)
RoomStayReservationNoDefault value will be "1". Indicates this reservation is for lodging space.
WalkInIndicatorNoDefault value will be "0". Indicates the reservation was not generated at the properties front-desk
CreateDateTimeYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:02+01:00
LastModifyDateTimeYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:03+01:00

Child elements: RoomStays, ResGuests, ResGlobalInfo


POS

Parent: HotelReservation

Mandatory: Yes

Attributes: None

Child elements: HotelReservation


Source

Parent: POS

Mandatory: Yes

Attributes: None

Child elements: POS


RequestorID

Parent: Source

Mandatory: Yes

Attributes:

NameMandatoryDescription
IDYes

Unique identifier of the source channel. You can retrieve the full list automatically, see Specific call : retrieve channels list

TypeYesDefault value is "22"

Child elements: CompanyName


BookingChannel

Parent: Source

Mandatory: yes

Attributes: None

Child elements: CompanyName


CompanyName

Parent: BookingChannel

Mandatory: Yes

Attributes: None

Value : 

MandatoryDescription
Yes

Name of the source channel. You can retrieve the full list automatically, see Specific call : retrieve channels list


Roomstays

Parent: HotelReservation

Mandatory: Yes

Attributes: None

Child elements: RoomStay


Roomstay

Parent: RoomStays

Mandatory: Yes

Attributes: None

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


RoomTypes

Parent: RoomStay

Mandatory: No

Attributes: None

Child elements: RoomType


RoomType

Parent: RoomTypes

Mandatory: yes

Attributes:

NameMandatoryDescription
IsRoomYes

The default value will be "true"

RoomIDYesThe Hotel-Spider room ID

Child elements: RoomDescription


RoomDescription

Parent: RoomType

Mandatory: yes

Attributes:

NameMandatoryDescription
NameYes

The name of the room type as configured in the Hotel-Spider system

Child elements: None


RatePlans

Parent: RoomStay

Mandatory: No

Attributes: None

Child elements: RatePlan


RatePlan

Parent: RatePlans

Mandatory: No

Attributes: None

Child elements: MealsIncluded


MealsIncluded

Parent: RatePlan

Mandatory: No

Attributes:

NameMandatoryDescription
MealPlanIndicatorYes

Indicate if there is a mealplan included or not with this rateplan

MealPlanCodesNo

List of MealPlan codes included separated by spaces.

Example : "4.MPT 3.MPT"

List

Child elements: None


RoomRates

Parent: RoomStay

Mandatory: No

Attributes: None

Child elements: RoomRate


RoomRate

Parent: RoomRates

Mandatory: yes

Attributes:

NameMandatoryDescription
RatePlanIDYes

The Hotel-Spider rate plan ID

EffectiveDateYesThe start date of the period for which this particular rate plan was booked. The format will be provided in ISO 8601 format 2015-09-16
ExpireDateYesThe end date of the period for which this particular rate plan was booked. The format will be provided in ISO 8601 format 2015-09-17

Child elements: None

ExpireDate included

The ExpireDate is included and is always the night prior to the departure

Rates

Parent: RoomRate

Mandatory: No

Attributes: None

Child elements: Rate


Rate

Parent: Rates

Mandatory: yes

Attributes:

NameMandatoryDescription
EffectiveDateYesThe start date of the period for which this particular rate/price  was booked. The format will be provided in ISO 8601 format 2015-09-16
ExpireDateYesThe end date of the period for which this particular rate/price was booked. The format will be provided in ISO 8601 format 2015-09-17

Child elements: Base, Total

ExpireDate included

The ExpireDate is included and is always equal to the EffectiveDate


Base

Parent: Rate

Mandatory: yes

Attributes:

NameMandatoryDescription
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 night only

The values in the Base element will reflect the price of the room night without any additional services


Total

Parent: Rate, RoomStay, ResGlobalInfo

Mandatory: yes

Attributes:

NameMandatoryDescription
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 night + services

The values in the Total element will reflect the price of the room night with any additional services. Should no services be booked, the price will be identical to the price in the Base element.


DepositPayments

Parent: RoomStay

Details: see here


RoomRateDescription

Parent: RoomRate

Mandatory: No

Attributes: None

Child elements: Text


Text

Parent: RoomRateDescription

Mandatory: yes

Attributes: None

Child elements: None


GuestCounts

Parent: RoomStay, ResGlobalInfo

Mandatory: No

Attributes: None

Child elements: GuestCount


GuestCount

Parent: GuestCounts

Mandatory: yes

Attributes:

NameMandatoryDescription
AgeQualifyingCodeYes

The age category of the guests that will stay in the room. Possible values are:

  • 8 (Children)
  • 10 (Adults)
CountYesThe number of guests of a specific age category that will stay in the room.

Child elements: None

Default AgeQualifyingCode

Should a channel not communicate the different age categories, the Hotel-Spider system will default to "10" (Adults)


TimeSpan

Parent: RoomStay, ResGlobalInfo

Mandatory: yes

Attributes:

NameMandatoryDescription
StartYesThe format respects the ISO 8601 format 2015-11-16
EndYes

The format respects the ISO 8601 format  2015-11-17

DurationYesThe format respects the ISO 8601 format PnYnMnDTnHnMnS

Child elements: None

Arrival date, Departure date and number of nights

The Start attribute represents the Arrival date for this room.

The End attribute represents the departure date for this room.

The Duration attribute represents the number of nights the guest stays in this room


CancelPenalties

Parent: RoomStay

Mandatory: No

Attributes: None

Child elements: CancelPenalty


CancelPenalty

Parent: CancelPenalties

Mandatory: yes

Attributes:

NameMandatoryDescription
PolicyCodeNoThe Hotel-Spider cancel policy ID
MonNo

This policy applies to Monday

TueNoThis policy applies to Tuesday
WedsNoThis policy applies to Wednesday
ThurNoThis policy applies to Thursday
FriNoThis policy applies to Friday
SatNoThis policy applies to Saturday
SunNoThis policy applies to Sunday

Child elements: AmountPercent, PenaltyDescription

Cancel policies from booking channels

Since the cancel policies configured within the Hotel-Spider cannot be transferred to the vast majority of the channels, the cancel policy returned will only rarely contain a PolicyCode attribute


AmountPercent

Parent: CancelPenalty

Mandatory: yes

Attributes:

NameMandatoryDescription
FeesInclusiveNoWere additional fees also included when calculating the amount for the cancellation amount.
AmountNo

The amount that a guest would need to be in case of a cancellation

Child elements: AmountPercent, PenaltyDescription


PenaltyDescription

Parent: CancelPenalty

Mandatory: yes

Attributes:

NameMandatoryDescription
NameNoThe name of cancel policy as defined in the Hotel-Spider system

Child elements: None


Total

Parent: RoomStay, ResGlobalInfo

Mandatory: yes

Attributes:

NameMandatoryDescription
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 night + services

The values in the Total element will reflect the price of the room night with any additional services.


Comments

Parent: RoomStay, ResGlobalInfo

Mandatory: No

Attributes: None

Child elements: Comment


Comment

Parent: Comments

Mandatory: yes

Attributes:

NameMandatoryDescription
CreateDateTimeYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:02+01:00
LastModifyDateTimeYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:02+01:00
LanguageNoThe language in which the comment was transmitted to Hotel-Spider

Child elements: Text


Text

Parent: Comment

Mandatory: Yes

Attributes: None

Child elements: None


BasicPropertyInfo

Parent: RoomStay, ResGlobalInfo

Mandatory: yes

Attributes:

NameMandatoryDescription
HotelCodeYesThe Hotel-Spider hotel ID
HotelnameYesThe name of the hotel as configured in the Hotel-Spider system
CurrencyCodeYesThe currency code as configured in the Hotel-Spider system

Child elements: None


ResGuestRPHs

Parent: RoomStay

Mandatory: No

Attributes: None

Child elements: None

2014A ResGuestRPHs vs 2009A ResGuesRPHs

In previous versions of the OTA protocol the ResGuestRPHs container would have child elements <ResGuestRPH RPH="" /> whereas in the 2014A version it is a comma-separated string.

ResGuestRPH to link a room to a guest profile

Every value in the ResGuestRPHs element is linked uniquely to a ResGuest profile <ResGuest ResGuestRPH="" ></ResGuest>


ResGuests

Parent: HotelReservation

Mandatory: No

Attributes: None

Child elements: ResGuest


ResGuest

Parent: ResGuests

Mandatory: No

Attributes:

NameMandatoryDescription
ResGuestRPHYesThe guest identification ID within a specific reservation

Child elements: Profiles

ResGuestRPH to link a room to a guest profile

The value of the ResGuestRPH attribute is linked to a ResGuestRPHs element in a RoomStay container

Profiles

Parent: ResGuest, ResGlobalInfo

Mandatory: No

Attributes: None

Child elements: ProfileInfo


ProfileInfo

Parent: Profiles

Mandatory: No

Attributes: None

Child elements: UniqueID, Profile


UniqueID

Parent: ProfileInfo

Mandatory: No

Attributes:

NameMandatoryDescription
IDYesThe Hotel-Spider guest ID
ID_ContextYesDefault value "Internal"
TypeYes

Possible values are

  • 1 (Customer)
  • 2 (GDS)
  • 3 (Company)
  • 4 (Travel Agent)
  • 5 (Wholesaler)
  • 6 (Group)
  • 7 (Tour Operator)
  • 8 (CRO)
  • 9 (Rep Company)
  • 10 (Internet broker)
  • 11 (Airline)
  • 12 (Hotel)
  • 13 (Car rental)
  • 14 (Cruise line)
  • 15 (Employee)
  • 16 (Event host)
  • 17 (Supplier partner)
  • 18 (Billing contact)
  • 19 (Authorised signature)
  • 23 (Travel agency)

Child elements: None



Guest Profile Identification

Every guest / company / travel agency will receive an unique ID in the Hotel-Spider System. For every new reservation, the Hotel-Spider will try to re-identify the guest.



Profile

Parent: ProfileInfo

Mandatory: No

Attributes:

NameMandatoryDescription
StatusCodeYes

Possible values are

  • 1 (Marked for deletion)
  • 3 (Terminated)
  • 4 (Active)
  • 5 (Inactive)
CreateDateTimeYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:02+01:00
LastModifyDateTimeYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:02+01:00
ProfileTypeYes

Possible values are

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

Can this profile be used for marketing purposes. Possible values are

  • OptedIn
  • OptedOut
  • Unknown

Child elements: Customer


Customer

Parent: Profile

Mandatory: No

Attributes:

NameMandatoryDescription
MaritalStatusYes

Possible values are

  • Annulled (The marriage of the traveler has been annulled)
  • Co-habitatin (The traveler is living with someone, but not married)
  • Divorced (The traveler is divorced)
  • Engaged (The traveler is engaged)
  • Married (The traveler is married)
  • Separated (The traveler is separated)
  • Single (The traveler is single)
  • Unknown (The marital status of the traveler is unknown)
  • Widowed (The traveler is widowed)
GenderYes

Possible values are

  • Female
  • Male
  • Unknown

Child elements: PersonName, Email, Address


PersonName

Parent: Customer

Mandatory: No

Attributes: None

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


GivenName

Parent: PersonName

Mandatory: No

Attributes: None

Child elements: None


MiddleName

Parent: PersonName

Mandatory: No

Attributes: None

Child elements: None


NamePrefix

Parent: PersonName

Mandatory: No

Attributes: None

Child elements: None


NameSuffix

Parent: PersonName

Mandatory: No

Attributes: None

Child elements: None


NameTitle

Parent: PersonName

Mandatory: No

Attributes: None

Child elements: None


Surname

Parent: PersonName

Mandatory: No

Attributes: None

Child elements: None


ResGlobalInfo

Parent: HotelReservation

Mandatory: Yes

Attributes: None

Child elements: GuestCounts, TimeSpan, Comments, Guarantee, Total, HotelReservationIDs, Profiles, BasicPropertyInfo, DepositPayments


Guarantee

Parent: RoomStay, ResGlobalInfo

Mandatory: No

Attributes:

NameMandatoryDescription
GuaranteeTypeNo

The default value is "CC/DC/Voucher"

GuaranteeCodeNoThe Hotel-Spider guarantee ID

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: GuaranteeAccepted

Mandatory: Yes

Attributes:

NameMandatoryDescription
CardCodeNo

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)
ExpireDateNoThe format provided will be "mmYY"

Child elements: CardHolderName, CardNumber


CardHolderName

Parent: PaymentCard

Mandatory: Yes

Attributes: None

Child elements: None


CardNumber

Parent: PaymentCard

Mandatory: No

Attributes:

NameMandatoryDescription
MaskNo

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

Child elements: None


PlainText

Parent: CardNumber

Mandatory: No

Attributes: None

Child elements: None


SeriesCode

Parent: PaymentCard

Mandatory: No

Attributes : None

Child elements: None


PlainText

Parent: SeriesCode

Mandatory: No

Attributes: None

Child elements: None


DepositPayments


Parent: ResGlobalInfo, RoomStay

Mandatory: No

Attributes: None

Child elements: GuaranteePayment


GuaranteePayment

Parent: DepositPayments

Mandatory: No

Attributes: 

Name

Mandatory

Description

AddressIndNoIf true, the credit cardholder address is required for guarantee/deposit.
AddressRetainIndNoIf true, the card holder's address is retained.
AgencyNameAddrReqIndNoIf true, the agency name and address are required for guarantee/deposit.
CompanyNameAddrReqIndNoIf true, the company name and address are required for guarantee/deposit.
GuaranteeCodeNoGuarantee code (max length: 32 char)
GuaranteeTypeNoAn enumerated type defining the guarantee to be applied to this reservation. Accepted values: 'CC/DC/Voucher', 'Deposit', 'GuaranteeRequired', 'None', 'PrePay', 'Profile'
HoldTimeNoThe room will held up until this time without a guarantee.
InfoSourceNoTo specify the source of the rate of exchange for a currency code. Used to specify the source of the data being exchanged.
InterbankNbrIndNoIf true, the Interbank Card Association number is required for guarantee/deposit.
NameIndNoIf true, the credit cardholder name is required for guarantee/deposit.
NameRetainIndNoIf true, the card holder's name is retained.
NoCardHolderInfoReqIndNoIf true, no credit cardholder information is required for guarantee/deposit.
NoCardHolderInfoRetainIndNoIf true, no card holder information is retained.
NonRefundableIndicatorNoWhen true, indicates that any prepayment for the reservation is non refundable, therefore a 100% penalty on the prepayment is applied, irrespective of deadline.
PaymentCodeNoThis defines the form of payment. Value is of type Payment Type (PMT)
PhoneIndNoIf true, the credit cardholder phone number is required for guarantee/deposit.
PhoneRetainIndNoIf true, the card holder's phone number is retained.
PolicyCodeNoUsed to specify the type of payment policy. (max length: 16 char)
RetributionTypeNoAn enumerated type defining the type of action taken when the deadline has been exceeded. Valid values: 'ResAutoCancelled', 'ResNotGuaranteed'
RoomTypeCodeNoA system specific room type to which this guarantee payment information applies.
TypeNoUsed to specify the type of information being sent. Accepted values: 'AcceptedPaymentForms', 'GuaranteePolicy', 'RequiredPayment'
DurationNoThe duration of this reservation's guarantee.
EndNoThe end day for this reservation's guarantee.
The format should respect the ISO 8601 eg. 2015-11-16
StartNo

The start day for this reservation's guarantee.
The format should respect the ISO 8601 eg. 2015-11-16

MonNoWhen true, apply to Monday
TueNoWhen true, apply to Tuesday
WedsNoWhen true, apply to Wednesday
ThurNoWhen true, apply to Thursday
FriNoWhen true, apply to Friday
SatNoWhen true, apply to Saturday
SunNoWhen true, apply to Sunday

Child elements: AcceptedPayments


AcceptedPayments

Parent: GuaranteePayment

Mandatory: No

Attributes: None

Child elements: AcceptedPayment


AcceptedPayment

Parent: AcceptedPayments

Mandatory: No

Attributes:

Name

Mandatory

Description

CostCenterIDNoA reference to identify the billing department for allocating cost of travel to company account.
GuaranteeIDNoProvides the identifier as specified by the GuaranteeTypeCode (e.g., Corporate ID or IATA number).
GuaranteeIndicatorNo

When true, indicates this represents a guarantee rather than a payment form.

GuaranteeTypeCodeNoUsed to specify the method of guarantee. Value is of type Payment Type (PMT)
PaymentTransactionTypeCodeNoThis is used to indicate either a charge, reserve (deposit) or refund. Accepted values: 'charge', 'refund', 'reserve'
RemarkNoA remark associated with the payment form. Max length: 128 char
RPHNoProvides a reference to a specific form of payment.

Child elements: PaymentCard


PaymentCard

Parent: AcceptedPayment

Details: see here


AmountPercent

Parent: AcceptedPayments

Details: see here


Description

Parent: GuaranteePayment

Mandatory: No

Attributes: None

Child elements: Text


Text

Parent: Description

Mandatory: No

Attributes: None

Child elements: None


HotelReservationIDs

Parent: ResGlobalInfo

Mandatory: No

Attributes: None

Child elements: Comment


HotelReservationID

Parent: HotelReservationIDs

Mandatory: yes

Attributes:

NameMandatoryDescription
ResID_DateYesThe format will be provided in ISO 8601 format 2015-10-29T17:06:02+01:00
ResID_TypeYes

Possible values are:

  • 14 (Reservation)
  • 15 (Cancellation)
  • 34 (Master reference)
  • 40 (Confirmation number)
ResID_SourceYesUnique identifier of the source channel. You can retrieve the full list automatically, see Specific call : retrieve channels list
ResID_SourceContextNoTextual representation of the source
ResID_ValueYesThe reservation number.

Child elements: None

ResID_Source use cases

When ResID_Type="14" the ResIDSourceContext will contain the name of the channel from which the reservation originated. The ResID_Value will contain the reservation number that was assigned to this specific reservation by the channel through which it was originally made.

When ResID_Type="15" the ResID_SourceContext will contain the name of the channel from which the cancellation originated. The ResID_Value will contain the reservation number that was assigned to this specific reservation by the channel through which it was originally made.

When ResID_Type="34", the ResID_SourceContext will contain "Hotel-Spider" or the name of any of its white label partners. The ResID_Value will contain the internal reservation number that was assigned by the Hotel-Spider system to this specific reservation. This value must be re-used when the third party software provider confirms the proper processing of any reservations/modifications/cancellations.

When ResID_Type="40", the ResID_SourceContext will contain "Hotel-Spider" or the name of any of its white label partners. The ResID_Value will contain the internal reservation number that was assigned by the third party software client to this specific reservation. This value will only be provided if the reservation has previously already been confirmed by the third party software client.