Skip to content

Flow: Match Management (Admin)

Actor

Administrator (HNS Staff)

Preconditions

  • Admin is logged into the Admin Portal with "Match Manager" permissions
  • For seat-mapped (home) venues: Stadium configurations are available in the system
  • For external (away) venues: Venue master data exists (name, location, capacity)

Flow Steps

  1. Initiate Match Creation

    • Admin navigates to "Events & Matches"
    • Clicks "Create New Match"
    • System presents the Match Creation Wizard
  2. Basic Information Setup

    • Admin enters match details:
      • Home Team (defaults to Croatia) vs Away Team
      • Competition Type (e.g., "UEFA Nations League", "Friendly", "Qualifier")
      • Date and Time (Kick-off)
      • Venue/Stadium
  3. Sales Phase Configuration

    • Admin defines sales phases:
      • Phase 1: Loyalty Early Access (Start/End Date, Eligibility Rules, Number of Tickets)
      • Phase 2: General Public (Start/End Date)
  4. Quota & Inventory Setup

    • Admin defines initial quota allocations (e.g., "UEFA Quota", "Sponsors", "Family")
    • (See Match Stadium Configuration for detailed seat mapping)
    • System reserves the specified percentage/sectors for quotas
  5. Content & Media

    • Admin uploads match banners, logos, and promotional text
    • Sets visibility status (Draft, Scheduled, Visible)
    • Configures "Important Info" text for the mobile app match page
  6. Review & Publish

    • Admin reviews all settings on the Summary page
    • Clicks "Publish Match" or "Save as Draft"
    • System generates the match ID and event page on the backend
    • (If Visible) Match appears in "Upcoming" list on mobile app

Alternative Flows

A1: Edit Active Match Details

  • Trigger: Match time changes
  • Admin opens existing match
  • Updates "Kick-off Time"
  • System detects change and prompts with options:
    • "Notify Ticket Holders" - Send push notification and email to all ticket holders
    • "Silent Update (No Notification)" - Update details without notifying ticket holders
  • Silent Update Use Case: For minor corrections (e.g., time change from 19:30 to 20:30 due to typo) where notification would cause unnecessary confusion
  • Admin selects notification preference and confirms
  • System updates match details
  • If notification enabled: triggers push notification/email to existing buyers
  • If silent: updates made without notification, tickets remain valid
  • All changes logged in audit trail regardless of notification setting

A2: Cancel Match

  • Trigger: Force majeure or cancellation
  • Admin clicks "Cancel Match"
  • System requires "Super Admin" approval
  • (See Match Cancellation Flow for full details)

A3: Export Access Control Data (Pre-Match)

  • Trigger: Match day approaching, access control systems need to be loaded with valid ticket data
  • Admin navigates to match detail page in Admin Portal
  • Selects "Export Access Control Data" or "Export Tickets for Validation"
  • System generates Excel export containing barcodes only (no personal identifiable information):
    • Barcode/QR Code: The scannable code value for offline validation
    • Ticket Status: Confirmed valid tickets only (excludes refunded, cancelled)
  • Extra Codes for Post-Export Changes:
    • System automatically includes extra valid codes to handle changes after export:
      • Codes for all currently unsold seats (in case of last-minute sales)
      • Additional ~1000 reserve codes for any changes, refunds, transfers, or resells that occur after export
    • These codes become valid only if corresponding tickets are sold/changed
    • Prevents need for multiple exports on match day
  • Export includes all channels: online purchases, quota allocations, box office sales
  • Admin downloads the Excel file
  • File naming convention: MatchID_TicketExport_YYYYMMDD_HHMM.xlsx
  • Admin provides export to access control operators who load it into offline validation devices
  • Can be re-exported if needed, but extra codes minimize this need
  • This export enables the offline validation process described in Stadium Entry Validation
  • Post-match: Access control operators export usage data back to HNS system for attendance tracking

A4: Create Away Match (Non-Numbered Allocation)

  • Trigger: Creating a match at an external (away) venue without seat map
  • Admin follows steps 1-2 (Initiate Match Creation, Basic Information Setup)
  • In step 2, Admin selects an external venue (e.g., "Victoria Stadium, Gibraltar")
  • System detects venue type and adjusts the wizard
  • In step 4 (Quota & Inventory Setup):
    • Admin toggles "Non-numbered seats (away match)" checkbox
    • Admin enters "Total Croatian allocation quantity" (e.g., 500 tickets)
    • Stadium configuration step is skipped (no seat map available)
    • System creates inventory pool of specified quantity with seat location = TBD
  • Admin continues with steps 5-6 (Content & Media, Review & Publish)
  • For detailed away match ticket lifecycle (sales, sector assignment, customer notification), see Away Match Tickets (Non-Numbered Seats)

A5: Close Match and Attendance Import

  • Trigger: Match completed, admin needs to close the match
  • Admin navigates to match detail page in Admin Portal
  • Clicks "Close Match"
  • System prompts: "Does this match have attendance data?"
  • Option A - With Attendance Data:
    • Admin selects "Yes, upload attendance data"
    • System requires attendance file upload before closing
    • Admin uploads Excel file from access control operators (barcodes that entered stadium)
    • System validates and previews import (no changes made yet):
      • Maps barcodes to tickets in database
      • Shows preview summary: total scanned, matched, unmatched
      • Displays list of matched tickets that will be marked as ATTENDED
    • Admin reviews import preview
    • Clicks "Confirm and Close Match"
    • Atomic operation: System performs both actions together or neither:
      • Updates matched ticket statuses to "ATTENDED" with entry timestamp
      • Changes match status to "CLOSED"
    • If operation fails, no changes are made and admin is notified
    • Loyalty points calculation triggered automatically (see A6)
  • Option B - Without Attendance Data:
    • Admin selects "No attendance data available"
    • System requires reason (dropdown + optional notes):
      • Scanner malfunction
      • Partial data loss
      • External venue - no data
      • Other (with explanation)
    • Admin confirms selection
    • System marks all sold tickets as "ATTENDED" (assumes everyone attended)
    • Match status changes to "CLOSED"
    • Loyalty points calculation triggered automatically (see A6)
  • All actions logged in audit trail

A6: Loyalty Points Calculation

  • Trigger: Automatically after match is closed (A5)
  • System calculates loyalty points based on match closure type:
    • Match closed WITH attendance: Only fans with ticket status "ATTENDED" are eligible
    • Match closed WITHOUT attendance: All ticket holders are eligible (all marked as ATTENDED)
  • Eligibility criteria for points:
    • Ticket status = ATTENDED
    • Valid OIB on ticket
    • Paid ticket (not free/complimentary)
  • System awards 1 loyalty point to each eligible fan
  • Push notification sent: "You earned 1 loyalty point for attending [Match Name]"
  • Email confirmation sent with updated points balance
  • Admin dashboard updated with points awarded count

Last Updated: January 2026