---
name: house_cleaning_business_operations
description: "Run a recurring house cleaning business: home intake that records access, pets, and priorities before the first visit, a per home checklist built from that intake instead of a generic room list, key and alarm code handling with a signed sign out record, recurring schedule changes absorbed without breaking other clients, chemical safety that follows OSHA and CDC guidance, and quality check follow ups that catch a slipping standard before the client cancels. Use when starting or running a residential cleaning service, doing a first walkthrough or intake, building a client checklist, logging client keys or codes, rescheduling a recurring clean, pricing a visit, or following up after a bad clean."
---

# House Cleaning Business Operations

## Purpose

Run the business as five linked records, not as memory in one person's head: a home intake that is finished before the first visit, a per home checklist built from that intake, a key and code register with a sign out line for every use, a recurring schedule that can absorb a change without breaking the rest of the day, and a quality log that shows a home slipping while there is still time to save it. Booking software takes the reservation and prints a generic room list. It does not prove who holds a client's key tonight, tell a new cleaner that the dog goes in the laundry room, or warn you that a home has scored low twice in a row. This skill does.

## Workflow

### 1. Finish the home intake before the first visit

No first visit happens on a half filled intake. The intake is the source every later record copies from, so gaps here turn into mistakes in the home.

- Record access in full: how the team gets in (key, lockbox, garage code, alarm code, client home), where a key or lockbox lives, the alarm arm and disarm steps in the client's own order, what to lock and arm on the way out, and a tested phone number for access trouble. Test the code or lockbox on the walkthrough if the client agrees. Never learn access on the morning of the clean.
- Record pets as working instructions, not as a note that pets exist: species and name, where the pet stays during the clean, doors or gates that must stay shut, any pet that is never to be let out, and what to do if a pet gets loose. Put the pet line at the top of the visit checklist, before any room work.
- Record people and priorities: who is usually home, rooms that are off limits, the client's top three priorities in their words, surfaces that need special care (stone, wood, antiques, screens), products the client bans, allergies or sensitivities in the home, laundry or linen instructions, trash and recycling handling, and where cleaning supplies are kept if the client supplies them.
- Set the starting point honestly. A recurring clean maintains a home that is already at baseline. A home with built up grime, neglected grout, blinds, window tracks, or inside appliance work needs a first deep clean to reach baseline, or the recurring visits become catch up visits and never hold. Say this at intake, price the two visits differently, and write which one was sold.
- Close the intake with the service terms in writing: cadence (weekly, biweekly, or monthly), visit window, price and what moves it, skip and reschedule terms from step 4, what happens on a lockout, and how the client raises a problem. Both sides keep a copy.

### 2. Build the checklist per home, in visit order

The checklist is the intake translated into the order a cleaner walks the home. A generic room list that fits every home fits no home well.

- Write one checklist per home with four layers: entry tasks (disarm, pet secured, supplies out), room tasks in walking order, home specific tasks copied from the intake (priorities, special surfaces, banned products, off limits rooms marked as do not enter), and exit tasks (trash out, pet back to normal access, alarm armed, doors locked, key returned to its pouch).
- Keep each line checkable by sight, smell, or touch. Write "wipe stovetop, no grease film on a fingertip" instead of "clean kitchen well". ISSA's Clean Standard uses the same idea at facility scale: inspect the result with sight, smell, and touch, and use inspection results to fix the process, not just to grade the cleaner.
- Mark the rotation slot. Recurring visits maintain daily use surfaces. Put one rotating deep task on each visit (baseboards in one room, blinds, window tracks, inside one appliance, vent covers) so buildup never needs a rescue clean. The rotation lives on the checklist, so it happens even when a substitute cleaner covers the home.
- Version the checklist. When a client changes a priority, a pet arrives, or a room goes off limits, edit the checklist that day, note the date and what changed, and retire the old version. A cleaner working from an old checklist will do old work correctly and still disappoint the client.
- Keep the chemical column on the checklist: which product for which surface in this home, and which products never enter this home. That column is filled from step 5, not from habit.

### 3. Run keys and codes on a register, with a sign out for every use

A client's key is the business's biggest trust risk and its easiest record to keep. If the register cannot say where every key is tonight, the system has failed, whatever the day felt like.

- Keep a current inventory of every access item: physical keys, lockbox codes, garage codes, alarm codes, and fobs. Each entry carries a client code, never the client's address on a key tag, the item type, who it was issued to, and the date it was received. Janitorial risk guidance makes the same points: inventory every key and credential, record who received it, limit access to the places and times the work needs, and reconcile the register against active staff and active clients on a regular cycle.
- Prefer access the client can revoke: a lockbox the client controls, or a separate cleaner code on the alarm or door, over a loose physical key. Use individual codes where the system allows them, not one shared code for the whole team. A shared code cannot be traced to a person, and it cannot be retired when one person leaves.
- Sign out and sign in on the same record, every use: key ID, client code, holder name, time out, time in. Keys travel in a plain pouch, not loose in a bag with supplies, and they come back the same day. A key still out overnight is an incident, not a routine event.
- Audit the log with the bundled script at the end of any day keys moved:

    python3 scripts/cleaning_ops.py keylog --csv keylog.csv
    # K-022: STILL OUT, signed out 2026-11-02T08:15 to Ben
    # K-031: OVERNIGHT out 2026-11-02T13:05 in 2026-11-03T08:02, holder Ana
    # rows_checked: 3
    # problems: 2

  The script exits 1 when it finds a problem. Still out, overnight, and missing times are the three findings to clear before the next day starts.
