ARI Overview

Availability, Rates, and Inventory (ARI) is a pricing delivery mode that controls nightly rates, availability, and inventory, and provides constraints on how these can be combined. ARI also provides flexibility to include taxes, fees, and promotions.

Unlike the itinerary-based pricing delivery modes, Pull and Changed Pricing, ARI feeds aren't queried for specific prices or itineraries. Instead, you push messages when your pricing model has new or changed data, such as changes to rate details, restrictions, and availability.

Benefits

ARI offers the following benefits:

  • Bandwidth efficiency: Increases bandwidth efficiency by reducing the volume of data that needs to be transmitted. By sending nightly ARI data and only incremental changes, Google can compute prices and updates for a wide range of advance purchase and length of stay values.

  • Price accuracy: Improves price accuracy by using a push-on-change event model to give live updates.

  • Greater price coverage: Achieves a higher price coverage (number of itineraries with prices) by using granular data that is combined into various itineraries.

  • Flexibility: Enables greater flexibility with offering promotions and packages.

  • Ease of Use: Transmits data in a way that is aligned with how it is stored on your system, avoiding the need to compute or cache prices for many itineraries.

Request message types

ARI messages sent to Google are termed as ARI "request" messages. Google subsequently returns "response" messages indicating success or failure.

ARI follows the standard protocols of OpenTravel Alliance (OTA) for some of the main message types for defining availability and inventory.

ARI uses the following request messages:

  • Transaction (Property Data). Defines the room type and package (rate plan) information.

  • OTA_HotelRateAmountNotifRQ. Defines the per-date or LOS-based occupancy rate amounts per product (room type and rate plan combination) for specific date ranges.

  • OTA_HotelAvailNotifRQ. Defines availability and restrictions based on room type and rate plans. Inventory can also be updated using this message, but OTA_HotelInvCountNotifRQ is preferred.

  • OTA_HotelInvCountNotifRQ. Defines the physical room inventory or number of rooms available to be sold.

  • TaxFeeInfo. (Optional) Defines per-property taxes and fees. This message isn't required if AmountAfterTaxis specified in the OTA_HotelRateAmountNotifRQ message.

  • Promotions. (Optional) Defines promotional rates for certain bookings, stays, and users.

  • RateModifications. (Optional) Defines rate modification rules for certain bookings, stays, and users.

  • ExtraGuestCharges. (Optional) Defines how rates should be configured for children and additional adults.

Each message contains a subset of information that Google uses to compute the prices and availability displayed to users when they search for your properties with specific check-in and check-out dates and desired occupancy.

For more information about ARI, refer to the XML Reference.

Push messages

To update ARI and property information, send the associated messages whenever data changes in your system.

Use the following guidelines when sending messages:

  • Use the self-serve tool in the Hotel Center Price Settings page to add or update your IP addresses in our system.

  • Use the following base path for the endpoint:

    • https://www.google.com or Host: www.google.com Port: 443
  • Send messages using the HTTP POST method.

  • Set the Content-Type header to application/xml.

  • There is an account-level maximum update rate of 400 messages per second. If you exceed this limit, an error code of 6032 is returned.

  • Use the following paths depending on the data being updated:

    • Transaction (Property Data): /travel/hotels/uploads/property_data
    • OTA_HotelRateAmountNotifRQ: /travel/hotels/uploads/ota/hotel_rate_amount_notif
    • OTA_HotelAvailNotifRQ: /travel/hotels/uploads/ota/hotel_avail_notif
    • OTA_HotelInvCountNotifRQ: /travel/hotels/uploads/ota/hotel_inv_count_notif
    • TaxFeeInfo: /travel/hotels/uploads/taxes
    • Promotions: /travel/hotels/uploads/promotions
    • RateModifications: /travel/hotels/uploads/rate_modifications
    • ExtraGuestCharges:/travel/hotels/uploads/extra_guest_charges

For each request message received, Google will respond with an HTTP 200 OK if the connection to the server succeeded and include a body with a response message indicating whether updates were applied successfully or encountered warnings or errors. If Google responds with an HTTP error code, resend the message. If the HTTP response body contains warnings or errors, they should be fixed before resending the message. You can also view issues encountered for specific messages on the Feed Status page in Hotel Center.

Live on Google (LoG)

Live on Google (LoG) lets you display your hotels on Google websites. Since the default LoG value for a hotel is true, any new hotels will automatically be displayed on Google.

Use LoG to turn your properties on and off for ads and free booking links in your Hotel Center account, regardless of the status of Google Ads or whether the property has rates on Google. This applies only to hotels and not vacation rentals.

There are two ways to set a hotel's LoG value: the Travel Partner API or the Hotel Center properties page. You can change the status of your existing properties in the Live on Google column on the Hotel Center properties page, or if you want to change the status of a large number of properties at the same time, you can use the Travel Partner API.

For more details about LoG, refer to the Hotel Center Help.

Using the Travel Partner API, you can do the following:

  • View the status of your properties through the Hotel Center or use the hotelViews.list endpoint.

  • Retrieve a list of all your hotels displayed on Google by using the filter parameter with liveOnGoogle = TRUE in hotelViews.list endpoint.

  • Get a summary of the properties for a specific account including the number of properties live on Google by using hotelViews.summary.

For more information about how to set LoG using the API, refer to the hotelViews.list article and the API Reference.