User guide · Modules

Housekeeping

Cleaning tasks from checkout to “Ready for Guest”: a five-column board, a paged task archive, per-task checklists, and transitions that keep working when the connection drops.
Whole guide

Purpose and who uses it

Housekeeping MgrReceptionist

Turns every departure and every manual request into a task the floor team can work through and a supervisor can inspect.

Housekeeping tracks one task per room that needs attention. A checkout at the front desk creates a task on its own; you add stayover refreshes and deep cleans yourself. Each task moves across the board from Dirty Rooms to Ready for Guest, carries a checklist, and, while it is open, puts the room into Cleaning status on the Rooms module so the front desk cannot check a guest into it.

  • Housekeeping managers run the board, inspect rooms and sign them off as ready.
  • Room attendants (signed in with the front-desk PIN, or on a shared tablet) tick checklist items and move their own rooms forward.
  • Receptionists watch the board to know which rooms are back in the sellable pool; they can also raise a stayover refresh when a guest asks.

Housekeeping sits under the Rooms permission module: View shows everything read-only, Edit creates tasks and moves them.

Screen anatomy

Four KPI tiles, four tabs (List, Cards, Board, Cleaning checklist) and a filter bar that changes with the tab.

Housekeeping → Board (the List tab opens first)
123458
  1. 1
    Page head and KPIs
    “Tasks today” (every task in the working set), “Completed” (Ready for Guest), “In progress” (In Progress + Inspection) and “Overdue” (open tasks whose due time has passed).
  2. 2
    Dirty Rooms
    New tasks land here. Checkout cleans arrive as High priority, due in two hours.
  3. 3
    Assigned
    Tasks that have an attendant on them. Between it and Inspection sits In Progress.
  4. 4
    Ready for Guest
    Done and inspected. The room leaves Cleaning status the moment a card lands here.
  5. 5
    Task card
    Room number, priority badge, task type and floor, an amber note if one was left at checkout, the attendant, and a “→ next column” button.
  6. 8
    New task
    Opens the “New housekeeping task” dialog (Rooms Edit).

Tabs

  • List (the default): a paged archive loaded from the server one page at a time. Adds a Status filter and lives in the address bar (?status=ready&floor=2&page=2), so a filtered view can be bookmarked. Columns: Room, Floor, Type, Assigned, Priority, Status. Click a row to select the task for the checklist tab.
  • Board (?view=kanban): the whole working set of tasks, never paged. Filters: search (room, task code, staff, note), Task type, Priority, Assigned to, Floor. Status has no filter here because the columns already are the status.
  • Cleaning checklist: the checklist of the task you last clicked; if you have not clicked one, the first task that is In Progress.

Your tab choice is remembered per browser. On phones the List tab shows cards instead of a table.

Working a checkout clean

Housekeeping Mgr

The everyday flow: a departure creates the task, an attendant works it, a supervisor inspects and signs it off.

  1. 1
    The front desk checks the guest out
    A Checkout clean task appears in Dirty Rooms with High priority and a due time two hours out. An alert “Housekeeping: Room 204 needs cleaning” goes to the notification feed. If the room already has an open checkout clean, no second task is created.
  2. 2
    Move the card to Assigned or straight to In Progress
    Drag the card, or click the Assigned button on it. From Dirty Rooms you may skip Assigned and go directly to In Progress.
  3. 3
    Tick the checklist as the room is cleaned
    Open the Cleaning checklist tab (or click the card first so it becomes the selected task). Each line, “Strip & change linens”, “Clean bathroom & restock”, …, saves the moment you tick it and records who ticked it.
  4. 4
    Send it to Inspection
    Click Move to Inspection at the bottom of the checklist, or the card button. The checklist does not have to be complete, the system does not block the move, so make “Final inspection” a habit.
  5. 5
    Supervisor signs off: Ready for Guest
    From Inspection the only forward move is Ready for Guest. The room drops out of Cleaning status, a green alert “Room 204 ready” is posted, and the change is written to the audit log. A room that fails inspection goes back to In Progress instead.

Adding a stayover refresh or deep clean

Housekeeping MgrReceptionist

Manual tasks for in-house guests and periodic deep cleans, created from the New task button.

  1. 1
    Click New task
    Top right of the page. You need Rooms Edit.
  2. 2
    Pick the Room
    The list shows every room as “204 · Floor 2 · Deluxe”. Occupied rooms are allowed, that is the point of a stayover refresh.
  3. 3
    Pick the Task type
    Stayover refresh or Deep clean. Checkout cleans cannot be created by hand; only a checkout makes one.
  4. 4
    Click Create
    The task appears in Dirty Rooms with Medium priority and no due time, and the toast “Housekeeping task created” confirms it. The room shows as Cleaning on the Rooms page until the task is Ready (unless a guest is in house, in which case Occupied wins).

Checklists and their template

Housekeeping MgrHotel Manager

Every task gets a copy of the hotel's checklist template when it is created; the template lives in Settings → Ops config.

When a task is created the system copies the hotel's active checklist steps onto it, in order. If the hotel has never edited its template, the built-in list is used:

  • Strip & change linens
  • Make beds
  • Clean bathroom & restock
  • Vacuum & mop floors
  • Dust all surfaces
  • Empty bins
  • Restock minibar
  • Restock amenities
  • Check lights & AC
  • Final inspection

To change the template open SettingsOps configHousekeeping checklist(needs Settings Full). You can rename a step in place, switch a step off without deleting it, or add a new one with New checklist step. As the screen says: “Changes apply to tasks created from now on; open tasks keep their checklist.”

