Preskoči na sadržaj

E4-F2: Zone Selection and Availability

Epic: E4: Ticket Purchase Flow

Size: S (Small)

Problem / Outcome

User selects zone and quantity to see pricing.

Scope

In-Scope:

  • GET /matches/{id}/zones with availability counts
  • Pricing display (pre-sale vs match day)
  • Quantity selection (max 4)

Out-of-Scope:

  • Seat selection by user (system assigns)

Acceptance Criteria

  • AC1: Zones displayed with available count and price
  • AC2: Pre-sale discount shown until day before match, then full price
  • AC3: Quantity limited to 4 (or lower if less available)

Data Model Impact

No new tables required.

Response includes per zone:
- zone_id (UUID)
- zone_name (VARCHAR)
- available_count (INTEGER)
- presale_price (DECIMAL)
- match_day_price (DECIMAL)
- current_price (DECIMAL)
- max_quantity (INTEGER)

Permissions/Roles

  • Authenticated user

How to Verify

npm test -- --grep "zone selection"

Expected: Availability accurate, pricing correct for date.

Dependencies

Implementation Tasks

See E4: Ticket Purchase Tasks

Doc References


Last Updated: January 2026