All guidesGuide

Cleaning checklist

How to set a per-apartment cleaning checklist by room for cleaners to tick off.

Cleaning checklist

Each apartment can carry a list of tasks to do after a stay, grouped by room. A cleaner ticks them off in the portal, so you can see what's done.

How to

  1. Open the apartment and click Upravit (Edit).
  2. Under Informace pro uklízečku (cleaner information), at Úklidový seznam (cleaning checklist), add a group with Přidat skupinu (Add group) and name it after the room (say "Ložnice", bedroom), or start from a template: Kuchyň + obývák (kitchen + living room), Koupelna (bathroom), WC, Ložnice (bedroom), Chodba (hallway), Finální kontrola (final check). A template inserts a group with the usual tasks for you to edit.
  3. In the group, add tasks with Přidat úkol (Add task), such as changing the bed linen.
  4. Reorder groups and tasks by dragging the grip on the left, or with the up and down arrow keys while the grip has keyboard focus.
  5. Save.

A group does not need a name; a single unnamed group shows in the portal as a plain list with no heading. A checklist has at most 20 groups, and a group at most 40 tasks.

What the cleaner sees

On a cleaning the cleaner has claimed, the list shows group by group as checkboxes with a count of what is done. A group with everything ticked folds itself away, so what stays open is what is left; tapping its heading opens it again. Under the list is how many tasks remain.

It's a helper and does not block marking the cleaning done.

Over MCP

An AI assistant can set the list too: the create_estate and update_estate tools take a cleaning_checklist field. Either a plain list of tasks (one group without a heading) or groups:

[
  { "name": "Koupelna", "tasks": ["Umýt sprchu", "Vyměnit ručníky"] },
  { "name": "Finální kontrola", "tasks": ["Zhasnout, zavřít okna"] }
]

Every task gets a short id, which list_estates returns. A task whose text is unchanged keeps its id on the next edit, so a tick on a cleaning in progress survives. To rename a task and keep its id, send {"id": "…", "text": "…"}.