Ticks are per task and per person: each tick stores who completed it and when. Unticking clears both. The checklist never gates a transition, it is a record, not a lock.

Task statuses and what they drive

Five stored statuses, two of them allow a step back; the room's Cleaning status is derived from any open task.

Cleaning workflow (only these moves are accepted)
Cleaning workflow (only these moves are accepted)skipunassignrestartpassfailDirty RoomsAssignedIn ProgressInspectionReady for Guest
  • Dirty RoomsAssigned
  • Dirty RoomsIn Progress (skip)
  • AssignedIn Progress
  • AssignedDirty Rooms (unassign)
  • In ProgressInspection
  • In ProgressDirty Rooms (restart)
  • InspectionReady for Guest (pass)
  • InspectionIn Progress (fail)
  • Dirty Rooms: nobody is on it yet. Checkout cleans start here at High priority.
  • Assigned: an attendant owns it. Moving a card back to Dirty Rooms puts it up for grabs again.
  • In Progress: being cleaned; the checklist is normally ticked during this stage.
  • Inspection: cleaned, waiting for a supervisor. Pass → Ready; fail → back to In Progress.
  • Ready for Guest: final. Counts towards the “Completed” tile.

What is derived, not stored

  • The board column is simply the task status, there is no separate column field.
  • Overdue is worked out on screen: an open task whose due time is earlier than now.
  • The room's status on the Rooms page is recomputed after every task change: out of service → occupied → blocked by maintenance → Cleaning (any task not yet Ready) → reserved → available. Nobody sets “Cleaning” by hand.
  • The check-in room picker only offers rooms that are ready, so a room with an open task cannot be handed to an arriving guest until its task reaches Ready for Guest.

Task fields

What a task record holds, and which parts the screen lets you set.

Housekeeping task
FieldTypeNotes
CodeHK-…Assigned automatically; shown on the checklist tab and used in alerts and the audit log.
Room *roomPicked in the New task dialog. Fixed once created.
Task type *enumCheckout clean (system-created at checkout), Stayover refresh, Deep clean.
PriorityHigh / Medium / LowHigh for checkout cleans, Medium for manual tasks. Not editable on screen; used as a filter and badge.
Status *enumOne of the five board columns. Changed by dragging or the → buttons.
Assigned touserShown as the first name and avatar on the card, “Unassigned” otherwise. Filterable; the screen has no picker to change it.
Duedate-timeTwo hours after checkout for checkout cleans; empty for manual tasks. Drives the Overdue tile and the List tab's default sort.
Notetext ≤ 300Left by the front desk at checkout (for example “guest reported broken lamp”). Shown as an amber strip on the card.
ChecklistitemsCopied from the template at creation. Each item records who ticked it and when.

Permissions

Housekeeping is governed by the Rooms module: View reads, Edit does everything on this screen.

Default levels that matter for Housekeeping
RoleRoomsSettings
Super AdminFullFull
Hotel ManagerFullEdit
ReceptionistEditNone
AccountantNoneNone
Housekeeping MgrFullNone
MaintenanceEditNone
Restaurant MgrNoneNone
HR ManagerNoneView
SecurityViewNone
None No accessView View onlyEdit Can editFull Full access
  • Rooms View: open the board, list and checklist read-only. The New task button and the → buttons are hidden; cards cannot be dragged.
  • Rooms Edit: create tasks, move cards, tick checklist items.
  • Settings Full: edit the checklist template in Settings → Ops config.

By default that means Housekeeping Mgr, Receptionist, Maintenance, Hotel Manager and Super Admin can work the board; Security can only look; Accountant, Restaurant Mgr and HR Manager do not see the module at all.

Tips

Live updates, offline moves, filters and the checklist tab.

  • Use Assigned to → Unassigned together with Floor to hand out a floor's rooms at the start of a shift.
  • The board search matches room number, task code, attendant name and the checkout note, so typing “lamp” finds the room whose note mentions it.
  • Click a card to make it the selected task, then switch to Cleaning checklist; the header shows “Room 204: Checkout clean” and the code so you know you are ticking the right one.
  • The List tab sorts by creation date (newest first) and pages 25 at a time; change rows-per-page at the bottom. Esc closes any dialog.
  • Dragging a card to a column the workflow does not allow shows “Move to an allowed next column in the cleaning workflow” and leaves the card where it was.

Errors you may see

The server refuses only one thing here: a move the workflow does not allow.

409Cannot move from inspection to dirty
Why
The target column is not an allowed next step from the task's current status (the message names both). It also appears when a queued offline move arrives after someone else already moved the task.
Fix
Move one step at a time along the workflow diagram. From Inspection you can only go to Ready for Guest or back to In Progress.
404Task not found
Why
The task was removed or belongs to another hotel, usually a stale tab.
Fix
Reload the page.
404Room not found
Why
The room picked in New task no longer exists.
Fix
Close the dialog and open it again to refresh the room list.
404Checklist item not found
Why
The item you ticked is not on that task, the checklist was opened from an outdated snapshot.
Fix
Reload; the task's current checklist will be shown.

Client-side messages: “Pick a room” (New task with no room chosen), “Could not update task” / “Could not create task” / “Could not update checklist” when the request fails for a reason other than the above.

Stayover refresh
A light service of a room whose guest is staying another night.
Checkout clean
The full turn-around after a guest departs; created automatically by check-out.
Ready for Guest
The final task status. The room is sellable again and can be picked at check-in.
Working set
Every task on the board, regardless of age, the same list the offline snapshot keeps.