Every trades business that gets bought for a good multiple has one thing in common: a book of maintenance agreements. They smooth the seasons, they fill the slow weeks, they give techs a reason to be in front of customers before something breaks, and they make replacement sales happen on your schedule instead of at 11pm in January.
The businesses that sell them and do not have a system for them end up somewhere worse than not selling them at all — with obligations they have taken money for, visits they have not delivered, and a renewal conversation nobody is having.
Three objects, not one
The most common modeling mistake is treating an agreement as a recurring appointment. It is not. There are three separate things and conflating them is what causes the mess.
01
The agreement
The commercial relationship: customer, covered equipment or property, term, price, billing frequency, discount rate on repairs, priority response commitment, auto-renew terms. It lives for a year or more and is what the customer thinks they bought.
02
The entitlement
What is owed within the term: two visits, one in spring and one in fall, a filter change per quarter, unlimited diagnostics at no charge. Entitlements are counted and consumed, and unconsumed ones are a liability you have already been paid for.
03
The visit
An actual scheduled job, consuming one entitlement, with a task list, a technician, and a result. Visits are where the work happens and where the upsell either does or does not get offered.
Keeping them separate is what lets you answer the questions that matter: how many visits do we owe and have not delivered, which agreements are consuming more repair labor than they generate, and which customers have never had anyone show up.
The scheduling problem is the whole problem
Maintenance visits have a seasonal window, no urgency, and a customer who did not call you. That combination is why they slide. Every week they are the first thing bumped for real work, and by August you owe four hundred spring tune-ups you cannot deliver.
| Dimension | Service call | Maintenance visit |
|---|---|---|
| Who initiates | The customer, urgently | You, into an indifferent calendar |
| Timing | Now | Anywhere in a multi-week window |
| Scheduling goal | Soonest acceptable slot | Fill capacity troughs and cluster geographically |
| Failure mode | Customer complains loudly | Nothing happens until the year is over |
| Value of clustering | Modest | Very high — same neighborhood, same day |
The design consequence is that maintenance should be planned in batches, not booked one at a time. The right screen shows all agreements with a window open in the next sixty days, grouped by area, so the office can fill a Tuesday that has three open hours with six tune-ups within four miles of each other.
The second consequence is that outreach has to be systematic. A message that offers two or three specific windows converts far better than one asking the customer to call and arrange something — you are asking them to do work for an appointment they were not thinking about.
The visit is a sales opportunity you already paid for
The tech is at the property, the customer trusts them, and the equipment is open. This is the most valuable sales position in the entire business, and it is usually wasted because nothing tells the tech what to look for or gives them a way to act on what they find.
- A checklist per equipment type, with readings captured as numbers rather than as ticks. Numbers over time are what let you say "this compressor is drawing more than it did last spring".
- Last visit's findings on screen. The tech should arrive knowing what was noted last time and whether the customer declined a repair.
- Equipment age and history, so the replacement conversation happens at the right moment rather than after a failure.
- A one-tap quote for what they found, priced from the same catalog, with the agreement discount already applied. If it takes a phone call to the office, it will not happen.
- A record of declined recommendations. Declines are a follow-up list, and they are the single most productive one a service business has.
A maintenance visit that produces no record of what was found is a discount you gave away for nothing.
Renewal decides whether any of this was worth it
The economics of an agreement program live entirely in retention. A first-year agreement carries the acquisition cost; the second and third years are where it pays. That makes renewal the highest-leverage workflow in the whole system, and in most businesses it is a person remembering.
01
Surface renewals ninety days out
With the relevant history attached: visits delivered against those owed, work done, money spent, recommendations declined. Whoever makes the call should not have to research it.
02
Flag the ones at risk
Undelivered entitlements, a complaint on file, no contact in six months. These need a call before the renewal notice, not after it.
03
Handle auto-renew honestly
Auto-renew improves retention and creates disputes when it surprises people. Notify clearly and well in advance, and make cancelling easy. A quiet renewal that turns into a chargeback costs more than the year was worth.
04
Record why non-renewals happened
Price, moved, sold the property, unhappy. Six months of honest reasons will tell you more about your program than any dashboard.
Start smaller than you think
You do not need the full system to start. A business with a few hundred agreements can get most of the value from three things: an agreement record with real entitlement counts, a screen showing which windows are open in the next sixty days grouped by area, and a renewal list that surfaces ninety days out with history attached.
Everything else — equipment history, checklist analytics, automated outreach sequences — is worth building only after visits are reliably being delivered. Building the sophisticated version on top of a program that cannot get its tune-ups scheduled just produces better reports about the same failure.
Frequently asked questions
How should maintenance agreements be modeled in software?
As three separate objects: the agreement (the commercial terms), entitlements (what is owed and how much has been consumed), and visits (actual scheduled jobs that consume an entitlement). Treating an agreement as a recurring appointment is the usual mistake, and it makes it impossible to answer how much undelivered work you are carrying.
Why do maintenance visits keep getting delayed?
Because they have a wide window, no urgency, and a customer who is not asking. They lose every scheduling conflict against real service calls. The fix is to plan them in geographic batches into known capacity troughs, and to offer customers two or three specific windows instead of asking them to call and arrange one.
Is auto-renewal worth it?
It materially improves retention and it creates disputes when customers are surprised. Use it with clear advance notice, an easy cancellation path, and a renewal review ninety days out that flags at-risk accounts for a human call. A quiet renewal that becomes a chargeback costs more than the year was worth.
What is the first thing to build for a maintenance program?
Entitlement tracking and a sixty-day scheduling view grouped by area. Knowing exactly how many visits you owe, and being able to fill an open Tuesday with six nearby tune-ups, delivers more value than every analytics feature that could sit on top of it.