House diagram with pressure washing zones labelled by square footage: 1,800 sq ft roof soft wash, 2,400 sq ft house wash, 900 sq ft driveway and a 320 sq ft deck

The bundle is the business. Quote it that way.

A homeowner calls about the driveway. That is a $180 job and half a morning by the time you have driven, set up, and coiled the hose. The same house has 2,400 square feet of dirty siding, a north-facing roof full of gloeocapsa, and a deck the dog has not helped.

So build a “full exterior package” service that asks about all of it, prices each surface at your rate, and takes your multi-surface discount off with a percent rule. One range covers the lot. The homeowner who came for a driveway books a $1,250 exterior package, and you are on one property instead of four.

  • Separate per-square-foot rates by surface
  • A multi-surface discount as a percent rule you attach to a question
  • Job minimums so nobody books a $60 stoop
  • Recurring plans quoted in the same flow, with the interval on the lead

What actually drives an exterior cleaning price

This is the question set we recommend for exterior cleaning. You build it once in the dashboard, and every rate, percent and minimum in it is yours to set.

Illustrative Example

A $180 driveway call turned into a $1,250 booking

Sample numbers with placeholder rates, shown to explain the mechanics. Your market and your rate card will produce different figures.

1

She searches "driveway cleaning near me"

Lands on your site at 7:50 PM. Three companies are open in the tabs behind you. Two of them say "call for a free estimate."

2

Q1: Which service?

She picks your "full exterior package" — the one you built so the driveway, the house and the roof all get asked about in a single flow. She only came for the driveway.

3

Q2: How big?

900 sq ft driveway at your $0.20/sq ft concrete rate is $180. 2,400 sq ft of vinyl siding at $0.16 is $384.

4

Q3: How many stories?

Two. That answer adds 35% (a percent rule) to the house wash and the roof, because two storeys is the taller ladder and the spotter. The flat driveway is left alone.

5

Q4: Roof details

1,800 sq ft, asphalt shingle, heavy black streaking. Soft wash at $0.25/sq ft is $450, and the heavy-streaking option adds 15% on top: $517.50.

6

Q5: One-time or on a schedule?

She picks annual. Your recurring option takes 10% off the whole package, and the interval comes through on the lead so you can book it on the call.

7

The range appears: $1,190–$1,320

Follow the arithmetic: $180 for the driveway, plus ($384 + $517.50) × 1.35 for the two-storey work, less 10% for the annual plan. That is $1,257 — the $1,250 in the headline above, rounded — and the band either side of it is a width you set. What is in it — roof, house, driveway, the recurring discount — is spelled out in your disclaimer line right underneath.

8

It is in your inbox at 7:56 PM

Full spec, her mobile, her ZIP, and her photo answer flagged so you know to ask for pictures. You call at 8:15 while she is still looking at the tabs.

The part that matters

She never asked for a roof wash. She did not know you did roofs. The questions asked, because one combined package service costs you one extra screen to build and turns route-killing single-service calls into full-property jobs.

Would you rather try it than read about it? We keep a working example pressure washing company website with NapkinPrice™ embedded — the real engine, quoting live, on a page that is not ours.

Try the live demo site (opens in a new tab)
Saturday · 10:22 AM

You cannot hear the phone over a 4 GPM machine. Nobody can.

This trade has a specific problem: the tool that makes the money makes it impossible to answer the phone. Ear protection, a running engine, a wand in both hands, and you are usually 30 feet from wherever you set your phone down.

Meanwhile the caller is not committed to you at all. Exterior cleaning is a high-comparison, low-loyalty purchase — she is calling three companies off the map pack in the same ten minutes. About 78% of jobs go to the first company that responds, roughly 62% of contractor calls go unanswered, and voicemail gets called back about 3% of the time. In a trade where the average job is $250 to $1,200, missing three calls on a Saturday is a whole day’s revenue.

CallMitt™ is where that reply gets written once, in your own words: “Sorry we missed you — running a machine. Text us the address and what you need cleaned and we’ll send a price today.” Separate versions for business hours, after hours, weekends and the week you are away, with quiet hours and opt-outs enforced before anything is queued. Where it actually stands: no SMS gateway is live on our side yet, so today the missed call is logged by hand and nothing is sent: a message queued now is retired rather than delivered when your carrier registration clears. Her reply lands in the same thread as her quote either way.

