Documentation
Install it in about ten minutes
Written for someone who has never opened a theme file. If you get stuck on any step, the self-test tells you exactly which part is wrong.
WordPress install
1. Upload the script
Media → Add New and upload chauffeur-quote.js. If your host blocks .js uploads, put it next to wp-config.php with File Manager or FTP. Note the final URL.
2. Build your config
Use the setup builder, fill in your details, places, prices and vehicles, and press Copy embed code. Nothing is sent anywhere — it all runs in your browser.
3. Fix the script path
Change /chauffeur-quote.js in the snippet to the URL you noted in step 1.
4. Paste it into a page
It must be a Custom HTML block. A Paragraph block strips the script silently. Elementor: HTML widget. Divi: Code module. Classic editor: the Text tab, not Visual.
5. Prove it works
On the live page press F12, open Console, run ChauffeurQuote.selftest(). PASS means done. Then send yourself one real test booking and confirm the email arrives.
Common problems
Nothing appears on the page.
The block stripped the script. It has to be a Custom HTML / Code block, and the <div id="chauffeur-quote"></div> must be present.
The form shows but every journey says we'll confirm your price.
Your zone matrix has no entry for that pair. That's the intended behaviour — add the price in the builder to quote it instantly.
Requests aren't reaching me.
Run ChauffeurQuote.selftest(). An empty submit.url is the usual cause. On shared hosting mail() can fail silently, which is why the PHP handler also writes every request to a log file on disk.
It looks different from the rest of my site.
That's deliberate. The widget renders in a shadow root so your theme cannot style it, which is what stops old themes from breaking it. Match your brand with the accent colour.
Can I take payment inside the form?
No, on purpose. Card capture inside a drop-in script would put PCI obligations on your site. Collect the booking, charge the way you already charge.
I moved to a new domain — do I need a new licence key?
There is no key and no domain check. Copy the files to the new host and it keeps working.