Live demo
Watch an early arrival meet a room that is not ready.
A guest is due at 15:00 but writes that they will arrive around 12:30, and their room is not ready. The PMS, housekeeping and the messaging tool send HOS thirteen updates: one arrives twice, one comes from a system that is not entitled to send it, two contradict each other and one arrives late. Step through them and watch HOS raise the alert before the guest walks in, then clear it once the room is inspected.
How to read the replay
- The updatesWhat each system sends, in the order HOS receives it. A badge says what HOS did with it: applied, ignored as a duplicate, refused, and so on.
- The arrivalWhat HOS knows about this guest's arrival after each update, and which system each piece of information comes from.
- The alertWhen HOS raises or clears an alert, it appears in the standard's own format, ready for other systems to use.
Delivered to HOS, in this order
0 / 13
Arrival-readiness projection
Waiting for facts
Deliver the first event, or play the whole scenario.
Times are local to the hotel (Europe/Paris). HOS 0.1 only raises alerts: it does not move the guest, message them or change the booking. For technical readers: the projection on this page is the non-normative reference implementation, run against the published files below.
Conformance kit
Run the same scenario through your own system.
For technical teams: feed these files to your own system and check that it reaches the same result. Replay events.jsonl in file order, then compare its dispositions, readiness and situations with expected.json. All the data is made up; no guest or operational data is involved.
Real PMS formats · Experimental
The same arrival, from three real PMS APIs.
The same early arrival, with the PMS side written exactly as Mews, Apaleo or Cloudbeds would send it. An unofficial connector translates it for HOS, and the outcome is the same. The data here is made up; the Mews and Apaleo connectors have also run, read-only, on those PMSs' live demo hotels. Cloudbeds has not yet.
Mews Connector API
Mews
Webhook messages that carry only ids, then the reservation and room the integration fetches.
Replay from MewsApaleo API
Apaleo
Webhooks that name what happened and when, then the reservation or unit the integration fetches.
Replay from ApaleoCloudbeds API v1.3
Cloudbeds
Webhooks that name what happened and when, then the reservation or housekeeping status the integration fetches.
Replay from Cloudbeds| What mattered | Mews | Apaleo | Cloudbeds |
|---|---|---|---|
| What a webhook says | Entity ids only | Event name, entity id, timestamp | Event name, entity id, timestamp, some fields |
| When a room was assigned | The reservation's last update | Exactly, from the event | Exactly, from the event |
| Guest identity | Customer id, as a pseudonymous guest_id | None: guest details embedded | Main guest id, as a pseudonymous guest_id |
| Room state | One state for cleanliness and maintenance | Occupancy, condition and maintenance apart | Condition, occupancy and blocking apart |
| Planned arrival | Date and time | Date and time | Day only, plus the property's check-in time |
| What HOS 0.1 gained from it | stay.unit_unassigned, hostimebasis modified, maintenance windows | stay.unit_unassigned, stay.check_in_reverted, the guest identity rule, maintenance windows | stay.unit_unassigned, hosactor, standard check-in and check-out times, maintenance windows |
| Scheduled maintenance | Resource blocks: out of order or internal use | Maintenances: out of service, out of order or out of inventory | Room blocks in days, for several rooms; courtesy holds left out |
| Housekeeping tasks | No webhook | No webhook | Housekeeper assignments, no tasks |