How CallMitt Works Run Your Own Numbers
Illustration of missed-call text-back: the reply that goes out from the business’s own texting number, and the customer answering with the job details The rules behind that reply, drawn in the order they run: on a logged missed call, three stages. One, is there already a message to this number from the past hour — if there is it stops there, one reply per number per hour, and nothing is composed. Two, which of your five messages: vacation switched on gives the vacation message, one of six US holidays the holiday message, Saturday or Sunday the weekend message, and otherwise your own opening hours decide between the business and the after-hours message; they are tested in that order on your own clock, the first match wins, and a message you left blank falls back to your business one. Three, may it go at all — three gates, in order: not opted out, which is permanent and nothing overrides it; not on your own suppression list; and not in quiet hours judged where the caller is rather than where you are, 8am to 9pm in every zone their area code touches. Then one of two things. The reply is written and goes on her thread, and because the key is her number a later quote from her lands on that same thread. Or a rule stops it, and the reason goes on her thread in plain words: quiet hours where she is, she has opted out for good, her number is suppressed, a rule we could not check, or another compliance rule. Every rule above is built and running today, and you wrote the five messages yourself.

Pollen season pays for the year. December does not.

Exterior cleaning is brutally seasonal in most of the country. The phone goes off the day the pollen lands and stays hot through the summer. Then the leaves drop, the freeze warnings start, and you are winterizing pumps and staring at a quiet calendar.

Three things you can do about that. Set a seasonal date range — 15 March to 30 June at plus 12% — and the widget prices your peak weeks that way automatically instead of you discounting the weeks you are already booked solid; set it once and it repeats every year. Turn on waitlist mode in February so off-season leads are captured with your “booking April now” message instead of a voicemail. And use the quiet weeks to sell recurring plans, which is the only reliable way out of the feast-and-famine cycle in this trade.

And when it is genuinely dead, pause the plan instead of cancelling. You keep your texting number, your rate card, your lead history and your applicant pool. Unpause the week the pollen starts. There is no setup fee waiting for you on the other side, because there was never a setup fee in the first place.

  • Seasonal date ranges that raise or cut your rate on their own
  • Waitlist mode captures off-season leads with your booking message
  • Pause the plan, keep everything you built
  • One-click CSV of last year’s customers, even while you are paused
Twelve-month strip showing exterior cleaning demand peaking April through October with slow winter months, and a note that the plan can be paused instead of cancelled A seasonal date range, drawn as the mechanism it actually is. The row an owner fills in has four parts: a name, one adjustment percentage, a start month and day, and an end month and day. There is no year field and no clock hour anywhere in it, because the only thing the engine is ever told about the day a homeowner submits is the month and the day — which is why a window set once repeats every year on its own. The adjustment takes a plus or a minus, so the same control that lifts a rate through the busy weeks also cuts it through the quiet ones. Drawn on a twelve-month strip, a peak window carries a plus and a quiet window carries a minus; a window whose end sits earlier in the year than its start simply runs across the year end and is still one window. Windows are checked in the owner’s own order and the first match wins, so two overlapping windows never stack and only one percentage is ever applied. The strip at the foot shows where that percentage lands in the engine’s fixed order: the additive dollars first, then the percentages from her answers, then the season, then the travel zone percentage, then the flat travel fee, then the minimum floor, then any routing, and last the range she is shown. The season lifts the job before anything about her address is read, so the zone percentage works on an already-seasonal job, while the flat travel fee is added after both percentages and is never inflated by the season.

One-time jobs are a treadmill. Plans are a business.

The recurring question belongs in the quote, not in an awkward ask at the end of the job when you are tired and sweaty.

Ask while they are deciding

The moment a homeowner is looking at a price is the moment they will consider a schedule. "Annual, save 10%" as a radio button converts far better than the same sentence said out loud through a respirator.

Plans build your routes

Twelve annual customers on the same three streets is a day you did not have to sell. Route density is the difference between a $600 day and a $1,100 day on identical work.

