Tessera developer docs

Tessera is an interactive floor plan platform: a designer for organisers, booth sales, an attendee viewer with wayfinding, an embed SDK, a REST API and webhooks. Everything ExpoFP's developer portal offers has an equivalent here, and most of it is a drop-in replacement.

Five-minute start

1. Get an API key from Organiser portal → Settings → API keys. The demo database ships with tsr_live_demo_9f3b1c7e2a4d6f8b0c1d2e3f4a5b6c7d.

# List your events
curl -H "Authorization: Bearer tsr_live_demo_9f3b1c7e2a4d6f8b0c1d2e3f4a5b6c7d" \
  http://localhost:3000/api/v1/events

# Create an exhibitor and put them in booth A101
curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"name":"Acme Robotics","externalId":"crm-42","boothLabels":["A101"],"website":"https://acme.example"}' \
  http://localhost:3000/api/v1/events/grip-connect-2026/exhibitors

2. Embed the map anywhere:

<div id="floorplan" style="height:100vh"></div>
<script src="http://localhost:3000/sdk/tessera.js"></script>
<script>
  const fp = new Tessera.FloorPlan({ element: "#floorplan", eventId: "grip-connect-2026",
    onBoothClick: (e) => console.log("booth", e), onInit: (fp) => fp.selectBooth("A101") });
</script>

3. Subscribe to changes with a webhook, or poll /e/{slug}/version.json.

Concepts

Event → Levels (floors, each optionally georeferenced onto a world map) → Booths (polygons in metres with a label, type, status and price) and Elements (walls, zones, rooms, stages, POIs, text). Exhibitors are assigned to booths (many-to-many) and tagged with Categories. Sessions happen at a booth or a room/stage. The wayfinding network is a graph of nodes and edges per level plus transitions between levels. Publishing snapshots everything into an immutable bundle served to attendees.

Where things live

/e/{slug}                 attendee viewer          /e/{slug}/embed        iframe target for the SDK
/e/{slug}/data.json       published bundle         /e/{slug}/data.expofp.json  ExpoFP-shaped feed
/x/{token}                exhibitor self-service   /e/{slug}/reserve/{boothId}  public reservation
/admin                    organiser portal         /admin/events/{id}/designer  floor plan designer
/api/v1/...               REST API                 /api/v1/compat/expofp/{action}  ExpoFP API shim
/sdk/tessera.js           embed SDK (IIFE)         /sdk/tessera.esm.js   ES module