Put Bookr's booking flow inside the website you already have. It uses the same bookings, calendar and payouts as the app, so a booking on your site lands in Bookr straight away.
https://example.co.uk.All four use the same one-line code. You choose with data-shape, and you can change your mind later without touching your website again.
data-shape="inline")The booking flow sits in your page like any other section, and grows and shrinks to fit each step so there is never a scrollbar inside a box. Best for a dedicated “Book” page.
data-shape="button")A “Book now” button pinned to the corner of every page. Tapping it opens the booking flow over your site. Nothing in your layout has to change. Use data-label to change the wording and data-position="left" to move it.
data-shape="trigger")Keep the button you already designed. Add data-bookr-open to it and it opens the booking flow.
<a href="#" data-bookr-open>Book an appointment</a>
Works with any of the above. Put booking for one service on the page that sells it, so the haircut page books the haircut.
<a href="#" data-bookr-open data-bookr-service="SERVICE-ID">Book this</a>
The app fills this in for you. If you'd rather do it here, enter your Bookr link name and pick your options.
…
If your site was built with an AI, paste the instructions below into the chat. It will put the booking in the right place.
…
If it tells you it can't add custom code, that usually means the page is a rich-text block rather than an HTML one — ask it for an embed, custom HTML or code block, or use the floating-button option, which needs no space in your layout.
The booking appears where you paste it. There's nothing else to set up.
If the fixed height annoys you, use data-shape="button" instead: the floating button opens the booking over the whole page, so the height of the box stops mattering.
On a normal page (a “Book” page):
To put the floating button on every page, use data-shape="button" and paste it into Themes → Edit code → layout/theme.liquid, just before </body>. Duplicate your theme first so you can roll back.
Shopify's rich-text editor strips <script>, so pasting into a normal page's text box will not work. It has to be Custom Liquid or theme code.
You should never have to touch your website twice. Your colour, the light/dark look, which services show and which websites are allowed all live in the app, under Your page → Your website. Change them there and every site you've pasted the code onto updates on its own, usually within the hour.
The only reasons to edit your website again are changing where the booking sits on the page, or switching between the four ways it can appear.
Hand this section to your web person if you have one. The widget reports what it's doing, so your existing analytics keep working:
window.addEventListener('bookr:booked', function (e) {
// e.detail = { ref, amountPence, currency }
// fire your own conversion tracking, or send them somewhere
});
// Open the booking flow from your own code:
window.Bookr.open({ service: 'SERVICE-ID' });
// Built your own slot picker from the API (mybookr.app/developers)? Hand the chosen time
// to Bookr to confirm and pay. If that slot is free the flow opens on the details step;
// if not, the customer sees the calendar as normal.
window.Bookr.open({ service: 'SERVICE-ID', start: '2026-10-06T08:00:00Z' });
The booking flow runs in an iframe on mybookr.app, so card details never touch your site and your site stays out of PCI scope. Payments are handled by Stripe exactly as they are on your Bookr page.
You can send customers straight to your booking page on any plan. Add a “Book now” button that links to it:
https://mybookr.app/your-handle
It opens your booking page in the browser. Pro adds the embed, so customers can book without leaving your site.
For more answers see Help, or see For businesses to find out more.