Skip to content

feat: Story 021 — Check-in Lists and Gates#53

Merged
iagocavalcante merged 5 commits intofeat/story-020-check-infrom
feat/story-021-check-in-lists-and-gates
Mar 23, 2026
Merged

feat: Story 021 — Check-in Lists and Gates#53
iagocavalcante merged 5 commits intofeat/story-020-check-infrom
feat/story-021-check-in-lists-and-gates

Conversation

@iagocavalcante
Copy link
Copy Markdown
Contributor

Summary

Implements Story 021: Check-in Lists and Gates — configurable check-in lists and gates for controlling entry at different venue points.

Base: PR #52 (Story 020 — Check-in)

  • Check-in Lists — organizers create lists with item filtering and optional time windows (e.g. "VIP Entrance" restricted to 08:00–10:00 with only VIP tickets)
  • Gates — physical entry points linked to check-in lists (e.g. "North Door" → General Entrance list)
  • Multi-list tickets — same ticket can be checked in independently on different lists
  • Gate-scoped check-in — operators select a gate, scanner/search scopes to that gate's lists
  • List/gate CRUD — full admin config page with modal forms for creating/editing
  • Time restrictions — check-in blocked outside configured time window
  • Item validation — tickets not on a gate's lists are rejected with clear error

Files changed (15 files, ~1,334 lines)

Area Files
Database Migration: 4 new tables + check_ins index update
Schemas CheckInList, CheckInListItem, Gate, GateCheckInList
Context Extended CheckIns with CRUD + list-scoped check-in + gate check-in
Config UI CheckInConfigLive — lists/gates management with modals
Check-in UI Gate selector dropdown, new error messages
Navigation Config link on event show + check-in pages
Tests 16 new tests (CRUD + list-scoped + gate check-in)

Closes #21

Test plan

  • All 1503 tests pass (0 failures)
  • Compilation clean with --warnings-as-errors
  • Manual: Create check-in list with items and time restriction
  • Manual: Create gate linked to check-in list
  • Manual: Gate selector appears on check-in page
  • Manual: Scan rejects ticket not on gate's list
  • Manual: Same ticket checks in on different lists independently
  • Manual: Time-restricted list blocks check-in outside window

@iagocavalcante iagocavalcante merged commit 882dbc9 into feat/story-020-check-in Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant