Housekeeper portal — what does the cleaner see?
Updated on 2026-04-22
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:
- Early check-in rooms (🔥 EARLY)
- Check-out not yet checked out + backlog (wait until guest has left)
- Check-out already checked out (can start straight away)
- Stay-over (light)
- New arrival without priority
- 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