InnveraDocs
Housekeeping

Assignments and Tasks

Generate the day from the reservation state, balance rooms across attendant sheets with auto-assign, reassign and reorder by hand, and publish the sheets.

Getting a housekeeping day started is three steps in order — Generate day, Auto-assign, Publish — and the header of the Board shows them as three buttons that each carry their state (a tick when done, a count of 7 rooms unassigned or 2 sheets unpublished when not). The Assignments tab (/housekeeping/assignments) is the workbench for the middle step: an unassigned pool on the left, one sheet per attendant on the right with a capacity bar, and drag-and-drop between them. All of it needs housekeeping: assign.

Nothing on these screens writes without a confirmation. Generate and Auto-assign always dry-run first and show what they would do; you then confirm. Publishing is a separate, explicit action.

Key terms

Service standard — a row in Settings → Housekeeping saying what a room type gets for each task type: whether it is enabled, its cadence and its credit minutes. Generation raises tasks from it and the balancer weighs them by it.

Credits — the estimated minutes on a task. They come from the standard for the task's type and room type (or from a preset for a manual task) and are what capacity bars and Planned totals add up.

Shift — an attendant's rostered day: hours, a fixed break and a capacity in minutes. Attendants with no shift for the day are still assignable but fall back to the property's Assumed shift length.

Sheet — one attendant's ordered rooms for one day, with a Published flag.

Task types and origins

Task typeLabelRaised by
FULL_CLEANFull cleanDepartures, the linen-change night of a stayover, rework, post-maintenance follow-up, manual
TOUCH_UPTouch upOrdinary stayover service, arrival prep, vacant refresh, manual
DEEP_CLEANDeep cleanThe deep-clean cadence (Every N stays), manual
TURNDOWNTurndownEvening service when Turndown service is on, manual
INSPECTIONInspectionManual only; completing it does not change the room
MAINTENANCE_CHECKMaintenance checkManual only; completing it does not change the room

Priorities are Low, Normal, High and Urgent. Generated departures get Urgent when a same-day arrival is booked into the room, arrival prep gets High, vacant refresh gets Low; everything else starts Normal.

Generate the day

Generation evaluates every room of the property for the selected date against the reservation picture and your standards. It is deterministic and idempotent: running it twice creates nothing the second time, and a departure clean already raised by a check-out is recognised, not duplicated.

Open Generate day

Click Generate day in the Board header (or the same button in the empty-day state). The dialog reads Preview mode does not create or cancel tasks.

Preview

Click Preview day. You see three counts — Generated, Cancelled, Skipped — and What this will create, a list of the generator's own reasons grouped and counted, such as Guest departure on the target date (12) or Stayover on the linen-change night (every 3 nights) (4). If both Generated and Cancelled are zero you get Nothing to generate for this day with a link to Check housekeeping settings — almost always a missing service standard.

Confirm

Click Confirm and generate. Tasks are created; planned tasks that no longer apply are cancelled, never deleted, and only while still Pending or Assigned. Tasks someone has started, and tasks a person created by hand, are left alone.

