Connecting Apaleo
Step by step: the app in Apaleo, its scopes, connecting, and everything Kleenee and Apaleo exchange.
Who it is for: Owners and managersApaleo is a cloud PMS that Kleenee works with in both directions. Once a property is connected, rooms and stays come from Apaleo, and room conditions, the minibar and guest damage go back to Apaleo. This guide shows how to set up the connection and exactly what it does. For PMS connections in general, read Connecting a PMS.
What is exchanged
| From Apaleo to Kleenee | From Kleenee to Apaleo |
|---|---|
| Rooms: name, room type and capacity | Room condition: clean, dirty, waiting for inspection |
| Stays: dates, arrival and departure times, cancellations, room moves | The minibar on the guest’s bill (if you turn it on) |
| Guest counts: only the number of adults and children | Guest damage on the guest’s bill (when you send it) |
| Guest check-in and check-out | Reversal of a posted item |
| Room conditions the front desk changes in Apaleo | Notes on the stay: lost and found, issues (if you turn them on) |
| Services booked with a stay: pet, extra bed, cot, extra cleaning | Check-out, late check-out, early arrival, extension and room move from the front desk (if you turn them on) |
| The property’s time zone |
Guest names, contact details and other guest data are never fetched.
Before you start
- In Apaleo you need a user with the account administrator role (Account Admin). Only they can create an app.
- You need the property’s code in Apaleo, for example BER. Apaleo shows it next to the property’s name.
- In Kleenee, a manager or the owner sets up the connection on Integrations.
1. Create an app in Apaleo
- Sign in to Apaleo and open the account level (not a single property).
- Open Apps, then Connected apps, and choose Add a new app, then Add custom app.
- Fill in the form:
- Client code: for example KLEENEE (letters, digits and underscores).
- Client name: for example Kleenee.
- Personally identifiable information: choose Omit all. Kleenee does not use guest data, so it should not receive any. This cannot be changed later.
- Client access: choose Scope client, so you can tick the scopes in the table below.
- Scopes: tick the scopes from the next step.
- Secrets: add one secret, for example described as Kleenee.
- Save. Apaleo shows the Client ID and Client secret. Copy both before you close the window.
2. Scopes
| Scope | What it is for | Needed |
|---|---|---|
units.read | Rooms, room type and room condition from Apaleo | Always |
reservations.read | Stays, guest counts, check-in, check-out and services | Always |
operations.change-room-state | Kleenee tells Apaleo a room is clean, dirty or waiting for inspection | Always |
| Webhook API | Changes in Apaleo arrive at once instead of every few minutes | Recommended |
folios.read | Kleenee finds the guest’s open bill | For charges |
charges.create | The minibar and damage are posted to the guest’s bill | For charges |
allowances.post | Reversing a posted item | For charges |
reservations.manage | The front desk in Apaleo and notes on the stay | For the front desk and notes |
Instead of the last three you can give folios.manage, which covers them all. You can change the scopes later in the same app, without connecting again in Kleenee. Kleenee shows the scopes needed for what you turned on on Integrations, under Scopes for the app in Apaleo.
3. Connect the property in Kleenee
- Open Integrations and find the property.
- For System choose Apaleo.
- Enter the Property code in the PMS (for example BER), the Client ID and the Client secret.
- Press Save.
If the property already has rooms in Kleenee, Kleenee asks you to confirm before saving: all current rooms are replaced with the rooms from Apaleo. The old rooms stay in the history and their unfinished tasks are cancelled. From then on rooms are not added or renamed by hand; you still change the floor and the room’s state in Kleenee.
Right after saving, Kleenee fetches the rooms and stays and subscribes the property to instant changes from Apaleo. Keys are stored securely and nobody can see them again, not even in Kleenee. When you change the settings later, leave the key fields empty to keep them.
How it works every day
- Cleanings follow the stays. Every stay from Apaleo gets a cleaning after the departure. A late departure set in Apaleo moves the cleaning, and an early arrival makes the room due by the arrival.
- Check-out in Apaleo. When the front desk checks a guest out, the room becomes Dirty in Kleenee and its cleaning is due at once. If the guest left before the planned day, the stay ends today.
- Check-in in Apaleo. The room counts as occupied instead of as an arrival.
- Room conditions go to Apaleo. When a room becomes Clean or Verified, Apaleo gets Clean; Awaiting inspection becomes CleanToBeInspected and Dirty Dirty. Being cleaned and Out of order are not sent.
- Room conditions come from Apaleo. When the front desk changes a room’s condition in Apaleo, it changes in Kleenee too. The exceptions are a room being cleaned or out of order, and a change from Kleenee not yet sent.
- Guest counts and the room type are shown on the room’s card in the schedule. Changes to the property and room types in Apaleo arrive at once.
- Change history. What came from Apaleo shows in the history as PMS (sync).
Services booked with a stay
Kleenee sees the services a guest books in Apaleo with the stay. On Integrations, under Services from the PMS, choose what each one means:
| Meaning | What Kleenee does |
|---|---|
| Pet | The room is marked with a pet while the guest is in it. |
| Extra bed | A request due by the arrival, the day before or on the day. |
| Cot | A request due by the arrival, the day before or on the day. |
| Extra cleaning | A cleaning task on each day the service was booked for. |
| Show in the schedule | The service is listed on the room’s card in the schedule. |
| Ignore | Nothing. |
The first time, Kleenee guesses the meaning from the service’s name; change it if it is wrong. Requests and extra cleanings need a package that has them. Service prices are not fetched.
Charges on the guest bill
Under Charges on the guest bill you choose:
- Post the minibar to the guest bill: the minibar staff record goes to the guest’s open bill in Apaleo within a few minutes. It is off by default.
- VAT on damage: the VAT of damage on the bill.
Each minibar item’s VAT is set on Supplies, in the VAT on the guest bill field. You send damage yourself: on Issues, for damage whose stay came from Apaleo, type the name the guest sees on the bill and press Charge through the PMS. Once it is posted, the claim moves to Claimed with the platform.
The latest items are listed in the same place. Reverse takes a posted item off the bill (damage then moves to Written off), and Do not send stops an item not yet sent. Every item is sent with a key that keeps it from being posted twice. The minibar and damage need a package that has them.
The front desk and notes in Apaleo
Under Front desk in the PMS you choose what Kleenee does in Apaleo. Each setting is separate and off by default, and all of them need the reservations.manage scope.
| Setting | What Kleenee does in Apaleo |
|---|---|
| Notes on the stay: lost and found, issues in a room with a guest | Writes a short line in the reservation’s internal comment, for example “Kleenee: found item in room 101: black charger. Kept at: front desk.” When the item is returned or the issue fixed, the line changes. |
| Guest checked out | When the front desk presses Guest checked out, the guest is checked out in Apaleo too. If they left early, the stay is first shortened to today. |
| Late check-out and early arrival | Late check-out changes the departure time of the guest leaving today, and Early arrival the arrival time of the guest arriving today. |
| Stay extension | The stay gets a new departure day. New nights take the last night’s rate plan and Apaleo’s price. |
| Room move | The stay continues in the new room from today. |
- A found item goes on the stay of the last guest in the room: the one in it, or the one who left last. An issue goes on the stay of the guest staying on in the room, and guest damage on the stay it is linked to.
- Kleenee only changes its own lines of the comment, which start with “Kleenee:”. The rest of the comment stays as it is, and Kleenee does not keep it.
- Changes from the front desk go to Apaleo at once. If Apaleo refuses one, for example because no room is free or the guest is not checked in there, the change stays in Kleenee, and the front desk sees a message and makes the change in Apaleo by hand.
- The latest actions and errors are listed in the same place. Try again sends an action again, and Do not send stops it.
When something does not work
The error shows on the connection on Integrations, and for charges and front desk actions next to each item.
| Message | What it means | What to do |
|---|---|---|
Apaleo property code missing | The property code is missing or not valid | Enter the property code from Apaleo, for example BER |
HTTP 401 | The Client ID or Client secret is wrong | Check the keys, or add a new secret in Apaleo and enter it |
HTTP 403 | The app lacks a scope | Add the scope from the table above |
HTTP 422 | Apaleo refused the change | The message after the number says why, for example that the bill is closed |
Apaleo has no open guest folio for this stay | The guest’s bill is already closed | Charge at the front desk; the item stays uncharged in Kleenee |
the PMS lists no rooms for this property | Apaleo returned no rooms | Check the property code and the units.read scope |
the guest is not checked in in Apaleo | The guest is not checked in in Apaleo, so they cannot be checked out | Check them in and out in Apaleo |
If saving shows a message that Apaleo did not accept the subscription for instant changes, the connection works, but changes from Apaleo arrive every few minutes. Give the app the webhook permission and save the connection again.
Pausing and removing
Press Sync now to fetch rooms and stays at once. Pause stops the connection for a while. Remove deletes the connection and unsubscribes the property in Apaleo; rooms and stays stay in Kleenee, and the rooms are yours to change again.