Start your free 14-day trial
Product Job Scheduling & RotasInvoicing & BACSHealth & SafetyStaff Mobile AppAnalytics & Reporting
Solutions Commercial CleaningDomestic CleaningEnd of TenancyFacilities ManagementWindow Cleaning
Free tools Cleaning Quote CalculatorPrice Per m² CalculatorUK VAT CalculatorProfit Margin CalculatorTrue Cost of a CleanerHoliday Entitlement CalculatorContract Tender CalculatorClient Lifetime Value All 14 free tools →
Learn How to start a cleaning businessHow to price cleaning jobsHow to win cleaning contractsHealth & safety for cleaners CleanFlo vs JobberCleanFlo vs ZenMaid
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.

In the app: Schedule Open CleanFlo
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….

Checking…UnknownBooked 9:00am-11:00amBusy 2:00pm-4:00pmAvailable
The five badges, in the order you are most likely to meet them. Only red is a genuine clash: amber means the cleaner has other work that day but not at this time.
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.
Booked 9:00am-11:00am
A real clash. This cleaner already has a job that overlaps the hours you have typed, and the overlapping job's times are named. Red.
Busy 2:00pm-4:00pm
They have other work on that day, but none of it collides with this job. The time shown is their first other job. 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.

Add Job
Schedule a new cleaning job
Assigned Staff — Choose a cleaner later —
Aisha Nowak · Cleaner No other jobs on 14 Aug Available
Marek Kowalski · Cleaner St Marks Medical Centre (10:30am-1:00pm) Booked 10:30am-1:00pm
Joanne Reid · Team Leader Bay View Offices (2:00pm-4:00pm) Busy 2:00pm-4:00pm
Tomas Silva · Cleaner Availability could not be read Unknown
CancelAdd Job
The Staff section with the list open. The badges are recalculated whenever the date, the start time or the duration changes, so shortening a job can turn a red badge amber in front of you.

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.

WhereHow it shows
Week and day gridThe chip says No cleaner next to a warning triangle, where a cleaner's name would be
Agenda viewThe footer of the row reads Unassigned instead of a name
Job Details drawerThe staff row reads Unassigned in red
DashboardThe 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.

Mon 10 2 jobs
Tue 11 1 job
Wed 12 1 job
Thu 13 2 jobs
Fri 14 2 jobs
Sat 15
Sun 16
8am9am10am11am12pm1pm2pm3pm4pm
Riverside Homes · Flat 4B Aisha Nowak Bay View Offices Joanne Reid
St Marks Medical Centre Marek Kowalski
Harbour Lettings · 12 Quay St Tomas Silva
Riverside Homes · Flat 4B Aisha Nowak St Marks Medical Centre Marek Kowalski
Harbour Lettings · 12 Quay St Tomas Silva Deep clean · 14 Fore St No cleaner
Scroll sideways for the rest of the week
A week with one job nobody is on. The unassigned chip is drawn in red so it reads as work at risk rather than work in progress.

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.

app.cleanflo.io/dashboard
Search everything… ⌘K Dashboard
Urgent Attention
Unassigned jobs needing action
View All
Deep clean · 14 Fore St Fri 14 Aug · 13:00 Assign
End of tenancy · Flat 7 Sat 15 Aug · 08:00 Assign
Harbour Lettings · 12 Quay St Mon 17 Aug · 09:00 Assign
The Urgent Attention card on the Dashboard. It is the only place in CleanFlo that actively chases unassigned work, which is why it sits on the screen you open on.

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 Cancel Delete Clear
Aisha Nowak
Marek Kowalski
Joanne Reid
Tomas Silva
Priya Nair
The bulk action bar. Reassign opens a dropdown of your staff; Cancel and Delete both ask for confirmation first; Clear empties the selection without leaving selection mode.

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?
No. The field holds one name. For a two-person job, book two jobs at the same site and time, one for each cleaner. Each gets their own checklist, their own start and finish times and their own field report, which is usually what you wanted anyway.
Why does a cleaner show as Unknown rather than Available?
Because the availability read failed. CleanFlo will not badge somebody green on the strength of a lookup that did not come back, because a manager acts on green. Close the drawer and reopen it to try again; the save-time conflict check runs separately and still protects you.
A cleaner has left. What happens to their jobs?
They stay assigned to the name that was on them, because the job stores the name rather than a link. Use Select on the Schedule to pick up their future work and Reassign it before you deactivate them in Staff.
Does the availability check look at more than one day?
No. It reads the jobs on the date in the first row of the When section only. A repeat spanning three months is badged against its first date, but the save then checks every one of the generated dates before it writes anything.