Integration with the property management system (PMS)¶
Important
Beta version 2.1. What is described here exists only in beta version 2.1: it is installed from the beta repository and only with a licence; the stable version 2.0.2 and the demo edition do not have it. The beta version comes without warranty, and support is best effort (Beta testing programme).
Since version 2.1.0.471 the node accepts events from the hotel’s property management system (PMS): check-in, check-out, room move and reconciliation. Check-in opens the channels to the room’s TV sets until the check-out time; check-out blocks them and ends the running sessions. The connection to the PMS usually goes through its vendor’s interface (using the FIAS protocol on the PMS side); it is this interface that calls the node. The demo edition does not have this feature.
Rooms are logins¶
A hotel room is the set of local logins with the same “Room” field in the login editor (User: add and edit). Options:
one login per TV set — a login by the TV set’s IP address;
one address-range login per room, if the room’s TV sets are in their own subnet.
The PMS changes nothing for a login with an empty “Room”. For a room’s logins it sets the “Expiry date” (the check-out time), the guest name and, if packages are configured, the “Allowed streams”. Only the Admin role sees the guest name; it is not written to the log.
What the events do¶
Check-in opens the room’s logins until the check-out time, records the guest name and, if the PMS named a package, the streams of that package. The PMS uses the same event to extend or shorten a stay.
Check-out blocks the room’s logins, erases the guest name and within a few seconds ends their PS1, SRT and HTTP/HLS sessions.
Room move — check-out from one room and check-in to another with the same check-out time, guest and streams.
Reconciliation — the PMS sends a list of all occupied rooms: the listed rooms are checked in, and the other occupied rooms with a “Room” field are released.
If the PMS sends a check-out date without a time, the room is blocked at the “Check-out hour” (in the node’s time zone, 12 by default).
In the console¶
The hotel functions work while “Hotel TV” is on for the node (Hotel TV). On a node that has no hotel data yet it is off: switch it on before you set up the PMS link.
The “Rooms” tab of the “Users / Logins” screen (Users / Logins) — rooms, their state (“Occupied”, “Vacant”, “Paused”), the check-out time, the room’s logins, the PMS connection (last event, last reconciliation, errors, unknown rooms) and warnings about logins through which a blocked room will still be able to watch;
the “Administration ▸ Hotel TV” screen — “Accept PMS events”, “API token”, “Allowed addresses”, “Check-out hour” and packages. Before version 2.1.0.477 these settings were on the “PMS” tab of the logins screen.
A package links a PMS package code (TV entitlement) to the streams the room receives. The code is entered exactly as the PMS sends it. The package with the code default applies when the PMS does not name a package; without it, check-in does not change the logins’ streams.
PMS interface access¶
The PMS interface does not sign in with a web interface account but by token and address:
“API token” — a shared secret that the interface passes in the
X-PMS-Tokenheader. Without the token any request is rejected. Give it only to the interface vendor; the “Generate a token” button creates a new one.“Allowed addresses” — IPv4 addresses or ranges from which the interface calls the node. Empty — the host itself only.
It is recommended to call the node over HTTPS.
For the interface vendor: the node accepts events with a POST /pms/v1/events request (with ?dry-run=1 — a check without changes) and returns the state of the rooms with a GET /pms/v1/status request. The format of events and responses is in the HTTP API reference (Managing the node over the HTTP API).
Limitations¶
Other logins can open a blocked room. An active anonymous login or a wider address-range login that covers the room’s TV sets keeps serving them. Restrict such logins or pause them; the “Rooms” tab shows the ones it finds.
A separate event stream for each node. Logins are not passed over Meshwork: each node needs its own stream of PMS events.
Not for prefix logins and RIST. Do not assign a room to a prefix login: it is not disconnected at check-out. RIST sessions are not ended at check-out.
The demo edition has no PMS integration.