Setup and configuration

Once a hotel is successfully connected to apaleo, the rate plans from apaleo need to be mapped to the ones on your side. We do not store an external rate plan ID, so all the mapping is on your side. One way to simplify this mapping, is to load all rate plans from apaleo, and then make those available when creating or mapping to existing rate plans. That way nobody has to copy-paste any IDs between systems. Neat, right?

You should only load rate plans from apaleo that are mapped to the channel you are using (ChannelManager, BookingCom, Expedia, etc.).

A rate plan in apaleo is always bound to exactly one unit group (= room category). Each rate plan has a unique ID. When you receive ARI data or when you create a reservation you have to use this unique apaleo rate plan ID. This requires you to map the combination of a rate code and a room code on your side to this ID. See the following example for a simple hotel with 2 room categories and 2 rate codes:


If hotels are very careful with the definition of the rate codes it can seem as if the rate plan IDs have a meaning. Don’t rely on it and start to parse them. They are really just IDs. Yes, they are constructed out of the property ID and the rate plan code, but the rate plan code is chosen by humans, and does not necessarily have a meaning or is consistent throughout all rates and all properties.

Once this is done, you can subscribe to availability, rates and inventory (ARI) updates for those rate plans.

POST /v1/subscriptions

Check the documentation in Swagger for the full model, and an example of what to pass. The key field is the endpointUrl. This is the URL we call to deliver the ARI data. Make sure you protect this endpoint well, as an unprotected endpoint would allow everyone to set prices or availabilities for the hotels. Sounds like trouble. We require https with a valid certificate and some sort of token. The URL also needs to be reachable from If you’re not sure, check with your security or ops team, if any firewalls prevent incoming traffic on (usually) port 443. If so ask to whitelist us.

Our outbound IP addresses are:


As a result, you’ll get an ID back. Be sure to store this, as you’ll need it later on for updating or deleting the subscription. The main reason to update is after a new rate plan is added, and needs to be synchronised.

PUT /v1/subscriptions

Subscriptions are tied to an API client, so that other applications used by the same apaleo account cannot accidentally interfere with your subscriptions. Again, trouble.