Routing & Scheduling
How to Route Pressure Washing Jobs for Capacity and Road Time
The short answer
Route jobs by constraints and complete economics, not call order alone. Build provisional zones from actual road time and completed-work data, offer the best truthful compatible windows, preserve customer commitments and schedule slack, and sequence confirmed stops around roads, access, crew, equipment, weather, breaks, and disposal. Track drive cost plus collected contribution per total crew-hour; proximity is helpful, not guaranteed profit.
Two schedules with the same booked revenue can produce different travel, overtime, cancellations, production, and collection. Travel can be one material difference, but it is not automatically the cause of a weak week. Route planning should reduce avoidable legs while preserving safe work, accurate scopes, customer agreements, crew limits, and service quality.
Compatible nearby work may share part of an inbound route, but it still uses selling, setup, production, payment, callback allowance, and capacity. Build a measured block rather than assuming the next address is nearly free.
What does "route density" actually mean for a pressure washing business?
Route density describes how tightly compatible completed work is grouped. Track completed stops or collected revenue per mile or drive-hour, then pair those proxies with collected contribution per total crew-hour. Revenue density alone can hide underpricing, long production, callbacks, or uncollected work.
It matters because drive time is a real, loaded cost that the customer never sees on the quote. Two crew members at a $55/hour loaded cost, sitting in a truck for a 50-minute round trip, burned about $46 before a single trigger was pulled. Do that four times a day and you've spent the better part of a job's profit on asphalt.
Shorter travel creates potential capacity. It becomes margin only after actual cost, completion, and collection are reconciled.
How do you know your density is bad?
You can spot low density on last week's calendar without any software. Pull it up and ask three questions:
- Did the truck cross the same highway twice in one day? That's a scattered day. The route doubled back because jobs were booked by call order, not by location.
- Did drive time exceed the route's modeled allowance? Compare it with total crew-hours, completed scopes, and collected contribution rather than a universal two-hour limit.
- Did two jobs in the same zip land in different weeks? That's the clearest sign. You paid for the same drive twice when one truck-roll could have covered both.
If you answered yes, audit routing alongside estimating, production, weather, equipment, and job mix. Schedule changes use owner time and can affect customers; test them rather than calling the fix free. See route density explained.
How do I calculate drive cost per job?
You can't manage density without putting a number on the driving. The math is short:
Drive cost per completed job = actual drive-hours × loaded travel cost per hour ÷ completed jobs
"Loaded crew hourly cost" is wages plus payroll burden plus a per-hour vehicle cost (fuel, insurance, maintenance) for everyone in the truck. Numbers below are illustrative - drop in your own - but watch what density does to the same $360 ticket:
| Scenario | Round trip | Drive cost | Drive cost as % of ticket |
|---|---|---|---|
| Isolated job across town | 50 min | $45.83 | 12.7% |
| Job in a zone day with 4 others | 50 min ÷ 5 | $9.17 | 2.5% |
| Fill-in job two doors from a booked stop | 6 min | $5.50 | 1.5% |
The table is a controlled illustration. Under its assumptions, allocated drive cost differs by $40.33. That is potential cost reduction, not guaranteed margin; production, selling, payment, callbacks, schedule displacement, and collection can reverse the result.
How to find your loaded crew hourly cost, step by step
Your loaded crew hourly cost is what the truck burns per hour whether it's washing or driving. Here's an example walkthrough with round numbers - swap in your own:
- Add up the hourly wages of everyone in the truck. Say your lead makes $22 and your helper makes $18. That's $40 an hour in wages.
- Add actual labor burden. Use current payroll taxes, workers' compensation, benefits, paid nonproduction time, and other employer cost from payroll/accounting records. The percentage varies; the example uses 18% only to demonstrate arithmetic.
- Add a per-hour vehicle cost. Fuel, insurance, maintenance, and tires on a loaded rig. Say $8 an hour for this example.
- Total it. $47 + $8 is $55 an hour. That's your loaded crew hourly cost.
Now every drive minute has a price tag: $55 ÷ 60 is about 92 cents a minute. A 50-minute round trip costs about $46 before anyone touches a wand. Write that per-minute number on a sticky note in the truck. Once you see driving in dollars, scattered days stop feeling free.
If vehicle cost is unknown, build it from fuel, maintenance, tires, insurance allocation, registration, depreciation or lease, financing, and expected utilization. Mark any placeholder prominently and do not rely on it for a binding floor until it is reconciled.
How do I build zone days?
Stop scheduling by who called first. Schedule by where the work is.
Draw your zones
Draw a small first set of zones from actual road time, traffic barriers, crew bases, job duration, equipment, access windows, and demand. Zip codes can be a label, but they do not prove travel time. Offer a compatible zone window before an arbitrary open cell; there is no universal number of zones or fixed weekday pattern.
Hold the day, fill the day
A zone day starts with confirmed work and explicit slack. Review accepted flexible-time quotes whose scopes, crew, equipment, access, and duration fit nearby. Offer Tuesday truthfully; do not silently assign it or imply the customer must take it. Incremental travel may be lower, but the added job still needs a complete cost and capacity check.
Let the close drive the route
When you quote, state real availability: “We currently have an opening in your area Tuesday.” If the customer prefers another time, compare it honestly. Do not assume timing is unimportant. WashRoute Pro's RouteFill can surface eligible accepted flexible-time quotes for owner review alongside an anchor; the owner still decides whom to contact and what to book.
What if the customer insists on a different day?
Offer the best compatible window first. If it does not meet the customer's access, urgency, or preference, calculate another window's travel and capacity effect. Price a special trip, offer the next area opening, or decline. One outlier may be fine or may break a tightly constrained day; the schedule decides.
Track offered and accepted windows, reasons for alternatives, cancellations, travel, and contribution. If the zone window rarely fits, revise the zone or availability rather than blaming customers. Claim a price benefit only when the route-specific cost model actually supports it.
The "book the block" math
Here is the principle to test: a compatible job near confirmed work may carry lower incremental travel than an isolated visit.
Say Tuesday's anchor is a $345 driveway and a second accepted scope is two doors away. The illustration assigns six incremental drive minutes and $5.50 in travel cost. The second job still has acquisition, setup, loaded labor, product, water, equipment, proof, payment, callback, and opportunity cost. Compare full expected contribution—not only travel.
| Anchor job | Block-fill job (same street) | |
|---|---|---|
| Ticket | $345 | $320 |
| Drive cost | $45.83 | $5.50 |
| On-site labor + chemicals | $120 | $115 |
| Rough contribution | $179 | $199 |
Under the table's limited assumptions, the fill-in contributes more. The result is not universal and should not justify an automatic discount. Nearby marketing also carries labor, permission, privacy, solicitation, messaging, and attribution requirements.
A block-fill routine to use where appropriate
Use a controlled routine only where channel, safety, permission, and customer commitments allow it:
- Review eligible accepted quotes or consented renewal candidates. Contact only through a permitted channel, identify the business, state the real opening, and honor opt-outs.
- Use a small coded offline batch only where allowed. Follow solicitation, private-property, HOA, litter, and mailbox rules; do not identify a customer without permission.
- Never leave active equipment, chemicals, a dwelling process, or the worksite unattended to prospect. The crew's first duty is safe contracted work.
- Record inbound interest lawfully. Qualify it as a new lead; a vague future comment is not an accepted anchor or permission for repeated contact.
- Quote every added scope from complete cost. Incremental travel may be low, but it is not zero and does not automatically support a discount.
Count the actual owner and crew minutes. Local acquisition is still acquisition work and must not displace safe production or contracted breaks.
How many jobs should you route into one day?
Route only the confirmed scopes the crew can finish safely inside labor rules, daylight, weather, access windows, equipment, travel, setup, breaks, disposal, documentation, and a variance buffer. There is no universal stop count or one-hour buffer. Derive both from actual duration distributions and service commitments.
Here's the math on why stop count matters so much. Say your crew works a 9-hour day and your average residential ticket runs $350 for about 1.5 hours on site. Watch what happens when the same day is scattered versus dense - numbers are examples, but the shape holds:
| Scattered day | Zone day | |
|---|---|---|
| Stops completed | 3 | 5 |
| Total drive time | 2.5 hours | 50 minutes |
| On-site hours | 5 | 7 |
| Revenue | $1,050 | $1,750 |
| Drive cost at $55/hr loaded | $137.50 | $45.83 |
Under the illustration's controlled assumptions, the zone day books $700 more revenue and estimates about $92 less drive cost. It does not prove five jobs will fit, collect, or preserve quality. Released hours become useful capacity only if compatible work exists and the schedule remains safe.
Set the stop count from phase-time distributions, crew hours, travel, access windows, breaks, weather, equipment, proof, and recovery slack. Increase capacity only after comparable days show it can be delivered without unsafe pace, overtime surprises, missed commitments, or degraded quality.
How do I handle weather without wrecking the route?
Weather suitability depends on the exact surface, product/equipment instructions, worker and public hazards, visibility, lightning, wind, temperature, moisture, freeze/heat, drainage, access, cure/dry requirements, and local restrictions. Define service-specific stop and reschedule rules from authoritative sources.
- Keep honest provisional windows where the customer has accepted flexibility; do not represent them as confirmed appointments.
- Preserve enough recovery capacity for the relevant season and account priorities.
- When a condition gate fails, identify every affected customer, crew, material, access, and downstream commitment.
- Offer truthful replacement windows and obtain each required confirmation; never move or bundle appointments silently.
- Recalculate travel and capacity after the change. Preserving a cluster is useful only when the new plan still fits every job and agreement.
Forecasts support planning but do not replace the site-time stop decision. Record why work proceeded, paused, or moved so future buffers improve.
How does routing change with the seasons?
Zones should change when actual road time, traffic barriers, crew bases, job mix/duration, demand, weather-safe windows, customer commitments, or regulations change. Review them on a stated schedule and after material events.
For each local season/month, compare:
- qualified inquiries, accepted work, cancellations, deferrals, and collected contribution by zone;
- actual drive time, production phase time, daylight/operating windows, overtime, and recovery use;
- weather and product/equipment stop conditions;
- customer access, tourism/school/HOA/commercial windows where relevant;
- water restrictions, freeze/heat/wind/lightning, runoff, and disposal constraints;
- crew availability, training, equipment, vehicle, and maintenance capacity.
Do not assign universal spring, summer, fall, or winter service rules. Concrete, people, products, vehicles, and properties all have constraints that a regional slogan cannot resolve. Build the seasonal route from local records and current authoritative limits.
What does a real routed week look like?
Build the representative week from actual accepted jobs rather than a fictional fifteen-stop success story. For each day, list confirmed scope, service window, phase-time range, road-time range, crew/equipment fit, access, stop conditions, required break, disposal/fill needs, proof/invoice work, and recovery slack.
Compare two feasible sequences with the same commitments. Record estimated and actual travel, total crew-hours, completion, on-time performance, overtime, callbacks, and collected contribution. If a nearby candidate is unaccepted, it remains outside the route forecast until the owner contacts the customer through a permitted channel and the customer accepts a compatible scope/window.
After the week, change one assumption: zone boundary, buffer, minimum, offered window, stop order, or capacity. The goal is not the most stops; it is a safe, fulfillable day that creates the strongest collected contribution and customer outcome from constrained resources.
What are the most common routing mistakes?
Call-order scheduling is one possible failure, but scope, capacity, access, weather, and customer promises can matter more. Audit these points:
- First call, first slot. Check travel and constraints before offering availability; the next open cell may or may not be the best serviceable window.
- Offering an unconstrained calendar. Lead with a small set of real compatible windows and let the customer choose; do not assume acceptance.
- Quoting far jobs like near jobs. If a job is 35 minutes out and isolated, the round-trip drive cost belongs in the quote. Skip it and the customer gets a discount you never approved.
- Breaking a dense day for one big ticket. A $600 job that shatters a five-stop zone day can net you less than the day it destroyed. Move it to its own day, or anchor a new zone with it.
- Rescheduling without rebuilding constraints. Moving a group may preserve density, but every customer must accept the new window and every job must still fit.
- Assuming local outreach is mandatory or free. Test it only where safe and lawful, with permission, attribution, and complete labor cost.
- Keeping unsupported zones. Build the count and boundaries from road time, job duration, demand, and customer windows; revise them from evidence.
Fix the first mistake and most of the rest follow. The calendar stops being a list of promises and starts being a route.
How does routing tie back to pricing?
Routing feeds pricing because expected travel belongs in the price floor. Compatible grouped work can lower allocated or incremental travel, but it does not lower every other cost or guarantee target margin. Update actual quote inputs rather than applying a blanket zone discount.
The floor uses a travel assumption, and a costbook can store the owner's current input. WashRoute Pro's Costbook does not measure actual drive cost or update it from the route. A distant $300 job can contribute less than a nearby $230 job under particular inputs. Price both complete scopes and reconcile collection and actual cost; do not decide from ticket or distance alone.
A truthful route-window promotion can be tested when measured incremental travel is lower. State eligibility, scope, real comparison price, conditions, and end date, and verify complete contribution before offering it. Travel is not zero. See reducing windshield time across the whole week.
How do you start routing this week?
You can draft a first zone model from a map and a representative job history. Treat it as a test:
- Plot your last 30–60 jobs on a map. Free map tools work fine. You're looking for the clusters you already serve without meaning to.
- Draw initial zones around real travel and service constraints. Do not force a fixed count, zip boundary, or ten-minute diameter.
- Offer provisional compatible windows. Weather reliability is local and uncertain; preserve flex rather than calling one weekday safe.
- Slot every unscheduled quote toward its zone day. Don't move jobs already promised - just stop making new scattered promises.
- Pick this week's anchors. One booked job per zone day is enough to start. The anchor justifies the truck-roll; everything else fills around it.
- Review eligible nearby demand without leaving the site unsafe. Use only permitted contact and distribution processes.
- After a representative window, review drive time, contribution, cancellations, service quality, and collection. Revise one assumption and retest.
That's it. No new gear, no new hires, no software required to start. Once the zones are drawn, RouteFill can sort mapped jobs from accepted quotes whose customers explicitly chose flexible timing by straight-line distance from a scheduled job, but it does not surface past customers or door-hanger streets, calculate the road route, contact customers, or confirm a stop automatically. Manual or software-assisted, the principle is the same. Book the block.
A route board that a new dispatcher can understand
The route should be readable by someone who did not sell the jobs. Put the day, zone, anchor stop, open windows, and exception notes in one view. Each job needs the customer, address, sold scope, expected duration, access constraint, water source, and the latest time you can arrive without breaking the promise. Keep a separate status for quoted, accepted, scheduled, customer-confirmed, and completed; an accepted quote is not a confirmed appointment.
At the start of the day, the lead should answer five questions without calling the owner:
- Which stops are fixed and which can move?
- What exact surfaces did the customer approve?
- Which property or plant needs protection?
- Where can the truck park and get water?
- What proof is required before the job is closed?
If the board cannot answer those questions, the routing problem is really a handoff problem. A shorter route does not fix a crew arriving without the scope.
How to handle a cancellation without destroying the day
Set schedule slack from observed duration variance, weather, crew rules, and service commitments; it may be one window or distributed buffers. When a customer cancels, review accepted flexible-time quotes whose scope and permissions fit. If none qualifies, use the time for approved work rather than promising a replacement the crew cannot deliver.
When rain or a broken machine affects the day, record the reason and move the whole cluster when possible. Send one honest update with the new window, then recheck each customer’s access notes. Do not mark a moved job “confirmed” until the customer accepts the replacement time. This distinction protects trust and keeps the route board truthful.
The Friday route scorecard
Review collected contribution per total crew-hour, drive minutes and cost per completed job, on-time-window performance, cancellations/reschedules, overtime, and callbacks. Revenue per drive-hour is a useful proxy but can hide low prices or long production. Compare like job mixes and a representative period.
Use the scorecard to make one change for next week: merge a zone that never fills, move a busy zone to a second day, add a minimum for isolated work, or reserve a larger flex window during storm season. Routing becomes a business system when the map changes from evidence, not preference.
The one-paragraph version
Reduce avoidable travel while preserving safe work and customer commitments. Build provisional zones from actual road time and service constraints, offer truthful compatible windows, keep schedule slack, and sequence confirmed stops around roads, access, crew, equipment, weather, breaks, and disposal. Nearby work may lower incremental travel but still needs a full cost and capacity check. Measure collected contribution per total crew-hour—not route density alone.
Separate nearby-work screening from road navigation
Operators often say “route optimization” when they want two different things: fewer windshield miles between booked jobs and a way to notice accepted work near an open slot. Treat them separately. First protect the customer commitments and realistic service times; then screen nearby flexible work that the owner can approve.
For each candidate, record straight-line distance, actual road estimate if you have one, surface and access notes, quote status, customer flexibility, and the reason you accepted or declined it. A map pin is not a promise that a truck can park there or that the customer wants that time.
Review the day after completion. Compare planned drive, actual drive, paid hours, late arrivals, and customer changes. Keep the rule that improved contribution and retire the one that only made the map look tidy.
Route the promise, not just the pin
Two addresses can be close on a map and still be poor neighbors on the schedule. A usable route record includes the promised arrival window, expected service duration, crew and equipment fit, water or access constraints, weather sensitivity, customer flexibility, and the travel estimate. Sort by geography only after those commitments are visible.
Use three kinds of time on the board:
- Fixed time: access, customer, property, or commercial-window constraints make the slot difficult to move.
- Preferred time: the customer has a preference but has approved a reasonable alternative.
- Flexible work: the customer explicitly accepted the work and agreed that the exact time can be confirmed later.
Do not label a customer flexible because the office has not scheduled them yet. Flexibility is a customer commitment, not a missing field.
Build the day backward from paid capacity
Start with crew paid hours, subtract realistic setup, breaks, fuel or fill stops, pack-out, and a weather or delay buffer. The remainder is service and drive capacity. Only then place work.
| Day input | Example question |
|---|---|
| Paid crew span | How many clock hours are available? |
| Non-job operating time | What loading, fill, break, and closeout time occurs regardless? |
| Required buffer | What delay can the day absorb without breaking the last promise? |
| Job duration | Is this based on the sold scope and normal crew, not owner speed? |
| Travel | Does the estimate reflect the time of day and vehicle reality? |
| Flexibility | Which customer actually approved movement? |
If the plan uses 100% of the remaining minutes, it is already late. Build enough slack to handle a slow water source, a gate issue, a longer walkthrough, or ordinary traffic.
A cancellation recovery sequence
When a stop cancels, do not blast every old lead.
- Protect the fixed commitments already on the route.
- Identify the actual open window, including travel and setup.
- Review accepted, unscheduled work whose customer approved flexible timing.
- Check crew, scope, equipment, value, straight-line proximity, and a real road estimate.
- Contact one or a small number of suitable customers with a concrete option.
- Place a proposed hold while confirming; schedule only after the customer agrees.
- If no safe fit exists, use the time for estimates, maintenance, proof review, or follow-up instead of forcing a bad stop.
WashRoute Pro's RouteFill supports the screening step for mapped jobs from accepted quotes whose customers chose flexible timing within its stated radius. It sorts by straight-line distance and presents an estimate for owner review. It is not turn-by-turn navigation, automatic road optimization, or automatic booking. The owner verifies the trip and confirms the exact time.
Measure route quality without fooling yourself
Track drive minutes per completed job, paid production hours as a share of paid crew hours, on-time starts, overtime, and revenue or contribution per route day. Also record customer-caused and company-caused reschedules. One dense high-ticket day can hide four loose days, so use weekly medians and zone comparisons.
The goal is not the shortest possible drive. It is the most reliable profitable day that keeps the sold promises. A route with ten fewer driving minutes but two broken arrival windows is not optimized.
Stress-test tomorrow before the crew sees it
Read the route in clock order and place a realistic earliest start and latest finish beside every stop. Include loading, first-drive time, setup, production, walkthrough, payment or closeout, pack-out, and travel to the next property. If the last job fits only when every earlier estimate is perfect, the day is already overbooked.
Next, test three disruptions: the first customer has a locked gate, the second job runs forty-five minutes long, and the middle stop cancels. For each one, identify who decides, who contacts the customer, what work can move, and how the crew receives the revision. A route plan that works only until the first surprise is a list, not an operating plan.
Protect fixed promises first. Move work only when the customer actually approved flexibility, the crew and equipment fit, and the new placement does not create a worse failure later in the day. Keep a visible buffer rather than filling every open minute. The buffer is what absorbs weak water, a longer walkthrough, traffic, or ordinary field questions.
At closeout, capture actual drive and service time. Review the largest miss, not every five-minute variance. If the same type of job repeatedly runs long, change its duration standard. If the schedule repeatedly crosses the territory, change the booking choices. If cancellations create unusable gaps, improve the accepted-flexibility record and nearby-work review.
The purpose of routing software is to make these decisions visible and hand the final plan to the field. It cannot turn an impossible set of customer promises into a reliable day. Capacity, scope, and customer agreement remain the inputs that matter.
Sources
- Google Maps guide to adding and reordering multiple stops (opens in a new tab)
- Google Maps Platform Route Optimization API documentation (opens in a new tab)
- Jobber official new-schedule route optimization guide (opens in a new tab)
- Housecall Pro official drive-time optimization guide and release-status note (opens in a new tab)
Frequently asked questions
- What is the cheapest job a pressure washing business can sell?
- There is no universal cheapest job. A compatible scope near confirmed work may have lower incremental travel, but it still uses selling, setup, loaded labor, product, water, equipment, payment, callback allowance, and capacity. Compare expected collected contribution with the next-best use of the window before accepting or discounting it.
- How do I cluster pressure washing jobs by area?
- Draw provisional zones from actual road time, traffic barriers, crew bases, job duration, equipment, access windows, and demand. Offer the best truthful compatible window near confirmed work, let the customer choose, and preserve slack. Review travel, contribution, cancellations, and service quality before changing boundaries.
- How much does drive time really cost per job?
- For a representative period, multiply actual drive-hours by loaded travel cost per hour—labor burden plus vehicle cost—then divide by completed jobs. Pair it with collected contribution per total crew-hour. Do not use a national dollar or ticket percentage; wages, vehicles, traffic, territories, services, and prices differ.
- Should I take a job that is far away if it pays well?
- Only after you account for round-trip drive cost in the quote. A high-ticket job 35 minutes out can clear less margin than a smaller job next to one you have already booked. If you take it, try to anchor a future zone day around it so the drive gets shared later.
- How does routing affect what I should charge?
- Expected travel is one input in the price floor. Compatible grouped work may lower allocated or incremental travel, but it does not reduce every cost or guarantee margin. Update the actual quote inputs and use any route-window promotion only when its complete contribution, terms, and capacity effect are understood.
- How many zones should I split my pressure washing service area into?
- There is no universal count or diameter. Use actual completed-stop, road-time, traffic, crew-base, duration, access-window, and demand data. Start with the smallest number that helps offer real compatible windows without hiding outliers, then revise after a representative measured period or operating change.
- How many pressure washing jobs can one crew do in a day?
- Derive capacity from measured duration by service and crew, including travel, setup, protection, production, breaks, disposal, documentation, weather, access, and variance. Do not use a universal three-to-five-stop rule or fixed buffer. Schedule to a defensible percentile and review overtime, misses, callbacks, and service quality.
- Does route density matter for a solo pressure washing operator?
- Yes. Travel consumes some of the solo operator’s limited capacity, so reducing avoidable legs may release time or shorten the day. Track whether compatible windows reduce actual drive time and improve collected contribution per total owner-hour without increasing cancellations, rushed work, or service failures.
Next step: check the method
See how an open block gets filled
See which flexible work actually qualifies and what the owner must approve before contacting the customer.
See RouteFill