Electronic key and the stay
If the room doors have locks with a keypad, the guest can get their own door code for the dates of the stay. The code is issued, extended and removed by itself — at check-in, room move, date change and check-out. We do not make locks ourselves: the system works through the cloud of the vendor where your locks are registered.
Who: the hotel owner (connection) and the front desk (guest keys).
Where: Rooms → 🏷️ Room types → the Hotel settings window, the Rooms & types tab, the Door locks and digital keys block.
Which locks fit#
| Vendor | What is needed | What code the guest gets |
|---|---|---|
| TTLock | Locks registered in the TTLock app | A lock with a gateway (for example, G2) — its own 7-digit code that can be changed and removed. A lock without a gateway — an offline code for the dates: it cannot be removed early, and the guest must enter it within the first 24 hours |
| Nuki | Locks in Nuki Web, each with a paired Nuki Keypad and a Bridge or built-in Wi-Fi | A 6-digit keypad code for the stay window; it can always be changed and removed |
There are no other vendors. Locks of hotel systems (Salto, dormakaba, Vostio and the like) are not connected. A key in the TTLock app (eKey) is not issued — only a code.
Connect the lock account#
Only the account owner connects it. The front desk is told: "Only the account owner can change the lock connection and the room map."
- Open the Door locks and digital keys block.
- In Lock vendor choose TTLock or Nuki.
- TTLock: enter the TTLock app account (email or phone) — the one where the hotel locks are registered, the TTLock account password and the Server region. Press Sign in. The password is needed once: the system immediately exchanges it for access and does not store it. You do not need to register your own app with TTLock.
- Nuki: press Sign in with Nuki, sign in to Nuki Web and allow access to devices and authorizations. You come back to the block and see "Nuki account connected". The fallback is the Nuki Web API token: create it in Nuki Web → API with the right to view devices and manage authorizations.
- Press Check and load locks. You should see "Connection works — locks found: N". Each lock shows "online" or "offline — codes will not reach the lock", the battery level, "with gateway" or "no gateway — offline codes".
If instead of signing in you see "Waiting for the platform to be connected to …" — see the readiness boundary.
Map locks to rooms#
- In the Rooms and locks block, choose a Lock for each room from the loaded list, or "— no lock —".
- Press Save room map. "Room map saved" appears.
One lock per room: a lock in use is not given to another room ("This lock is already assigned to another room."). A guest already staying in a room you have just given a lock gets a code right away.
When the guest gets a code#
Set When to issue the code:
- At check-in (the default) — the code is issued when the front desk checks the guest in;
- After the pre-arrival form and payment (contactless arrival) — the code is issued no earlier than a day before arrival, once the pre-arrival form is accepted and the booking is paid or guaranteed.
Press Save.
The code works from the check-in time to the check-out time by the hotel clock. A purchased early check-in or late check-out shifts this window. Checked in earlier — the code starts working at once.
Where the guest sees the code. Only on the private stay page — from the link in the booking email or SMS. The email itself has no code. The page shows the code no earlier than a day before it starts working. For a TTLock offline code the page asks the guest to enter it on the lock before the stated time.
The front desk does not see codes in the list. To dictate a code to the guest, press Show code in the booking row.
Room move, extension and check-out#
| What happened | What the system does |
|---|---|
| A room move | First issues the code for the new room, then removes the old one. The old one keeps working for Old code overlap after a room move, minutes — 60 by default, from 0 to 1440 |
| An extension or date change | Shifts the code window. A TTLock offline code cannot be shifted — a new one is issued, and the old one lives out its dates |
| Check-out, cancellation, no-show | Removes the code. A TTLock offline code cannot be removed early — it works until the end of its dates, and the panel says "Old code works until …" |
Booking changes made at the front desk reach the lock at once. Changes made by the guest on the website and channel bookings are picked up by the scheduled check — within 15 minutes.
Reissue or revoke a code#
The Guest keys list has a row per booking: the room, the status, "Valid" (the window). Refresh reloads the list.
- Reissue — issue a new code. The current one stops working at once (for a lock without a gateway — at the end of its dates). Useful if the guest shared the code with a stranger or the offline code was not entered within the first 24 hours.
- Revoke — remove the code and issue none for this booking until you press Reissue. The row is marked "Revoked by the front desk".
Both actions ask for confirmation.
Statuses and an ambiguous answer#
| Status | What it means |
|---|---|
| Issued | The code is on the lock |
| Being issued | The code was sent to the vendor; the answer has not come yet or was ambiguous |
| Not issued | The vendor refused or three attempts failed. A task is created for the front desk on the shift board |
| Revoked | The code is removed |
| No key | No code is needed: the room has no lock, the booking is not checked in yet, the window has ended |
If the connection dropped in the middle of issuing, the code may or may not have reached the lock. The system remembers this: before a new attempt it looks for that attempt's code at the vendor. Found — it takes that code instead of creating a second one. Not found — it issues again. The row shows "Attempts: …; next …; error …".
If a code could not be removed (the lock is offline), the system keeps retrying until the vendor confirms and creates a task for the front desk.
Readiness boundary#
Honestly about what is tested and what is not:
- TTLock sign-in and "Sign in with Nuki" work once the platform is connected to the vendor. Until then the block says "Waiting for the platform to be connected to …" and sign-in is not available. Nuki can meanwhile be connected with a Nuki Web API token. TTLock cannot be connected until the platform is.
- The integration has not yet been tested on real locks — neither TTLock with a gateway nor Nuki with a keypad. The issuing, extension and revoking logic is covered by tests based on the vendors' documentation. Before giving codes to all guests, test the whole cycle — check-in, extension, room move, check-out — on one room with a test booking.
- Old TTLock models with old code algorithms are not supported: the vendor rejects the request.
- Disconnect the account with Disconnect. Codes already issued keep working until their end dates; new ones are not issued.
Related sections#
- Check a guest in and out at the front desk
- Pre-arrival form and front desk check — contactless arrival
- Stay pass and guest device access
- Moving, relocating and splitting a stay
- Hotel: why an action does not go through
Frequently asked questions#
The guest cannot open the door with an offline code.#
An offline code of a lock without a gateway must be entered at least once within the first 24 hours of its window, otherwise the lock switches it off. If more than a day has passed, press Reissue and give the guest the new code.
Can a departed guest's code be switched off at once?#
Yes, if the lock has a gateway (TTLock) or it is Nuki — the code is removed at check-out. An offline code of a lock without a gateway works until the end of its dates; if you need immediate revocation, you need a gateway.
Where does the guest see the code — in the email?#
No. The email has a link to the stay page; the code is there.
Do I need to register my own app with TTLock or Nuki?#
No. There is one app per vendor for the whole platform; the hotel only signs in with its own account.
Does the front desk see the guest's code?#
Only with the Show code button — to dictate it. The keys list has no codes.