Preskoči na sadržaj

Flow: Loyalty Points History

Actor

Registered user who has attended at least one match and earned loyalty points

Preconditions

  • User has active HNS account
  • User is logged into HNS mobile app
  • User has at least 1 loyalty point (has attended at least one paid match)

Flow Steps

  1. Access Points History

    • User navigates to Ticketing Profiles screen via Account/Settings
    • User scrolls to "My Loyalty Status" section
    • User taps "View Points History" link
    • System displays Loyalty Points History screen
  2. View Points History Screen

    • Screen displays:
      • Header: "← Loyalty Points History" with back navigation
      • Summary section:
        • Total Points: "[X]" (e.g., "Total Points: 27")
      • History list grouped by year:
        • Year header (e.g., "2026")
        • Match entries showing:
          • Checkmark icon (✓)
          • Match description (e.g., "Croatia vs Portugal")
          • Match date (e.g., "23 Mar 2026")
          • Points earned (e.g., "+1 point")
      • Informational notes at bottom:
        • "Points are calculated on a rolling 5-year window. Matches older than 5 years no longer count."
        • "For each match, HNS determines early access eligibility and ticket allocation based on loyalty points."
  3. Scroll Through History

    • User scrolls vertically through match history
    • Matches displayed in reverse chronological order (newest first)
    • Year headers separate matches by year
    • Both HOME and AWAY matches are displayed
    • List shows all matches within 5-year rolling window
  4. Return to Profile

    • User taps back arrow (←)
    • System returns to Ticketing Profiles screen

Alternative Flows

A1: Empty State - No Loyalty Points

  • User navigates to Ticketing Profiles screen
  • User has never attended a paid match
  • "My Loyalty Status" section is NOT displayed
  • User cannot access Points History (no entry point)

A2: Points History - Only Recent Matches

  • User has points from matches within last 5 years
  • Any matches older than 5 years are NOT shown in history
  • Points from expired matches are not counted in total
  • Info note explains the 5-year rolling window

A3: Mixed Match Types

  • User has attended both HOME and AWAY matches
  • Both types appear in the history list
  • Each match shows +1 point regardless of match type
  • HOME matches: "Croatia vs [Opponent]"
  • AWAY matches: "[Opponent] vs Croatia" or location indicator

UI Wireframe

┌─────────────────────────────────────────────────────────────┐
│  ← Loyalty Points History                                   │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Total Points: 27                                           │
│                                                              │
│  ─────────────────────────────────────────────────────────  │
│                                                              │
│  2026                                                        │
│  ────                                                        │
│  ✓ Croatia vs Portugal    23 Mar 2026    +1 point          │
│  ✓ Croatia vs France      15 Feb 2026    +1 point          │
│                                                              │
│  2025                                                        │
│  ────                                                        │
│  ✓ Croatia vs Spain       10 Nov 2025    +1 point          │
│  ✓ Croatia vs Italy       08 Oct 2025    +1 point          │
│  ✓ Germany vs Croatia     22 Sep 2025    +1 point          │
│  ... (scrollable list)                                      │
│                                                              │
│  ─────────────────────────────────────────────────────────  │
│                                                              │
│  ℹ️ Points are calculated on a rolling 5-year window.       │
│     Matches older than 5 years no longer count.             │
│                                                              │
│  ℹ️ For each match, HNS determines early access eligibility │
│     and ticket allocation based on loyalty points.          │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Data Requirements

API Endpoint: GET /users/me/loyalty/history

Response:

{
  "total_points": 27,
  "qualifying_points": 27,
  "history": [
    {
      "match_id": "uuid",
      "match_description": "Croatia vs Portugal",
      "match_date": "2026-03-23",
      "match_type": "HOME",
      "points_earned": 1,
      "earned_at": "2026-03-23T22:00:00Z"
    }
  ]
}


Last Updated: January 2026