Every scheduling demo looks the same. Someone drags a blue block across a tidy weekly grid, it snaps into place, and everyone nods.
What the demo never shows is Tuesday at 4:40 p.m., when your Wednesday-Friday cleaner texts that her kid is sick, the backup is already at 38 hours for the week, and two of the three buildings she covers have a 6:00 p.m. start.
The right drag-and-drop scheduler for a janitorial company is the one that survives eleven specific field tests, three of which you can run before you enter a credit card: real cost at your headcount, whether crews can use it without downloading anything, and whether the crew-facing screens exist in your team's language. The other eight belong in the free trial.
Run them in order. The early tests are free and eliminate the most vendors.
Why does janitorial scheduling break tools that work fine for restaurants?
Most shift-scheduling software was built for a single site with a fixed set of stations. One address, one time zone, one clock, staff who all walk through the same door.
Janitorial work is the opposite. One cleaner may hit three addresses in a night, shifts cross midnight, the same route repeats for 36 months, and the person doing the work is in a building you are not standing in.
That is why generic tools pass a demo and fail in week three. The failures are always the same handful: recurring series that cannot be edited for a single night, overnight shifts that land in the wrong workweek, and overlaps the software cheerfully allows because it has no concept of drive time.
What the 11 tests measure and how long each one takes
| # | Test | When to run it | Pass threshold |
|---|---|---|---|
| 1 | Cost at your real headcount | Before signup, 10 min | You can write your 12-month cost on one line |
| 2 | Device reality | Before signup, 5 min | Crew view opens on a low-end Android with no install |
| 3 | Crew language | Before signup, 5 min | Shift and clock-in screens render in your crew's language |
| 4 | 90-second callout rebuild | Trial day 1 | Three nights reassigned in under 90 seconds |
| 5 | Recurring series edit | Trial day 1 | Tool asks "this occurrence or all future" |
| 6 | Overnight boundary | Trial day 1 | 10 p.m. to 6 a.m. stays one block, correct workweek |
| 7 | Multi-stop night | Trial day 2 | Overlapping stops trigger a warning |
| 8 | 40-hour warning | Trial day 2 | Weekly total visible while you drag |
| 9 | Notification lag | Trial day 2 | Change reaches the cleaner without them opening the tool |
| 10 | Schedule to timesheet linkage | Trial day 3 | A no-show shift surfaces as an exception |
| 11 | Exit test | Trial day 3 | CSV export works today, no support ticket |
Tests 1 to 3: what to check before you enter a credit card
Test 1: Does the price still work at your headcount in 12 months?
Per-user pricing is where janitorial companies get hurt, because a 6-hour-a-week part-timer usually costs the same seat as a full-time lead. Add turnover and you are paying for churn.
How to run it: take your current W-2 and 1099 count, add the people you expect to hire in a year, and calculate the annual bill. Then ask the vendor in writing what counts as a billable user: does a terminated cleaner free the seat immediately, and do office staff and inspectors need one?
Pass: you can state your 12-month cost as a single number without a sales call. Fail: "contact us for pricing," or a per-user rate with no cap you can plan around. Move on.
Test 2: Can your crew use it on the phone they actually own?
Your cleaners are not carrying company iPhones. A meaningful share are on older Android handsets with full storage, prepaid data, and no active app store login.
How to run it: before signing up, find the vendor's crew-side documentation or trial link and open it on the oldest phone in your office. Better yet, hand it to a cleaner and say nothing.
Pass: they reach tonight's shift in three taps, with no install, or the app is small and runs on a five-year-old device. Fail: iOS-only, a large download, or a login flow that needs an email address half your crew does not check.
Test 3: Do the crew screens exist in your crew's language?
Plenty of tools translate the marketing site and stop there. The screens that matter are the shift card, the checklist, and the clock-in button.
How to run it: switch the interface language and look specifically at the crew-facing views, not the admin dashboard.
Pass: the crew views are fully translated and the language is set per user, so your Spanish-speaking lead and your English-speaking supervisor each see their own. Fail: admin-only translation, or machine translation of a few buttons.
Tests 4 to 8: the trial-week tests that eliminate most tools
Test 4: Can you rebuild a route in under 90 seconds?
This is the reason you are buying drag-and-drop in the first place. Everything else is bookkeeping.
How to run it: load one real week. Then simulate a callout: one cleaner out for three consecutive nights covering two buildings. Reassign all six shifts to two different people. Time yourself with your phone.
Pass: under 90 seconds, and the replacements are notified without you retyping anything into a text message. Fail: you have to delete and recreate shifts, or open each night in a separate modal. A tool that makes you edit six shifts one at a time is a spreadsheet with rounded corners.
Test 5: What happens when you edit one night of a recurring series?
This is the single most common source of corrupted janitorial schedules, and almost nobody tests it before buying.
How to run it: create a Monday, Wednesday, Friday recurring shift running six months. Move next Wednesday's start time 30 minutes later. Then change the assigned cleaner for all future Fridays only. Finally, look back at last week to see whether history changed.
Pass: the tool asks whether you mean this occurrence or all future occurrences, and completed shifts in the past stay exactly as they were. Fail: the edit rewrites history, which quietly destroys the audit trail you would need in a wage dispute, or the only way to change anything is to delete the whole series and rebuild it.
Test 6: Does a 10 p.m. to 6 a.m. shift land in the right week?
Overnight work is normal in this industry and a surprising number of schedulers handle it badly.
How to run it: build a Friday 10:00 p.m. to 6:00 a.m. Saturday shift. Check three things: does it display as one block, does it show eight hours, and which workweek do those hours count toward?
Pass: one block, eight hours, and you can define when your workweek starts so the hours fall consistently. Fail: the shift splits into two, or the tool assumes a Sunday-to-Saturday week you cannot change. Under the FLSA, overtime is calculated on a fixed and regularly recurring 168-hour workweek that you define, so software that will not let you set it is a payroll problem waiting to happen.
Test 7: Does it stop you from booking one cleaner in two buildings at once?
Take your most compressed route: one cleaner, three small accounts, 6:00 p.m. to 10:30 p.m., 12 minutes of drive time between stops.
How to run it: build the route, then deliberately create an overlap. Schedule building A from 6:00 to 8:00 and building B from 7:30 to 9:30 for the same person.
Pass: the tool blocks or warns on the overlap, and ideally shows the person's whole night as one row so you can see the sequence. Fail: it accepts the overlap silently. You will find out from a client, not from the software.
Test 8: Does it warn you about overtime before you publish, not after?
Covering a callout is where unplanned overtime gets created, and it is created by a supervisor who cannot see a running weekly total.
How to run it: load a cleaner to 38 scheduled hours, then drag a 4-hour cover shift onto them.
Pass: the weekly total updates visibly and you get a warning that two of those hours cross 40. Fail: nothing happens. Illustrative math: at an assumed $18 base rate, those two hours carry a $9 per hour premium, so $18 extra on one cover. Do that twice a week across the year and it compounds into real money for a decision nobody consciously made.
Tests 9 to 11: verify these before you migrate your whole route list
Test 9: When you change a shift at 4 p.m., does the cleaner know by 4:05?
A schedule change that nobody receives is not a schedule change. It is a note to yourself.
How to run it: use a second phone as a test crew member. Reassign a shift starting in two hours and watch what arrives: SMS, email, push, or nothing at all.
Pass: the notification reaches the phone without the cleaner opening anything, and you can see in the admin view whether it was delivered or acknowledged. Fail: the only signal is a badge inside a tool your crew opens once a week.
Test 10: Does an unstarted shift show up as an exception?
Scheduling and time capture that live in two disconnected lists give you the worst of both. You still have to reconcile them by hand.
How to run it: schedule a shift, then let the start time pass without clocking in. Then clock in on a different shift from outside the building's geofence radius.
Pass: the missed start appears as a visible exception within roughly 15 minutes, clock-in is tied to the scheduled shift and location, and the resulting hours flow into a report. Fail: you have to notice the gap yourself by comparing two screens.
One honest caveat while you test this: most browser-based systems capture location at clock-in and clock-out only. They do not track a cleaner's movement between those two points, and they generally cannot detect a spoofed GPS signal. Treat geofencing as arrival and departure evidence, not surveillance, and set client expectations the same way.
Test 11: Can you get your data out today, by yourself?
Run this before you import 40 locations, not after. Data portability is the cheapest insurance in software procurement.
How to run it: during the trial, export schedules, time records and your location list to CSV. Open the files. Check that they contain building names, dates, assigned people, and clock times you could hand to a payroll clerk.
Pass: self-service CSV export on the plan you are actually buying. Fail: export gated behind a higher tier, or a support ticket with a two-day turnaround. Also ask what bulk import exists: many tools import locations but not people or clients, and knowing that now saves you a weekend later.
How much does bad scheduling actually cost per year?
Here is worked arithmetic on an illustrative company. Every figure below is an assumption you should replace with your own.
Assumptions: 18 cleaners, 34 accounts, 5 callouts per week. Rebuilding coverage by phone and spreadsheet takes 12 minutes per callout; with a working drag-and-drop board it takes 3 minutes. Supervisor loaded cost is $30 per hour. Two hours of unintended overtime per week slip through at an assumed $18 base rate.
- Rebuild time saved: 5 callouts x 9 minutes = 45 minutes per week, or about 39 hours a year. At $30 per hour that is roughly $1,170.
- Avoidable overtime: 2 hours per week x $9 premium = $18 per week, about $936 a year.
- Illustrative total: roughly $2,100 a year, before you count a single missed clean or a single client complaint.
That is the number to hold against a subscription price. Note what it does not include: the account you lose because two missed Thursdays in a quarter turned a renewal conversation into a rebid.
Printable evaluation checklist: 11 tests, one page
- 1. Wrote down the full 12-month cost at my projected headcount. Confirmed in writing what counts as a billable user.
- 2. Opened the crew view on the oldest Android phone I could find. No install required, three taps to tonight's shift.
- 3. Switched the interface language and checked the shift card and clock-in screen, not just the admin dashboard.
- 4. Reassigned three nights across two buildings in under 90 seconds. Replacements notified automatically.
- 5. Edited one occurrence of a six-month recurring series. Tool asked "this or all future." Past shifts unchanged.
- 6. Built a 10 p.m. to 6 a.m. shift. One block, eight hours, workweek start configurable.
- 7. Created a deliberate overlap between two buildings for one cleaner. Got a warning or a block.
- 8. Dragged a 4-hour cover onto someone at 38 hours. Saw the running weekly total and an overtime flag.
- 9. Changed a shift two hours before start from a test account. Notification landed on the phone without opening the tool.
- 10. Let a shift start time pass with no clock-in. Exception appeared. Tested a clock-in outside the geofence radius.
- 11. Exported schedules, time records and locations to CSV myself, on the plan I intend to buy.
Frequently asked questions
At what point is a spreadsheet no longer good enough for janitorial scheduling?
The practical break point is not headcount, it is change frequency. A common operational pattern: once you are handling more than two or three schedule changes a week, or running more than about eight cleaners across multiple buildings, the reconciliation between your spreadsheet, your texts and your timesheets costs more supervisor time than software does.
How far in advance should I publish cleaning schedules?
Two weeks is a workable default for recurring janitorial routes, since the work repeats and most changes are exceptions rather than new builds. Publish further out for day porters and anyone whose hours vary week to week. Also check your state and city predictive scheduling rules, because several jurisdictions impose advance-notice requirements on certain employers.
Can drag-and-drop scheduling tools handle subcontractors and 1099 crews?
Technically yes, but two things bite. First, subcontractors usually consume a paid seat just like an employee, which changes your cost math on a per-user plan. Second, assigning specific shifts and enforcing clock-in windows can weigh against independent contractor classification. Talk to your employment attorney before you schedule 1099 crews the same way you schedule staff.
What geofence radius should I set for cleaning clock-ins?
A radius somewhere around 100 to 200 meters works for most standalone buildings. Tighten it for a small suite where the parking lot is close, and widen it for hospital campuses, warehouses or strip centers where GPS drifts indoors. Set it per location rather than globally, then review the first two weeks of failed clock-in attempts and adjust.
Do I need my scheduling software to integrate directly with payroll?
Usually not at first. A clean CSV export of approved hours by person and pay period covers most companies under 50 cleaners, and it keeps you from paying for an integration tier you do not need. Push for a direct integration when manual entry starts consuming more than an hour or two per pay run.
Where CleanTrack360 fits
CleanTrack360 was built for this specific workflow: drag-and-drop scheduling with recurring shifts and work orders, geofenced GPS clock-in and clock-out that runs in the phone browser at a default 150 m radius you can configure per location, quality inspections with photo evidence and automatic scoring, and reports with CSV export. The interface runs in English, Spanish and Portuguese, which matters for test 3. Plans are priced per plan rather than per user: Starter at $99 a month for up to 5 team members, Pro at $199 for up to 20, and Business at $249 for up to 50. There is a 14-day free trial with no credit card, which is enough time to run all eleven tests.
Two things to know before you test us against this list. There is no published mobile app yet, so crews work in the phone browser today while the native app is in development, and location is captured at clock-in and clock-out only rather than continuously. Bulk CSV import covers locations, not team members or clients. Run tests 2, 10 and 11 on us specifically, because those are where the honest answer is more useful to you than a feature list.