Live availability
Times reload whenever the guest changes the date, party size or area, and the booking is checked again when they press Book.
Booking widget
Guests book in three short steps without leaving your site. Every time they see has already been checked against your opening hours, covers and tables.
Try it
A working copy of the widget with demo data. Pick a day, a party size and a time, fill in the details and watch the booked event arrive.
The interactive widget needs JavaScript. Guests choose a date, party size and time, enter their details and get a confirmation with a locator code.
What guests see
A calendar in the guest’s language with closed days disabled, party size up to your maximum, an optional area and the day’s times. Full times are greyed out and the first free one is pre-selected.
Name, email, phone and notes for allergies, a step-free table or a celebration, plus the terms checkbox. Invisible reCAPTCHA runs in the background.
A success message with the name, party size, date, time and locator code. The confirmation email is already on its way.
Details that make a difference
Times reload whenever the guest changes the date, party size or area, and the booking is checked again when they press Book.
If a rule blocks the booking, the guest sees why, for example that the time has just filled up, and can pick another.
Buttons, selected days and selected times use the brand colour you set with one attribute.
The widget renders in its own Shadow DOM, so your website’s styles can’t break it and it can’t break your website.
Invisible reCAPTCHA and a required terms checkbox. Where google.com is blocked, reCAPTCHA loads from recaptcha.net.
A booked browser event with the locator code fires on every successful booking, ready for your conversion tracking.
For your website
Paste this where the widget should appear, replacing your-venue and the product ID.
<script src="https://your-venue.bookanty.com/static/js/widget.js" defer></script>
<bookanty-booking
product-id="1"
origin="https://your-venue.bookanty.com"
lang="en"
primary="#2D6263"
step="30">
</bookanty-booking>
| Attribute | Default | What it does |
|---|---|---|
product-id | Required | The product to book. |
origin | The page’s own address | Your venue’s Bookanty address. Needed when the widget sits on your own domain. |
lang | en | The language of the widget and its calendar, as a language code such as en or es. |
lang-path | Same as lang | The language used in Bookanty addresses. It also sets the language of the confirmation email. |
primary | #2E7D32 | Your brand colour for buttons and selections. |
step | 30 | Minutes between the time slots offered. |
debug | Off | 1 writes diagnostic messages to the browser console. |
Listen for the booked event to record a conversion:
document.querySelector("bookanty-booking").addEventListener("booked", (event) => {
// event.detail is { ok: true, locator: "3A7QJ2KL9X" }
});
No website? No problem
Every product has its own booking page on your Bookanty address. Share it on Google Business Profile, Instagram, WhatsApp or a QR code on the table.
The moment a booking is confirmed online, the guest gets an email with everything they need.
FAQ
No. The widget renders inside its own Shadow DOM, so your website’s styles can’t break it and it can’t break your website. You choose its brand colour with one attribute.
If you can paste HTML into your website, you can add it: one script and one tag. Before it goes live, the Bookanty team adds your website’s address to the allow-list.
Yes. Set lang to the guest’s language code, such as es for Spanish, and the widget, its calendar and the confirmation email appear in that language.
Yes. When a booking succeeds, the widget fires a booked browser event with the locator code. Listen for it and record a conversion in your analytics tool.
Yes. Each product, such as dinner or a tasting menu, has its own ID. Set product-id to choose which one the widget books.
Try Bookanty free for 6 months, with no obligation and nothing to install.