- Handle loss the same hour it is known: holder reports it, office logs it, client is told the same day with the plan (rekey, new lockbox code, or new alarm code), and the register entry is closed with the outcome. Lost keys and compromised codes are reported immediately, never at the end of the week. When a cleaner leaves or changes routes, their keys come back and their codes are disabled the same day, and the register shows both.

### 4. Absorb schedule changes without breaking other clients

Recurring work lives or dies on the schedule holding. One client's holiday skip must not turn into three other clients getting a rushed clean.

- Hold the pattern first: each home keeps its day, its visit window, and its usual team where possible. Clients judge reliability by the pattern holding, not by any single visit.
- Take changes in this order, and stop at the first one that works: move within the same day inside the visit window, move to the nearest open slot on an adjacent route day with the same team, swap two clients who both agree, then offer a skip with the next visit held at its normal time. Never solve one change by shortening another client's visit without telling that client.
- Generate the changed run before confirming it, so the client hears dates, not promises:

    python3 scripts/cleaning_ops.py plan --client "River House" --start 2026-11-05 --frequency biweekly --visits 5 --skip 2026-12-03 --move 2026-12-17\>2026-12-18
    # client: River House
    # frequency: biweekly
    # visit: 2026-11-05
    # visit: 2026-11-19
    # visit: 2026-12-18
    # visit: 2026-12-31
    # SKIPPED 2026-12-03 (River House)
    # MOVED 2026-12-17 -> 2026-12-18 (River House)
    # total_visits: 4

  The script flags two visits landing on the same day as a conflict and exits 1. Fix the conflict on paper, not on the client's doorstep.
- Confirm every change to the client in writing with the new date and window, and update the checklist header and the key register plan the same day. A change that lives only in a text thread will be missed by a substitute cleaner.
- Protect the route math. A moved visit adds travel. Reprice or recheck a visit when its route changes, using your own loaded costs:

    python3 scripts/cleaning_ops.py visit --minutes 150 --travel-minutes 35 --cleaners 2 --hourly-rate 28 --supplies 6 --price 189
    # labor_cost: $140.00
    # travel_cost: $32.67
    # supplies_cost: $6.00
    # total_cost: $178.67
    # price: $189.00
    # margin: $10.33 (5.5%)

  Every number there is the operator's input. The script does the arithmetic. It sets no rates and quotes no market prices.

### 5. Clean safely, and clean before you disinfect

Chemical mistakes injure cleaners and damage homes. The rules below come from OSHA and CDC guidance, not from product marketing.

- Follow OSHA hazard communication for every product the team carries: keep a written program and a list of the hazardous chemicals in use, keep a safety data sheet for each one where cleaners can reach it during every shift, keep every container labeled including spray bottles filled from a concentrate, and train each cleaner at first assignment and again when a new chemical hazard is introduced. This is the federal standard at 29 CFR 1910.1200, and it applies to small teams too.
- Train the handling rules OSHA names for cleaning chemicals: know the hazard before use, know the correct dilution, use ventilation, wear the gloves and eye protection the label and safety data sheet call for, know the spill response, and wash hands after use and before eating or drinking.
- Never mix products. In particular, never mix bleach products with ammonia products. OSHA warns that dangerous gases can be released and can cause severe lung damage. One product per task, rinsed between products, no exceptions for a tough stain.
- Match effort to need, the way CDC frames it: in most situations, cleaning with soap and water removes most germs from surfaces, and disinfecting is likely not needed unless someone in the home is sick or a sick person recently visited. Clean a surface before sanitizing or disinfecting it, because dirt can keep the chemical from working. Clean high touch surfaces on every visit, and save disinfectant steps, with their full label contact time, for illness, client request, and the homes where the intake calls for them.
- Choose lower hazard products where they do the job. EPA maintains the Safer Choice product list, a searchable list of products that meet the Safer Choice Standard. Check a product there before adding it to the kit, and record client banned products on the intake so a substitute cleaner cannot bring one in by accident.
- Stop work on damage risk: cracked stone, loose veneer, peeling finish, or a surface the cleaner cannot identify. Note it on the visit record, tell the office, and let the client decide. A skipped surface can be cleaned next visit. A ruined one cannot be uncleaned.

### 6. Follow up on quality before the client has to complain

Clients rarely cancel over one bad clean. They cancel over a slide they mentioned once and saw again. The quality system exists to spot the slide first.

