Embed

How to set it up

  1. In your site’s wp-admin, go to Baza Booking Calendar – Settings – Embed, tick “Allow embedding on other sites” and save.
  2. On the same screen, write the sites that may embed it in “Sites allowed to embed”, one per line, host only: example.com Leave it empty and any site may embed the calendar – which also means any site may put it under something of their own.
  3. Choose what to embed on that same screen and copy the line it writes for you. Or take one of the examples below – they are the same thing, already filled in.
  4. Paste it into the other site anywhere in the page, where the calendar should stand. Nothing has to be installed there: no plugin, no WordPress, no account.

Examples

The whole calendar, with the service picker

<script src="https://bazadevelopers.com/bbc-embed.js"></script>

Nothing else needed. This is the same calendar your own pages show, with the same services, prices and rules.

One service on its own

<script src="https://bazadevelopers.com/bbc-embed.js" data-service="12"></script>

The id of the service, as the Service list above gives it. The picker is not shown and the client books that one service.

Login button for their header

<script src="https://bazadevelopers.com/bbc-embed.js" data-type="auth" data-account-url="/account/" data-login-text="Log in" data-account-text="My account"></script>

It arrives as markup, not as a frame, so its menu opens over the page. data-account-url is the page on THEIR site that carries the account – every link in the menu is pointed at it, so nobody is walked off to your site.

The client account, on a page of its own

<script src="https://bazadevelopers.com/bbc-embed.js" data-type="account" data-account-url="/account/"></script>

Put this on the page you named in data-account-url. Bookings, balance, loyalty and the profile, all of it. Signing in and out happens on their page and never leaves it.

Where the client lands after paying

<script src="https://bazadevelopers.com/bbc-embed.js" data-return-url="/thank-you/" data-cancel-url="/booking/"></script>

Written on the calendar. Both addresses must be on a site listed above – a payment is never sent back to an address nobody has vouched for.

The receipt, on the page they land on

<script src="https://bazadevelopers.com/bbc-embed.js" data-type="payment" data-home-url="/"></script>

Put this on the page named in data-return-url. It prints the order, the dates and what was paid – the gateway adds the booking number to the address and this reads it. data-home-url is where its button leads, on their site.

How much room it takes

<script src="https://bazadevelopers.com/bbc-embed.js" data-width="100%" data-max-width="1200px"></script>

A number is pixels; anything else is taken as written. Left out, it fills whatever room the page gives it.

A different look from your own pages

<script src="https://bazadevelopers.com/bbc-embed.js" data-theme="dark" data-view="month" data-whole-day="yes"></script>

The theme, the view and whole-day booking, for this embed alone. Left out, each of them follows your Design settings.

When the page builder will not keep a script tag

<div data-bbc-embed data-service="12"></div> <script src="https://bazadevelopers.com/bbc-embed.js"></script>

An empty element with the same attributes does the same thing, wherever it stands. Include the script once anywhere on the page.

Caching

If your site uses a page caching plugin (LiteSpeed Cache, WP Rocket, W3 Total Cache, WP Super Cache and others), three things have to be set, or the booking form will misbehave in ways that look like bugs in it:

  • Do not serve cached pages to signed-in visitors. A page built for a guest carries a guest’s security tokens, and every one of them is refused when somebody signed in uses that page.
  • Do not let the JavaScript optimiser combine or move this plugin’s inline scripts. Its settings and tokens live there, and a combined file is one file for everybody – which is one visitor’s token handed to all the others.
  • Keep the page lifetime under twelve hours, or exclude the pages carrying the booking form. A security token lives about that long, and a page older than its own token is a page of refusals.

And purge the cache once after changing any of this. The plugin asks for a fresh token and tries again when it meets a stale one, so an ordinary visitor is not stopped by it – but a page built for the wrong person cannot be mended from the browser.

Common issues

  • Nothing appears at all: the setting above is off, or the licence does not include embedding. With it off this site serves nothing, deliberately.
  • The calendar draws but every day is closed: the site it is on is not in the list above. An unlisted site is answered without permission to read the answer, and the browser throws it away.
  • Signing in does not stick: both sites must be on https. A browser refuses to keep a session for one site while the visitor is on another unless both are secure.
  • The account menu leads to this site: data-account-url is missing. Without it nothing knows where their own account page is, so the links stay as they were written here.
  • Two calendars on one page: only one can be drawn into a page – its settings are variables the whole page shares. Add data-frame=”yes” to the second one to put it in a frame of its own.
  • The receipt page is empty: it prints only when the gateway has sent the client back to it, because the booking number arrives in the address. Opening that page by hand shows nothing, which is correct.
Last Modified: 14.09.2026