Most small service businesses lose bookings in the same place: the gap between "I am interested" and "you are confirmed." For a cleaning company that gap is full of questions about size, condition, access and timing, and every round trip of messages is another chance for the customer to go quiet.

I have been thinking about this from the scheduling side, using a common case as the example: move in cleans in high rise condos.

Why condo move ins are a scheduling problem, not just a cleaning problem

A move in clean in a tower is constrained by things the cleaner does not control:

  • Service elevator windows. Many buildings require a booking, often in fixed blocks.
  • Concierge sign in. Some want names in advance, some want a certificate of insurance.
  • Key handover timing. The unit is usually empty for a short window between the previous tenant leaving and the new one arriving.
  • Parking. Visitor spots are limited and often time capped.

If the booking flow ignores those constraints, the job looks confirmed but fails on the day.

Model the constraints as data

A simple approach is to treat each building as a record with its own rules:

{ "building": "example tower", "service_elevator_required": true, "elevator_block_minutes": 120, "coi_required": true, "visitor_parking_minutes": 180 } 

Then the quote form only asks for what changes the plan: building, unit size, move in date, whether the unit is empty, and whether appliances need cleaning inside. Everything else is looked up.

Turn rules into checks before confirming

Before a booking is marked confirmed, run a few checks:

  1. Is there an elevator block that fits the estimated duration plus loading time?
  2. Is a COI needed, and has it been sent?
  3. Does the crew's previous job end early enough to make the start time with travel?
  4. Is parking covered for the whole job, or does the crew need a paid lot?

Each failed check becomes a task, not a surprise.

A real world example

Dense condo areas are where this pays off most. A team that handles move in cleaning in Mississauga City Centre, for example, deals with dozens of towers around Square One, each with slightly different elevator and access rules. Storing those rules once means the next booking in the same building is faster and far less likely to fail on the day.

Takeaway

For any on site service business, the booking is not done when the customer says yes. It is done when the constraints that can break the job have been checked. Put those constraints in data, check them automatically, and the "confirmed" status starts to mean something.