Band Artist Booking

Developers

Embed your booking calendar

Show your live availability and let visitors send booking requests directly from your own website. One iframe, your branding, no extra dependencies.

1. Get your API key

Open Settings → Embed & API and hit Generate key. The plaintext key is shown once — copy it immediately, then customize the look and copy the snippet for your framework.

The Embed & API section is part of the Pro and Pro+ plans. Free accounts see an upgrade card.

2. Paste the snippet on your site

Every framework uses the same iframe under the hood — only the wrapper changes. Each snippet below is the same URL pattern:

https://bandartistbooking.com/embed/calendar/your-slug?api_key=bb_embed_YOUR_KEY

HTML

Drop into any .html file or a website builder that supports a custom HTML block.

<div style="max-width:100%">
  <iframe
    src="https://bandartistbooking.com/embed/calendar/your-slug?api_key=bb_embed_YOUR_KEY"
    width="700"
    height="1000"
    style="border:0; border-radius:12px; max-width:100%"
    loading="lazy"
    title="Booking calendar"
  ></iframe>
  <p style="text-align:center; font-size:12px; margin-top:8px; color:#666">
    Powered by <a href="https://bandartistbooking.com" target="_blank" rel="noopener" style="color:inherit; text-decoration:underline">BandArtistBooking</a>
  </p>
</div>

WordPress

Add a Custom HTML block to the page or post where you want the calendar to appear, then paste the iframe.

<div style="max-width:100%">
  <iframe
    src="https://bandartistbooking.com/embed/calendar/your-slug?api_key=bb_embed_YOUR_KEY"
    width="700"
    height="1000"
    style="border:0; border-radius:12px; max-width:100%"
    loading="lazy"
    title="Booking calendar"
  ></iframe>
  <p style="text-align:center; font-size:12px; margin-top:8px; color:#666">
    Powered by <a href="https://bandartistbooking.com" target="_blank" rel="noopener" style="color:inherit; text-decoration:underline">BandArtistBooking</a>
  </p>
</div>

Don't paste into the visual editor — use the Custom HTML block (Gutenberg) or a Code/HTML widget (Elementor / Divi).

React

JSX shorthand — same iframe, props converted to camelCase / numeric.

<div style={{ maxWidth: "100%" }}>
  <iframe
    src="https://bandartistbooking.com/embed/calendar/your-slug?api_key=bb_embed_YOUR_KEY"
    width={700}
    height={1000}
    style={{ border: 0, borderRadius: 12, maxWidth: "100%" }}
    loading="lazy"
    title="Booking calendar"
  />
  <p style={{ textAlign: "center", fontSize: 12, marginTop: 8, color: "#666" }}>
    Powered by{" "}
    <a
      href="https://bandartistbooking.com"
      target="_blank"
      rel="noopener"
      style={{ color: "inherit", textDecoration: "underline" }}
    >
      BandArtistBooking
    </a>
  </p>
</div>

Next.js

Same as React. Works in both Server and Client Components — no client-side JS required from your side.

// app/booking/page.tsx
export default function Booking() {
  return (
    <div style={{ maxWidth: "100%" }}>
      <iframe
        src="https://bandartistbooking.com/embed/calendar/your-slug?api_key=bb_embed_YOUR_KEY"
        width={700}
        height={1000}
        style={{ border: 0, borderRadius: 12, maxWidth: "100%" }}
        loading="lazy"
        title="Booking calendar"
      />
      <p style={{ textAlign: "center", fontSize: 12, marginTop: 8, color: "#666" }}>
        Powered by{" "}
        <a
          href="https://bandartistbooking.com"
          target="_blank"
          rel="noopener"
          style={{ color: "inherit", textDecoration: "underline" }}
        >
          BandArtistBooking
        </a>
      </p>
    </div>
  );
}

PHP

Server-side echo — useful if your CMS templates are PHP-based (e.g., custom WordPress themes, raw PHP sites).

<?php $bookingUrl = 'https://bandartistbooking.com/embed/calendar/your-slug?api_key=bb_embed_YOUR_KEY'; ?>
<div style="max-width:100%">
  <iframe
    src="<?= htmlspecialchars($bookingUrl, ENT_QUOTES) ?>"
    width="700"
    height="1000"
    style="border:0; border-radius:12px; max-width:100%"
    loading="lazy"
    title="Booking calendar"
  ></iframe>
  <p style="text-align:center; font-size:12px; margin-top:8px; color:#666">
    Powered by <a href="https://bandartistbooking.com" target="_blank" rel="noopener" style="color:inherit; text-decoration:underline">BandArtistBooking</a>
  </p>
</div>

Customization

Tweak the look by adding query parameters to the embed URL — or use the live customizer in Settings → Embed & API to build the URL visually.

theme
light (default), dark, or auto (matches visitor's OS)
accent
URL-encoded hex color (e.g. %230ea5e9)
show
calendar for availability-only, omit (default) for calendar + inline form
width / height
Set via the <iframe> attributes, not the URL

Notes