Let an operator scan a ticket QR code at the door to mark attendance.
Attendance is already first-class in the engine's lifecycle: a confirmed booking becomes completed when honored (attended) or unused when not (a no-show), through BookingManager::complete() and markUnused(), with lifecycle events and order-level actions already in place. So "scan to mark attendance" maps directly onto complete(), with no new state needed.
Proposed yoyaku_checkin submodule, with no core changes: a permissioned endpoint that takes the ticket QR token, validates it, loads the referenced booking or order, and calls complete() to mark it attended. A no-show is then either the absence of a check-in by slot end or an explicit markUnused().
Pairs with the ticket generation submodule #3611638, which produces the QR token this consumes, and complements the numbered seating submodule #3611637.
Issue fork yoyaku-3611639
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 commentedComment #5
mably commented