Skip to content
Pineland Technologies
All work

Custom Solution · 2026

Embeddable Booking Widget

A booking wizard that drops into a site you already have

Customers book on the site you already own rather than being sent to somebody else's domain. The widget reads the plate, works out what that exact vehicle needs, offers a slot that is genuinely open, and hands back a confirmation number. The price on the page is the price on the invoice.

Live · embedded on operator sites · shown with demo data
Embeddable Booking Widget: A booking wizard that drops into a site you already have
Steps from plate to booked
5Steps from plate to booked
iframe to paste in
1iframe to paste in
It reads as your site, not ours
Your coloursIt reads as your site, not ours

The problem

A booking form that only exists on the vendor's domain sends every customer away from the site the business paid for. A generic form has the opposite problem: it does not know that a 2019 Silverado takes a different amount of oil than a Civic, so the price quoted on the website is not the price on the invoice.

What got built

One wizard with two mounts: a branded page at /book, and a chrome-free version at /embed that renders transparent inside an iframe so the host page's background shows through and the widget reads as part of the site rather than a pasted-in card. Steps disclose one at a time, and each finished step collapses to a summary line that is editable on click. Everything tenant-sensitive happens in server actions, so the embedded page holds no key of any kind.

Details worth naming

  • License plate lookup fills in the vehicle, which decides the oil, the capacity, and the quart overage before any price is shown.
  • Time slots come from the operator's real schedule, so the same window is never sold twice.
  • Brand theming from a single hex: lighter and darker shades derive through color-mix, and a browser too old for it falls back to the platform palette instead of breaking.
  • The embed snippet is generated for the operator in settings, with their colors baked into the URL.
  • Conversion tracking fires once on the confirmation screen, bootstrapped in the canonical order so an event can never land before its config. An operator with no tag configured loads no tracking scripts at all.
  • A fresh submission token is minted on every render, so a double tap does not become a double booking.

Next project

Ad Spend and Attribution

Where the sign-ups came from, and what each one cost

Read it

The next thing your business runs on starts here.

Tell us what it needs to do. Within a day you will have a straight answer on what it takes to build, what it costs to run, and what we would cut. If the honest answer is that you do not need to build anything, that is the answer you get.

Or skip the form entirely. hello@pinelandtech.com reaches a person, not a queue.