August 16, 2026 · 8 min read
A maintenance agreement is the best product in home service. The customer already said yes. They already paid. They already trust you enough to hand over a recurring charge. And then the visit comes due — and somebody on your team has to go out and get work you already sold.
That second sale is the one nobody budgets for. It’s a CSR with a call list, working down a filter of plans that are due, leaving voicemails. It’s the thing that gets postponed in July because the phone is ringing with emergencies, and postponed again in August for the same reason.
Starting today, Dispatch Scout can make that second sale for you. When a plan visit comes due, the customer gets a text or an email, taps a link, picks a day and an arrival window — and a real job appears on your schedule board. No call list. No phone tag. No CSR.
Every shop with maintenance agreements has the same leak, and it’s rarely a software problem in the obvious sense. The plans are all in the system. The visits are all scheduled out. The leak is that recurring work doesn’t interrupt anybody.
An emergency no-heat call interrupts you. A customer who wants an estimate interrupts you. A plan visit due in eleven days sits in a report and waits to be noticed — and it competes for attention against a phone that is actively ringing. It loses that competition every time.
So the pattern goes like this. The first year, somebody is diligent. The second year, a few slip. By the third year there’s a backlog of visits whose scheduling windows opened months ago, and nobody wants to open that list because working it means several hundred outbound calls that will mostly go to voicemail.
The customer who paid for two visits and got one doesn’t renew. What you lose isn’t the margin on a tune-up — it’s every year of that agreement after it, plus the repair work you would have found on the visit you never ran.
Dispatch Scout has had automated visit reminders and the Service Plan Fulfillment Inbox for a while. What was missing was the last step: the customer could be told a visit was due, but they still had to call you to do anything about it.
Now the reminder carries a link that actually books. The whole loop runs without a person in it:
Steps 1 through 5 involve nobody from your team.
The experience is deliberately small. There’s no portal to log into, no account to create, no eight-field form. The reminder lands on their phone, they tap the link, and they’re on the booking screen.
That screen shows a short run of days — you decide how far ahead, up to 30 — and under the day they choose, your named arrival windows. Morning, Midday, Afternoon: the same windows your dispatchers work with, not an open-ended clock where a customer can type in 6:45am.
A window that’s already at capacity shows as full. A day you don’t work isn’t offered at all. Two taps and a confirm, and they’re done — typically in well under a minute, which matters more than it sounds. Every extra screen is a chance to get distracted and never come back.
Then they get on with their evening, and you get a job on the board.
The reasonable objection to letting customers book their own work is that they’ll book something you can’t do. Then you’re calling them back to move it, which is worse than the phone tag you were trying to avoid — now you’re the one breaking an appointment.
So the design principle is simple: never offer a choice you’d have to undo. Before a window shows up on that screen, it has passed all five of these.
You set how many plan visits a window can absorb. At the cap, it stops being offered — so the popular 8–12 doesn’t quietly collect nine tune-ups.
Business days, holidays and blackout dates are respected. Nobody books you for Thanksgiving morning.
Availability is checked against technicians who hold the right skills for the work — not just anyone with a gap in their day.
Capacity is scoped to the coverage area the property actually falls in. A packed day on the far side of the metro doesn’t block a booking you could run easily — and a full local day doesn’t look open because of capacity somewhere you don’t drive.
Set the lead time you need. A customer opening the link at 7am can’t put themselves on this morning’s board.
All five run again the moment the customer taps Confirm, and that final check happens under a lock. So when two customers go for the last opening in the same second, exactly one gets it and the other is shown fresh availability — rather than both being told yes and one of them finding out later.
This is the part worth being precise about, because “let customers schedule” means very different things in different products. In most of them it means a form: the customer picks a date they’d like, it lands in somebody’s inbox, and a CSR still has to read it, call back, and build the appointment by hand. That’s a nicer contact form. The work didn’t go away, it just changed shape.
Here, the booking creates a real job and a real windowed appointment on the schedule board. And it’s built the same way a dispatcher-created plan job is built — which is the detail that makes everything downstream just work:
There is no second kind of job to learn, no special case in your reports, and no rule in your operation that needs an exception for “the ones customers booked.”
One deliberate exception: the technician is left unassigned. The customer picks when; dispatch still decides who. The job lands in your unassigned queue like any other piece of work waiting for a name.
Customer self-scheduling ships off. That’s intentional — capacity discipline varies a lot between shops, and this is not a setting you want on before you’ve looked at your window caps.
But the reminder link works either way. With self-scheduling off, the customer opens the same link and tells you the date they’d prefer, plus a note if they have one. Your staff notification recipients get an email with who asked, their phone number, the date they want, the note, and whether that visit is already past due — and it says plainly that nothing has been scheduled yet, so nobody assumes the board took care of it.
That’s a genuinely useful mode, not a stepping stone you have to pass through. You get the reach of automated outreach and a warm inbound lead instead of a cold outbound call, while every booking decision stays with a person. Plenty of shops will want to live there permanently.
Two settings, one link. You can flip between asking and booking whenever you like — per account, no migration, no re-sending anything. The customer’s experience changes; your reminder setup doesn’t.
Building customer bookings to look exactly like dispatcher bookings is great for your workflows and terrible for your reporting — unless the record says what actually happened. Otherwise your job screen ends up crediting an employee who never touched it.
So a self-booked visit is labeled in five places:
| Where | What you see |
|---|---|
| Job overview | A “Booked by customer” chip beside the creation source, with the exact timestamp on hover. |
| Plan › Visits tab | A “self-booked” line in the Reminder column, linking straight to the job it created. |
| Jobs list | A Booked By Customer column naming which path booked it — plan visit or online booking. |
| Jobs list filter | A Booked By filter that pulls up every customer-booked job across both self-service paths at once. |
| Export & activity feed | The same column on your CSV export, and an entry in the job’s own activity feed. |
Which means you can answer the question that decides whether this feature is working: how much of our plan fulfillment is now happening without us?
Self-scheduling won’t catch everybody. Some customers don’t read texts. Some want to talk to a person. The Fulfillment Inbox is where those land, and it picked up real improvements alongside this release.
Staff can now send a booking link on demand — from the plan page or straight from the inbox. Use it to reach out ahead of the automation, to re-send after a bad number, or on an account where automated reminders are switched off entirely. Clicking Send is a deliberate act, so it goes even when the automation wouldn’t have.
The inbox also now shows a Link Sent column, and the button reads Re-send once a link has gone out — so you’re not guessing who you already contacted. And sending updates just that one row instead of bouncing you back to the top of a 500-row list, which is the difference between a screen you can work through and one you give up on.
Skip works properly now too: it retires the specific visit the row is dated by, with a reason, and the plan advances to its next visit rather than disappearing. A plan due 1-of-2 becomes 2-of-2 and drops off the list only when nothing is left owed.
Here’s the scenario worth planning for. You’ve got a few years of plan visits whose scheduling windows opened long ago. You switch reminders on. Does every one of those customers get a text at 5:20 tomorrow morning?
No. A catch-up over a backlog is paced and staged rather than handed to your carrier in a single burst. Visits that aren’t part of the current catch-up are held back and released gradually, so clearing the wall of texts doesn’t just move it to a different day.
Plans that already carry an open job are skipped entirely, too — that job is the visit being arranged, and a “pick a date” text would contradict an appointment the customer may have already been given.
The settings themselves are short. You control whether automated reminders run at all, whether customers can book or only request, how far ahead they can book, how much notice you need, and how many days out the Fulfillment Inbox should start surfacing plans. The reminder email is fully brandable from your mailer templates — colors, header, intro and closing copy, disclaimer, license info and terms — so it reads like you sent it, because you did.
A real booking, when self-scheduling is enabled. Dispatch Scout creates an actual job and a windowed appointment on your schedule board, built the same way a dispatcher-created plan job is built. The technician is left unassigned so dispatch decides who goes.
No. A window is only offered when it’s under its capacity cap, on a business day, has a skill-qualified technician available, sits inside the coverage area for that property, and clears your minimum notice. Those checks run again when the customer confirms, inside a lock, so the last open slot can only be taken once.
No. The reminder carries a secure link tied to that one visit. There’s no account to create and no password to remember — which is most of why it converts.
No, it ships off. Until you enable it, the same link collects a preferred date and emails your staff notification recipients instead.
Turning reminders on won’t blast them. The catch-up is paced and staged, and plans that already have an open job are skipped entirely.
No. Service plans, visit reminders, the Fulfillment Inbox and customer self-scheduling are all included in the flat $40/user/month — no per-booking fee and no add-on module.
Customer self-scheduling is available now on every Dispatch Scout account — find it under Settings › Service Plans. Start a free trial and let your plan customers fill their own visits.
Start Free Trial See service plansDispatch Scout is field service management software built for growing home service businesses. From scheduling and dispatch to invoicing, GPS tracking, and maintenance plans that fill their own schedule — it’s everything your operation needs in one platform, at one flat price.