Multi-Site Cleaning Crew Dispatch: Live Map and Schedules in One App
The operational model for dispatching cleaning crews across 30+ sites a day without WhatsApp chaos. Live Map, schedules, and bilingual notifications in one app.
TL;DR
- The default cleaning-crew dispatch stack is WhatsApp + a paper schedule + a phone tree. It does not scale past 15 sites a day.
- The right model is a Live Map showing every active crew with schedules, push notifications, and bilingual messaging in one app.
- For a 30-site dispatch day, this cuts dispatcher hours roughly in half and eliminates the “where is the crew” phone calls entirely.
- Klees runs this stack natively across EN / ES / PT crews. Pro at $48 + $9/user.
When a cleaning operator scales past 15 sites a day, the WhatsApp-plus-paper-schedule dispatch model breaks. The dispatcher is on the phone constantly: where is the crew, why didn’t they show, did they finish the medical office, is the after-hours bank cleaning still happening tonight. The foreman is texting back fragments. The owner finds out about a missed site from the customer on Friday.
I have run dispatch on operations of every size. The pattern is consistent. Past the 15-site threshold, the question stops being “do we need a real dispatch system” and becomes “what does the right one look like.” Here is the operating model that works for cleaning crews specifically, and how Klees runs it.
What multi-site cleaning dispatch actually requires
Cleaning dispatch differs from construction dispatch in five specific ways that drive the feature requirements:
- Sites are short and many. A typical day has 25-40 site visits across 10-20 crew members. Construction has 3-5 sites across 30-40 crew members. The dispatcher math is inverted.
- The schedule changes intra-day. Customer calls in a request for additional time, a crew loses someone to a sick day, a building closes early — the dispatcher has to re-route in real time.
- The crew is bilingual. Spanish-primary and Portuguese-primary workers are the workforce reality in most U.S. cleaning markets.
- The supervision is remote. Most cleaning happens evenings and overnights with no on-site supervisor. The dispatcher is operating blind unless the system shows them.
- Customer-level reporting is the billing source. Hours by customer per week is the invoice basis, not aggregated totals.
A dispatch system that doesn’t address all five fails at scale.
The Live Map: what the dispatcher actually needs to see
The single most-used screen in the cleaning dispatcher’s day is the Live Map. The dispatcher should be able to glance at one screen and answer:
- Who is at the right site right now?
- Who is en route?
- Who hasn’t clocked in to their next assignment?
- Who finished early and is available for a re-route?
- Where are the unfilled assignments for the rest of the day?
Klees Live Map shows every active crew member as a pin, color-coded by status (clocked in at site, en route, finished, unassigned). Clicking a pin opens the worker’s current shift and the dispatch action menu — assign new site, push notification, message thread.
This is the screen that ends the “where is the crew” phone calls. The dispatcher sees the answer before they would have picked up the phone.
For the deeper Live Map feature view see the Live Map article which covers the construction use case; the cleaning use case is similar but with higher site density per dispatcher.
Schedules that crew members actually read
The other half of dispatch is the forward schedule. Most cleaning operators publish the schedule in a Google Doc or spreadsheet that goes out Sunday night and is amended via WhatsApp by Wednesday. Crew members consult it inconsistently and the dispatcher fields calls all week confirming what the schedule already said.
The model that works:
- Schedule is published in-app, per-worker, in the worker’s primary language
- Each assignment shows the customer, site, scheduled start time, and customer-specific instructions
- Schedule changes push a notification to the affected workers automatically
- Workers can tap an assignment to start navigation to the site address
- The schedule view and the time-entry view live in the same app
When the schedule, the time clock, and the dispatch view are the same app, the worker stops asking “what’s my schedule” and stops calling the foreman to confirm. The dispatcher stops re-broadcasting changes manually.

