Housekeeping
Cleaning Events, Recurring Schedules, Timesheets & Paid Holiday
Housekeeping (/admin/housekeeping)
Cleaning operations. Tabs: Cleaning Events · Recurring · Timesheets · Paid Holiday · Room Checks · Calendar (the Calendar tab jumps to the reservations calendar view).
Cleaning Events
One row per cleaning event: building/unit, assigned staff, date, status, tasks, work periods, and transit. The list opens on today and the next 14 days, shown as a Date pill; Today and Next 14 days switch it, and removing it shows every date. On a phone, Today and Next 14 days stay on the bar, and the search sits with the filters under the Filters button. The Tasks column shows the first task by its title, then "+N" for the rest; hover it for the full list. Tasks without one (recurring cleanings, and tasks made before titles existed) show "Weekly Cleaning" or "One-off Cleaning" instead. A task tied to a room shows the room after its name, and tasks with the same name are listed together — for example "Room Check (201, 305)" or "Move-out cleaning (204)". Create a cleaning event with New (or let recurring schedules generate them — see below).
- Move on a row changes the cleaning event's date, its housekeeper, or both at once. If that housekeeper already has a cleaning event at the building on the new day, the button reads Merge into …: the tasks and hours join that event, fixed prices add up, and this one is removed. Locked (payroll-exported) cleaning events have no Move.
- Statuses flow scheduled → in progress → completed. A completed cleaning event's report records what was done, time worked (work periods), transit used, and photos.
- Each cleaning event's tasks list what to clean. Staff on site complete the cleaning event from their own portal; admins can edit or complete cleaning events here.
The cleaning event page
Opening a cleaning event shows its tasks first. The Tasks tab lists each task with its latest photos; click a task to open its report. The Time & Rides tab holds the work periods and the train and bus rides. A dot on that tab means a ride has no fare, or no time has been recorded yet. A station or bus stop missing from the list can be added on the spot with + New station / + New bus stop — housekeepers can do this too. It is selected into the ride straight away; leave the Japanese name blank and it is filled in automatically, and an English name already on file reuses that entry instead of making a second one.
The panel on the right holds:
- The next step for the cleaning event's current state, for example Mark as completed once its day has passed.
- Details. Click Pricing or Fixed Price to change them; the change saves at once. Click Scheduled or Staff to move or reassign the cleaning event, then confirm with Move or Reassign. If that housekeeper already has a cleaning event at the building on that day, the button reads Merge into … instead: the tasks and hours join that event, fixed prices add up, and this one is removed.
- The hours and rides recorded so far, and the Note to Housekeeper shown on their phone.
The ⋯ menu at the top right, next to Lock, holds the cleaning event's less common actions. For office staff that is Request Sodai Gomi (spotted oversized rubbish on the visit? It opens a new Sodai Gomi request with the building filled in; not offered on an errand, which has no building), Cancel cleaning event…, Reset cleaning event… and Delete cleaning event…. Reset and Delete are hidden on a locked cleaning event. Housekeepers have no ⋯ menu; they keep Request Sodai Gomi inline in the panel on the right.
Handbook, next to the building on a cleaning event, opens that building's staff handbook: door and key-box codes, wifi, trash rules and contacts. Field staff also have Handbooks in their menu.
Creating a task (New)
- Building task / No building. The switch at the top of the form sets whether the task is tied to a building.
- A building task needs a building, a room (optional) and a housekeeper.
- No building is for errands such as a supply run or a ward office visit. It appears on the timesheet under "General / No building".
- Title (required). This is the only way to say what the task is; there is no separate type.
- No building errand: type the title yourself. Errands never require photos.
- Building task: pick the title from the list. Each title belongs to a category, set in Settings → Reference Data → Task Titles, and the list shows it beside every title:
- Photos required (shown in the list as "After photo required"). The cleaner must add an after photo before the cleaning event can be finished. A description is also required when creating the task.
- No photos. Nothing is required.
- Changing a task's title to one in the other category switches the task's photo requirement to match. You can do this on the cleaning event's page or from the reservations calendar. Recurring cleanings are the exception: they always require an after photo, whatever their title, so their list shows no category.
- Changing a title's category in Reference Data only affects tasks created or re-titled afterwards. Existing tasks are left as they are.
- Require a before photo (building tasks only). The cleaner must photograph the space before starting, and the cleaning event cannot be finished without it.
- You can switch this on or off later, from the task on the cleaning event's page.
- Move-out inspections always require a before photo, so the switch isn't offered on them.
- Recurring cleanings only require an after photo, so the switch isn't offered on them either.
The same Title and before-photo choices appear when you add a task to an existing cleaning event, and when you schedule one from a room's cell on the reservations calendar (Cleaning or task). Adding a task to a No building errand works like the errand form: you type the title, and there is no room, minimum guarantee or before photo to set. The title of an errand's task is also typed when you edit it later.
Moving or removing a single task
A cleaning event is one cleaner's trip to one building on one day, and its tasks are that trip's line items — so the date belongs to the cleaning event, not to the individual task. Changing Scheduled Date on the cleaning event therefore moves everything on it.
To move just one task, open the task on the cleaning event and use Move…. Pick the new day and, if it should change hands, a different housekeeper. The building stays the same.
- If the destination day already has a cleaning event for that housekeeper and building, the task joins it rather than creating a second trip. That housekeeper is asked to confirm the changed trip.
- If it is the only task on the cleaning event, the whole cleaning event moves with it — its work periods, transit and notes included. You are warned before this happens, because it is rarely what "move one task" sounds like.
- Move-out inspections keep their inspection record and calendar invite in step, and still cannot be scheduled before the resident's departure date.
- A completed or cancelled cleaning event refuses the move — reopen it first. So does a locked (payroll-exported) cleaning event.
Delete removes a single task and its notes, photos and report from the cleaning event. A cleaning event always keeps at least one task, so the last one can't be deleted — delete the cleaning event instead. Move-out inspections aren't deleted here either; cancel those on the room-check screen so the inspection record and its calendar invite go with it.
Use as room check… is for a task that was a move-out inspection but was created as an ordinary task (for example "Move-out cleaning"). It lists the move-outs in that room that have no room check yet and fall around the task's day. Pick one and the task becomes that move-out's room check, keeping its photos, issues and notes; the move-out list and its report pick them up. If the resident left before the move-out date on their notice, set the Actual Departure Date in the same dialog. Deleting that room check later gives the task back as it was. Offered to office staff on tasks that have a room, unless the cleaning event is locked.
- Issues found during cleaning (damage, broken equipment) recorded on a cleaning event automatically create a maintenance issue, so nothing gets lost — check Maintenance for follow-up.
- Locked cleaning events (already exported to payroll/timesheets) are read-only — the report can be viewed but not edited. Locking also counts the event's receipts as approved on Receipts → AI Accuracy, which compares what the AI read off each receipt with what was kept.
- Every cleaning event is posted to the housekeeping Google Calendar with a
Posted by <staff name>line so the field team sees who scheduled it. Staff sometimes hand-edit calendar titles — the dashboard record is the source of truth. - A cleaning event's price can be overridden per-event when a special rate was agreed.
- Photos are taken by the cleaner on the cleaning event's page. Which ones are required depends on the task: see Creating a task above.
- Next guest's bedding. On a room check, the Next Resident card shows the bedding the next guest needs (for example "2 beds: Single + Double"), and the calendar invite carries the same line. It is read from their reservation each time, so if the bedding changes or is no longer needed the line follows, without notifying the cleaner. Minpaku arrivals show no bedding line.
Recurring tab
Recurring schedules (e.g. "clean Building X common areas every Tuesday") automatically generate upcoming cleaning events several weeks ahead. Edit the rule here; generated cleaning events then appear in the Cleaning Events tab. Deleting a rule stops future generation but keeps already-generated cleaning events.
- Moving or deleting one generated cleaning changes that week only — the schedule itself is untouched and the following weeks arrive as usual. A moved cleaning stays where you put it however far you move it, and a deleted one stays deleted; neither reappears overnight.
- Editing the rule's day or cadence rebuilds its upcoming cleaning events from scratch, which discards any individual weeks you had moved or removed. Change the rule when the pattern itself has changed; move the single cleaning event when it is just this week.
Timesheets tab
Monthly timesheets per staff member per building, built from completed cleaning events: hours worked, wage, and transit fares. Click a row for the detailed month view.
- Wages are computed from each staff member's rate at the time of the cleaning event — a rate change applies to cleaning events going forward; already-recorded cleaning events keep the rate that was in effect.
- Some cleaning events carry a fixed labor fee instead of hourly pay (a flat amount agreed for the job) — those show the flat fee regardless of hours.
- Transit fares per building are managed in Settings (train fares) and applied automatically.
- Download all sits in the top bar (on a phone, under ⋯ with the month lock). The month lock is the Payroll lock menu beside it (Lock month… / Unlock month…); only admins see it, and it always offers both, because each reaches every cleaning event in the month whatever the filters, including ones the rows do not count.
Paid Holiday tab
Paid-holiday balances and usage for employed cleaning staff (contractors invoicing separately don't accrue paid holiday). Grant days, record usage, and see each staff member's remaining balance. Paid-holiday pay uses the staff member's wage settings.
Room Checks tab
The board for automatic room checks — the switch in Settings → Automation that creates room checks for the next 2 weeks, every night at 02:30 and whenever a reservation changes: one in every turnover gap (a resident leaves, the next one arrives), and one after every move-out with a notice even when nobody is booked next. A move-out from the past week that still has no room check gets one for today. If someone is later booked in after that move-out, or the next resident cancels, the cleaner keeps the same room check (moved if the date changes) rather than getting a new one. The same switch is shown under Client Settings → Feature flags; it is one setting.
- The top card shows whether the automation is on, what its last run did (created / moved / removed / cancelled), and how many upcoming room checks are automatic versus scheduled by staff.
- Run Now does the nightly run immediately. You normally never need it: the engine already runs by itself every night at 02:30 and whenever a reservation changes. Use it when you don't want to wait — for example right after giving cleaners their working days, or on a night the automatic run did not happen. It is only available while the switch is on.
- Upcoming Room Checks lists every room check scheduled from today on, whoever created it: date, building and room, cleaner, Acceptance (Accepted — and whether the cleaner confirmed or was only emailed —, Declined, or With Weekly Cleaning when no confirmation is needed), Origin (Automatic, Edited by Staff, or Staff), and the departing and arriving residents. Edit opens the room check to change its date, cleaner, type or notes; an automatic check you edit is yours from then on. Mark Declined / Mark Accepted record the cleaner's answer on their behalf (a phone call, a message). Open goes to the cleaning event.
- Needs Attention lists what a person has to deal with:
- No Cleaner — a turnover got no room check because no active cleaning staff could be assigned. Add staff (Settings → Cleaning Staff) or schedule the check by hand from the Move-Outs screen.
- Declined — the assigned cleaner said they can't do it. Open the cleaning event and reassign.
- No Email — the cleaner has no email address, so they cannot be told about the room check.
- Not Yet Notified — assigned; the cleaner is emailed at the next 10:15 run. Nothing to do.
- Cancelled (Covered) — a stay was booked over the date of a room check, so the check was cancelled (with its cleaning-event task and calendar event). The engine creates the right check for the new gap when the switch is on; a check you scheduled yourself may need rescheduling. The cleaner is emailed that the check was removed from their schedule, and the move-out it belonged to can be scheduled again.
- Error — the engine failed on that unit; the detail says why.
- Activity is the log of everything the engine did in the last 14 days, filterable by action. Edited by Staff rows show room checks the engine created and then released because someone changed their date or cleaner.
Two rules keep the automation out of your way. A room check you edit (date or cleaner) is yours from then on — the engine never moves it back. A room check you delete stays deleted: the engine remembers that turnover and does not create it again. Cancelling one from the Move-Outs screen works the same way. One exception: if a new booking later splits a turnover in two, the part your edited check no longer sits in gets its own automatic room check. To say a move-out needs no room check at all (the room is already clean, say), use No Room Check Needed in the resident's Move Out tab: the automation then makes none for it, even if someone is booked after it, and removes one it already made.
Housekeeper accounts
Staff with the housekeeper role see a reduced dashboard: their own cleaning events, their timesheets, resident info for their buildings, and (if eligible) paid holiday. They cannot see other staff's data or any money pages.
Quick answers
- "Who cleans Building X this week?" — Cleaning Events tab, + Filter → Building; or the Google housekeeping calendar.
- "Why is a cleaning event missing from the calendar?" — re-save the cleaning event; saving re-posts the calendar event.
- "A cleaner reported damage" — it's already in Maintenance if recorded on the cleaning event; otherwise create a maintenance issue manually.