Booking Widget Branding

The booking widget shows Seatmap.pro branding depending on the plan of the organization that owns the public key. The level is resolved by the booking service on every render, so a plan change takes effect on the next load without any integration work.

Branding levels

Organization state What the widget shows
Active, on a paid plan No branding.
Active, without a paid plan A small clickable “Powered by Seatmap.pro” badge.
Suspended A blocking overlay. Seat selection is disabled while it shows.

Branding is drawn as an overlay above the canvas and applies to both the WebGL and Canvas2D rendering paths. It is not part of the seat map itself, so it never affects seat geometry, hit testing, or callback values.

Resolution fails open: if the organization cannot be resolved for any reason, the widget renders with no branding. Branding can never break a booking flow.

Badge placement

By default the badge sits in the bottom-right corner, and moves to the bottom-left when the minimap occupies the bottom-right, so the two never overlap. Set watermark.position to pin it to a corner yourself:

const renderer = new SeatmapBookingRenderer(document.getElementById('renderer-container'), {
  publicKey: 'your-public-key',
  watermark: {
    position: 'bottom-left',
  },
});

position accepts 'bottom-left' or 'bottom-right'. An explicit value always wins over the automatic placement, including over the minimap.

Blocking overlay text

For a suspended organization you can replace the default copy on the blocking overlay — useful when your own support flow should be named instead of ours:

const renderer = new SeatmapBookingRenderer(document.getElementById('renderer-container'), {
  publicKey: 'your-public-key',
  watermark: {
    interruptionTitle: 'Booking is temporarily unavailable',
    interruptionSubtitle: 'Please contact support@example.com',
  },
});

Both fields are optional; each falls back to the default text when omitted. The overlay still blocks seat selection regardless of the text.

Self-hosted deployments

A self-hosted booking service can turn branding off entirely. Set the environment variable on the booking service:

SEATMAP_WATERMARK_DISABLED=true

Or, when deploying with the Helm chart:

booking:
  config:
    seatmap:
      watermark:
        disabled: true

When the switch is on, the service resolves no branding for any public key and the widget renders clean, whatever the organization’s plan is. The switch is intended for licensed on-premise deployments — check your agreement before enabling it.