It is 6:15 on a Tuesday night. One cleaner texts that her car will not start, another is already at the wrong building because you moved him last week and forgot to tell him, and the property manager at your best account just emailed asking why the third-floor restrooms were skipped on Friday.
None of that is a labor problem. It is a scheduling problem that only looks like a labor problem at 6:15 on a Tuesday.
Recurring shifts are the backbone of commercial janitorial work. Get the pattern right and the same crew shows up to the same buildings, in the same order, week after week, and your labor cost per site becomes predictable enough to price against. Get it wrong and you spend every evening rebuilding a schedule that should have been built once, in advance, and left alone.
This is the process for building one that holds.
What You Need Before You Build a Single Shift
Most bad schedules are bad because somebody started dragging names onto a calendar before they knew how many hours the building actually needs. Gather these five inputs first.
- Cleanable square footage, not gross: Subtract elevator shafts, mechanical rooms, stairwells you do not service and any tenant space excluded from your scope. On a typical office building this lands somewhere near 85 to 92 percent of gross.
- The scope of work, broken into frequencies: Nightly tasks, weekly tasks, monthly tasks and quarterly or periodic work such as machine scrubbing and carpet extraction. These do not all belong on the same recurring shift.
- Your budgeted labor hours per service night: Whatever you priced the job at. If you do not know this number, you cannot schedule the account, you can only guess at it.
- The building access window: Alarm codes, badge hours, lobby lockup time, whether the tenant is still working at 7:00 pm, and elevator restrictions. This window is a hard constraint, not a preference.
- Real employee availability: Second jobs, school pickup, transportation, which sites each person is keyed and trained for. Write it down. Do not carry it in your head.
Step 1: Turn Scope Into Hours Before You Turn Hours Into Shifts
Workloading is the step operators skip most often, and it is the step everything else depends on. The goal is a single number: how many labor hours this building consumes per service night.
ISSA publishes task-level cleaning times (widely referenced as the ISSA Cleaning Times or the 612 times) that give you a defensible starting figure for individual tasks such as vacuuming, restroom fixture cleaning and trash collection. APPA's Custodial Staffing Guidelines approach it differently, defining five levels of cleanliness from Level 1, Orderly Spotlessness, to Level 5, Unkempt Neglect, with staffing implications for each. Most Class A and Class B office contracts are written to something close to APPA Level 2, Ordinary Tidiness.
Whichever reference you use, validate it against your own crews with a stopwatch on a real building. Published times assume trained staff, working equipment and clear floors. Your Tuesday reality may differ.
Here is the arithmetic on a concrete building: a 48,000 gross square foot Class B office, five nights per week, standard nightly scope.
| Input | Where it comes from | Example figure |
|---|---|---|
| Gross square footage | Lease plan or walkthrough | 48,000 sq ft |
| Cleanable square footage | Gross minus excluded space | 43,200 sq ft (90%) |
| Blended production rate | ISSA times or your own time study | 3,200 sq ft per labor hour |
| Base nightly cleaning hours | Cleanable sq ft 梅 production rate | 13.5 hours |
| Setup, closeout, trash haul | Fixed add-on per shift | 0.5 hours |
| Total budgeted hours per night | Sum of the above | 14.0 hours |
| Total budgeted hours per week | Nightly hours 脳 service nights | 70.0 hours |
Fourteen hours per night is the number you schedule against. Everything from here is a question of how you cut it up.
Step 2: Choose a Shift Shape, Not Just a Headcount
Fourteen hours can be four people for 3.5 hours, three people for roughly 4.7 hours, or two people for 7 hours. These are not interchangeable. Each one changes your recruiting pool, your supervision load and your risk when someone calls out.
| Shift shape | Works well when | The cost |
|---|---|---|
| Many short shifts (3 to 4 hrs) | Tight access window, large open floors, team cleaning by specialty | Hardest to staff, highest turnover, more people to train and key |
| Mid-length shifts (5 to 6 hrs) | Multi-floor buildings, zone cleaning, one site per person per night | Requires a building big enough to absorb the hours |
| Routes of 2 to 3 small sites (7 to 8 hrs) | Small offices under 15,000 sq ft clustered within a short drive | Drive time is unbillable and must be built into the labor cost |
| Day porter (4 to 8 hrs, daytime) | Lobbies, restrooms, conference turns, tenant-facing buildings | Different pay expectations and a different hiring profile |
In the 48,000 sq ft example, four people at 3.5 hours gives each cleaner only 17.5 hours per week. That is a part-time job nobody keeps. Which leads directly to the next step.
Step 3: Schedule Routes, Not Buildings
The single biggest improvement most operators can make to a recurring schedule is to stop scheduling one site at a time and start scheduling a person's whole night.
Take that same cleaner. Give her the 48,000 sq ft building from 6:00 pm to 9:30 pm, a 20 minute drive, and a 12,000 sq ft medical office suite from 9:50 pm to 12:50 am. That is 6.5 paid cleaning hours plus drive time, roughly 33 to 35 hours a week. Now you have a job someone will keep for three years instead of three months.
Build the route in this order:
- Cluster sites by geography first, then by access window. A building that must be finished by 10:00 pm anchors the route.
- Measure actual drive time at the hour the drive happens, not the midday estimate your map app gives you.
- Add a buffer of at least 10 minutes per hop for parking, alarm codes, elevator waits and supply loading.
- Decide who pays for drive time between sites and make sure your pricing reflects it. Check your state rules on compensable travel between worksites during the workday.
- Cap the route so total weekly hours stay under 40 unless you intend to pay overtime.
Step 4: Pick the Right Recurrence Pattern
Recurring does not mean identical. Match the pattern to what the contract actually says, and keep periodic work off the nightly grid.
| Pattern | Typical use | The trap |
|---|---|---|
| Nightly, Monday to Friday | Offices over roughly 25,000 sq ft, medical, high-traffic tenants | Holidays silently generate shifts nobody works |
| 3x per week (M/W/F) | Mid-size professional offices, hybrid-schedule tenants | Trash and restrooms need heavier day-of scope than a nightly account |
| 2x per week (T/Th) | Small suites, low-headcount tenants | Clients assume Monday coverage unless you state the days in writing |
| Weekly | Warehouses, offices under about 5,000 sq ft | One callout equals a missed week, not a missed night |
| Monthly or quarterly work orders | Machine scrub, burnish, carpet extraction, high dusting, window interiors | Burying periodic work inside a nightly shift so it never gets done |
| Day porter, daily | Class A lobbies, multi-tenant restroom checks | Scope creep from tenant requests that were never priced |
Periodic work deserves its own scheduled shift with its own hours. If quarterly floor care lives as a line item in the nightly scope, it will be skipped every quarter until the client notices, and the client always notices.
Step 5: Build the Exception Calendar Before the Season Starts
A recurring schedule is only as good as its list of exceptions. Sit down once, in December or January, and map the entire year.
Annual Exception Calendar Checklist
- Federal holidays, marked per account as serviced, skipped or billed-and-skipped
- Client-specific closures: law firms around the holidays, schools on breaks, accounting clients during and after tax season
- Building events that block access: fire drills, elevator modernization, floor renovations
- Your own PTO blackout periods and expected vacation windows
- Scheduled periodic work: strip and wax, carpet extraction, high dusting, exterior glass
- Contract anniversary dates, so scope and price reviews land before renewal
- Which accounts require written notice before a service date changes, and how many days
Skipped holidays are a billing question as much as a scheduling one. Read each contract. Some are priced on a fixed monthly fee with holidays absorbed, others on a per-service basis where a skipped night should be credited. Being wrong in the client's favor costs you money. Being wrong in your favor costs you the account.
Step 6: Assign Coverage for the Shifts You Know Will Break
Callouts are not an anomaly. They are a recurring, predictable feature of a workforce with high turnover and often long commutes. Build for them.
- Name a primary and a named backup on every recurring shift. "Somebody will cover it" is not a plan. A name on the schedule is.
- Cross-key and cross-train at least two people per site. If only one person can get into a building, you do not have a schedule, you have a hostage situation.
- Keep a float cleaner if your volume supports it. A floater at 25 to 30 hours a week who knows six buildings is worth more than the overtime you would otherwise pay.
- Write down the reduced scope. Decide in advance what gets done when a two-person shift runs with one person: trash and restrooms always, vacuuming on a rotation, detail dusting deferred. Give supervisors that list so they are not improvising at 8:00 pm.
Step 7: Publish It, and Then Stop Changing It
Publish recurring schedules at least 14 days ahead. Two weeks gives cleaners time to arrange childcare and second jobs, and it gives you time to fill gaps without paying premium hours.
A few cities have fair workweek or predictive scheduling ordinances with advance-notice and change-pay requirements. Most of these target retail, food service and hospitality rather than janitorial, but coverage varies by jurisdiction and gets amended. Check your city and state rules rather than assuming janitorial is exempt.
Once published, treat changes as exceptions that require a reason and a notification, not as normal operating procedure. Every unannounced change trains your crew to stop trusting the schedule, and once they stop trusting it they start calling you instead of reading it.
Troubleshooting the Five Failures That Show Up Most
The schedule says 14 hours, the timesheets say 17
This is schedule drift, and it usually starts small: crews clock in 10 minutes early, leave 10 minutes late, and nobody notices until the account's gross margin drops. Compare scheduled hours to actual clocked hours weekly, per site, and investigate any site running more than about 5 percent over budget two weeks in a row.
Overtime appears without anyone approving it
Almost always caused by scheduling per account instead of per person. A cleaner picking up two extra covers at a second site crosses 40 hours without anyone doing the math. Run a per-employee weekly hour total before you publish, not after payroll closes.
One building keeps failing inspections
Before you retrain the cleaner, recheck the workloading. A building that was priced at 4 hours but genuinely needs 5.5 will fail inspections forever no matter who works it. Time the job yourself on a normal night and compare it to what you sold.
Zombie shifts keep generating
A client reduces from five nights to three, or cancels a floor, and the recurring rule never gets updated. You keep sending labor to work that is no longer sold. Every scope change should trigger a same-day schedule edit, and someone should own that step by name.
Nobody knows who was actually in the building
Paper sign-in sheets and group texts do not survive a client dispute. When a property manager asks who cleaned the fourth floor last Thursday, you need a timestamped record tied to the site, not a memory. Clock-in data that is captured at the location is the cheapest insurance in this business.
How Often to Review a Recurring Schedule
Recurring schedules decay quietly. Buildings change tenants, crews change lives, and scope creeps. Put these reviews on a calendar and keep them.
| Review | Frequency | What you check |
|---|---|---|
| Coverage confirmation | Daily, by 4:00 pm | Tonight's shifts have a body assigned; callouts have a named replacement |
| Scheduled vs actual hours | Weekly | Variance by site and by employee; anyone approaching 40 hours |
| Site profitability check | Monthly | Actual labor hours against the hours you priced; supply usage per site |
| Scope and frequency audit | Quarterly | Does the recurring pattern still match the signed scope? Is periodic work getting done? |
| Route rebuild | Every 6 months, or after any account win or loss | Drive times, cluster logic, whether any route has drifted past 8 hours |
| Full workload re-study | Annually, and at contract renewal | Production rates against current crews and current building conditions |
The quarterly scope audit is the one operators skip and regret. Tenants move out, a floor goes dark, a conference center gets added, and the schedule you built 18 months ago is now servicing a building that no longer exists in that shape.
How CleanTrack360 Handles the Mechanical Part
Everything above is the thinking. The mechanical part, generating the same shifts every week, confirming somebody actually arrived and reconciling scheduled hours against clocked hours, is what CleanTrack360 is built to carry. You set up recurring shifts with drag-and-drop scheduling, add one-off work orders for periodic floor care on top of the nightly grid, and load your sites in bulk with CSV import instead of typing them in one at a time. Geofenced GPS clock-in and clock-out runs in the crew's phone browser with no app to install, using a default 150 meter radius that you can adjust per location. Location is captured at clock-in and clock-out, which gives you the timestamped arrival record you need when a client asks who was in the building on Thursday. Reports export to CSV so your weekly scheduled-versus-actual review takes minutes rather than an evening with a spreadsheet.
Clients get a browser-based dashboard showing their schedule, inspection reports and service requests, which removes most of the "were you here last night?" emails. Plans are Starter at $99 per month for up to 5 team members, Pro at $199 for up to 20, and Business at $249 for up to 50, priced per plan rather than per user. There is a 14-day free trial and no credit card required, which is enough time to load one route and see whether the scheduled hours match the timesheets.