The guest portal

Updated on 2026-07-01

Every guest receives a personal portal link covering three phases of their stay — on a single URL. Pre-arrival, during the stay, and post-stay.

How does the guest get the link?

Automatically. As soon as the booking reaches CONFIRMED (first payment), booking.booking_url is generated via temporarySignedRoute. This link is then included in:

  • The booking-confirmed email (CTA block "Open my portal")
  • The booking-fully-paid email (same CTA)

The link works until 1 day after departure. After that: 403.

When can the guest open the portal?

At the earliest 2 days before arrival (configurable via the setting bw_prearrival_portal_days). Before that period → 403 with an explanation of when it opens.

What does the guest see in each phase?

📅 Pre-arrival (2 days before arrival)

  • Payment status — total / paid / outstanding, with a button to pay the remaining balance online
  • Completing details:
    • Required: first name, last name, mobile (for WhatsApp), address, postcode, city, country
    • Optional: company name, VAT number, emergency contact
    • Data is stored on the Debtor
  • Requesting a check-in time — with a time picker + optional note. On submit, you receive a Telegram with Approve / Decline buttons. Click → the booking is updated, a badge appears in the Room overview
  • Breakfast choice per morning — always visible, not only from check-in
  • General info (WiFi, parking, check-in hours, check-out)

🏠 During the stay

Everything from pre-arrival stays visible, plus:

  • 🔐 Opening doors without a key — depending on your lock system, the guest sees "Open door" buttons for the front door and their own room(s) (Bold via Home Assistant, or TTLock) or a personal PIN code for the keypad (Salto). See Smart locks & keyless entry. The buttons or PIN only appear after check-in and disappear shortly after check-out — so nobody can open the front door remotely without being there.
  • 🍺 Honesty bar — guest taps products, they appear live on their invoice
  • 💳 Live invoice with the current balance

👋 Post-stay (until departure + 1 day)

  • ⭐ Google Reviews CTA (link from the setting google_reviews_url)
  • Final invoice + any remaining payment
  • Honesty bar + wellness upsells hidden (they're gone anyway)

The unlock confirmation page (Bold)

Besides the buttons in the portal, the guest also gets direct buttons in the WhatsApp welcome message to open the front door and their room. When the guest taps such a button, the door unlocks and they land on a confirmation page in their own language explaining how the Bold lock works: beep → turn the knob (to open or to lock) → second beep, and the door stays exactly as you leave it. With an illustration of the thumb-turn knob and a button back to the booking page — no more confusion for guests who don't know this kind of lock.

Check-in per room (combi bookings)

For a booking with multiple rooms you can check in per room — handy when guests of the same group arrive separately. In the Room overview a checkbox dialog lets you pick which rooms to check in; a badge shows the progress (2/3 checked in).

For the guest portal this means:

  • The portal and the door buttons open at the first check-in; the welcome message is sent once.
  • Door access is activated per checked-in room — with Salto, the PIN code only unlocks the doors of rooms that are already checked in.

On the smartphone

All standalone guest pages — the payment page (checkout), the quote page and the gift voucher confirmation — are optimised for mobile. Makes sense: most guests open their link via WhatsApp or email on their phone.

Privacy

  • Signed URL — not guessable
  • Expires automatically
  • Can be invalidated per booking via the admin (set booking_url = null)
  • The housekeeper has a separate portal that shows NO guest data (see the Housekeeping section)

FAQ

My guest doesn't see an "Open door" button. How come? The buttons (or the Salto PIN) only appear after you have checked the guest in, and they disappear 15 minutes after check-out. If the booking isn't checked in yet, the guest sees a message that access opens at check-in.

In which language does the guest see the unlock page? In the language of the booking — the same language as the rest of the portal and the guest emails.