Club plans, sold properly

Maintenance Agreements Sold Online: How Far a Website Gets Before ServiceTitan Takes Over

The maintenance club is the one product a contractor can sell in July and deliver in October. Most websites bury it under "ask your technician." Here is what a site can sell on its own, what ServiceTitan's API supports, and where the office still closes the sale.

October 26, 2026 · 10 min read

The short answer

A website can sell a ServiceTitan membership up to the point of payment: show the plans, collect the customer's details, and send ServiceTitan a booking or a lead, or create a membership sale invoice through the API. ServiceTitan documents no API endpoint for customers to pay online, so payment and the final step happen inside ServiceTitan.

On this page
  1. The steadiest money in the shop, hidden on page four
  2. What ServiceTitan's API documents about memberships
  3. Sold online, finished in ServiceTitan: the honest version
  4. The roof care club demo, read as a sales page
  5. Pricing pages that sell the second year, not just the first
  6. Wiring the club plan to ServiceTitan, in order
  7. What a membership-ready site costs

The steadiest money in the shop, hidden on page four

Every HVAC owner knows the shape of a slow spring. The phones go quiet between heating and cooling season, the technicians still want their hours, and the membership list is what keeps the board from going blank. Tune-ups on a calendar. Members ahead of the line when the heat breaks. A discount that makes the repair an easier yes.

And on the website? A page called Maintenance Plans, a stock photo of a cheerful thermostat, and the sentence "Ask your technician about our club." The technician is in an attic in Converse. The visitor is on a phone at 9 p.m. with a card in hand and a free minute. Nobody is selling to that person, and the club that would carry the shop through April goes unsold.

This guide is about selling to that visitor without promising a checkout the systems behind the page cannot deliver. It applies to HVAC companies, plumbers, electricians, pest control and anyone else whose best customers pay a little every month to never think about the problem. The wider set of connections is on the ServiceTitan integration hub.

What ServiceTitan's API documents about memberships

ServiceTitan's API reference has a Memberships family, and its resource list is short and specific: "Customer memberships, invoice templates, membership types, recurring services, recurring service events, recurring service types." A separate Service Agreements family also exists. Here is what the endpoints we read in ServiceTitan's public OpenAPI documents do, as of October 2026.

ServiceTitan memberships endpoints and what a website can do with each (October 2026)
What ServiceTitan's documentation saysWhat a website can do with it
GET /membership-typesLists the plans set up in ServiceTitan, with fields such as name, display name, active status, discounts, duration and billing, and recurring servicesKeep the pricing page in step with the plans the office sells, and drop a retired plan automatically
GET /memberships"Gets a list of customer memberships," filterable by statusShow a signed-in member their plan and its status
GET /recurring-services"Gets a list of recurring services," filterable by membershipTell a member which visits the plan includes
Recurring service eventsMarking an event complete "links the job with provided JobID to the given Location Recurring Service Event"Office work, mostly; a site can read the list to remind members a visit is due
POST /memberships/sale"Creates membership sale invoice"; the example request carries a customer, a location, a business unit, a sale task and a duration and billing optionCreate the sale for the office to review, once the customer and location exist

Two details shape everything after this. First, every job and every sale hangs off a customer and a location, and ServiceTitan says customers and locations cannot be merged, deactivated or reactivated through the API. A careless sign-up form that creates a new customer for every visitor hands the office a pile of duplicates to fix by hand. Second, the documentation stops at the invoice. The accounting API lists invoices and payments for reading, and it has no endpoint for customers to pay online.

Sold online, finished in ServiceTitan: the honest version

So can a homeowner join on your website, pay, and become an active member in ServiceTitan without anyone in the office touching it? Nothing in ServiceTitan's documentation shows that path. ServiceTitan's own online payments run through payment links in invoice and statement emails, one link per invoice, and they require ServiceTitan Payments. A website can bring the customer right to that edge and hand over cleanly. These are the four ways to do it.

Join by booking the first visit

The page sells the plan, the customer picks a time, and the booking reaches ServiceTitan's Calls screen with the plan named in the summary. The technician sees the equipment, the office sells the membership. Lowest risk, and the model our roofing demo uses.

Join by request

A short form sends a lead with the chosen plan. The office calls back, checks the address and closes. Best for plans that need someone to look at the system first.

Create the sale invoice through the API

Once the customer and location are matched or created, the site calls POST /memberships/sale. The office reviews it and collects payment in ServiceTitan, for example by emailing the invoice with its payment link. Worth it at volume, after the field mapping is agreed.

Take a card on the website

Possible through a separate payment processor, but the money then lives outside ServiceTitan and someone reconciles it by hand. We build it only when the office agrees to own that job.

A smiling couple holds a blank membership card beside an apartment wall of air conditioning units tied with a big ribbon bow, collage on teal
The card is blank on purpose. What goes on it should match the plan name in ServiceTitan, letter for letter.

Most contractors start with the first option and move to the third once they trust the mapping. The booking flow itself is on our online booking page, and the form route is on web forms to ServiceTitan.

The roof care club demo, read as a sales page

We built a roofing demonstration site to show what a contractor site can do, and its roof care club page is a membership page written to sell. It is fictional: the company, the plans and the prices are illustrative, and it is not connected to anyone's ServiceTitan account. The structure is the part worth borrowing.

  • Three tiers side by side, each with a monthly and a yearly price and a plain list of what it includes.
  • The visit, itemized. Twelve things checked on every roof, in the same order, so the buyer knows what the money buys.
  • Reasons with numbers in them, such as a storm inspection within 48 hours on the middle plan and 10 to 20 percent off repairs.
  • The awkward questions answered first: cancel any time, what counts as a minor repair, whether the plan transfers when the house sells.
  • One button, and it books a visit. "Book my first visit" leads to the demo's booking page, and nothing is charged until after that first visit.

