Setup builder
Fill this in, copy one snippet
No hand-edited JSON. Everything you change appears in the live preview on the right, and the snippet at the bottom is what you paste into your site.
Sign in to load the route prices saved in your account.
Your company
The phone number is the fallback shown if a request ever fails to send.
Look
Only these two settings affect appearance — the rest is isolated from your theme on purpose.
Pricing
List the places you drive to, then price only the pairs that matter. Anything unpriced becomes an enquiry instead of a guess.
Vehicles
The multiplier scales every zone price. 1.45 means this vehicle costs 45% more than your base price.
Address autocomplete (Google)
Optional. Paste a Google Maps Platform browser key and the pickup and drop off fields suggest real addresses as the customer types. Restrict the key to your own domain in Google Cloud Console, enable the Places API (New) and Maps JavaScript API, and keep billing on the project. Leave it empty and the fields stay plain text — nothing breaks.
Autocomplete only appears on free-text address fields. In Zone prices mode with a places list, pickup and drop off are dropdowns instead — switch mode to Hourly only or Enquiry only in the preview to see it, or clear the places list.
Where requests go
Use the PHP handler from the download on shared hosting, or a Cloudflare Worker URL. Leave this wrong and no booking ever reaches you.
Live preview
Your embed code
<div id="chauffeur-quote"></div>
<script>
window.chauffeurQuoteConfig = {
"business": {
"name": "Halden Black Car",
"phone": "+1 555 0164",
"email": "bookings@example.com",
"leadTimeHours": 3
},
"theme": {
"accent": "#1F5F4B",
"radius": "6px",
"display": "inline",
"maxWidth": "620px"
},
"vehicles": [
{
"id": "sedan",
"name": "Executive sedan",
"pax": 3,
"bags": 2,
"note": "Mercedes E-Class",
"multiplier": 1
},
{
"id": "suv",
"name": "Luxury SUV",
"pax": 6,
"bags": 5,
"note": "Cadillac Escalade",
"multiplier": 1.45
}
],
"pricing": {
"mode": "zones",
"symbol": "$",
"places": [
"Logan Airport",
"Boston",
"Cambridge",
"Brookline",
"Newton"
],
"matrix": {
"Logan Airport|Boston": 89,
"Logan Airport|Cambridge": 95,
"Boston|Cambridge": 55
},
"hourlyRate": 85,
"minHours": 3,
"returnDiscount": 0.1,
"note": "Prices include tolls, parking and gratuity. Routes we don't list are quoted by return."
},
"submit": {
"mode": "webhook",
"url": "/quote-handler.php"
},
"maps": {
"browserKey": "",
"countries": []
}
};
</script>
<script src="/chauffeur-quote.js" defer></script>Paste it into a Custom HTML block. Then run ChauffeurQuote.selftest() in the browser console on the live page before you send any traffic.