Server-backed seat selection for your product
A drop-in seat-map layer for ticketing checkouts. Holds, real-time availability, and concurrency, behind one clean API.

Everything the seat layer needs to do
The hard parts of selling assigned seats — concurrency, real-time state, and a layout editor — handled for you behind a clean API.
Chart editor
Design reusable venue layouts — sections, rows, curved rows, tables, and standing areas — then publish them to as many events as you need.
Holds & concurrency
Atomic, race-safe seat holds with server-managed expiry. Two buyers can never lock the same seat — you skip the distributed-locking logic.
Real-time availability
When one buyer selects a seat, every other viewer of the event sees it become unavailable in under a second over a live WebSocket channel.
Signed webhooks
HMAC-signed delivery for every hold, release, and booking, so your backend stays in sync with seat state without polling the API.
How it works
Three steps from an empty venue to a live, embeddable seat map.
Design your chart
Lay out your venue in the visual editor — sections, rows, and categories — and publish it.
Publish an event
Create an event against the chart. Each event tracks its own independent seat availability.
Embed the SDK
Drop the JavaScript SDK into your checkout and listen for selection events — we manage the seat state.
