Preskoči na sadržaj

E3-F1: Seat Status Model

Epic: E3: Seat Inventory Management

Size: S (Small)

Problem / Outcome

Define and enforce seat status types and valid transitions.

Scope

In-Scope:

  • 10 status types: Available, Sold, Reserved, Technical, Official, Blocked, Maintenance, Quarantined, Allocated, Inactive
  • Valid transition rules between statuses
  • Color codes for visualization

Out-of-Scope:

  • Custom status types

Acceptance Criteria

  • AC1: Each status type has defined color code for visualization
  • AC2: Invalid transitions are blocked (e.g., Sold -> Available without refund)
  • AC3: All status changes require reason and are audit logged

Data Model Impact

SeatStatus enum:
- AVAILABLE (Green)
- SOLD (Red)
- RESERVED (Orange)
- TECHNICAL (Gray)
- OFFICIAL (Blue)
- BLOCKED (Black)
- MAINTENANCE (Yellow)
- QUARANTINED (Purple)
- ALLOCATED (Cyan)
- INACTIVE (Light Gray)

StatusTransitionRule table:
- from_status (ENUM)
- to_status (ENUM)
- requires_approval (BOOLEAN)
- requires_refund (BOOLEAN)

Permissions/Roles

  • System-level (used by other features)

How to Verify

npm test -- --grep "seat status"

Expected: All statuses defined, invalid transitions rejected.

Dependencies

  • None (foundational)

Implementation Tasks

See E3: Seat Inventory Tasks

Doc References


Last Updated: January 2026