Get ARI data

Full push

After you created and enabled the subscription, apaleo will push a full update of all the ARI data to the configured endpoint URL.

It is important that you immediately acknowledge the ARI push and return a successful response. Don’t try to process ARI data before you acknowledge it; this can lead to timeouts. Subscriptions that are failing for more than 1 week will be automatically disabled.

This is how an example entry looks like:

{
  "accountId": "XYZX",
  "propertyId": "MUC",
  "timeSlices": [
    {
      "from": "2018-11-17T09:00:00+02:00",
      "to": "2018-11-18T08:00:00+02:00",
      "ratePlanId": "MUC-NONREF_DBL",
      "unitGroupId": "MUC-DBL",
      "available": 23,
      "prices": [
        {
          "adults": 1,
          "price": {
            "grossAmount": 123,
            "beforeTax": 114.95,
            "afterTax": 129.84,
            "taxes": {
              "vat": 8.05,
              "cityTax": 6.84
            },
            "currency": "EUR"
          }
        },
        {
          "adults": 2,
          "price": {
            "grossAmount": 170,
            "beforeTax": 158.88,
            "afterTax": 179.45,
            "taxes": {
              "vat": 11.12,
              "cityTax": 9.45
            },
            "currency": "EUR"
          }
        }
      ],
      "restrictions": {
        "minAdvanceBookingPeriod": "P1M",
        "maxAdvanceBookingPeriod": "P1M14DT12H",
        "closed": true,
        "closedOnArrival": false,
        "closedOnDeparture": false,
        "minLengthOfStay": 2,
        "maxLengthOfStay": 8
      }
    }
  ]
}
FIELDS MANDATORY DESCRIPTION
accountId yes The account ID identifies an apaleo customer.
propertyId yes The propertyId is unique within one apaleo account. The combination of accountId and propertyId is globally unique.
timeSlices yes List of time periods for one rate plan and unit group combination with availability, prices, and restrictions. You will at least receive one time slice always.
from yes The start of the time slice.
to yes The end of the time slice. For standard overnight hotel business, this defines the time range for the night. In the example above, it would be the night from November 17th to November 18th. Most channels consider this the night of November 17th.
ratePlanId yes The ID of the rate plan in apaleo, which is unique per account.
unitGroupId yes The ID of the unit group in apaleo, which is unique per account. The equivalent for the apaleo unit group in channels can be room type, room category or inventory type.
available yes Number of units available for the unit group during this night. apaleo has shared inventory, so all rate plans selling this unit group on that night will have the same number.
prices no List of prices including all service fees for breakfast etc. You will receive one price for each allowed occupancy. apaleo currently does not push special prices for children.
restrictions yes Restrictions set for this night. The ‘length of stay’ restrictions are arrival-based, and they are optional. The closed on arrival restriction should be applied for the start of the time slice and closed on departure for the end of the time slice. The closed restrictions will always be sent. If no rate is set for this night in apaleo, the ‘master closed’ restriction will be set.

Prices

The prices field will not be set if:

  • no rate is set for this night
  • the rate is closed
  • the rate plan is not bookable because of its booking period restrictions
  • the rate plan is not available on the requested channel (typically, ChannelManager)

We send the price in different variants. It is up to you to pick the values that you want to process, show to bookers or forward to distribution channels.

  • grossAmount: Net price plus VAT, but excluding any other fees or taxes
  • beforeTax: Net price. No VAT, no other taxes
  • afterTax: Net price plus VAT plus city tax

VAT contains all of the VAT, for rooms, extra services and other fees and taxes. That means the VAT percent applied can be a mix of different VATs (for example, 7% on the room price and 19% on breakfast).

Read the city tax guide for more information.

Prices do not include additional services that are included in the rate plans. Those services will automatically be booked as extras when booking such rate plans, and they cannot be removed. An example would be a cleaning fee at the end of the stay. No other additional action is required from your side to make this work. If you also have an IBE based on ARI data, display the amount of the additional services to the guests. This should be done by having a configuration of those additional services on your side.


Delta push

apaleo also keeps track of the data already sent to you for a subscription, calculates the difference and sends the data which changed since the last successful update. You will receive delta push as soon as the data was changed (minor delays are possible).

To know if an update was successful, we rely on you: Acknowledge successful receptions with a 2xx status code. If you don’t, things will get messy, as your truth and our truth will diverge.

The delta is calculated for the following fields:

FIELDS DESCRIPTION
available Only if the number of available units for this night changed, it will be sent.
prices If one out of the prices changed, you will again receive the whole list of prices.
restrictions If one of the restrictions changed, you will receive the whole set of current restrictions. If a rate in apaleo was removed, and a certain night was made unsellable, you will not receive prices, but the master closed restriction.

Full sync

You can trigger a full sync to recover from chaos, but better try avoiding it. You can request a full push by calling:

PUT /v1/subscriptions/{id}/trigger-full-sync

Please note that apaleo cannot trigger a full-sync on property’s behalf. You need to use this endpoint for full refresh.