How to assign a cleaner and find cover
Every clean can be booked without a cleaner and most are, at first. This is how you put a name against one, how CleanFlo warns you the person is already out, and how to fix a whole week of it at once when somebody calls in sick.
On this page
Assignment in CleanFlo is one field. There are no shifts, no availability calendars to maintain and no rota to publish: a clean either has a cleaner's name on it or it does not, and the app works everything else out from the cleans themselves.
The Assigned Staff picker
It is the last real section in the Add clean and Edit clean drawers, headed Staff, with one control labelled Assigned Staff. It looks like a dropdown but it is a custom combobox: it opens on click or on an arrow key, and once open the arrow keys move through it, Enter picks, Escape closes and Tab steps out.
Unchosen, it reads Decide later. That same choice sits first among the cleaners, so picking it again is how you take a cleaner off a clean. Every other row is one of your active staff, showing their name and, where they have one, their job title after a middle dot.
One clean takes one cleaner. If two people are going to a site, book two cleans. That keeps the times honest, keeps both cleaners' schedules right, and keeps the field report attributable to a person rather than a pair.
Two cleaners with the same name
It happens more often than you would think, and it used to matter here. A clean now records which person you picked, not the text of their name, so two staff called Guy Johnson are two separate rows in the picker with two separate diaries. Each one sees only their own work in the phone app, each gets warned about only their own clashes, and the job-assigned email goes to the one you actually chose.
Renaming somebody keeps their history intact: their past cleans follow the new name rather than being stranded under the old one. Give them different job titles if you want to tell them apart at a glance in the list; the picker prints the title after the name.
The availability badges
Opening the list triggers a live check. CleanFlo reads every scheduled and in-progress clean on the date you have entered, compares each one against the start time and duration in the form, and badges every cleaner with the result. While that read is in flight the list header says Checking availability….
- Checking…
- The date has been entered and the read is running, or no date has been entered yet so there is nothing to check against. Grey.
- Unknown
- The check failed. Hovering it says "Could not check for scheduling conflicts". Grey, and deliberately not green: a failed lookup must never claim everybody is free.
- On leave
- They have approved time off covering this date. Hovering it names the dates. Red, and the first thing checked: if somebody is both on leave and double-booked, the leave is what you need to know.
- Booked 9:00am-11:00am
- A real clash. This cleaner already has a clean that overlaps the hours you have typed, and the overlapping clean's times are named. Red.
- Not working Tue
- They set that weekday to unavailable in My time in the phone app. Red. A cleaner who has never opened My time has no availability on file and is never badged this way: silence is not a refusal.
- Outside 9:00am-5:00pm
- They do work that day, but the clean runs outside the hours they gave. Amber: this is a nudge, not a block, and the save goes through.
- Busy 2:00pm-4:00pm
- They have other work on that day, but none of it collides with this clean. The time shown is their first other clean. Amber.
- Available
- Nothing else booked that day at all. Green.
Underneath a cleaner who has other work, the list prints what it is, as St Marks Medical Centre (10:30am-1:00pm), so you can decide whether the gap is really big enough to get across town. Once somebody is selected, their badge moves up onto the closed control and stays there while you finish the rest of the form.
Assigning somebody anyway
Three of those badges stop a save: On leave, Booked and Not working. None of them is final. Sometimes the cleaner has phoned and offered to come in, and a system that simply says no is a system you work around by editing what they told you, which is exactly the record you would want six weeks later.
So CleanFlo asks instead. The save is refused with the reason named in full, and a box underneath asking why you are doing it anyway. Answer it and the clean saves; leave it empty and the button stays greyed out. There is no way to record a blank reason, in the form or in the database behind it.
Leaving a clean unassigned
This is a legitimate way to work, and for a lot of owners it is the normal one: book the work as it comes in, then sit down on a Friday and put people against next week. CleanFlo does not fight it, but it does keep reminding you.
Leave the picker empty and an amber warning appears under it, in the drawer, immediately: No cleaner assigned: you'll need to assign one before this clean starts. It stays there until somebody is chosen. The clean saves perfectly well with it showing.
After that, an unassigned clean announces itself in four places.
| Where | How it shows |
|---|---|
| Week and day grid | The chip says No cleaner next to a warning triangle, where a cleaner's name would be |
| Agenda view | The footer of the row reads Unassigned instead of a name |
| Clean details drawer | The staff row reads Unassigned in red |
| Dashboard | The clean is listed in Needs a decision, badged Unassigned, with an Assign button beside it |
Unassigned is a derived state, not a status. The clean's real status is still Scheduled, which is why it counts towards Upcoming on the summary strip rather than getting a count of its own. Nothing about it is broken: it is a booking that nobody has been told about yet.
Chasing them from the Dashboard
The Dashboard chases these for you, in the card headed Needs a decision. An unassigned clean is one row kind inside it, badged Unassigned, and under Priority it sorts above everything else waiting on you, because a client who is simply not covered today outranks the rest. The row carries the clean's title, its start time and an Assign button. The button takes you to the Schedule, where you open the clean and use the picker.
When the list is empty the card says All covered over No unassigned cleans right now. Great work keeping the schedule full. That card being empty is the single best one-glance signal that next week is actually staffed.
- Dashboard in the sidebar opens this screen.
- New, in the title bar on every screen, adds a clean, client, quote, invoice and more.
Moving a batch to somebody else
Somebody calls in sick on a Sunday night and there are nine cleans with their name on them. Editing nine cleans one at a time is exactly the kind of Sunday night this product exists to prevent.
Press Select in the Schedule header. The button turns solid and becomes Cancel, and every clean chip grows a checkbox. Click the cleans you want, in any view: in month view, clicking a whole cell selects every clean on that day at once. A bar appears along the bottom of the screen reading 9 cleans selected, with four actions after it.
Reassign opens a plain list of your active staff. Pick one and every selected clean moves to them, with a toast reading 9 cleans reassigned to Priya Nair. With no staff on the account at all, the dropdown says No staff found.
The same double-booking rule applies here, and it is applied clean by clean rather than all or nothing. If some of the selection would clash with work the new person already has, CleanFlo tells you which, and offers to move the rest: 3 of 9 cleans would double-book Priya Nair, the clashing cleans listed by name and date, then Reassign the other 6? with a button reading Reassign 6. If every clean in the selection would clash, nothing moves and a toast says so: Every selected clean would double-book Priya Nair.
What the cleaner gets
Assign somebody while saving a clean and three things happen at once, all of them best effort and none of them able to fail the save.
- An email with the property name, the full address, the services booked and any clean notes you wrote. A toast confirms it: Clean update notification sent to Aisha Nowak.
- A push notification on their phone titled New clean assigned.
- A line in their message thread with the office, which is the durable one: a push is gone the moment it is dismissed, but the thread is still there on Thursday when they cannot remember what time they are due.
Editing a clean that already has somebody on it sends the same trio worded as an update. Cancelling one sends an email, a push titled Clean cancelled, and a thread line. All of it is covered in more detail in Emailing the week's schedule.
Find cover when someone is off
For a single clean, open it and choose Find cover. You get two lists, Free to cover and Not free, with anyone who Holds the keys marked. For a whole day, press Someone's off today on the Schedule and the sick call moves every clean they had in one go.
Common questions
Can I put two cleaners on one clean?
Why does a cleaner show as Unknown rather than Available?
A cleaner booked holiday after I had already given them the work. What happens?
Does approving somebody's time off free up their cleans automatically?
A cleaner has left. What happens to their cleans?
Does the availability check look at more than one day?
Previous: How to repeat a clean
Did this answer your question?
Good. Back to the app, then.
Sorry about that. Tell us what you were looking for and a person will answer it.
Still stuck?
Every message is read by a person on the CleanFlo team.