R← All projects Automotive Book a call

Case study · Auto detailing · Three locations

Three detailing shops, one booking engine

An eco steam auto-detailing company runs three locations, each with its own GoHighLevel sub-account. I set the accounts up so that customers book from a priced service menu, every car has its own record, quotes and estimates move the pipeline on their own, every booking ends with a review request, and partner discounts protect themselves.

Client
Multi-location eco steam auto-detailing company
Platform
GoHighLevel · 3 sub-accounts
Key features
Services booking · Cars object · Voice AI
Built
23 live workflows · 58 bookable items
4.95★average across 356 public reviews at three locations
683service bookings tagged automatically
271review requests sent after confirmed bookings
58bookable items: 23 services and 35 add-ons

The system

From a ringing phone to a five-star review

Detailing prices depend on the car, the package and the extras, and most jobs used to start with a phone call. Customers now pick the service and add-ons themselves, larger jobs get a quote that moves itself through the pipeline, and every finished booking leads to a review request. The same building blocks are used at all three locations.

System 2 · Data model

One owner, many cars

Households bring two or three vehicles. With everything on one contact record, nobody could tell which car got the ceramic coat.

  • A Cars custom object keyed on License Plate Number, marked unique so the same car cannot be added twice.
  • Year, Make, Brand, Model and Color fields are kept in a Car Info folder.
  • The association is Owner (1) ↔ Car (many) with Contacts. One customer can have any number of linked vehicles, and each has its own details and history.
  • A 2nd Vehicle Offer funnel turns that into revenue by offering a discount on the next car.
1 → many association6 car fieldsunique plate key
The association. Owner (1) to Car (many), linked to Contacts.
The object. The licence plate is the unique key.
Car records. Each vehicle is its own row. Plates are blurred.

System 3 · Quotes & invoices

Estimates that move the board

Custom jobs such as dry-steam interiors and fleet ceramic coating were quoted by email, with no record of where each quote stood.

  • Step 1: the dry-steam request form creates an opportunity at Quote Requested, alerts the team and texts the customer that an estimate is on its way.
  • Step 2: an Estimate Status = Accepted trigger from GHL Estimates moves the deal to Estimate Approved and notifies the team.
  • An Invoices pipeline (Drafted → Sent → Awaiting Payment → Overdue) and invoice-reminder templates handle payment follow-up.
Quote requested→ Estimate sent→ Estimate approved 2→ Scheduled→ Job complete / invoiced→ Invoice paid
Request. Form → opportunity → team alert → "estimate coming" text.
Approval. An accepted estimate moves the deal on its own.

System 4 · Outreach

Follow up the way the lead asked

Leads met through in-person outreach prefer different channels. Without a system, follow-up depends on someone remembering.

  • The Client Outreach form creates an opportunity, updates and tags the contact, and moves the deal to Follow-Up Pending.
  • After a wait, a condition reads Preferred Contact Method and creates the right task: call, email or visit.
  • The pipeline runs Lead Captured → Follow-Up Pending → In Progress → Presentation Requested → Appointment Booked, with Nurture and Lost exits.
3 follow-up channels4 leads pending follow-up
Preference routing. Phone, email or visit, each with its own follow-up task.

System 5 · Reputation

Every booking asks for a review

Happy customers rarely leave a review unless someone asks at the right moment.

  • Review Request (24 h delay): when a service booking is confirmed, the workflow waits, then sends an email and an SMS to a branded feedback page.
  • Feedback is collected first, and a "How could we improve?" form gives unhappy customers a private channel.
  • The same workflow runs at both active locations.
271 requests sent356 reviews4.95★ average
One location's trend. 194 reviews at 4.95★, with the rating steady near 5 stars every year.
The workflow. Confirmed booking → wait → email → SMS.

System 6 · Subscriptions & partners

Recurring plans, and discounts that protect themselves

