Booking Pages for Multiple Branches

How to put online booking on your website when your practice has more than one branch.

This guide covers the layouts we support, the code to paste for each, and what happens to the appointment links your patients receive. For setting the branches up in the first place — appointment types, optometrists, reminders — see the Multi-Branch Setup Guide. For general embedding instructions, see Website Integration.

The one decision

Everything on this page follows from a single question: do you want patients to be able to move between your branches while booking?

Switching on (the default)Switching off
At your group booking addressThe patient enters their details once, is taken to the branch they usually attend, and can move to anotherThe address lists your locations and sends the patient to the one they pick
At a branch's own addressThat branch only — no branch choiceThat branch only
A branch named on a link or buttonThe patient starts at that branch, even if they usually attend anotherYour group address lists your locations with that branch first, and each one opens its own booking page
Nearest locationThe branch list can sort by distance, and your own page can send a patient straight to the closest with ?branch=closestNot available — ?branch=closest shows your plain list of locations
Appointment links go toYour main booking page, wherever the patient bookedEach branch's own page
Website Booking URLOne, for the whole businessOne per branch, set by each branch
SuitsBranches that work as one practice, patients moving between themBranches that trade as separate practices

That's a setting on your account, and we switch it for you — ask us and we'll change it in a minute.

Read the second row before you ask us to change anything. A branch's own address only ever books that branch, whatever the setting says — so if all you want is a page that books one branch and never mentions the others, you already have it, and it's Option E below. Nothing needs switching off.

What the setting really decides is where your patients' appointment links land — one booking page for the group, or each branch's own — and whether your group address runs a booking flow at all. Tell us which of the layouts below you want and we'll make sure the setting matches before you paste anything on your site.

Option A — one booking page for the whole group

The original layout, and the simplest. One page on your website carries one booking form.

A returning patient enters their name and date of birth and is taken straight to the branch they normally attend. A new patient is asked to choose a location first. Either way they can switch branch part-way through if they change their mind.

Paste this on the page where you want booking to appear:

<script src="https://yourbooking.au/embed.js"
        data-tenant="yourbusiness"></script>

Prefer a button that opens booking in a pop-over? Use the pop-over script instead, and put the button wherever you like on the page:

<button data-yb-open>Book an Appointment</button>
<script src="https://yourbooking.au/ybpopover.js"
        data-tenant="yourbusiness"></script>

We'll tell you the exact data-tenant value for your business.

Option B — one page, a button for each branch

Same as Option A, but your patients choose the branch on your page rather than ours — useful when your site already has an "Our Locations" section and you'd rather the branch was picked there.

Give each button the branch it books:

<button data-yb-open data-yb-branch="yourbusiness-north">Book at North Branch</button>
<button data-yb-open data-yb-branch="yourbusiness-south">Book at South Branch</button>

<script src="https://yourbooking.au/ybpopover.js"
        data-tenant="yourbusiness"></script>

One script, as many buttons as you have branches. The patient still enters their details once, and lands at the branch the button named. They can still switch branch afterwards if they picked the wrong one.

You can find each branch's name in that branch's admin dashboard, under Setup → Email & Domains → Domain Settings — it's the first part of the branch's own web address. We can also just send you the list.

An inline embed can name a branch too, if a page is only ever about one branch:

<script src="https://yourbooking.au/embed.js"
        data-tenant="yourbusiness"
        data-yb-branch="yourbusiness-north"></script>

Linking straight to a branch

Not embedding at all? A plain link works the same way — put the branch on the end of your booking address:

https://yourbusiness.yourbooking.au/?branch=yourbusiness-north

Useful for a menu item, a newsletter, a Google Business profile, or a social post that should land on one branch. The patient enters their details once and starts at that branch, exactly as the buttons in Option B do, and can still switch if they picked the wrong one. Leave the branch off and they get the normal group booking page.

If you build your own iframe rather than using our script, the same parameter goes on its src.

This is for the group booking address with branch switching on (Options A and B). A branch's own address ignores it, because that address only ever books that branch. With switching off (Option C) your group address shows a list of your locations rather than a booking form: a link naming a branch puts that branch at the top of the list, and each location opens its own booking page.

What naming a branch actually does

It decides where the patient starts, and it is applied once.

Using a dropdown instead of buttons

If you would rather your patients picked the branch from a dropdown, note that the inline embed.js snippet reads its branch once, when the page loads — changing a dropdown afterwards will not move it. Use the pop-over script instead, and have the dropdown click a hidden trigger:

<select id="branch-picker">
  <option value="">Choose a location...</option>
  <option value="yourbusiness-north">North Branch</option>
  <option value="yourbusiness-south">South Branch</option>
</select>
<button id="yb-trigger" data-yb-open hidden></button>

<script src="https://yourbooking.au/ybpopover.js"
        data-tenant="yourbusiness" nowprocket></script>