- Check quality on a rhythm, not on a feeling: a short client follow up after the first visit, after any visit with a new cleaner, and on a rotating sample of regular homes, plus an in person or photo based inspection for homes on the watch list. Score each check the same way, room by room against the home's own checklist, so scores can be compared visit to visit.
- Log every score and every client comment against the home, dated, with the cleaner or team named. A comment with no log entry will be forgotten. A log with no follow up call teaches the client that reporting does nothing.
- Run the slipping test with the bundled script whenever a home has three or more checks:

    python3 scripts/cleaning_ops.py quality --home "River House" --scores 96,94,95,88,84
    # home: River House
    # checks: 5
    # baseline_avg: 95.0
    # last_two_avg: 86.0
    # drop_from_baseline: 9.0
    # verdict: SAVE trigger a follow up call, a recheck visit, and a checklist review before the next regular clean

  The script exits 1 on a save verdict. The thresholds are flags the operator sets with --floor and --drop, not industry standards. The point is the trigger fires on numbers, while the home can still be saved, not on a cancellation notice.
- Work a save in this order: call the client and name what the scores show, ask what they are seeing, agree the two or three fixes that matter most, put those fixes at the top of the checklist in bold terms a covering cleaner cannot miss, do a recheck visit or inspection, and report the new score back to the client. Close the save only when a later check scores back near baseline.
- Feed repeat misses back into the system: same room slipping across many homes means the checklist line, the product, or the time allowed is wrong, not just the cleaner. Fix the line, the chemical column, or the visit length, and note the change. ISSA's Clean Standard treats inspection the same way: use results to change process, products, training, and frequency.

### Worked month: four biweekly homes, one change, one save

A two cleaner team runs four biweekly homes in November. Each home had an intake, a first deep clean where it needed one, and a per home checklist before its first recurring visit.

- Week 1: River House intake surfaces two facts a generic list would miss: a dog that must stay in the laundry room, and stone counters that take no acid based product. Both go on the checklist, the dog line first, the banned product in the chemical column. Its key lives in a client lockbox, so no physical key enters the register. Elm House hands over a physical key, logged as K-031 with a coded tag and no address.
- Week 2: Hill House asks to skip its second visit for travel and move the next one by a day. The office runs the plan script with that skip and move, confirms the four remaining dates to the client in writing, and checks the moved day's route with the visit script. Travel on the moved day rises, the margin stays positive, and no other home loses time.
- Week 3: River House quality checks read 96, 94, 95, then 88 and 84, with the client noting bathroom grout and mirrors twice. The quality script flags a save. The owner calls before the client has to, agrees grout and mirrors as the fixes, moves both to the top of the River House checklist, and adds a grout rotation slot.
- Week 4: the recheck at River House scores back in the mid 90s and the owner reports that score to the client, closing the save. The keylog audit for the month shows one finding: K-031 came back the morning after one Elm House visit instead of the same evening. The holder is retrained on same day return, the register notes the incident and the fix, and Elm House is told the same week, with its lockbox offer repeated. The month ends with no home unvisited by surprise, no key unaccounted for, and one client kept who was on the way out.

## Output Contract

Deliver, for each home and each run of the system:

- A completed intake record covering access, pets, people, priorities, special surfaces, banned products, starting point (deep clean first or straight to recurring), cadence, price, and change terms, signed off before the first visit.
- A per home checklist in visit order with entry, room, home specific, rotation, chemical, and exit sections, dated and versioned when it changes.
- A key and code register plus the day's sign out log, with any still out, overnight, or lost item named, the client notice given, and the fix recorded.
- A confirmed schedule for any changed home, generated with the plan script, with skips, moves, and conflicts shown, and the client confirmation in writing.
- A quality log per home with dated scores and comments, the slipping test result for homes with three or more checks, and for any save: the call made, the fixes agreed, the checklist change, and the recheck score that closed it.
- A visit cost check for any repriced or rerouted home, showing labor, travel, supplies, total cost, price, and margin from the operator's own inputs.

## Operating Rules

- No intake, no first visit. Access, pets, and priorities are learned at the walkthrough, not at the door on cleaning day.
- No address on a key tag, ever. Client codes identify keys. A lost coded key is a rekey problem. A lost labeled key is a security problem.
- No same day return, no clean tomorrow. A key still out overnight stops until the register is cleared and the client has been told.
- No shared alarm or door code when the system allows individual codes. Access traces to a person or it does not count as controlled.
- Never mix cleaning products, and never use a product a client has banned or a surface cannot take. When in doubt, stop, record, and ask.
- Never shorten one client's visit quietly to absorb another client's change. Move, swap with agreement, or skip with a held next visit, and confirm it in writing.
- A quality save is triggered by scores, not by a cancellation threat. By the time a client threatens to leave, the cheap save window has closed.
- Keep personal data to what the work needs: access instructions, pet and priority notes, and contact details for the service. Store codes and client details where only assigned staff can reach them, and remove access the day a cleaner leaves a route or the business.
- "Bonded and insured" is a phrase, not a check. Janitorial risk guidance is blunt on this point: what matters is whose property a bond or policy covers, and under what terms. Read the policy, keep the certificate current, and never promise a client coverage the paperwork does not show.
- This skill runs operations. It is not legal, insurance, or medical advice, and it does not replace the product label, the safety data sheet, or local rules on licensing, tax, and employment.