Bilingual messaging — the dispatcher’s reality
A real dispatch shift involves dozens of two-way messages with workers across the bilingual workforce. The dispatcher writes in English. The workers read in their primary language. Workers reply in Spanish or Portuguese. The dispatcher reads in English.
This is not Google Translate copy-pasted into WhatsApp. It is two-way real-time translation built into the dispatch messaging thread. Klees handles this natively — the dispatcher and the worker each see the conversation in their own primary language, with the audit log preserving both the original message and the translated version.
The operational difference is enormous. A dispatcher who used to manage 10 crew members across a shift in WhatsApp can manage 25 in Klees. The bilingual layer accounts for most of the difference.
A typical 30-site dispatch day on Klees
Here is what a 30-site cleaning dispatch day looks like on Klees, for a 14-cleaner operation across 3 metro markets:
- 6:30 AM: Dispatcher opens the schedule view. Today’s 30 site assignments are loaded. Auto-routed schedule pushed to crews the night before.
- 7:00 AM: First crews arrive at morning sites. Clock-ins fire. Live Map populates green pins at each site.
- 9:15 AM: Customer A calls — needs an additional 90 minutes of work added to today’s visit. Dispatcher assigns an available crew member from the Live Map. Push notification to the worker in Spanish. Confirmed in 30 seconds.
- 11:00 AM: A cleaner calls in sick. Dispatcher sees their assignments on the Live Map, reassigns the three afternoon sites to two available crew members, each picks up one and a half. Notifications push automatically.
- 2:00 PM: A worker is running 25 minutes late to their next site. Live Map shows them still at the previous location. Dispatcher pushes a message in Portuguese asking for an ETA. Reply in 90 seconds.
- 6:00 PM: Evening cleaning crews start. Live Map shifts to the evening color palette. PinShot at clock-in keeps the audit log tight.
- 11:00 PM: Overnight commercial cleaning crews finishing up. Dispatcher reviews the day, exports customer-level hours for Friday invoicing.
Throughout the day, the dispatcher has made zero phone calls. Every interaction was in-app.
What this saves: real dispatcher hours
The operational savings, comparing a representative 30-site operation on WhatsApp + spreadsheet vs Klees:
| Dispatcher activity | Old stack (hrs/wk) | Klees (hrs/wk) |
|---|---|---|
| “Where is the crew?” calls | 8 | 0.5 |
| Schedule rebroadcast and confirmations | 6 | 0.5 |
| Bilingual translation during dispatch | 5 | 0 |
| Customer-level hours roll-up for invoicing | 4 | 0.5 |
| Resolving missed clock-ins | 3 | 1 |
| Total | 26 | 2.5 |
A roughly 23-hour weekly reduction in dispatcher time is what we see consistently across cleaning operators that migrate. That is the equivalent of half a dispatcher’s role freed up — for sales, customer success, or shift-leader coaching.
The owner’s view
The dispatcher’s savings are immediate. The owner’s view changes more slowly but more profoundly. With Live Map and integrated schedules:
- Customer disputes resolve faster because the audit trail is one click away
- Quoting new accounts gets more accurate because historical hours per customer are clean
- Hiring is easier because the bilingual UI is a real recruiting story
- The owner stops being the escalation point for missing-crew situations
This is the pattern we covered at length in the Alta Janitorial case study, where the same shift from WhatsApp-driven dispatch to Klees-driven dispatch was the operational unlock for scaling to five states.
Pricing — where dispatch lives in Klees
| Plan | Monthly | Live Map | Schedules | Bilingual messaging |
|---|---|---|---|---|
| Standard | $32 + $7/user | Basic | Yes | Yes |
| Pro | $48 + $9/user | Full + PinShot | Yes | Yes |
| Enterprise | $600 / 100 seats | Full + custom | Yes | Yes |
Pro is the right baseline for any cleaning operator dispatching 15+ sites a day. The full Live Map and PinShot bundle is the package that makes the dispatch model run.
For more on the cleaning operator playbook see the commercial cleaning article and the cleaning industry hub.
A note on data and customer privacy
A reasonable concern from cleaning customers: does my customer data show up to the wrong worker? Klees’ assignment model isolates customer details to the workers assigned to that customer. A cleaner who has never been assigned to Customer A does not see Customer A’s site list or special instructions. This matters most for healthcare and financial-services cleaning where customer privacy expectations are sharper. See the WHD data-record guidance for the federal baseline on timekeeping data privacy.
FAQ
How many sites per day can one dispatcher run on Klees?
We see dispatchers running 40-60 sites per day per dispatcher comfortably on Klees, versus 12-15 on WhatsApp-driven dispatch. The bilingual layer and the Live Map account for most of the lift.
Does the schedule integrate with the time clock?
Yes. The same app shows the schedule, fires the clock-in, runs PinShot, and writes to the audit log. No second tool.
What about customers who want to see the cleaning schedule?
Optional customer-facing read-only views are available on Pro and Enterprise. Useful for high-touch customer relationships where transparency improves retention.
How do dispatchers handle the messaging volume?
The dispatch thread view groups messages by worker and shows unread counts. A dispatcher running 25 workers typically has 30-50 messages a day, all manageable in the single thread view.
Does the bilingual translation in messages work both ways?
Yes. The dispatcher writes in English; the worker sees Spanish or Portuguese. The worker replies in their language; the dispatcher reads it in English. Both original and translated text are preserved in the audit log.
Dispatching 15+ cleaning sites a day on WhatsApp? Book a dispatch walkthrough or see how it works — we’ll demo on your real schedule.
Bilingual operations lead at Klees. 8 years managing construction and cleaning crews across Texas, Florida, and California. Specializes in EN/ES/PT workforce onboarding.
Connect on LinkedIn →Related reads
Post-Construction Cleanup Crews: Time Tracking Across Active Job Sites
How post-construction cleanup crews track hours across active GC sites without losing time, getting locked out, or fighting GCs over invoices.
Janitorial Geofence Setup for Night-Shift Cleaning Crews
How to set geofences for night-shift janitorial crews so PinShot, Live Map, and payroll all run clean — without false alerts or missed clock-ins.
Small Cleaning Business Time Tracking: From 3 to 30 Cleaners
How to set up time tracking for a small cleaning business and scale it from 3 to 30 cleaners without breaking payroll, customer reporting, or your sanity.