Hotel POS
In this article
Payer-level Pay and Refund (Accrual)
Transaction Header and POS Transaction
POS Transaction with Gratuity (Tips)
The Hotel POS uses Interface Profile #HOTEL in the Demo Database and the profile is connected to POS Startup Controller #HOTEL-DESK.
The POS Startup Controller defines which codeunit and panel are used to start the POS. The Startup Panel is called #HTL-FRONDESK and codeunit 10033518 Hotel Front Desk is used to handle the commands and functionality within the startup #HTL-FRONTDESK panel. The POS Startup Controller is registered when Retail Modules are registered, and it is not editable. The POS command #HTL-FRONTDESK is used to do necessary functionality and is handled in codeunit 10033518.
The Interface Profile #HOTEL-HK is also defined in the Demo Database and is intended for hotel phone view. It uses same POS Startup Controller as profile #HOTEL.
The Startup Panel #HTL-FRONDESK in the #HOTEL-HK profile is defined with browser control #HTL-HOUSEKEEPING.BC and then the POS Terminal P0171 Phone view opens the housekeeping panel.
For a description of the POS command HTL-FRONTDESK see the POS commands table below.
POS commands
The following POS commands support the hotel processes on the POS:
Web Templates
The Hotels module uses the following POS web templates to enhance the hotel experience:
| POS command | Description |
|---|---|
| HTL-FLOORPLAN.WT | Floor plan POS (brick view of rooms). |
| HTL-HOUSEKEEPING.WT | Housekeeping POS (overview to update housekeeping statuses). |
| HTL-RESERVATION-WT | Reservation POS (information regarding single room reservations). |
| HTL-GROUP.WT | Group POS (view and manage group reservations). |
| HTL-MEMBER.WT | Member POS (general information about member, left side of reservation POS). |
| HTL-MEMBERDETAIL.WT | Detailed Member POS (detailed information about members and their purchase history). |
Payer-level Pay and Refund (Accrual)
When the property runs in Accrual Accounting mode, the reservation web template (HTL-RESERVATION-WT) shows the folios grouped under their Payer. Each payer header exposes its own Pay and Refund buttons that operate on every folio of that payer in one operation.
In Blank Accounting the folio-level Pay and Refund buttons are kept — there is no payer level shown.
Pay button (payer level)
The Pay button at the payer header triggers the POS payment for the whole payer — all folios of that payer settle in the same POS transaction. At payer level (Accrual) the button has two states:
- Enabled (green) — the payer still has an outstanding balance to settle.
- Disabled (greyed out) — the payer has nothing left to pay.
An additional Attention state applies to the folio-level Pay button used in Blank Accounting: it is shown when a folio's balance is already zero but the folio still has unpaid revenue lines, signalling that the folio must be settled even though the running balance reads zero.
When the POS computes the balance to charge during prepayment in Accrual Accounting, it subtracts the payer's already collected deposits and payments. If the result is negative, the balance is clamped to zero, so the cashier is never asked to charge again for amounts already received.
After a POS deposit collection or refund, the (Invoice Type, Payer) Deposit Schedule counter is refreshed automatically (the Back Office and POS paths now share the same refresh logic), so the Reservation Deposits page and the Payer Balance FactBox stay in sync with the ledger without a manual refresh.
Refund button (payer level)
The payer-level Refund button opens the POS refund picker filtered to the payer (instead of a single folio). The picker is filtered to entries whose remaining refundable amount is positive — fully refunded entries are hidden. The button itself is enabled only when the payer has at least one refundable deposit or payment, preventing the picker from opening empty.
Note on receipt-less payer-balance refund on POS: The receipt-less payer-balance refund mode is available in the Back Office Deposit Payment page (leave Original Receipt No. empty). On POS the user is currently expected to pick a specific receipt — selecting a receipt locks the payer for the refund operation.
POS commands updated for the payer model
Two POS commands accept an additional segment for the Payer No.:
- OPENFOLIOPAYMENT — Parameter format folioNo,payerNo. When folioNo is 0 and payerNo is set, the operation is a payer-wide payment and the balance is resolved from all the payer's folios. The Payer No. is stored in the POS session under the global PAYER_NO field.
- HTLOPENREFUND — Parameter format resNo,folioNo,payerNo. When payerNo is provided and folioNo is 0, the refund picker filters by payer instead of folio.
Void and Copy block on deposit transactions
The POS Void and Copy action is now blocked when the source transaction has a deposit or deposit-refund entry. Attempting it returns an error explaining that deposit transactions must be reversed through the Refund Deposit action on the reservation.
Note: This prevents accidental duplication of deposit reversals.
Refund of a normal payment without a backing deposit
When refunding a normal POS payment on a reservation that has no existing deposit consumption, the refund picker offers the correct refundable amount (the actual tender paid).
- Previously the system was deducting an imaginary deposit consumed amount, producing a smaller figure on screen — that was corrected.
Transaction Header and POS Transaction
Hotels uses the following fields to link Transaction Header and POS Transaction to hotel reservations and folios. These fields are visible from the Transaction Card and the POS Transaction Card in LS Central.
| Field | Description |
|---|---|
| Hotel Reservation No. | Hotel Reservation No. transaction comes from this field. |
| Hotel Res. Folio No. | Folio No. transaction comes from. It is filled automatically when there is a transaction payment for folio. |
POS Transaction with Gratuity (Tips)
In the POS Terminal Card, the Tips handling field in the EFT FastTab, you can define if an EFT payment includes or excludes the tips amount or if the customer should be asked to decide. See also Tips Handling in POS Terminal.
If you are doing a normal POS Transaction unlinked to a folio, the inserted Tips lines only create revenue entries if the transaction is Charged to Room. You create a normal POS Transaction by pressing the POS button in the Reservation template.
In a POS Folio Transaction linked to a folio, the inserted Tips lines create revenue entries that are linked to the folio. You create a POS Folio Transaction by pressing the Pay button in the Folios list.
For more information, see Gratuity Management Setup.