Browse all guides
Assigning a cleaner
Every job 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 job either has a cleaner's name on it or it does not, and the app works everything else out from the jobs themselves.
The Assigned Staff picker
It is the last real section in the Add Job and Edit Job 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 — Choose a cleaner later —. That same wording is the first row inside the list, so choosing it again is how you take a cleaner off a job. 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 job takes one cleaner. If two people are going to a site, book two jobs. That keeps the times honest, keeps both cleaners' schedules right, and keeps the field report attributable to a person rather than a pair.
The availability badges
Opening the list triggers a live check. CleanFlo reads every scheduled and in-progress job 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….
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.
Leaving a job 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 job starts. It stays there until somebody is chosen. The job saves perfectly well with it showing.
After that, an unassigned job 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 |
| Job Details drawer | The staff row reads Unassigned in red |
| Dashboard | The job is listed under Urgent Attention with an Assign button beside it |
Unassigned is a derived state, not a status. The job'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 carries a card called Urgent Attention, subtitled Unassigned jobs needing action. It lists upcoming jobs with nobody on them, soonest first, each with the month and date in a column on the left, the job title, its start time and an Assign button. The button takes you to the Schedule, where you open the job and use the picker.
When the list is empty the card says All covered over No unassigned jobs 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.
Moving a batch to somebody else
Somebody calls in sick on a Sunday night and there are nine jobs with their name on them. Editing nine jobs 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 job chip grows a checkbox. Click the jobs you want, in any view: in month view, clicking a whole cell selects every job on that day at once. A bar appears along the bottom of the screen reading 9 jobs selected, with four actions after it.
Reassign opens a plain list of your active staff. Pick one and every selected job moves to them, with a toast reading 9 jobs 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 job by job 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 jobs would double-book Priya Nair, the clashing jobs listed by name and date, then Reassign the other 6? with a button reading Reassign 6. If every job in the selection would clash, nothing moves and a toast says so: Every selected job would double-book Priya Nair.
What the cleaner gets
Assign somebody while saving a job 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 job notes you wrote. A toast confirms it: Job notification sent to Aisha Nowak.
- A push notification on their phone titled New job 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 job that already has somebody on it sends the same trio worded as an update. Cancelling one sends an email, a push titled Job cancelled, and a thread line. All of it is covered in more detail in Emailing the week's schedule.
Common questions
Can I put two cleaners on one job?
Why does a cleaner show as Unknown rather than Available?
A cleaner has left. What happens to their jobs?
Does the availability check look at more than one day?
Still stuck?
Open Support in the app and send us a ticket, or email the team. A real person reads every one.