| # | Customer | Service | Date | Time | Price | Status | Action | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| No bookings yet. | |||||||||||
| # | Customer | Vehicle | Service | When | Price | Status | Actions |
|---|---|---|---|---|---|---|---|
| No bookings yet. | |||||||
| # | Date | Name | Phone | Vehicle | Service | Photos | Status | Action | |
|---|---|---|---|---|---|---|---|---|---|
| No quote requests yet. | |||||||||
| # | Phone | Code | Claimed | Status | |
|---|---|---|---|---|---|
| No promo leads yet. | |||||
Include this key in the Authorization: Bearer <key> header for all API requests. Keep it private.
/api/bookings
?status=pending filter./api/leads
?used=false filter./api/bookings/:id/status{"status":"confirmed"|"completed"|"cancelled"}/api/bookings/stats/api/bookings/:idToken not connected.
Add, remove, and style booking packages. Changes update the booking options and the pricing cards.
Add, remove, and style individual services. Changes update booking options and the pricing cards.
Controls the wide Nano Armor card shown under the Individual Services pricing section. It always renders as the widest/emphasized card.
Controls the large Nano Armor Protection card in the “Our Services” section. Same text fields as Individual Services; these additional style controls apply only to this service-card variant.

Customize the service cards in the “Our Services” section. Each card supports an optional highlight banner (like the blue “Protection lasts 4–6 years” block on the Nano card) with its own icon, title, description, and colours.






Add, rename, re-price, or remove add-ons. Changes update the main-page "Popular Add-Ons" section and the booking flow's Add-Ons selector in real time.
Manage the list of vehicle sizes shown in the booking form. Changes save automatically. Removing a size clears any per-item surcharges configured for it.
Set an extra charge applied at checkout for each package, individual service, or add-on based on the customer's vehicle size. For example, Polish for an SUV can be +$60 while Interior Clean for an SUV can be +$50. Blank or 0 = no extra charge.
Add a pricing modifier based on how dirty or damaged the vehicle is. Applied on top of the base price and any size surcharge. Choose either a fixed dollar amount or a percentage for each tier. Conditions appear in the booking and quote edit forms.
Customize the two stat badges shown over the hero image. Leave blank to use the defaults.
A ★ will be appended automatically if you only type a number. You can also include your own symbol like ★, ⭐ or ☆ to override.
Leave blank to hide that platform. Changes apply to the footer links.
Choose how customers pay after confirming a booking. Dynamic Checkout charges the exact total based on what they ordered (recommended). Static Payment Link always charges the same amount you set in Stripe.
Create one in your Stripe dashboard → Payment Links. The amount is whatever you set in Stripe.
Get notified by email whenever a customer books a detail. Paste a webhook URL from a free service like Zapier, Make.com, Pipedream, n8n, or Formspree — they will forward the booking details to your inbox automatically.
When a customer books, also send them a confirmation email. The same webhook is used — you just add a 2nd "Send Email" action to your Zap and map it to the customer's address. Setup steps below ↓
Available placeholders: {customer_name} {customer_email} {customer_phone} {vehicle} {service} {date} {time} {final_price} {business_name} {business_phone} {business_email} {business_address}
customer_email field from the triggerconfirmation_subjectconfirmation_bodyconfirmation_from_nameconfirmation_reply_tosend_confirmation equals 1" — so customer emails only go out when you have the toggle above turned on.The confirmation email body is rendered with the placeholders filled in on our side — Zapier just sees the final text. So you don't need to map individual fields like {customer_name} in Zapier; just map confirmation_body and you're done.
customer_name, date, time, service, final_price when you set up the triggerMost common issue: the Zap is still in "Draft" mode. Open the Zap in Zapier — if you see a "Publish" button in the top-right, click it. The Zap must be Published (and toggled ON) before webhooks will reach it.
Alternative: Formspree works the same way — create a form, copy its endpoint URL, paste it above. Formspree emails you whenever a booking is posted, no Zapier needed.
Automatically block off booked time on your Google / Apple / Outlook calendar so you never double-book. Two options below — use either or both.
Sends booking details to a Zapier / Make webhook that creates the calendar event. Recommended for full automation.
When on, every confirmed booking opens a pre-filled Google Calendar tab — you just click "Save". No webhook needed.
summary → Event title, start_iso → Start, end_iso → End, description → NotesQuick alternative: Just enable Auto-open "Add to Google Calendar" above. No setup — every booking opens a pre-filled Google Calendar tab in your browser. One click to save.