Seatmap Pro 1.74.0: Venue Shapes, Event Series and Draft Saves

Draw chamfered and curved venue shapes, rebuild a converted arena from its seats, run event series through the Booking API, and keep embedded saves in draft.

A paper arena model with octagonal seating rows and a raised curved section on a drafting table.

This release is mostly about venue shapes. They can now have chamfered corners, sections can spread their back rows, and a chart converted from a drawing can get its venue shape back from the seat positions alone. Beside that, the Booking API gains event series, row labels get their own color, size and font, the embedded editor can keep a chart in draft when it saves, and a long list of undo, save and rendering fixes makes large charts calmer to edit. If you self-host, reuse booking references across sessions, or provision organizations and sign users in through the Booking API, read the last section before you upgrade.

Venue shapes can be octagons, not only rounded rectangles

Until now a venue shape was a rounded rectangle, and path-based sections followed rings that rounded every corner. Many arenas are built differently: the rows stay straight along each side and kink at a 45-degree corner. Those could not be modelled.

The Venue shape panel now has a corner style. Round behaves exactly as before. Chamfer cuts each corner at 45 degrees, and rows on that shape stay straight along the sides and turn sharply on the corner bisectors. A Back row dispersion control lets the rows further from the venue spread out. Sections inherit the venue’s value or set their own.

Polygons also learned to bend. With the polygon tool, press, drag and release to draw an arc; a plain click still makes a straight edge. The polygon keeps its corners and the bend of every curved edge when you save, so the structure you drew survives a reload.

A converted arena can get its venue shape back

A chart converted from a drawing arrives as absolute seat positions with no venue shape, so its sections cannot be edited as path-based blocks. Recognize from Seats, in the Venue shape panel, fits a rounded or chamfered shape to the seats and picks whichever reproduces more of them. It then converts every section whose seats it can rebuild within one pixel of where they were. Everything else, tables included, stays exactly as it was. The panel tells you how many sections it converted, and one undo puts everything back.

On the arena that prompted the work, a concentric octagon with 219 sections, the fit picks the chamfered shape on its own and converts more than 200 of them.

Event series in the Booking API

A series groups events that share a published template. You create the series once, then create each date with a start and an end in the series time zone. Every new event is published with the template’s prices, seat assignments and assignment properties already in place. Creating the same start twice returns the existing event, so a retry is safe. You can list a series’ events and every booked seat across all of them, filtered by your own booking reference.

Confirmed booking sessions now take private JSON properties alongside the reference, and a confirmed session can be released to return its seats to sale. A reference identifies one confirmed session per event, so check how your integration uses references before you upgrade.

The embedded editor can save without publishing

An editor embedded with hideNavbar=true used to publish on every save, so there was no draft step for a host application that wanted one. Add draft=true and Save keeps the chart in draft while the publishing controls stay available for an explicit Publish. Without the parameter nothing changes. The iframe guide shows both URLs.

Other Improvements

  • Row labels take a color, size, font and bold weight, set once for the whole map and overridden per section where needed. The Booking Renderer shows them the same way, drawing Verdana, Tahoma, Trebuchet MS and Georgia with close open-source equivalents, and automatic section outlines widen to keep larger labels inside. The row label guide has the details.
  • The editor records an event’s End date. Booking API v1 accepts endDate next to killAfter, and endDate wins when both are sent.
  • The editor profile has Accessibility → Color-blind friendly, which draws seats in a blue that stays distinct from faded and unpriced seats.
  • Panning, zooming and large selections need noticeably less work, all canvas layers move together on high-density screens, and the background sharpens once the view settles. Seat numbers stay visible while you pan.
  • The toolbar scrolls when the window is narrow and keeps Save in view.
  • Section title sizes go up to 10 and survive a reload.
  • @seatmap.pro/editor-cli builds charts from JSON and ships a Model Context Protocol server that is read-only by default.

Bug Fixes

  • Undo and redo behave around saves, publishing and the first edit after opening a chart, and a failed first save can be retried without creating a second chart.
  • Delete acts on what was selected when you pressed it, and every deletion path checks priced seats, including the Objects tab icon and lowering a table’s seat count.
  • Seat numbers stay readable in Pricing and Pricing Zones modes.
  • In the booking renderer, general-admission titles render without an SVG underlay, row and seat labels come back from the metadata methods, and a canvas that starts at zero size waits for real dimensions before drawing.
  • Organization administrators can change a user’s role, and archived events no longer appear in the editor’s event lists.
  • Register User and Add User put the new user into the organization you are working in. An email that already belongs to an account is refused; Assign User adds that account when it already belongs to an organization you manage.
  • After a long editing session, links on a venue’s schema list keep working and Back no longer freezes the page.
  • Venues copied from the Venues Library keep each section’s title size and outline style.
  • A direct sale through the Booking API goes through even when it leaves a single unsold seat; orphan seat prevention stays on lock and sale.
  • The editor shows bitmap backgrounds with the default Helm and Docker Compose routes, starts with settings that contain an apostrophe, and picks the mail connection security from the port when none is set.

Before you upgrade

Three changes reach integrations on any deployment. A booking reference identifies one confirmed session per event: a second confirmation with the same reference gets 409 REFERENCE_TAKEN, so send a distinct reference for each session. Autologin accepts organization accounts only: an account with the super-admin or global-admin role gets HTTP 403 and must sign in to the Editor with its own password, so an integration that autologins as such an account needs a regular organization account. Creating an organization through the management API reuses an existing account with the administrator email only when it is the only account with that email, belongs to one or more organizations, all owned by your tenant, and holds neither of those roles; any other existing account gets 409 ACCOUNT_EMAIL_IN_USE and nothing is created.

Self-hosted deployments have a few more things to check.

Seven migrations, V121 to V127, run when editor-service starts, and the editor frontend moves to 1.74 with it. Let editor-service finish them before the new booking-service starts, because booking-service reads the new event end date but does not migrate the database itself. Then upgrade booking-service straight away: the earlier version cannot read events once V121 has run, so plan that gap as booking downtime. If your tooling starts both at once, gate booking-service on the migration.

V122 makes a booking reference unique among the confirmed sessions of one event. The deployment guide has a read-only query that lists any duplicates; resolve them through your normal booking workflow first.

The editor frontend image now runs Node and serves the editor core next to the static files. Helm installs mount the public key from the existing RSA Secret and probe /healthz for you, so set the 1.74 frontend image in the same upgrade as the chart. Custom installations, Docker Compose included, run the new image entrypoint, point editor-service at the frontend’s core address, and mount the matching public key at /keys/public-key. The Docker Compose bundle for 1.74 does this and comes with an upgrade guide.

Password-reset email needs the mail host and sender address set: the Helm chart has no defaults for them any more, and global.mail.socket.port can go from your values. Editor settings now take an apostrophe as written, so write it once: a doubled apostrophe stays doubled. If your Helm values set editor.ingress.apiPaths, or a reverse proxy of your own fronts the editor, send /media to editor-service so bitmap backgrounds load. Super-admin and global-admin users sign in again once after the upgrade.

Charts are not backward compatible with older editors once they use the new shapes. Library snapshots with chamfered shapes are version 2, which older editors decline, and exports with polygon corner data need the matching editor. Sections that follow a venue shape can lay out slightly differently when reopened, so review their seats and labels before saving. Booking pages keep the saved geometry and row label fonts until the next save.

The deployment guide covers the editor runtime settings, and the full detail is in the release notes.

Continue reading

All posts →