Your site. Your payments. Our seat engine.

Keep your storefront, your payment provider, and your buyer relationship. Create a constrained selection session, embed the map, and receive a signed webhook when the buyer is done. That is the whole integration.

yourwebsite.com

Sound familiar?

A platform migration just to sell seats

You don't need a new storefront. One API key opens a constrained selection session, and buyers pick seats without leaving your page.

Giving up your payment provider

We never see your payments or your buyers' data. Seats stay held while your own checkout charges the card. You confirm the sale.

Webhooks you can't trust

Unsigned, fire-and-forget callbacks cause cross-channel double-sells. Every Seatmap event is HMAC-signed, retried, and logged with full delivery history.

An afternoon, not a quarter

seatmap-integration
import { createSession, mountSeatmapEmbed } from "@seatmap/sdk";
// 1: open a constrained selection session
const session = await createSession({
apiKey: process.env.SEATMAP_API_KEY,
event: "derby-night",
selection: { maxSeats: 4, hold: "15m" },
});
// 2: buyers pick seats without leaving your site
mountSeatmapEmbed("#seatmap", { token: session.token });
// 3: a signed webhook tells you the outcome
// session.held · session.released
TypeScript · @seatmap/sdksession.held · session.released

Integrate this afternoon

One session, one embed, one webhook, live before the day ends.