The product
Everything it does.
The full list, for anyone who wants it before we speak. One detailer’s site runs on this today, at tgscene.com.
Booking and availability
Times you can actually work, not a request form
Your customer picks a vehicle size and services, and sees the times that fit your day. Your hours and the jobs already booked decide what they see.
- Slot spacing, the notice you need and how far ahead you take work are your settings.
- Two customers cannot take the same time. Paying online holds a slot for 30 minutes.
- Change your hours over a booking that exists and you are asked what to do, every time.
- Booking stays off until you switch it on. Until then the site shows your phone number.
- 8:00 AMOpen
- 8:30 AMOpen
- 9:00 AM – 2:30 PMbuffer + the 1:00 job
- after 2:30 PMwould not finish by 5:00
hours 8:00–5:00 · 1 job at a time · 60 min travel each side · 30 min start times
Payment
Pay now and save 5%, or pay at the appointment
Someone books at midnight, pays on their phone, and you wake up to a confirmed job. The money lands in your own Stripe account.
- The 5% is a setting, and card details never reach your site: your customer pays on Stripe’s own page.
- Sales tax is a rate you set. Refunds are a button you press. Take a deposit instead on a pay-at-appointment booking.
- A tip for your detailer, if you switch it on. It is offered with the online payment only, added after every discount, and never taxed. “No tip” is what is selected when the step loads. Tipping ships off.
- A tip is always its own line. A refund never keeps or returns a tip silently, and the form tells you which.
Save 5% · charged today
Charged today $0.00
- Subtotal
- $220.00
- Pay-now discount (5%)
- −$11.00
- Total
- $209.00
Referral rewards
The reward lands on the booking they just made
Every customer gets their own code. A friend books with it, and your customer gets 10% off the appointment they already have.
Money off this morning’s detail is worth sending to a group chat. Credit towards a visit next year is not.
- Not paid yet? Their total drops. Already paid? The difference goes back to their card.
- A friend means a first-time customer, once. A code that does not qualify fails softly.
- You choose when it unlocks: when the friend books, pays, or finishes the job. Codes carry a prefix taken from your business name.
- 1
Dana books
Their confirmation carries a personal code and a share button.
- 2
Sam books with it
First time here, a different person, a real booking. It counts.
- 3
Dana’s total drops $22.00
10% of the booking Dana just made. If Dana already paid, the $22.00 goes back to the card.
Gallery
Before and after, and clips in the same grid
Detailing sells on the photograph. This is the part of your site doing the selling.
- Before-and-after pairs get a slider that works with a keyboard as well as a mouse.
- Your photos are stripped of their metadata, so the location your phone wrote in stays private.
- Your clips are stored exactly as you filmed them. No autoplay, no sound, no loop.
Memberships
Monthly plans, billed on your own Stripe
Set a price, an interval, one included service and a member percentage on everything else. A member sees the credit before they pay.
- Credits reset each period, and the plan page says so before anybody signs up.
- Cancel inside the same period and the credit comes back. After the renewal it does not.
- Members change their card and cancel through Stripe’s own billing portal.
- Ships off. Re-price a plan and existing members keep the price they signed up at.
- Included each month
- 1 × Basic Wash
- Member discount
- 10%
- Billed on
- your Stripe
A member books the Basic Wash and their included visit takes it off the ticket. The 10% comes off the rest. Both are decided on the server, inside the transaction that creates the booking.
Marketing
Campaigns and follow-ups, gated on consent
One-off campaigns, and three follow-ups that send themselves: a thank-you after the job, a win-back at 90 days, a rebook nudge at 120.
- Only customers who ticked the box in your booking form can be mailed, and every promotional email carries an unsubscribe.
- Pick an audience: everyone, customers, lapsed at 90 days, never booked, or buyers of one service.
- Nobody is mailed twice inside 72 hours, and every skipped recipient is listed with the reason.
- Confirmations, reminders and receipts are not marketing. They always send.
Lapsed customers
A completed booking, nothing since 90 days, and nothing on the calendar — worked out from your bookings when the send starts.
- Will receive it
- 34
- Skipped
- 12
- not opted in9
- no email address1
- mailed in the last 72 hours2
Crew profiles
The people who do the work
A photo, a name, a role and a few sentences for each person. A profile is a draft until you publish it.
Publish nobody and the section does not exist. Your site will not print a testimonial or an award you have not given it.
Bringing your customers with you
Your customer list and their past visits, read in from a file
Your customers live in Jobber, Housecall Pro or a spreadsheet. Export them as a CSV and the admin reads it in: the customers, and a completed booking for each visit.
- You see every column and every skipped row first. Nothing is saved until you press the button on a preview you have read.
- Imported customers are not subscribed to marketing email. They can opt in when they next book.
- Imported visits carry no money, so nothing this software did not take reaches your takings.
- A customer already in the system is never overwritten. An import can be undone.
Missed calls
One text back to the caller you could not pick up
You are under a car with wet hands, and the caller is dialling the next detailer ninety seconds later. Your published number rings your mobile. When nobody picks up, the caller gets one text: “Sorry we missed your call. This is your business. Reply and we’ll get right back to you. Reply STOP to opt out.”
- One fixed text, in your own words if you change them. No bot, no menu, no voicemail, no transcription. A reply lands in your admin, and nothing replies to it automatically.
- One text per caller, not one per call, and never a number that has replied STOP.
- Off by default, and off never means the phone stops ringing. It cannot be switched on until texting is on.
Drafting
Three things it drafts. You read them, and you send them.
Three pieces of text you already had a form for: a short brief from a booking’s notes before the job; a title and caption for a gallery photo; and a reply to a review you paste in. A model drafts. A person sends.
- Nothing it writes goes anywhere on its own. It never posts, never sends and never publishes.
- It never invents a number or a claim. Prices come from your menu.
- The brief is shown on the admin page and nowhere else, never in an email to a customer.
- Off by default, and until you switch it on nothing runs. It runs when you press the button, never on a timer.
The owner admin
Built for a phone, held in one hand, next to a car
The part you use every day. Nothing in it needs a developer: a booking site you have to email somebody to change is a booking site you stop changing.
- Your dashboard: today, what is coming, what needs closing out, what you are owed, the month’s takings.
- Take a phone booking with an override for your own rules. Reschedule, cancel, refund, resend.
- Forget to close a job out and it completes itself after 48 hours and flags it.
- Availability, services, gallery, customers, referrals, the importer, the text threads, and CSV exports.
The words are settings too. “Vehicle”, the size tiers and the service categories are configuration rather than code, so the same product suits a trade that is not detailing. It was built for detailing, and detailing is the one trade running on it.
3
Today
1
Needs close-out
$418
Due at appointment
They paid, but by then the time was no longer free. Move one of the two.
Make it my own
See it with your logo on it
Thirty minutes, with the person who writes the code.