Partner-only employee pricing was shared by coupon code, so anyone who had the code could book at the discount.

  • Each program has its own folder with the same pattern: sign-up form → tag → community group invite → follow-up email.
  • Programs: a Discount Club, a Signature subscription, and employee plans for three partner organizations, each with its own landing page.
  • Coupon guard: when a partner code is redeemed, the workflow checks the partner-portal tag. Members go through. Anyone else has the appointment cancelled automatically, and the team and the customer are told why.
5 program folders13 live workflows at this locationauto-cancel for misuse
Coupon guard. Without the partner tag, the booking is cancelled. The code and tag are blurred.
One folder per program. The brand and partner names are blurred.

System 7 · Voice AI

A receptionist for the calls nobody picks up

The inboxes are mostly inbound calls, with thousands of unread threads across three locations. Every missed call is a car going somewhere else.

  • "Misty" is a custom Voice AI agent on GPT-4.1. It answers questions, qualifies requests and books detailing, paint correction and ceramic coating.
  • Scripted flow: confirm a known caller, find out the purpose of the call, then either gather name, best number and service type or answer the question and offer a booking.
  • Guardrails for voice: one question at a time, phone numbers read digit by digit and confirmed, likely transcription mistakes fixed from context, and no made-up answers.
  • Actions: call transfer, appointment booking and end call. After the call it writes First Name, Last Name and Email back to the contact.
  • For now a missed-call text-back covers the gap. The agent is built and ready to go on a phone number.
3 live call actions3 post-call field updatesready to deploy
The agent. Prompt, voice, model and actions. The brand name is blurred.
The call script. Booking and inquiry paths, using known contact data where it exists.

Structure

Where the volume is

Booking tags and review requests carry most of the volume. The quote and outreach pipelines handle fewer, higher-value jobs. The third location has a 5-step guided booking funnel (Select Service → Car Size → Focus & Upsell → Calendar → Thank You) built from chained forms, so the price matches the vehicle before a time is chosen.

Busiest workflows

Total enrollments, both active locations, October 2026

  • Booking tag (location 2)414
  • Booking tag (location 1)269
  • Review request (location 2)175
  • Review request (location 1)96
  • Dry-steam tag17
  • Client outreach8
  • Estimate accepted4

Reviews by location

Public reviews and average rating

  • Location 2 · 4.95★194
  • Location 1 · 4.96★131
  • Location 3 · 4.87★31
Published workflows, location 1. Partner names are blurred.
Guided booking funnel, location 3. Service, car size and upsell come before the calendar.
AssetAcross the three accounts
Workflows23 published (10 + 13 + 0). Drafts are left out
BookingServices module: 7 categories, 23 services, 35 add-ons. Meeting calendars are not used
Custom objectsCars (Owner 1 ↔ Car many), with a unique plate key
PipelinesClient Outreach (7 stages), Dry Steam Booking (7), Invoices (4)
Funnels46: service pages, ceramic coating, rug steam cleaning, 2nd-vehicle offer, gift cards, memberships, partner landing pages, guided booking
Forms29: location website forms, dry-steam and fleet ceramic quotes, outreach, subscriptions, review feedback, chained booking forms
Email19 templates. Seasonal campaigns: ceramic launch, Instagram giveaway, Labor Day
AICustom voice receptionist built. A chat-assistant template and a post-call workflow are staged

How it's built

Tools and design choices

Services bookingScoped add-onsCustom objects1-to-many associationsService booking triggerEstimates triggerCoupon Code Redeemed triggerUpdate appointment statusIf/else on contact fieldsTask creationPipelinesVoice AI (GPT-4.1)Missed-call text-backMulti-step funnelsReputation

Price by the car

Price and time ranges plus scoped add-ons let customers book accurately without a phone call.

Model the real world

One owner, many cars, each with its own record and a unique plate.

Let the system move the deal

Form submissions and accepted estimates move opportunities forward automatically.

Protect the discount

Partner pricing checks itself, and a booking that doesn't qualify is cancelled with an explanation.

← More Automotive projects All projects Contact Book a free 30 min call