Hotel POS

In this article

POS commands

Web Templates

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:

POS command Description
HOTELACTBOOKING Not used
HOTELACTVIEWLAST Not used
HOTELCHARGE2ROOM Opens a pop-up panel with a list of in-house reservations. The transaction is posted to the reservation with the payment type added in the parameter. The payment type should be set up as income account.
HOTELCHECKIN Checks in the reservation, changes the reservation status to In House.
HOTELCHECKOUT Reservation check-out, changes the reservation status to Checkout.
HOTELOPENLAST Not used
HOTELPOST Creates a record in the DRE table when a POS sale or deposit is posted to a hotel reservation and triggered by the POS action End of Transaction.
HOTELPREPAYRES Make a prepayment (deposit) for a hotel reservation. Called in AL code.
HOTELRES POS lookup for a hotel reservation. Called in AL code.
HOTELRETDEPOSIT Return a prepayment (deposit) that has been made. Called in AL code.
HTL-FRONTDESK

 

Command for the Front Desk panel. The function depends on the parameter.

Available parameters:

  • ARRIVAL –Filter reservations based on arrival date.

    The filtering criteria is set with the POS Button Parameters, "Parameter Code" = ARRIVAL

    • Parameter value = 0 or blank, returns all reservations arriving today and earlier.
    • Parameter value = 1, returns reservations arriving today.
    • Parameter value = 2, returns reservations with arrival date between today-1 and today.
    • Parameter value = N, returns reservations with arrival date between today-N-1 and today, N being any positive integer..
    • If no POS Button Parameters used, returns all reservations arriving today and earlier.
  • DEPARTURE – Filter reservations based on departure date.
    The filtering criteria is set with the POS Button Parameters, "Parameter Code" = DEPARTURE.
    • Parameter value = 0 or blank, returns all reservations departing today and earlier.
    • Parameter value = 1, returns reservations departing today.
    • Parameter value = 2, returns reservations with departure date between today-1 and today.
    • Parameter value = N, returns reservations with departure date between today-N-1 and today, N being any positive integer.
    • If no POS Button Parameters used, returns all reservations departing today and earlier.
  • CANCEL – Close the current panel and show main Front Desk panel (#HTL-FRONTDESK).
  • CARD – Open the POS with information from the current reservation.
  • CHECKIN – Check in a hotel reservation. Status is changed to In house.
  • CHECKOUT – Check out a reservation.
  • EARLYCHECKOUT – Make early check-out for reservation. Action depends on Rate Code setup.
  • EDIT – Show record zoom for reservation.
  • FLOORPLAN – Show the Web Template for the floor plan (#HTL-FLOORPLAN.PN).
  • GROUPPANEL – Show the Web Template for groups (#HTL-GROUP.PN).
  • GROUPS - Filter groups that should be inhouse.
  • HOUSEKEEPING – Show the Web Template for housekeeping (#HTL-HOUSEKEEPING.PN).
  • INHOUSE – Filter reservations that have status Inhouse.
  • NOSHOW – Filter reservations that have status No show.
  • OPENBALANCE – Filter reservations that are not payed..
  • OPENPOS – Open the POS with no information from the reservation.
  • OPENPOSTRANS - Show open POS Transactions in the hotel property and current POS Terminal. Double-click a line to go into the POS to finish the transaction.
  • RESET – Reset the main Front Desk panel grid.
  • REFRESHRES - Refreshes the HTL-RESERVATION web templates when the HTL-RESERVATION panel is open.
  • REFRESHGROUPRES - Refreshes the HTL-GROUP web templates when the HTL-GROUP panel is open.
  • REFRESHFLOORLIST - Refreshes the HTL-FLOORPLAN web templates when the HTL-FLOORPLAN panel is open.
  • REFRESHHOUSEKEEPING - Refreshes the HTL-HOUSEKEEPING web templates when the HTL-HOUSEKEEPING panel is open.
  • UPDATE – Save current reservation.
OPENHOTELRESPAGE Opens the Hotel Reservation page from POS. Called in AL code.
OPENHOTELGROUPPAGE Opens the Hotel Group Res page from POS. Called in AL code.
OPENHOTELTOKENPAGE Opens the Token Page from hotel POS. Called in AL code.
OPENINVOICEMGTPAGE Opens the Invoice Management page from POS. Called in AL code.
PRINT-HOTEL-SLIPS Print all associated slips
PRINT-HOTEL-CHARGES Print additional charges overview

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.:

  1. 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.
  1. 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.