Migrating from ExpoFP

Three compatibility layers keep existing integrations working while you switch: the embed SDK mirrors the FloorPlan API, an ExpoFP-shaped data.json is served per event, and the JSON API shim accepts ExpoFP's POST actions.

1. Embed

ExpoFPTessera
new ExpoFP.FloorPlan({ element, eventId })new Tessera.FloorPlan({ element, eventId, baseUrl })
load({ $ref: "https://x.expofp.com/manifest.json" })load({ $ref: "https://HOST/e/x" })
https://x.expofp.com/packages/master/expofp.jshttps://HOST/sdk/tessera.js
onFpConfigured / onInit / onBoothClick / onDirection / …identical names
?booth=A1, ?route:A:B, ?kiosk=1, ?language=de?booth=A1, ?route=A,B, ?kiosk=1, ?lang=de

2. Data feed

Point code that reads https://<event>.expofp.com/data/data.json at https://HOST/e/<slug>/data.expofp.json. Field names are identical; ids are stable integers.

3. JSON API

Change the base URL from https://app.expofp.com/api/v1/ to https://HOST/api/v1/compat/expofp/ and keep sending token in the body (a Tessera API key). Supported actions: list-events, set-webhook-url, list-exhibitors, bulk-read-exhibitors, get-exhibitor, get-exhibitor-id, add-exhibitor, update-exhibitor, delete-exhibitor, set-exhibitor-logo, set-exhibitor-leading-image, list-booths, get-booth, update-booth, add-exhibitor-booth, remove-exhibitor-booth, list-categories, add-category, update-category, remove-category, list-extras, list-exhibitor-extras, add-exhibitor-extra, remove-exhibitor-extra, sessions/get, sessions/upsert, sessions/delete.

curl -X POST https://HOST/api/v1/compat/expofp/list-exhibitors \
  -H "Content-Type: application/json" -d '{"token":"tsr_live_…","eventId":"grip-connect-2026"}'

4. Moving the map itself

Export your ExpoFP booth list to Excel, save as CSV with columns label, level, x, y, width, height (ExpoFP's booths.json rect coordinates work directly, units are metres) and import it in the designer, or import the SVG ExpoFP's designer produces (fp.svg: every <g data-tagname="efp-booth" id="b…"> becomes a booth). Exhibitors import with ExpoFP's own Excel template columns.

What is better here

Automatic aisle-network generation and accessible multi-level routing with an optimised multi-stop planner; the booth array tool and SVG/CSV import in the designer; real-time holds and online checkout with Stripe or invoices; sponsorship extras with limits; heat maps and zero-result search analytics; signed, retried webhooks with a delivery log; a published-version history with instant rollback; self-hosted glyphs and open basemaps (no Google Maps or Mapbox keys); and the whole thing runs on your own infrastructure with SQLite or Postgres.