Flow: View My Tickets (Fan)¶
Actor¶
Registered fan who has purchased tickets or has tickets purchased on their behalf
Preconditions¶
- User has an active account in the HNS mobile app
- User is logged in
- User has at least one ticket associated with their email address (either purchased by them or received via email-based ticket distribution)
Flow Steps¶
-
Access Tickets Section
- User opens HNS mobile app
- User is logged in
- User navigates to "My Tickets" section from main menu
- System retrieves all tickets associated with user's email address (linked to their HNS app account)
- Note: Tickets are delivered to app based on email address provided during purchase/claiming
-
View Tickets List
- System displays categorized ticket list:
- Upcoming Matches (sorted by date, closest first)
- Past Matches (collapsed by default)
- Cancelled/Refunded (if applicable)
- Each ticket card shows (visibility depends on timing):
- More than 4 days before match: Basic order information:
- Order confirmation number
- Ticket holder name(s)
- Match details (teams, date, time, venue)
- Ticket status indicator
- Match countdown
- NOT shown: Seat details, virtual ticket design, QR code
- 4 days to 5 hours before match: Full ticket details (virtual ticket):
- Designed virtual ticket appearance with branding
- Seat details (sector, row, seat number)
- Gate and entry information
- All basic info from previous tier
- NOT shown: QR code, digital wallet option
- Within 5 hours of match: QR code and entry features activated:
- QR code visible and functional
- Add to Digital Wallet option available
- All ticket details from previous tiers
- More than 4 days before match: Basic order information:
- System displays categorized ticket list:
-
Select Ticket to View Details
- User taps on specific ticket card
- System displays ticket details based on timing:
- More than 4 days before match (order info only):
- Order confirmation number
- Ticket holder name and email address
- Match information (opponent, date, time, stadium)
- Purchase date
- Match status (confirmed, postponed, cancelled)
- Message: "Full ticket details will be available 4 days before match"
- NOT shown: Seat details, virtual ticket design, QR code, gate instructions
- 4 days to 5 hours before match (virtual ticket view):
- Designed virtual ticket with branding
- Seat details (sector, row, seat number)
- Gate and entry instructions
- Ticket holder name, OIB, and email address
- Match information (opponent, date, time, stadium)
- Purchase date and order number
- Match status (confirmed, postponed, cancelled)
- Message: "QR code will be available 5 hours before match"
- NOT shown: QR code, digital wallet option
- Within 5 hours of match (full view with QR):
- Large QR code with anti-screenshot animation (snake animation around QR + rotating verification images)
- All virtual ticket details from previous tier
- If multiple tickets share same email: Banner shows "Group Entry: You have [X] tickets on this device. All must enter together."
- Add to Digital Wallet option available
-
Access QR Code for Entry
- Available only within 5 hours of match start
- QR code prominently displayed at top of ticket
- Anti-Screenshot Protection:
- Screenshot and screen recording disabled when QR code is displayed
- Animated verification: snake animation around QR code border
- Rotating verification images (3 rotating pictures) to prove live display
- Entry staff trained to look for animation to verify authenticity
- Brightness auto-increases for scanning
- Offline mode: QR code cached for access without internet
- User can zoom QR code for easier scanning
-
Ticket Actions
- Add to Digital Wallet: User can add ticket to Apple Wallet or Google Pay (available 5 hours before match)
- Transfer/Reassign Ticket (depends on ticket's transfer permission):
- If Transfer = YES (e.g., player/VIP quotas):
- "Reassign Ticket" button visible in app
- User can self-service reassign ticket to another email at any time
- No 48-hour restriction, no support contact needed
- User enters new recipient: name, DOB, nationality, OIB/passport, email
- System validates recipient (blacklist check, OIB format)
- Ticket immediately transferred to new recipient's app
- Original holder notified, new holder receives ticket via email/push
- If Transfer = NO (standard tickets):
- "Contact Support for Transfer" option shown
- User must contact customer support to transfer ticket
- 48-hour deadline applies (no transfers within 48 hours of match)
- See Customer Support Ticket Transfer
- If Transfer = YES (e.g., player/VIP quotas):
- View Order (buyer only): Navigate to order details screen (step 6)
- Set Reminder: Add match reminder to calendar
- Note: Email assignment is final at time of purchase. If email was left blank during purchase, ticket remains on buyer's device and all ticket holders must enter stadium together.
-
View Order Details (Buyer Only)
- Only visible to the buyer (person who paid for the tickets)
- Ticket recipients do not see "View Order" button - they only see their individual ticket
- Buyer taps "View Order" button from ticket detail screen (or accesses via "My Orders" tab)
- System displays full order information:
┌─────────────────────────────────────────────────────────────┐ │ Order #HNS-2026-00012345 │ │ Placed: 15 January 2026, 14:32 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ Croatia vs Portugal │ │ 23 March 2026, 20:45 • Maksimir Stadium │ │ │ │ ───────────────────────────────────────────────────────── │ │ │ │ Zone A - Category 1 │ │ 4 × €40.00 €160.00 │ │ │ │ Service Fee │ │ 4 × €2.00 €8.00 │ │ │ │ ───────────────────────────────────────────────────────── │ │ Total Paid €168.00 │ │ │ ├─────────────────────────────────────────────────────────────┤ │ Payment Information │ │ ───────────────────── │ │ Method: Visa •••• 4455 │ │ Transaction ID: pi_3xyz789abc │ │ Status: Paid │ │ │ ├─────────────────────────────────────────────────────────────┤ │ Tickets in this Order (4) │ │ ───────────────────────── │ │ [ ] 1. Ivan Horvat (ivan@email.com) [View Ticket] │ │ [ ] 2. Ana Horvat (ana@email.com) [View Ticket] │ │ [ ] 3. Marko Horvat (on your device) [View Ticket] │ │ [ ] 4. Petra Horvat (on your device) [View Ticket] │ │ │ │ [Select All] │ │ │ ├─────────────────────────────────────────────────────────────┤ │ Documents │ │ ───────────────────── │ │ Invoice #INV-2026-00012345 [View PDF] [Download] │ │ │ ├─────────────────────────────────────────────────────────────┤ │ │ │ [Cancel Selected Tickets] │ │ │ │ Need help? Contact Support │ └─────────────────────────────────────────────────────────────┘6.1 Order Summary Section
- Order number and date/time placed
- Match details (teams, date, time, venue)
- Line items with quantity and unit price (e.g., "Zone A - Category 1: 4 × €40.00")
- Service fees breakdown
- Total amount paid
6.2 Payment Information Section
- Payment method with masked card number (e.g., "Visa •••• 4455")
- Transaction ID (for support reference)
- Payment status (Paid, Pending, Failed, Refunded, Partially Refunded)
- Payment date
6.3 Tickets in Order Section
- List of all tickets in this order with checkboxes for selection
- Each ticket shows:
- Checkbox for selection (for cancellation)
- Holder name
- Email (or "on your device" if no email assigned)
- Status badge if not active (Transferred, Cancelled)
- "View Ticket" link to navigate to individual ticket detail
- "Select All" / "Deselect All" toggle
- Tickets that are already transferred or cancelled are shown but checkbox is disabled
6.4 Documents Section (Invoice)
- Invoice/receipt PDF link
- View PDF: Opens PDF invoice
- Download: Saves PDF to device storage
6.5 Cancel/Refund Tickets
- User selects tickets to cancel using checkboxes (some or all)
- User taps "Cancel Selected Tickets" button
- System checks eligibility:
- Must be more than 48 hours before match
- Selected tickets must be active (not already transferred/cancelled)
- Cancellation confirmation screen:
┌─────────────────────────────────────────────────────────────┐ │ Cancel Tickets │ ├─────────────────────────────────────────────────────────────┤ │ │ │ You are about to cancel 2 of 4 tickets: │ │ │ │ • Ana Horvat - Zone A, Row 5, Seat 12 │ │ • Marko Horvat - Zone A, Row 5, Seat 13 │ │ │ │ ───────────────────────────────────────────────────────── │ │ │ │ Refund Summary: │ │ Ticket price (2 × €40.00) €80.00 │ │ ───────────────────────────────────────────────────────── │ │ Refund Amount €80.00 │ │ │ │ Refund to: Visa •••• 4455 │ │ Processing time: 5-10 business days │ │ │ │ ───────────────────────────────────────────────────────── │ │ │ │ │ │ ⚠ This action cannot be undone. Cancelled tickets │ │ will be released for resale. │ │ │ │ [Go Back] [Confirm Cancellation] │ │ │ └─────────────────────────────────────────────────────────────┘- Cancellation options:
- Cancel some tickets: Select specific tickets to cancel; remaining tickets stay active
- Cancel all tickets: Select all tickets to cancel entire order
- Refund calculation:
- Shows refund amount for selected tickets only
- Includes ticket price without service fees for selected tickets
- Refund sent to original payment method
- User confirms cancellation
- System processes:
- Selected tickets are cancelled
- Seats released back to inventory
- Partial or full refund initiated via Stripe
- Confirmation email sent to buyer
- Affected ticket holders notified their tickets are cancelled
- If partial cancellation: Order status shows "Partially Refunded"
- If full cancellation: Order status shows "Refunded"
- Service fee are not refunded
- Refund typically processes within 5-10 business days
- If not eligible: System shows message (e.g., "Cancellations are not available within 48 hours of match start. Please contact customer support.")
Note: Only the buyer (person who paid) can access order details, view invoice, and cancel tickets. Ticket recipients see their individual tickets only.
-
Match Day Preparation
- For matches within 24 hours, system shows:
- Match Day Alert banner at top
- Weather forecast for match location (phase 2)
- Suggested arrival time
- Parking/transportation information
- Stadium entry guidelines
- Push notification sent 3 hours before match
- For matches within 24 hours, system shows:
Alternative Flows¶
A1: No Tickets Available
- If user has no tickets associated with their account
- System displays empty state with message: "You don't have any tickets yet"
- Shows button: "Browse Upcoming Matches"
- Shows help text: "If someone purchased tickets for you, they should appear here automatically"
A2: Ticket Purchased by Someone Else
- If ticket was purchased by another person
- Ticket displays with banner: "Purchased by [Buyer Name] on [Date]"
- User has full access to QR code and ticket details (within 5 hours of match)
A3: Match Cancelled
- Ticket card shows "CANCELLED" badge in red
- Status message: "This match has been cancelled. Refund processed."
- Refund details displayed (only for buyer):
- Refund amount
- Refund date
- Refund method
- Expected processing time (if pending)
- QR code is disabled/grayed out (if applicable)
- User can view refund invoice
A4: Match Postponed/Rescheduled
- Ticket shows "RESCHEDULED" badge in orange
- Original date shown with strikethrough
- New date and time prominently displayed
- Message: "Your ticket is valid for the rescheduled match"
- QR code shown 5 hours before new date
- Option to request refund if user cannot attend new date
A5: Ticket Already Used (Post-Match)
- Ticket moved to "Past Matches" section
- Shows "ATTENDED" badge in green
- Loyalty points earned displayed: "+1 Loyalty Point"
- QR code no longer shown
- Option to view match summary/photos
- Keep as memento/history
A6: Transferred Ticket
- If ticket was transferred away from user
- Shows "TRANSFERRED" badge
- Status: "Transferred to [Recipient Name] on [Date]" (if available?)
- QR code no longer accessible
- Shows transfer confirmation details
- Link to transfer history
A7: Offline Mode
- If device has no internet connection
- System loads cached ticket data
- QR codes available from local storage
- Warning banner: "Offline Mode - Ticket details may not be up to date"
- Sync occurs automatically when connection restored
- Critical ticket data always available offline
A8: Ticket Requires Verification
- If ticket flagged for additional security check
- Shows "VERIFICATION REQUIRED" badge
- Message: "Please verify your identity at customer support before match day"
- Contact information provided
- QR code may be temporarily disabled pending verification
A9: Ticket on Buyer's Device (No Email Assigned)
- Ticket was purchased with no email assigned (email left blank during checkout)
- Ticket displays in buyer's "My Tickets" section with badge: "On Your Device"
- Info message: "This ticket holder must enter with you"
- QR code visible and functional on buyer's device
- At stadium entry:
- Buyer scans own ticket first
- Then scans tickets for accompanying persons from same device
- All persons with tickets on same device must enter together
- Note: Email cannot be assigned/changed after purchase
A10: Away Match with External PDF Ticket
- For some away matches, the away venue issues their own tickets instead of accepting HNS app QR codes
- Ticket displays in "My Tickets" with special indicators:
- Badge: "External Ticket Required" (orange)
- Message: "This venue requires the official PDF ticket sent to your email. Your HNS app QR code will not work at this stadium."
- QR code is disabled/hidden for this match
- Ticket card shows:
- Match details (teams, date, time, venue)
- Seat information (sector, row, seat) for reference
- "View Travel Info" - stadium address, entry guidelines
- PDF ticket delivery:
- PDF ticket was sent to ticket holder's email by HNS system
- PDF contains away venue's official ticket with their barcode
- User must present PDF (printed or on phone) at stadium entry
- If user didn't receive PDF:
- Contact customer support if email address needs updating
- See Away Match Tickets (Non-Numbered Seats) for full away match flow
A11: Order with Some Tickets Already Transferred
- Buyer views order where some tickets have been transferred to other users
- Transferred tickets shown in list with "TRANSFERRED" badge and disabled checkbox
- Buyer can only select and cancel tickets that are still active
- Example: Order has 4 tickets, 1 transferred
- 3 tickets available for cancellation (checkbox enabled)
- 1 ticket shows "Transferred to Ana Horvat" (checkbox disabled, grayed out)
- Refund calculated only for cancelled tickets
- Transferred tickets remain with their new holders
A12: Recipient Ticket View (No Order Access)
- User received ticket from someone else (not the buyer)
- Ticket detail screen shows:
- All standard ticket information (seat, match details, QR code when available)
- Banner: "Purchased by [Buyer Name] on [Date]"
- "View Order" button is NOT shown - recipients cannot access order details
- NOT available: Order summary, payment details, invoice, refund option
- User can still perform allowed ticket actions (transfer if permitted, add to wallet, set reminder, etc.)
- If recipient needs invoice or refund, they must contact the buyer
A13: Order Fully or Partially Cancelled
-
Fully Cancelled Order:
- All tickets in order have been cancelled
- Order Details screen shows status: "CANCELLED - REFUNDED" badge
- Original order summary shown (for reference)
- Refund details section:
- Refund amount: €168.00
- Refund date: 20 January 2026
- Refund method: Visa •••• 4455
- Status: "Completed" or "Processing (5-10 business days)"
- Refund confirmation document available for download
- All tickets show "CANCELLED" status with QR codes disabled
-
Partially Cancelled Order:
- Some tickets cancelled, others still active
- Order Details screen shows status: "PARTIALLY REFUNDED" badge
- Order summary shows:
- Original total and current active tickets
- Refund amount for cancelled tickets
- Active tickets remain fully functional
- Cancelled tickets shown with "CANCELLED" badge (checkbox disabled)
A14: Multiple Orders for Same Match
- User has purchased tickets in multiple separate transactions
- Each order appears separately in "My Orders"
- Tickets grouped by order in "My Tickets" view
- Each order has its own:
- Order number
- Invoice
- Payment record
- Refund eligibility
Last Updated: January 2026