BookMyVenue Contact

Help centre › Getting started

Put booking on your own website

Put a Book now button on your own website in one line of code — WordPress, Squarespace, Wix, Google Sites or plain HTML.

Guests can always book at app.bookmyvenue.com.au/book/<your-slug>. But most venues want booking on their own site, and that is what this is.

Appointments → Get the code.


The simplest option, and the one Get the code gives you: a floating Book now button that sits on top of your existing website and opens the booking form when tapped.

One line, pasted once:

<script src="https://app.bookmyvenue.com.au/widget/launcher.js?v=2" defer
        data-venue="your-venue-slug"
        data-label="Book now"
        data-color="#0f766e"
        data-position="right"
        data-auto-open="false"></script>

Get the code builds this for you with your venue already filled in, shows you a live preview, and lets you set:

Option What it does
Button labelThe text on the button. "Book now", "Book a table", "Make an appointment"
PositionWhich corner it sits in
ColourMatch your site
Open automaticallyOpens the booking form as soon as the page loads. Use sparingly
ServicePre-select a service, so a "Book a massage" page opens on that service

Why this option is the default recommendation: it needs nowhere to put a <div>. It works on page builders with no free template slot, on link-in-bio pages, and on a site someone else maintains — anywhere you can add one script tag.

It also survives hostile CSS. Everything the button draws lives in an isolated shadow DOM, so your theme cannot break it and it cannot break your theme.


Where to paste it

Get the code shows platform-specific instructions. In short:

Platform Where
WordPressAppearance → Theme File Editor, or a "header/footer scripts" plugin — paste at Body – end
SquarespaceSettings → Advanced → Code Injection → Footer
Google SitesInsert → Embed → Embed code
WixSettings → Custom Code → add to Body – end, on all pages
Plain HTMLJust before the closing </body> tag

Paste it once, on every page (the "all pages" / footer option), not on one page only.


The inline widget

If you want the booking form in the page rather than behind a button — a "Book" page with the form on it — use the container form:

<div data-bookmyvenue
     data-venue="your-venue-slug"
     data-api="https://bookmyvenue.com.au"></div>
<script src="https://bookmyvenue.com.au/widget/loader.js?v=12" defer></script>

Options:

Attribute Default Notes
data-venuerequiredYour slug for table bookings; your venue UUID for the appointment flow
data-flowbookingSet to appointment for the services/practitioner flow
data-modeinlineinline renders in place; modal renders a button that opens a dialog
data-labelflow-dependentButton text in modal mode
data-accentbrassAny CSS colour
data-datetodayPre-select a date, YYYY-MM-DD
data-pax2Pre-select a party size

You can put more than one on a page — a bistro widget and a function-room widget side by side — and each will work independently.

Always keep the ?v= on the script address. Widget files are cached at the edge for a week, so removing it means visitors can keep getting an old copy for days after an update. ?v=12 is current for the inline loader; the floating launcher is ?v=2.


Why it is an iframe

The booking form runs inside an iframe, for one reason.

Venue websites are mostly WordPress with Elementor or Divi and years of accumulated CSS. An inline form gets destroyed by one stray global style rule — and our styles could equally wreck yours. The iframe removes both risks in one move.

It also means we can improve the booking form without you ever touching the code you pasted.


Where bookings came from

The embed passes source information through — utm_source, utm_medium, utm_campaign, referrer and landing page — so a booking made through a link in an Instagram bio shows up that way in Reports → By source. You do not have to do anything to make this work, beyond using normal campaign links.

See Reports.


Checking it worked

  1. Open your website in a private/incognito window (your own browser may be caching the old page).
  2. The button should appear within a second or two.
  3. Tap it. The booking form should open.
  4. Make a test booking and confirm it lands in your diary.

If the button does not appear, see Troubleshooting → the booking button isn't showing.


Next


Still stuck? Email [email protected] with your venue name, what you were doing and what happened instead. Please don't send passwords — we will never ask for one.