Minor Update Notification - Hotel Sellers API v1.2.73

Please be advised we are releasing an update regarding Hotel Sellers API that may affect you.

Minor changes on version v1.2.73

  • Added new RateRule “Negotiated” in Availability response.
  • Added new “Rate” node containing Description and Restriction for “Negotiated” rates in Availability response.
  • Added new node “Code” on Fees at Availability and Valuation responses.
  • Implemented new “Deadline” field on Cancellation Policies.
  • Implemented new “CalculatedDeadline” field on Cancellation Policies.
  • Added new TimeZone field on Metadata Valuation response.

Negotiated Rates

A new “Negociated Rate” has been added into our Rates. In order to allow clients to benefit from these specific rates, we’ve added extra information that provides the restrictiction about how this rate should be applied.

Before:

<RateRules>
   <Rules>
      <Rule type = "Negociated"/>
   </Rules>
</RateRules>

Now:

<RateRules>
   <Rules>
      <Rule type="Negociated">
         <Rates>
            <Rate Code="BAR">
               <Description>Bar description</Description>
               <Restrictions>
                  <Restriction Code="REP" type="Company">Repsol</Restriction>
                  <Restriction Code="MERC" type="Company">Mercadona</Restriction>
               </Restrictions>
            </Rate>
         </Rates>
      </Rule>
   </Rules>
</RateRules>

Fee code

To allow partners to identify certain fees, we’ve added a Code that identifies each one in an unique way.

Before:

<Fees>
   <Fee description="TaxAndServiceFee" includedPriceOption="true" mandatory="true" refundable="false">
      <Price amount="8.11" binding="false" commission="-1" currency="EUR"/>
   </Fee>
</Fees>

After:

<Fees>
   <Fee description="TaxAndServiceFee" includedPriceOption="true" mandatory="true" refundable="false">
      <Price amount="8.11" binding="false" commission="-1" currency="EUR"/>
      <Code>SPE</Code>
   </Fee>
</Fees>

Deadline and Timezone

In order to avoid misunderstandings we’ve made a few updates on CancellationPolicies. First of all, we’ve added a new field “Timezone” on Metadata.

In this Timezone (see the Metadata docs to check all possible values) it will specify the timezone in UTC in which the cancellation policies are situated. Keep in mind in case a buyer has any doubt about the treatment of your policies, they could add an offset to cover possible penalties and your product would be less competitive.

Additionally, we’ve added the new Deadline field on CancellationPolicies to give more precise information and avoid losing competitiveness. This field is not subjected to any ambiguity as it’s a date in UTC-0 Standard. The conversion of the date is made according to your response and the value specified on the Metadata TimeZone.

Please check the following table for a clear view of how we will treat the cancelation policies according to the TimeZone established on Metadata:

Metadata Timezone HoursBefore Deadline
Hotel Local Time Bypass +14 offset and conversion to UTC-0
TimeZone Bypass Conversion to UTC-0
Unknown ByPass +14 offset and conversion to UTC-0

This would mean that hoursBefore should be returned without any offset, meanwhile the deadline must be converted according to the table values. It’s mandatory that no offset is added to hoursBefore and Deadline dateTime must follow the ISO 8601 standard.

<Deadline>01/07/2016T05:00:00Z</Deadline>

Also, we added a CalculatedDeadline field to specify if the Deadline has been taken from the supplier response or has been calculated by Travelgate. Please note that in this case as you send the date already in the correct format, value always will be false.

Before:

<CancelPenalties nonRefundable="false">
   <CancelPenalty>
      <HoursBefore>0</HoursBefore>
      <Penalty currency="EUR" paymentType="MerchantPay" type="Importe">961.25</Penalty>
   </CancelPenalty>
</CancelPenalties>
<Valuation>
   <AllowsBlockOption reviewDate="20/06/2015">false</AllowsBlockOption>
   <InformBindingPrice reviewDate="20/06/2015">false</InformBindingPrice>
   <InformNRFRate reviewDate="20/06/2015">false</InformNRFRate>
   <InformRemarks reviewDate="20/06/2015">false</InformRemarks>
   <InformCancelPolicies reviewDate="20/06/2015">false</InformCancelPolicies>
   <InformCancelPoliciesDescription reviewDate="20/06/2015">false</InformCancelPoliciesDescription>
   <InformFees reviewDate="20/06/2015">false</InformFees>
</Valuation>

Now:

<CancelPenalties nonRefundable="false">
   <CancelPenalty>
      <HoursBefore>0</HoursBefore>
      <Penalty currency="EUR" paymentType="MerchantPay" type="Importe">961.25</Penalty>
      <Deadline>2021-12-16T05:00:00Z</Deadline>
      <CalculatedDeadline>false</CalculatedDeadline>
   </CancelPenalty>
</CancelPenalties>
<Valuation>
   <AllowsBlockOption reviewDate="20/06/2015">false</AllowsBlockOption>
   <InformBindingPrice reviewDate="20/06/2015">false</InformBindingPrice>
   <InformNRFRate reviewDate="20/06/2015">false</InformNRFRate>
   <InformRemarks reviewDate="20/06/2015">false</InformRemarks>
   <InformCancelPolicies reviewDate="20/06/2015">false</InformCancelPolicies>
   <InformCancelPoliciesDescription reviewDate="20/06/2015">false</InformCancelPoliciesDescription>
   <InformFees reviewDate="20/06/2015">false</InformFees>
   <TimeZone reviewDate="04/01/2022">[eUtc.Utc_Unknown|eUtc.HotelLocalTime|eUtc.Utc_-14|...|eUtc.Utc_0|...|eUtc.Utc_14]</TimeZone>
</Valuation>
1 Like