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 floating button (recommended)
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 label | The text on the button. "Book now", "Book a table", "Make an appointment" |
| Position | Which corner it sits in |
| Colour | Match your site |
| Open automatically | Opens the booking form as soon as the page loads. Use sparingly |
| Service | Pre-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 |
|---|---|
| WordPress | Appearance → Theme File Editor, or a "header/footer scripts" plugin — paste at Body – end |
| Squarespace | Settings → Advanced → Code Injection → Footer |
| Google Sites | Insert → Embed → Embed code |
| Wix | Settings → Custom Code → add to Body – end, on all pages |
| Plain HTML | Just 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-venue | required | Your slug for table bookings; your venue UUID for the appointment flow |
data-flow | booking | Set to appointment for the services/practitioner flow |
data-mode | inline | inline renders in place; modal renders a button that opens a dialog |
data-label | flow-dependent | Button text in modal mode |
data-accent | brass | Any CSS colour |
data-date | today | Pre-select a date, YYYY-MM-DD |
data-pax | 2 | Pre-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
- Open your website in a private/incognito window (your own browser may be caching the old page).
- The button should appear within a second or two.
- Tap it. The booking form should open.
- 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
- Guest guide — what your customer sees
- Troubleshooting
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.
