Le plan de salle que vos spectateurs méritent, sans le construire vous-même.

Canvas affiche les plans dessinés dans Studio avec le zoom signature à trois niveaux, les états des places en direct et votre charte, sur le web, le mobile et dans n'importe quel framework. Sous licence, auto-hébergeable, et jamais facturé à la place.

Un moteur d'affichage, tous les types de salles

La démo, c'est Seatmap Canvas Next qui tourne sur cette page. Choisissez un lieu et zoomez de la vue d'ensemble jusqu'à une seule place.

Du canevas Studio à l'écran du spectateur

Les plans se dessinent une fois dans Seatmap Studio et Canvas les affiche au pixel près. Voici les deux bouts de ce pipeline.

La démo en direct. L'expérience Canvas complète, changement de niveau, zoom à trois niveaux et options de places en direct. Cliquez sur la capture pour l'ouvrir.
Seatmap Studio
Capture de l'éditeur de plan Seatmap Studio
Des plans dessinés dans Studio. Dessinés une fois dans Seatmap Studio. Canvas rend le même document, avec infobulles riches, catégories de tarifs et niveaux.

Ça vous parle ?

La double réservation est un piège

Sous charge, deux sélections qui lisent puis écrivent se marchent dessus, et un cache seul peut perdre une option en cas de bascule. Canvas s'appuie sur des options et des réservations en base qui rendent structurellement impossible de vendre deux fois la même place.

Un compteur à la place qui pénalise la croissance

Les SaaS de plan de salle facturent à la place utilisée et laissent périmer les places non vendues. Canvas est en licence forfaitaire, une salle de 300 places ou un stade de 30 000, mêmes conditions.

Les widgets 100 % cloud se heurtent au mur

Quand les achats exigent la résidence des données, les outils uniquement hébergés chez l'éditeur mènent à une impasse. Canvas tourne sur votre infrastructure, à vos couleurs.

Comparer

Ce que seatmap-canvas v1 peut porter, et ce que Seatmap Canvas Next ouvre
seatmap-canvas v1Seatmap Canvas Next
Jusqu'où ça vaUne salle de quelques milliers de placesUn stade qui se déplace et zoome encore
Au-dessus et en dessousUn seul niveauNeuf étages — balcon sur parterre, cabine sur cabine
Ce que la soirée peut tenirDes places en blocsPlaces, debout, stands, tables de banquet
Le sol où ça peut vivreUn plan indoorUn théâtre, un champ de festival, un circuit sur une carte
Le chemin jusqu'à la placeLa salle, puis le bloc, puis la placeDe la carte, à travers les étages, jusqu'à la place
Comment naît la salleVous l'écrivez en JSONVous la dessinez dans Studio. La carte la rejoue.
Ce qu'une place peut direUn titre et une noteLe prix, la catégorie, une image — l'offre sur la place
Quand la salle se remplitVous renvoyez un JSONVendu et optionné arrivent sur la carte au fil de l'eau
Sans pointeur—Parcourir la carte au clavier

Technique

Moteur, API et distribution : seatmap-canvas v1 et Seatmap Canvas Next
seatmap-canvas v1Seatmap Canvas Next
Moteur de renduD3.js · SVGWebGL2
Format du planblocks[] + seats[]Studio ChartDocument (blocks, objects, floors, geo)
API de sélectionSEAT.CLICK, select / unselectMêmes événements host-toggle
État des placesL'hôte réécrit le JSONsetSeatStatus, applyObjectAvailability
InfobulleTitre / noteresolveTooltipOffer
Paquets frameworkReact, Vue 3, Next.js, AngularVanilla JS
Parseur PretixIntégréNon livré
LicenceMITCommerciale
Installationnpm i @alisaitteke/seatmap-canvasBundle sous licence, pas sur npm

Dessinez une fois, affichez partout

  1. 01Dessinez-le dans StudioBlocs, niveaux, tables et zones en placement libre, dessinés une fois, plan canonique.
  2. 02Affichez au pixel prèsCanvas rend le même document que verront les spectateurs, jusqu'à la charte.
  3. 03Branchez-le dans votre parcoursUne trentaine d'événements typés et une API programmatique. Zoom, niveaux et sélection restent sous votre contrôle.
seatmap.ts
import { SeatMapCanvas } from "seatmap-canvas";
import "seatmap-canvas/dist/seatmap.canvas.css";
const seatmap = new SeatMapCanvas("#seatmap", {
theme: "dark",
legend: true,
});
seatmap.data.replaceData(chart);
seatmap.eventManager.addEventListener("SEAT.CLICK", (seat) => {
if (!seat.item.salable) return;
seat.isSelected() ? seat.unSelect() : seat.select();
});
TypeScript · seatmap-canvasSEAT.CLICK
  • Licence commerciale
  • Pas sur npm
  • Types TypeScript
  • Builds ESM + CJS
  • API Vanilla JS
  • WebGL2

Voyez votre salle dans Canvas

Ouvrez la démo et zoomez du stade jusqu'à la place exacte.