That last choice is the integration strategy in disguise. The site sells. The first visit qualifies the roof. The sale is finished where the records live. Roofers can see the rest of the approach on our roofing website design page.

Pricing pages that sell the second year, not just the first

Selling the first year is the easy half. A membership earns its keep at renewal, and the renewal is a sales page too, written for someone who already paid you once and remembers whether it felt worth it. This is what we put on a membership page so renewal is a formality.

  • What the member actually got. If a signed-in member can see last year's visits, renewing reads like a receipt rather than a pitch. Our customer portal guide covers showing that safely.
  • The arithmetic, stated once. What a repair visit costs without the plan, what the plan costs, and the discount, in real numbers from your price book rather than "save big."
  • Plan names that match ServiceTitan. If the site says Comfort Club Gold and ServiceTitan says HVAC Premium 2yr, the office translates every sale and eventually translates one wrong.
  • Cancel terms in plain sight. Monthly stops at the end of the month, yearly is refunded for unused months, or whatever your terms are, written where a buyer finds them before asking.
  • One page per trade, or a bundle that says so. A company doing HVAC, plumbing and electrical should not make a buyer assemble three clubs from three pages.
  • A renewal landing page. The reminder links to a short page that names the plan, lists what the next year includes and ends in a booking or a person.

Seasonal pushes help: a tune-up campaign before the first heat wave, aimed at past customers who are not yet members. Our Meta ads guide covers how those campaigns report back to ServiceTitan. If you would like to see the voice on your own home page first, the free mockup costs nothing.

Wiring the club plan to ServiceTitan, in order

  1. 1

    Agree the plan list with the office

    Read the membership types from ServiceTitan and decide which ones the website sells. Plans the office has retired stay off the page.

  2. 2

    Map every field before any code

    Plan to membership type, trade to business unit, home address to location. The mapping is agreed in writing first; that is how we start every API integration.

  3. 3

    Look the customer up before creating one

    Check for an existing customer and location with the customers and locations endpoints, because the API cannot merge the duplicates a careless form creates.

  4. 4

    Choose the hand-off

    A booking for the first visit, a lead for a callback, or a membership sale invoice for the office to review. Most start with the booking.

  5. 5

    Send the source with it

    The campaign and the web session travel with the sign-up, so the attribution report shows which ads sell memberships, not just service calls.

  6. 6

    Queue, retry and log

    ServiceTitan access tokens expire after 15 minutes and servers have bad afternoons. A sign-up that fails to send waits in a queue and retries, and the log says what happened in plain words.

  7. 7

    Test against a copy of your data

    A ServiceTitan customer's integration environment holds a copy of production data; the admin requests access by emailing integrations@servicetitan.com. Test there, then switch to production.

API access hinges on the contractor's ServiceTitan package, and the contractor's own admin approves the connection and the scopes it asks for. We never ask for more access than the job needs: reading membership types is not the same request as creating sales.

What a membership-ready site costs

Custom builds and rebuilds start at a fixed $1,750. Sites with a store, portal or web app start at $3,500, and a site with online booking or an estimate flow is about $9,000, all on the web design pricing page. Adding membership sales to the site you already have is quoted after a free review, and a connection between two systems usually takes one to three weeks.

Financing is 0% with 25% down for up to 12 months through website financing: a $9,000 site is $2,250 down and $562.50 a month for twelve months. For proof that we can work inside ServiceTitan's data, the HomeService WebApp on our work page syncs jobs and estimates bidirectionally with ServiceTitan. A free site audit is the low-commitment way to start, and the launch checklist lists what to test before the club goes live.

Questions contractors ask about ServiceTitan integration

They can choose and start one online. A website can show the plans, collect details and send ServiceTitan a booking, a lead or a membership sale invoice through the API. ServiceTitan's API documents no endpoint for customers to pay online, so payment happens in ServiceTitan, through the office or ServiceTitan's own invoice payment links, which require ServiceTitan Payments.

Yes. The Memberships API family covers customer memberships, invoice templates, membership types, recurring services, recurring service events and recurring service types. As of October 2026 it includes GET /memberships, GET /membership-types, GET /recurring-services and POST /memberships/sale, which ServiceTitan describes as creating a membership sale invoice.

Only through a separate payment processor, and then the payment sits outside ServiceTitan until someone records it. That can work for a small office willing to reconcile. Most contractors are better served by booking the first visit online and selling the plan in ServiceTitan, where the invoice and its payment link already live.

They will if the site creates a new customer for every form. ServiceTitan says customers and locations cannot be merged through the API, so duplicates become manual cleanup. A careful integration looks the person up first, reuses the existing customer and location when it finds a match, and flags anything uncertain for the office.

The site can read membership types from ServiceTitan, which carry names, display names and active status, so retired plans drop off the page. Before we show prices from the API, we confirm in your account which price fields come through. Otherwise prices are edited in Athena CMS by the office, next to the plan they belong to.

On an existing site, it is quoted after a free review, and a two-system connection usually takes one to three weeks. New custom builds start at $1,750, sites with a portal or web app at $3,500, and a booking site is about $9,000. Financing is available at 0% with 25% down.

Keep reading

Free · No obligation

Put the club plan where buyers can join

Tell us how members join today. We will show where the website can sell, where ServiceTitan finishes, and what the connection costs.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote