Turn a floor-plan image or PDF page into an editable layout for theaters, banquets, markets, and trade shows. Review and refine the draft, then add seat, table, or booth booking to your site with our native WordPress plugin or embeddable widget.
No subscription required · $0.23 per booked seat · volume plans from $0.05 at 400,000+ seats/month
A powerful editor for building charts, and a beautiful renderer your customers will love.
Floor plan designer
Drag, drop, rotate, and resize sections, rows, booths, and GA zones on an infinite canvas. Auto-label seats, group them into categories, and validate your layout as you build.
Floor plan renderer
The same chart renders crisply on any screen. Customers pick seats, see live availability, and check out — on desktop and mobile, with smooth zoom and pan.
Preview only — no real inventory or booking
From chart design to payment confirmation — a complete seat management system.
Upload a floor-plan image or PDF page. AI drafts the layout so you can review sections, refine rows, and check seat labels before publishing.
Bring interactive charts to your WordPress site with our native plugin. Keep your existing website and checkout flow.
Build layouts for theaters, banquets, markets, and trade shows. Combine seated rows, vendor booths, tables, and general-admission areas.
Start pay as you go at $0.23 per booked seat, with no monthly fee. Optional plans offer lower per-seat rates as your sales grow.
The moment a user clicks a seat it's reserved for 15 minutes. Atomic DB writes prevent any two customers from booking the same seat.
Drop in a <script> tag, call new SeatingChart({...}).render() — your chart is live. Full control via JavaScript callbacks for every interaction.
Create events, manage inventory, book or release seats, and stream live status changes — all from your own server with a secret API key.
Every seat status change is recorded with source, actor, and timestamp. Replay history, debug disputes, and track billable usage per billing period.
No vendor-specific checkout. Bring your own payment flow.
Upload a floor plan for an AI-generated draft, or start with the drag-and-drop editor. Review sections, rows, booths, and seat labels before publishing.
POST /v1/events to spin up a live inventory. Load embed.js and pass your eventId — the chart appears in your page with real-time status.
The widget holds seats for 15 min. After your payment flow succeeds, call POST /v1/events/:id/seats/book with the holdToken to confirm.
Handle seat selection, holds, and release entirely through callbacks. No forms, no checkout pages — just events your own code can act on.
<script src="/api/embed.js"></script>
<div id="chart" style="height:600px"></div>
<script>
new SeatingChart({
divId: 'chart',
eventId: 'evt_…',
publicKey: 'pk_live_…',
onHoldSucceeded: ({ objects, holdToken }) => {
// Seat is reserved — show your checkout UI
startCheckout({ objects, holdToken });
},
onHoldTokenExpired: () => {
// 15 min passed — ask user to reselect
showExpiredMessage();
},
}).render();
</script>Start pay as you go at $0.23 per seat. Embed your first chart in minutes.