Skip to main content

Just in time for Christmas: Packages on apaleo

It started snowing in Munich, there's cookies in the office, and we feel all Christmas-y, humming happy tunes... to make you happy, too, we introduce today a whole new set of features, and they are all about packages (a.k.a. "rate plans with included services", but that doesn't sound like Christmas at all).

Including services in rate plans

The rate plan API has expanded, to allow specifying or changing the list of services to be included. The typical example is room with breakfast. You can even specify a different price for the service - allowing for cheaper prices when they are included.

When setting rates, the price you specify is always the all-inclusive price, not the price for the rooms. Example:
1. Set up a rate plan with breakfast included for a gross price of 8 Euro per person, and a surcharge for the third person of 10 Euro.
2. A rate of 100 Euro means that the room price, as it ends up in accounting, will be 92 Euro. If two people are staying, the price of the room is only 100 - (2 * 8) = 84 Euro. You can define surcharges for additional persons, to keep a stable room price.
Good Price
Good Price

If you try specifying rates that would lead to negative room prices, this will fail. Same will happen if you already have rates set up, and increase the price of the included services that would also lead to negative room prices.
The exact check that's happening is: for all possible occupancies, from 1 to the maximum allowed, the defined rate + surcharges[occupancy] - (sum of all service charges for occupancy) must not be negative.

Bad Price
Bad Price

We also clarified the naming, and the total amount on time slices is now called TotalAmount. The old Amount field is deprecated, and will be removed on February 28th 2018.

Add a marker to services, whether they are internal only

You could already define services like breakfast, and now can specify if they should be available to sell as extra services, or whether they can only be included as parts of a package. With that, we support the use case that a hotel only wants to offer rooms with breakfast, instead of rooms with nothing and breakfast as an extra.
When requesting the list of services (GET rateplan/services), you can add onlySoldAsExtras as a parameter, to not receive the internal ones.

Consistent views for offers, reservations, folios and invoices

Previously, offers and reservations included a list of time slices and services - and on the invoice and folio, we had a list of line items per day. The exact same information, but in completely different formats. To make it easier to have a consistent view of the reservation for guests, we enhanced the response models of offers (GET booking/offers) and reservations (GET booking/reservation/{id}) to include line items as well.

Line Items for a booking for a package with double room, incl. breakfast and Wi-Fi

When you now want to display an offer or send out a reservation confirmation, you can use the new line items collection.
Deprecations: In offers, the time slice and service collections will be removed on February 28th 2018.

What's gone

  • We removed the PUT reservations endpoint. Why that? PUT was just the wrong HTTP verb to use, and our log-bot told us, that nobody was using it. As the new and better version, you can now use PATCH. If you need help migrating, just ping us on
  • As announced some months ago, min persons is gone from unit groups and units.

❤ Your apaleo team


Popular posts from this blog

Getting Started with apaleo APIs

Have a look You can find all of apaleo's API on We use Swagger to describe it, and to generate our documentation.

Sign up The first step is to sign up for an account. After you finish signup you will be able to login to our apaleo app and start configuring your properties. Also you can use the same credentials to access our API using Swagger. Get access for app We're still new and want to get in touch with you before we grant you access. Contact us at, to get your very own client credentials that lets you play with the API in our sandbox.
Use it apaleo APIs are protected using OAuth2 - the de-facto standard for API security. Here's a short guide to get you started:

Step 1: To get access to our APIs, you need to use your client id and secret to obtain an access token. Don't have one? Contact us at

Combine your client id and secret into a string, separated by colon yourClientId:YourClientSecret and encode with Base64. This wi…

Connect your app with OAuth 2.0

What is this all about? When you connect your app to apaleo, it can read or modify data, or even trigger entire business flows of a hotel. But before gaining access to any of the resources in the REST API, it must get permission from the hotel. This guide will walk you through the authorization process (described in greater detail by the OAuth 2.0 specification). Note: apaleo's OAuth 2.0 implementation supports the standard authorization code grant type. You should implement the application flow described below to obtain an authorization code and then exchange it for a token. (The implicit grant type is not supported.) Terminology Before learning more about the details of the authorization process, make sure that you are familiar with some of the key terms that are used in this guide: Client: Any application that would like access to a hotel's data. A user (usually the hotel's owner or admin) must grant permission before the client can access any data.API: apaleo REST API. T…

Channel Integration Guide

With the channel integration you can subscribe for availability, rates and inventory (ARI), create new bookings and modify existing bookings. 
The BasicsGet your sandbox account and check out this guide to learn how you can connect to the apaleo APIs.
API Client All apaleo APIs are described as swagger documents. That lets you generate API clients directly from the swagger.json files. There is a large community, providing client generators for almost every language. For example, swagger code generator is a good project, which allows generation of API clients for Java, PHP, C#, NodeJS and more. This gets you up to speed very fast and as a bonus you can access API documentation within the auto-generated methods and models. is our – and your – playground to do first steps with the API, up to your final integration. Use it to interactively explore the API or to learn the apaleo concepts by navigating the user interface.

These are the links you need to know