SeatpanoDocs

Quickstart

0. Get a key

Your API key is issued per venue and bound to the domains you name. It unlocks the SDK download, the venue data and the imagery for those venues. Want to try first? Use the Sandbox.

1. Add the script

The SDK is served by the API to licensed keys only:

<div id="venue-map" style="--vm-accent:#1414dc"></div>
<script src="https://api.seatpano.com/v1/sdk/seatpano.global.js?key=YOUR_KEY"></script>

Pin a version with &v=0.1.15 (immutable, cached for a year); without v you get the current release, and Seatpano.version tells you which one loaded. npm access to @seatpano/sdk (private registry) is available on request for bundler-based integrations.

2. Load a venue

const map = await Seatpano.load({
  container: "#venue-map",
  venue: "united-center",
  apiBase: "https://api.seatpano.com",
  apiKey: "vm_live_…",
  product: "bulls",      // the page's event configuration: renders, geometry, surface
  event: "EVT123",       // the map fetches this event's sellable sections and shades them
});

Your API key is bound to your domains. Requests from other origins are refused, so do not send Referrer-Policy: no-referrer on pages that embed the map.

3. React to selection

map.on("select", ({ section, sections, views }) => {
  filterListing(sections ?? [section]); // your code; an area click covers several sections
  console.log(views.thumb, views.iomediaUrl);
});
map.on("deselect", () => filterListing(null));

4. Drive the map from your page

map.select("122");                  // from a "View" button on a listing card
map.setAvailability(["122", "124"]); // override what the API returned
map.openViewer("122");              // open the seat view

Full option and method list: sdk-reference.md.