Housekeeper portal — what does the cleaner see?

Updated on 2026-04-22

Housekeeper portal — what does the cleaner see?

The housekeeper opens her link on her phone → a mobile-first view with one card per room. No guest names, no emails, no bookings visible — only what she needs to clean.

The 4 (or 5) room statuses

🔄 CHECK-OUT (orange card)

Guest leaves today.

  • ✅ Checked out at 10:30 — ready to clean
  • ⏳ Still in the room (with breakfast time → expected to be empty from Y)
  • 🕚 The normal check-out time is shown

🧺 BACKLOG (dark orange card)

Backlog detection for bundle cleanings:

  • Guest checked out on X April, the room has been blocked since (no new guest in between)
  • No cleaning log since the check-out
  • Priority: high (top of the list)

🌙 STAYS (blue card)

Stay-over. Light tidy.

  • "Guest is staying 2 more nights"
  • Breakfast time shown if known

🆕 NEW GUEST (green card)

New arrival today.

  • 🔥 EARLY badge if an early check-in has been requested and approved (e.g. 13:00 while normally 15:00)
  • Sits at the top of the list in that case

💤 EMPTY (grey card)

No booking. Optionally a deep clean.

Priority

The list is sorted from high to low priority:

  1. Early check-in rooms (🔥 EARLY)
  2. Check-out not yet checked out + backlog (wait until guest has left)
  3. Check-out already checked out (can start straight away)
  4. Stay-over (light)
  5. New arrival without priority
  6. Empty

One-click action

Below each card: a big green button "I have cleaned this room ✓". One click → a RoomCleaning record is created with housekeeper_id, date, timestamp. The card turns green and shows "Cleaned at HH:MM".

Misclick? The "Undo" link next to it removes the record again.

Auto-refresh

The page polls every 30 seconds → if you check a guest in or update a room she sees it within 30s.

Privacy guarantees

  • Access via access_token (32 random chars) — not guessable
  • You can reset the token per housekeeper (the old link no longer works)
  • Guest details are never visible
  • Disable the module → all URLs return 404