The re-quote list, eleven months later

Re-quote reminders are built (on a job, choose "Remind them again in N months"; the templates are under Customers, then Reminders) but wait on the homeowner-email switch, which is off for everyone today, and we are not going to pretend otherwise. What you have today is the list: export every customer and the interval they picked to CSV in one click, any date range, even while your plan is paused. Working forty names in an evening is still the cheapest booked work in this trade.

It fills the shoulder season

Recurring customers can be scheduled in March and October when your one-time phone is quiet. That is how you stop laying off your crew every autumn.

You are hiring for April in a market that is also hiring for April

Washing is one of the easier trades to train and one of the harder ones to staff. The skill floor is low enough that you can teach a reliable person in two weeks, which means your real hiring problem is not skill — it is finding someone who shows up at 7 AM, does not put a wand through a window screen, and is comfortable on a roof.

It is also seasonal, so you are competing for the exact same bodies as every landscaper, roofer and fence company in the county, in the exact same three weeks. And your best candidates do not have resumes.

“Now hiring — text CREW to your texting number on the trailer and the truck. CrewFunnel™ asks your six questions: valid driver’s license, comfortable on a ladder or roof, can lift 60 pounds, weekend availability, any washing experience, earliest start date. Knockouts drop the ones who fail a hard requirement; the rest come back scored 0–10 against the weights you set.

Today those questions are answered on your screening page rather than over text — we have no SMS gateway yet, and the keyword takes over when your carrier registration clears. Same questions, same scoring, same pool. You get a screened list and book interviews in two taps. Team Engine runs $400–500 a month for the same job. Indeed is now pay-per-click, typically $150–300 a month for a shop your size, and it still sends you people who have never held a wand.

See how CrewFunnel works
Work truck tailgate with a text-to-apply hiring decal beside the SMS screening conversation it starts The applicant one-pager in the owner’s dashboard, on any trade — the detail behind an interview that is already booked. The card carries the applicant’s name, a status of interview, the role and the job keyword, and the date they applied, beside the fit score the dashboard shows in its orange tile, 8.4 out of 10 here. A strip under the header records the interview against one of the owner’s own open slots, with the calendar invite ready to download. Then every answer is listed in three columns — question, answer, and what it scored. Years in the trade, answered six, carries weight four and scores sixty per cent, because a number answer is measured against a ten-point ceiling. A driver’s license question and a start-date question carry weight three each and score full marks on Yes. The age question and the free-text question show a dash. Three notes explain the scoring rather than leaving the dash to be guessed at: a dash means the weight is zero, and only weighted questions move the number; knockout and weight are separate settings, one ending the conversation and the other moving the score; and a text answer earns full marks whatever it says, so graded scoring has to come from a yes/no or a number question. Underneath sit the decisions the dashboard still offers once an interview is booked: re-book to another of the owner’s own open slots, keep the applicant in the talent pool, or pass. The screening also lands on the owner’s inbox thread for that phone number, beside everything else from it. The questions, the weights and the knockouts are the owner’s own; the set drawn here is only an example
Illustration of a review request, drawn as a text from an example plumbing business: a phone showing a short message asking the customer to share her experience, with a link to the business’s Google review page, beside a card that reads Write a review. On a real account the request goes by email; a text goes as well where the customer agreed to texts, once the account’s texting registration clears The HurraBell log for the same example business, drawn as it appears in the owner’s dashboard: every finished job with what went out and what happened next. One customer was asked by text and by email and opened the link, so no reminder was needed. One had not agreed to texts, so the request went by email only and the one email reminder followed. One job was skipped, and the log shows the reason and who skipped it. Every finished job is either asked or skipped with a reason

The before-and-after is the review, and it is drying on the driveway

The hose is back on the reel, the driveway is drying out two shades lighter than the neighbor’s, and she is on the porch looking at siding she had forgotten was white. That is the afternoon she would write you a review. By next week she has stopped looking at either one, and the before-and-after is a photo on your phone instead of a review with your name on it. The outfit with sixty reviews is not sixty times better than you; somebody there asks every customer, while the driveway is still drying.