The rules, in precedence order per room (the first match wins; the last two are additive):

  1. A room with an active out-of-order block gets nothing.
  2. Departure today → Full clean, origin Departure, due by the hotel check-in time (or the arriving guest's ETA), Urgent if an arrival is booked into the same room today.
  3. Arrival today into a vacant room → Touch up, origin Arrival prep, High, but only for a priority arrival or a room vacant longer than the standard's Vacant days.
  4. Stayover → Full clean on the linen-change night (Every N nights of the Full clean standard) otherwise Touch up, origin Stayover. Suppressed when the guest is on a Green stay or asked for DND (the previous day's task was skipped with Do not disturb). With Turndown service on, a Turndown due at 20:00 is added.
  5. Vacant and unsold for at least Vacant days → Touch up, origin Vacant refresh, Low.
  6. Deep-clean cadence reached (stays since the last deep clean ≥ Every N stays) and the room is vacant and unsold tonight → Deep clean, origin Deep clean cycle.

Each task takes its credits from the matching standard (room-type row first, then the hotel default). A disabled standard, or no standard at all for that type, silently produces no task of that type — the settings page warns about the gap.

The same generator runs overnight when Auto-generate day sheet is on, at the property's Runs at time, for the next local day, followed by auto-assign when Auto-assign is on. See Housekeeping settings.

Auto-assign

The balancer takes every Pending and Assigned task for the day and the attendants rostered on a shift, and places tasks so that loads come out even, attendants stay in their section, and urgent, due-soon rooms are placed first. It is deterministic — the same inputs give the same sheet — and it reports every task it could not place with a reason.

Open the dialog

Click Auto-assign on the Board or Preview auto-assignment on Assignments.

Set the options

  • Keep attendants in their usual section (on by default) — rooms stay on the floor or wing the attendant is rostered to; off lets the balancer send anyone anywhere.
  • Allow sheets to exceed shift capacity (off by default) — places every room even past rostered hours (up to 60 minutes over); off, rooms that do not fit are left unassigned and listed.
  • What to favour — a slider from Even minutes to Same rooms as yesterday. The hint under it explains the current setting.

Preview

Click Preview assignment. For each attendant you see before → after minutes and a capacity bar; Tasks left unassigned lists rooms with the balancer's reason — No available attendant shift for the day, No attendant has 45 minutes of capacity left, or No attendant could take this task within the section and capacity constraints. Preview only. No assignments have been saved.

Confirm

Click Confirm assignments. Tasks become Assigned with a sequence ordered by section, then room number, so each sheet is a contiguous walk of the building. Sheet totals are recomputed.

No shifts means nothing is placed

The balancer only considers attendants with a shift rostered for the date and marked Working this day. With an empty roster every task comes back No available attendant shift for the day. Set the roster under Settings → Housekeeping → Shifts first.

Assign and reassign by hand

The left pane is the Unassigned pool; the right holds one sheet per attendant, headed by name, section and room count, a Published / Unpublished changes badge, a Publish (or Republish) button and a capacity bar. A sheet past capacity is outlined red with This sheet is over capacity. Move a room or allow overtime before publishing. The totals row shows Unassigned, Planned, Shift capacity and Free capacity in minutes.

  • Drag a task from the pool onto a sheet to assign it; onto another sheet to reassign; back onto the pool to unassign (the task returns to Pending).
  • Drag within a sheet to reorder; the new sequence is saved immediately and rolled back if the save fails. The row's ⋯ menu offers Move up / Move down and a Move to sheet list for keyboard and touch.
  • Tick several tasks and use Assign selected at the bottom to give them all to one attendant.
  • No attendant sheets means nobody is rostered: Add shifts first.

Assigning a Pending task moves it to Assigned; unassigning an Assigned task returns it to Pending. Every assignment recomputes the attendant's sheet totals, and the board of anyone else watching that day refreshes live. Assigning an Urgent task by hand (single or bulk) sends the attendant an Urgent task assigned — Room 204 notification.

Publish the sheets

Publishing stamps each attendant's sheet for the date as published and sends a Housekeeping sheet published for <date> notification. Nothing is published by generating or previewing.

  • On the Board, Publish opens Publish sheet with the day's Tasks, Attendants and Minutes; confirm with Publish sheet. Reopening shows Sheet published — attendants can see it on their phones.
  • On Assignments, Publish on one sheet publishes just that attendant; Publish all (with a count of unpublished sheets) publishes every sheet for the date.

Publishing is idempotent — Republish after a reassignment simply re-stamps the sheet. Attendants see their assigned rooms on My rooms for today regardless; the publish is the signal that the sheet is final.

Task presets

A preset (Settings → Housekeeping → Task presets) is a saved ad-hoc job — Descale kettle, Restock minibar — with a task type, priority, estimated minutes, optional checklist and default notes, scoped to a room type or all room types. Picking one in Create task pre-fills those fields; the estimate feeds the balancer like any other credit. Inactive presets stay configured but are hidden from the dialog.

Common mistakes

  • Generating before the standards exist. The preview says Nothing to generate. Add at least a hotel-default Full clean and Touch up standard with credit minutes.
  • Reading a full capacity bar as an error. Capacity is hours minus the fixed break; a bar at 100% is a full day, and only over capacity blocks a sensible publish.
  • Expecting auto-assign to move started rooms. It only touches Pending and Assigned tasks. Reassign an In progress room by asking the attendant to pause and a supervisor to skip and re-raise it.

On this page