Booking widget

A booking widget for your restaurant’s website

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

Book a table, just like your guests will

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.

Interactive demo

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

Three short steps, no account needed

  1. Date and time

    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.

  2. Details

    Name, email, phone and notes for allergies, a step-free table or a celebration, plus the terms checkbox. Invisible reCAPTCHA runs in the background.

  3. Confirmation

    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

Small touches that turn visits into bookings

Live availability

Times reload whenever the guest changes the date, party size or area, and the booking is checked again when they press Book.

Clear errors

If a rule blocks the booking, the guest sees why, for example that the time has just filled up, and can pick another.

Your colour

Buttons, selected days and selected times use the brand colour you set with one attribute.

No style clashes

The widget renders in its own Shadow DOM, so your website’s styles can’t break it and it can’t break your website.

Spam stays out

Invisible reCAPTCHA and a required terms checkbox. Where google.com is blocked, reCAPTCHA loads from recaptcha.net.

Analytics-ready

A booked browser event with the locator code fires on every successful booking, ready for your conversion tracking.

For your website

Add it with one tag

Paste this where the widget should appear, replacing your-venue and the product ID.

HTML
<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>
Widget attributes
AttributeDefaultWhat it does
product-idRequiredThe product to book.
originThe page’s own addressYour venue’s Bookanty address. Needed when the widget sits on your own domain.
langenThe language of the widget and its calendar, as a language code such as en or es.
lang-pathSame as langThe language used in Bookanty addresses. It also sets the language of the confirmation email.
primary#2E7D32Your brand colour for buttons and selections.
step30Minutes between the time slots offered.
debugOff1 writes diagnostic messages to the browser console.

Track every booking

Listen for the booked event to record a conversion:

JavaScript
document.querySelector("bookanty-booking").addEventListener("booked", (event) => {
  // event.detail is { ok: true, locator: "3A7QJ2KL9X" }
});
Before going live Ask the Bookanty team to add your website’s address to the allowed origins and to the reCAPTCHA key’s domains. Until then, the widget can’t load or submit bookings from your site.

No website? No problem

A hosted booking page for every product

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.

  • A full-screen slideshow of your own photos.
  • Date picker, party size, live times, terms checkbox and reCAPTCHA.
  • Panels for the menu, terms and conditions, privacy policy and location.
  • An optional enhanced menu with up to three photo galleries.
  • A language switcher, a cookie-consent banner and a confirmation page.

Confirmation emails, in the guest’s language

The moment a booking is confirmed online, the guest gets an email with everything they need.

  • The guest’s name, the venue, the date and time, the party size and the locator code.
  • Sent in the same language the guest booked in.
  • Templates that can be reworded without a software release.
  • Opens and clicks are tracked.
  • A copy of each new online booking can go to your reservations inbox.

FAQ

Booking widget questions

Will the widget clash with my website’s design?

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.

Do I need a developer to add the booking widget?

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.

Can guests book in their own language?

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.

Can I track bookings in my analytics?

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.

Can I take bookings for different products?

Yes. Each product, such as dinner or a tasting menu, has its own ID. Set product-id to choose which one the widget books.

Start taking bookings on your website

Try Bookanty free for 6 months, with no obligation and nothing to install.