Get certified
This page covers the POS-specific scenarios you will need to demonstrate during your certification call. For the full certification process — submitting your request, the pre-certification call, prerequisites, and what happens after — see Certify your app or agent.
What we check for POS integrations
POS integrations are reviewed closely to prevent errors that have a direct financial impact — a charge posted to the wrong folio, or a rejected payment that goes unnoticed all mean the property’s accounting is wrong, not just the guest experience. During the daily operations section of your certification call, be prepared to walk through the following scenarios.
Property selector
Apaleo integrations connect at the account level, which means your app gets access to all properties under the customer’s account.
We recommend implementing a property selector that lets the customer choose which properties their POS should serve. All API requests — reservation search, folio lookups, and charge or payment postings — should be scoped to the selected properties only.
During the certification call, we will verify that:
- Your integration presents a property selector during onboarding
Setup and mapping
We will verify that:
- Your POS’s product categories are correctly mapped to
serviceType,vatType, and (where applicable)subAccountId - Payment methods used by your POS are mapped to the property’s enabled methods, retrieved via GET /settings/v0-nsfw/properties/{id}/payment-methods
Guest reservation charges
- Search a guest by room number or name using GET /booking/v1/reservations
- Read and respect isOpenForCharges on the reservation before posting — a false value should stop your integration from posting, even though Apaleo itself does not enforce it
- Search a guest folio and correctly identify the folio
- Post a revenue charge to the guest folio
- Post a tip as a transitory charge
- Post an allowance to the guest folio
Non-reservation charges
- Create an external folio
- Post aggregated charges by service type, VAT type, and sub-account on the external folio
- Post aggregated payments by payment method to the external folio
- Post a global refund on the external folio
- Close a folio
Offboarding
When a customer disconnects your app from their Apaleo account, your integration must clean up after itself. Most POS integrations don’t rely on webhooks, so this step is often quick to verify — but if your integration does create any subscriptions, we will ask you to disconnect the integration live during the certification call and confirm that:
- All webhooks your app created (if any) are deleted on disconnect