Add a yoyaku_seating_io submodule that imports and exports a whole venue as a portable package, so an operator can initialize a venue with all its inventory in one step and move it between sites.

A package is a directory with a venue.json manifest and the SVG assets it names. The manifest maps one to one to the yoyaku_seating entities: the venue (name, map background, seat sprite ids); its seat grades and sections, venue scoped and keyed by a machine key; and its seats, each referencing its section and grade by that key, with row, in-row position, printed label, geometry and accessibility.

Two Drush commands drive it: drush yoyaku:venue-import {dir} imports a package, and drush yoyaku:venue-export {venue_id} {dir} writes one out, so a venue round-trips.

A complete real venue, the Auditorium de Bordeaux with 17 sections, 5 seat grades and 1422 seats plus the hall background, ships as the example package and doubles as the kernel test fixture.

Issue fork yoyaku-3611780

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

Opened the merge request with the submodule, the example venue package (Auditorium de Bordeaux) and a kernel test. CI pipeline is running.

  • mably committed ff44247f on 1.x
    feat: #3611780 Add yoyaku_seating_io: import and export a venue as a...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.