<script nowprocket>
  document.getElementById('branch-picker').addEventListener('change', function (e) {
    if (!e.target.value) return;
    var trigger = document.getElementById('yb-trigger');
    trigger.setAttribute('data-yb-branch', e.target.value);
    trigger.click();
  });
</script>

The pop-over works out the branch on every click, so the dropdown can change as often as the patient likes. It also opens by itself when someone arrives on an appointment link — something a hand-built dropdown would otherwise have to handle for itself.

Book at my nearest location

With branch switching on, once a group has two or more branches, the branch picker inside the booking page carries a Sort by nearest location button. A patient taps it, their phone asks whether the page may use their location, and the list reorders nearest first with the distance shown against every branch. The picker stays where it is and the patient still chooses — a branch that happens to be closest but isn't the one they want is one they scroll past.

Their position is used on their own device and is never sent to us. Nothing about it is stored.

Your own page can take them straight there. Alongside the per-branch buttons in Option B, add one more with the branch set to closest. That skips the list: the patient goes to the appointment times at the nearest branch that is open for online booking.

<button data-yb-open data-yb-branch="yourbusiness-north">Book at North Branch</button>
<button data-yb-open data-yb-branch="yourbusiness-south">Book at South Branch</button>
<button data-yb-open data-yb-branch="closest">Book at my nearest location</button>

It works on a plain link too:

https://yourbusiness.yourbooking.au/?branch=closest

A few things worth knowing:

Each branch's position comes from its street address automatically. If a branch shows the wrong distance, its admin can correct the coordinates on the Branch Information card — see Fixing a branch's map position.

Option C — a separate booking page for each branch

For groups whose branches trade as separate practices. Each branch gets its own booking page, and a patient never sees that the other branches exist.

Ask us to turn branch switching off for your business first. Until we do, a patient can still move to another branch mid-booking. If you want per-branch pages and want patients to be able to switch, see Option E instead.

On each branch's page, name that branch in the snippet rather than the business:

<!-- On the North Branch page -->
<script src="https://yourbooking.au/embed.js"
        data-tenant="yourbusiness-north"></script>

<!-- On the South Branch page -->
<script src="https://yourbooking.au/embed.js"
        data-tenant="yourbusiness-south"></script>

Then, in each branch's admin dashboard, set that branch's own Website Booking URL (Setup → Email & Domains → Domain Settings) to the page you just built. That field is per-branch once switching is off, and it's how your patients' appointment links find the right page.

Two things to know about this layout:

Option D — separate practices with a shared locations page

If your sites are separate practices with us rather than branches of one business, a single page can still carry a button for each:

<button data-yb-open data-yb-tenant="practiceone">Practice One</button>
<button data-yb-open data-yb-tenant="practicetwo">Practice Two</button>

<script src="https://yourbooking.au/ybpopover.js"
        data-tenant="practiceone"></script>

This works for new bookings, but it has one limitation: a page shared this way can only be the Website Booking URL for one of the practices — appointment links for the others need to land on their own pages.

If the sites are under common ownership, Option C is usually the better arrangement: they become branches of one business, every appointment link works everywhere, and you get one bill and one SMS number instead of several.

Option E — a branch page while switching stays on

You can run both at once. Keep the group booking page on your own site (Option A or B), and put a single-branch page wherever it suits — your own per-branch pages, or a page on a partner or group site that lists your practice.

On that page, name the branch rather than the business:

<script src="https://yourbooking.au/embed.js"
        data-tenant="yourbusiness-north"></script>

A patient booking there sees that branch and nothing else — no branch picker, no mention of your other locations — because a branch's own address always runs a single-branch booking form. Meanwhile your own site keeps the picker for patients who arrive there.

The one thing to know is where the follow-up goes. While switching is on, your business has one Website Booking URL, so manage, reminder and recall links all go to your own booking page — including for a patient who booked from the partner page. The links work normally; the patient simply lands on your site rather than back where they booked.

If you'd rather each branch's links went to that branch's own page, you want Option C instead — but that turns switching off everywhere, including on your own site.

Appointment links look after themselves

Every link you send a patient — the manage link in a booking confirmation, a reminder, a recall, a review request — is tied to the appointment it belongs to, and opens at the right branch on its own. You don't configure anything per branch, and you don't need a different page for links than for new bookings.

That holds for every option above, including a link sent before you changed layouts. A booking page can always work out which branch an appointment link belongs to.

Which page they land on follows the setting, not the layout: with switching on (Options A, B and E) it's your main booking page, wherever the patient booked; with switching off (Option C) it's that branch's own page.

If you use a short domain of your own (yrb.au links, or your own short address), it keeps working unchanged.

Which to choose

Not sure? Send us your site and we'll tell you which one fits and set it up with you.