HurraBell™ does the asking. Mark the job done — from the inbox, from your phone, or from your job software through Zapier — and the customer gets one request in your words, with your own Google review link, after a delay you pick: an hour, unless you change it. Three days later, one email reminder, unless the link has been opened or the customer has got back in touch.

Review requests aren’t switched on yet, so none is sent today. When they are, the request goes by email once your Google review link is saved on the HurraBell page and your mailing address on the Account page. A text goes as well where the customer agreed to texts, and only once your carrier registration clears, the same wait as every text on this site; until then it is email only.

  • Every finished job is asked — skipping one needs a logged reason, because asking only the happy ones is review gating
  • Nothing offered for a review, and wording that steers is refused when you save it
  • A log of every request and every open, with a CSV export — and every skip with its reason
  • Part of the Tailgate Office Bundle — Podium’s entry plan is about $399/mo, on an annual contract
See how HurraBell works

What washing companies compare us to

ResponsiBid was built in this trade and it is a genuinely good product. Here is the honest difference, public pricing as of August 2026.

Tailgate Office ResponsiBid QuoteIQ
Monthly$199 all four tools$179–229Instant widget on $299 Elite
Setup feeNoneReported $400–600None
Time to live~30 min, self-serveOnboarding call requiredPlatform migration
Off-season pauseYes, keep everythingYes, reported $50/moNot published
Missed-call text-backIncludedNoNo
Keep your current CRMYesYesFull switch

Pricing from public pricing pages, August 2026. ResponsiBid setup-fee and pause figures are reported by third parties and may vary by plan. More detail on the ResponsiBid comparison.

The Tailgate Office Bundle

$199 PER MONTH · ALL FOUR TOOLS AND THE OFFICE

Instant quotes on your website, missed-call text-back, text-to-apply hiring, review requests, and customers, jobs, estimates and invoices in one place. 30 days free, no credit card, no setup fee, cancel from the dashboard.

Start Free Trial

Only need one of the tools? After the trial you can keep just that one at its own price; the office stays with the Bundle.

Pressure washing questions

Yes. Run roof cleaning as its own service in site-visit mode: the homeowner answers the same questions, gets no number, and you get the lead and the full spec. Some operators price everything but roofs, some price nothing over two stories. It does what you tell it.

For the house, they mostly do — it is on their tax record and Zillow, and you can say so in the question’s help text. For driveways, offer size tiers instead: single car, two car, two car plus apron, long rural drive, each with your own amount behind it. Tiers beat a blank number box every time.

Nothing, and it does not matter. You are showing a range, not a contract, and the confirmation screen says the final price is set after you see the property. If she says 900 sq ft and it is 1,600, you show her the tape and the number moves. She already booked the appointment, which was the point.

You should. Set a floor per service — $175, $250, whatever covers your drive and setup — and the widget will never show a number under it, no matter what she enters. The floor is applied last, after the percentages and the travel zone, so it really is a floor on the final number. (A prompt that nudges her toward adding a second surface to make the trip worth it is on the roadmap; today the honest move is to build the package service and let her see it.)

Yes, and you should add them. Each one is its own service with its own rate card, and the visitor picks which she wants before she answers anything. Gutter cleaning priced by linear foot, window cleaning by pane count or tier. Same account, no extra charge per service.

Pause instead. Your texting number, your rate card, your customers and your applicant pool stay put. Export last year’s customers to CSV in one click and work the re-quote list yourself over the winter — exports keep working while you are paused, and after you cancel. Come back in March and unpause. Nothing to rebuild.

No. Every lead lands in your shared inbox, exports to CSV, and queues an HMAC-signed webhook (live in beta: deliveries wait for the worker, which is being scheduled) — point that at Zapier or Make and it reaches Jobber, Housecall Pro or a sheet. Native push to those by name is on the roadmap and the integrations page says so plainly. This is a quoting widget and a text line, not a platform you have to move your whole business onto.

Also run a lawn crew or a painting side? See all the trade pages or call (301) 268-1943.

Stop pricing driveways over a running machine. Let the site do it.

30 days free, no credit card, no setup fee. Pause it for the winter and keep everything you built.