Availability, Rates, and Inventory (ARI) XML Reference
Stay organized with collections
Save and categorize content based on your preferences.
This XML reference guide provides detailed reference content and code
examples for the different messages, elements, and attributes available for
Availability, Rates, and Inventory (ARI) feeds.
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.
ARI follows the standard protocols of OpenTravel Alliance (OTA) for some of
the main message types for defining availability and inventory.
LOS-based pricing
LOS-based pricing lets you to specify rates per check-in date and length of
stay, rather than per stay date. When you specify a
<StatusApplicationControl> element for LOS-based pricing, the @Start and
@End attributes signifies a range of check-in dates for which the LOS rates
apply.
Although when using LOS-based pricing there are no longer nightly rates, all
other ARI features (inventory, availability, rules, promotions, etc.) can still
be applied to these rates and are specified at a nightly level. This means if
your systems more closely align with an LOS-based pricing system, you can still
take advantage of the rich ARI feature set, in addition to the bandwidth
efficiency that is granted by making use of the nightly availability and
restriction updates.
To enable LOS-based pricing on your account, contact your TAM or
contact us.
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 AmountAfterTax is 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 occupancy.
ARI XML Reference revision history
The following table lists documentation updates for feature changes only.
Date
Changes
August 14, 2020
Initial release.
October 21, 2020
Added the Promotions message type.
November 17, 2020
For Transaction (Property Data) messages, updated the
endpoint
and added the action attribute to PropertyDataSet elements.
November 24, 2020
For Transaction (Property Data) messages, added the
<AllowablePackageIDs> and
<AllowableRoomIDs> elements.
February 4, 2021
Added response messages.
February 25, 2021
Added OTA_HotelInvCountNotifRQ.
October 21, 2020
Added the Rate Modifications message type.
All rights reserved. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-18 UTC.
[null,null,["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eThis XML reference guide details the messages, elements, and attributes for managing hotel availability, rates, and inventory using Availability, Rates, and Inventory (ARI) feeds.\u003c/p\u003e\n"],["\u003cp\u003eARI allows for LOS-based or per-date pricing, enabling flexible control over nightly rates, availability, inventory, taxes, fees, and promotions.\u003c/p\u003e\n"],["\u003cp\u003eKey ARI messages include: Transaction (Property Data), OTA_HotelRateAmountNotifRQ (Rates), OTA_HotelAvailNotifRQ (Availability), OTA_HotelInvCountNotifRQ (Inventory), and optional messages for taxes/fees, promotions, rate modifications, and extra guest charges.\u003c/p\u003e\n"],["\u003cp\u003eEach property should utilize either LOS-based or per-date rates, and all four primary message types (transaction, rate, inventory, and availability) are required for pricing to be available.\u003c/p\u003e\n"],["\u003cp\u003eOnly messages, elements, and attributes specifically documented in this ARI XML reference and the ARI guide are supported; for any additional pricing features used in your system, contact your Technology Account Manager (TAM).\u003c/p\u003e\n"]]],[],null,["# Availability, Rates, and Inventory (ARI) XML Reference\n\nThis XML reference guide provides detailed reference content and code\nexamples for the different messages, elements, and attributes available for\nAvailability, Rates, and Inventory (ARI) feeds.\n\nARI is a pricing delivery mode that controls nightly rates, availability,\nand inventory, and provides constraints on how these can be combined. ARI also\nprovides flexibility to include taxes, fees, and promotions.\n\nARI follows the standard protocols of OpenTravel Alliance (OTA) for some of\nthe main message types for defining availability and inventory.\n\n### LOS-based pricing\n\n`LOS-based` pricing lets you to specify rates per check-in date and length of\nstay, rather than per stay date. When you specify a\n`\u003cStatusApplicationControl\u003e` element for LOS-based pricing, the `@Start` and\n`@End` attributes signifies a range of check-in dates for which the LOS rates\napply.\n\nAlthough when using LOS-based pricing there are no longer nightly rates, all\nother ARI features (inventory, availability, rules, promotions, etc.) can still\nbe applied to these rates and are specified at a nightly level. This means if\nyour systems more closely align with an LOS-based pricing system, you can still\ntake advantage of the rich ARI feature set, in addition to the bandwidth\nefficiency that is granted by making use of the nightly availability and\nrestriction updates.\n| **Key Point:** Each property in your account should use either LOS-based rates or per-date rates.\n\nTo enable LOS-based pricing on your account, contact your TAM or\n[contact us](https://support.google.com/hotelprices/gethelp).\n| **Key Point:** You must send the four message types (transaction, rate, inventory, and availability) before pricing is available. It is recommended that you the size of ARI messages specifically `\u003cOTA_HotelRateAmountNotifRQ\u003e` to 5MB with a limit of 400 files per second upload rate.\n\nARI uses the following request messages:\n\n- [`Transaction` (Property Data)](/hotels/hotel-prices/xml-reference/ari-property). Defines the type and package\n (rate plan) information.\n\n- [`OTA_HotelRateAmountNotifRQ`](/hotels/hotel-prices/xml-reference/ari-rate). Defines the per-date or LOS-based\n occupancy rate amounts per product (room type and rate plan combination) for\n specific date ranges.\n\n- [`OTA_HotelAvailNotifRQ`](/hotels/hotel-prices/xml-reference/ari-avail). Defines availability and restrictions\n based on room type and rate plans. Inventory can also be updated using this\n message, but `OTA_HotelInvCountNotifRQ` is preferred.\n\n- [`OTA_HotelInvCountNotifRQ`](/hotels/hotel-prices/xml-reference/ari-inv). Defines the physical room inventory or\n number of rooms available to be sold.\n\n- [`TaxFeeInfo`](/hotels/hotel-prices/xml-reference/ari-tax). (Optional) Defines per-property taxes and fees. This\n message isn't required if `AmountAfterTax` is specified in the\n `OTA_HotelRateAmountNotifRQ` message.\n\n- [`Promotions`](/hotels/hotel-prices/xml-reference/ari-promotions). (Optional) Defines promotional rates for\n certain bookings, stays, and users.\n\n- [`RateModifications`](/hotels/hotel-prices/xml-reference/ari-rate-modifications). (Optional) Defines rate\n modification rules for certain bookings, stays, and users.\n\n- [`ExtraGuestCharges`](/hotels/hotel-prices/xml-reference/ari-extra-guest-charges). (Optional) Defines how rates\n should be configured for children and additional adults.\n\nEach message contains a subset of information that Google uses to compute the\nprices and availability displayed to users when they search for your\nproperties with specific check-in and check-out dates and occupancy.\n| **Key Point:** ARI features is limited to the messages and elements described within this Inventory \\& Pricing (ARI) XML reference and the ARI guide. Any OTA message, element, or attribute not specifically documented here is not supported in our ARI implementation.\n|\n|\n| Also, other [Transaction message](/hotels/hotel-prices/xml-reference/transaction-messages) elements not covered in\n| this Inventory \\& Pricing (ARI) XML reference are not supported when\n| using the ARI feed type.\n| Google continues to update and improve the API. If you use additional pricing features in your system, notify your `Technology Account Manager(TAM)` so that it can be prioritized with those features or they will let you know if those features are planned for a release.\n\nARI XML Reference revision history\n----------------------------------\n\nThe following table lists documentation updates for feature changes only.\n\n| Date | Changes |\n|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| August 14, 2020 | Initial release. |\n| October 21, 2020 | Added the Promotions message type. |\n| November 17, 2020 | For Transaction (Property Data) messages, updated the [endpoint](../dev-guide/ari-overview#pushing-messages) and added the `action` attribute to PropertyDataSet elements. |\n| November 24, 2020 | For Transaction (Property Data) messages, added the `\u003cAllowablePackageIDs\u003e` and `\u003cAllowableRoomIDs\u003e` elements. |\n| February 4, 2021 | Added response messages. |\n| February 25, 2021 | Added `OTA_HotelInvCountNotifRQ`. |\n| October 21, 2020 | Added the Rate Modifications message type. |"]]