SeatBuilderSeatBuilder Docs

Quickstart

Install the SeatBuilder SDK and render your first seat map in under two minutes.

Quickstart

Install the SeatBuilder SDK, point it at the SeatBuilder API, and render an interactive seat map for one of your events. The IIFE bundle is served straight from the SeatBuilder API's /sdk/ route — no build step and no third-party CDN. (An npm package for bundler-driven projects is coming soon.)

At a glance: drop https://seatbuilder.org/sdk/latest/seatbuilder.iife.min.js into a <script> tag — SeatBuilder serves it. Full snippets below.

Install and render

Drop the IIFE bundle into any HTML page. SeatBuilder serves it at /sdk/latest/seatbuilder.iife.min.js (5-minute cache) and at a version-pinned, immutable URL /sdk/v{X.Y.Z}/seatbuilder.iife.min.js (1-year cache). The script exposes a global SeatBuilder with a single render(config) entry point. For production, pin to a version (/sdk/v4.0.0/...) so a bundle rotation can't change behaviour under you — see Versioning.

<div id="seats-container" style="width: 800px; height: 600px;"></div>

<script src="https://seatbuilder.org/sdk/latest/seatbuilder.iife.min.js"></script>
<script>
  const chart = SeatBuilder.render({
    publicKey: 'pk_live_xxx',
    eventKey: 'evt_xxx',
    container: 'seats-container',
    apiUrl: 'https://seatbuilder.org',
  });
</script>

Not yet published. @seatbuilder/sdk isn't on npm yet — for now, load the IIFE bundle from the SeatBuilder API's /sdk/ route (see the Script tag tab). When the package ships it will work like this: npm install @seatbuilder/sdk, then import and call render from your application code (ESM, TypeScript types included).

// Coming soon — not yet available on npm.
import SeatBuilder from '@seatbuilder/sdk';

const chart = SeatBuilder.render({
  publicKey: 'pk_live_xxx',
  eventKey: 'evt_xxx',
  container: 'seats-container',
  apiUrl: 'https://seatbuilder.org',
  // A bare number is a total cap. For per-category caps pass an
  // object, e.g. { total: 6, perCategory: { vip: 2 } } — see the
  // Render a seat map recipe.
  maxSelectedObjects: 4,
  onObjectSelected: ({ objectLabel, holdToken }) => {
    console.log('Selected', objectLabel, 'with hold', holdToken);
  },
});

Expected result

You should see the rendered seat map inside #seats-container. Free seats respond to hover and click; selecting a seat fires onObjectSelected with the seat label and a short-lived hold token. The chart honours the category palette you set in the editor.

Quickstart render

Don't worry if the screenshot above 404s in your local clone — the committed PNGs are regenerated by hand and are not a blocker for the docs site to render.

What's next

  • Integration walkthrough — the full create-chart → publish → render → hold → book → webhook flow.
  • Authentication — the X-Api-Key header, public vs secret keys, and workspace scope. Your publishable key (pk_live_*) is seeded automatically and is ready to use above; to make server-side calls you first create a secret key (sk_live_*) from the dashboard API keys page, where it is shown exactly once.
  • Charts API — REST reference for managing charts programmatically.
Quickstart — SeatBuilder Docs