Window CleaningJobberSchedulingAutomation

Window Cleaning Automation and Scheduling, Built on Top of Jobber

Jobber holds your customers, jobs and invoices well. What it does not do is plan a multi-van round: which van covers which streets, whether each van has a full day, what happens to the houses you could not get into, and where a new customer should slot in. That is the layer I build.

Who is this for?

Window cleaning companies with two or more vans that run on Jobber, or are moving to it. With one van, the owner holds the round in their head and Jobber's calendar is enough. Somewhere around the second or third van that stops working. The owner spends every evening building tomorrow's worklists by hand, vans cross each other's patches, and the houses nobody could get into quietly drop off the plan.

If that sounds familiar, the problem is not Jobber. Jobber is a good system of record. It was simply never designed to plan a geographic round across eight vans and an 8-week cycle of 4-weekly and 8-weekly customers. That planning layer is what I build, on the Jobber API, so you get the control without switching software.

What do I build for window cleaning companies?

A planning and operations layer that sits on top of Jobber. Every piece below exists in a live system I built for an 8-van window cleaning company. You can have all of it or only the parts you need.

Vans and territories

Each van owns a set of postcodes, or an area drawn on a map. Every visit lands on the right van automatically. How it works.

A calendar that fits a round

One column per van, colour by van or by status, every visit's full postcode on the card, and drag-and-drop rescheduling. Why Jobber's own calendar struggles here.

Daily targets and bonus work

Work measured in points (an all-around clean is 1, a front-only is 0.5), a progress bar with minimum and bonus lines, and top-up when a van will finish short. The capacity model.

Missed visits that never go missing

Miss Today and Miss This Cycle buttons with reasons, a 17:30 run that moves anything left over, and a report of what was skipped and why. The missed-visit system.

Route order and Google Maps

Each day ordered as a round trip from the yard, with driving time, mileage and Google Maps links split into the nine stops Maps allows per link.

Lead intake into Jobber

One quote flow for every channel, including quotes taken at the door by the crew, landing in Jobber as real quotes with the first clean booked on the round. Lead intake.

A simple staff app

Cleaners see today's round and nothing else: stop order, job type, four outcome buttons, and their progress against target. Location is recorded at every button press.

An AI assistant with a human on the trigger

Ask in plain words to move a visit, top up a van or change a territory. It shows exactly what it will do and waits for you to confirm. How the assistant works.

A real example: an 8-van company in South Wales

The company: 8 vans, around 15 staff, 4-weekly and 8-weekly residential customers, and roughly 800 new leads a month from canvassers, partner companies, the crews themselves and the website.

Before: customers lived in Squeegee. The owner built every van's worklist by hand each day from whoever was due or nearly due. Leads arrived through WhatsApp, Airtable forms, Facebook and spreadsheets from canvassers, and each one was typed in manually.

What changed: the company moved to Jobber for its API, and I built the planning layer on top of it: van territories by postcode and map area, a van-per-column calendar, capacity targets in points, top-up ordered by distance from where the van is standing, missed-visit handling with a 17:30 roll-over, a door-step quote flow that books the first clean on the round, a staff app, a daily cash total and an AI assistant that proposes changes for a human to confirm.

Read the full case study, including the problems that only showed up on launch day and how they were fixed.

The rules every window cleaning scheduler should follow

These are the design rules that came out of building a scheduler for a real round. They are worth holding any system to, whether I build it or not.

  1. The van is the scheduling unit, not the person. Crews swap vans on the morning. Work belongs to Van 3 and its streets; people are mapped onto vans separately.
  2. Move work to the next day the round is genuinely back in that postcode, not simply to tomorrow. A van twenty miles away is not a slot.
  3. Count capacity, not jobs. Thirty front-only cleans and thirty all-around cleans are very different days.
  4. Every missed house needs a reason and a new date. Nothing is allowed to sit on a day that has already finished.
  5. Jobber stays the record. Every change is written back, and a change made in Jobber shows up in the planning layer within seconds.
  6. Automation proposes, people approve, at least until the rules have earned trust on real days.

How does it connect to Jobber?

Through Jobber's official GraphQL API, using an OAuth connection that a Jobber admin approves once. Your data stays in your Jobber account. The planning layer keeps its own working copy of each day so phones load quickly and the crew can still see their round if Jobber is slow, and that copy is kept honest three ways: Jobber sends a webhook the moment something changes, every change made in the app updates it immediately, and an hourly check catches anything missed.

This matters more than it sounds. Reading a whole round straight out of Jobber every time a cleaner opens their phone is exactly what overloads the API on a busy morning. Designing for that from the start is the difference between a demo and a system a crew relies on at 7am.

Do you work with UK and US window cleaners?

Yes, both. The system described here runs for a UK company, so it speaks UK rounds: postcodes and postcode sectors, 4-weekly and 8-weekly cycles, front-only and all-around cleans, backs added as extra work. The same model works with US zip codes and routes. I work remotely from Pakistan (UTC+5), which overlaps the UK working day and early mornings in the US.

If you are moving off Squeegee or another UK window cleaning system, see the Squeegee to Jobber migration guide.

Window cleaning guides

Tell me how your round works

Thirty minutes on a call: how many vans, how your territories work today, where the day goes wrong. You leave with an honest view of what is worth automating on top of Jobber, whether or not you hire me.

Book a Free 30-Min Call

Frequently asked questions

Do I have to stop using Jobber?

No. Jobber stays the system of record for customers, jobs, quotes and invoices. The scheduling and automation layer reads from Jobber and writes every change back through the official API, so your office can keep using Jobber exactly as before.

How many vans do I need before this is worth it?

It usually starts paying off at two or three vans, when the owner can no longer hold the whole round in their head and daily worklists are being built by hand. With one van, Jobber on its own is normally enough.

What does custom window cleaning scheduling cost?

Most builds land between $3,000 and $10,000 as a one-time project, depending on how many pieces you need. There is no per-van or per-user fee, because you own what is built. Ongoing hosting is usually a small monthly cost paid directly to the provider.

Does it work for UK window cleaning rounds?

Yes. The live system was built for a UK window cleaning company, so it handles postcodes and postcode sectors, 4-weekly and 8-weekly cycles, front-only and all-around cleans, and backs added as extra work.

Can I start with one piece, like missed-visit handling?

Yes. Each part stands on its own on top of Jobber. Many companies start with the piece that hurts most, often missed visits or van territories, and add the rest once it has proven itself on real days.