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
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
Comment #3
mably commentedOpened the merge request with the submodule, the example venue package (Auditorium de Bordeaux) and a kernel test. CI pipeline is running.
Comment #5
mably commented