Flow: Quota Holder Web Portal (Delegation & Ticket Management)¶
Actor¶
Quota holder using web portal for ticket claiming and/or subquota management
Preconditions¶
- Quota holder has an active quota assigned to their email address
- Quota holder has HNS app account (same credentials used for web portal login)
- Quota holder received web portal access link via email
- Note: ALL quota and subquota owners have web portal access (not only those with subquota permissions)
Flow Steps¶
-
Receive Web Portal Access Link
- Quota holder receives email with web portal access information
- Email contains:
- Confirmation of quota details
- Notification of delegation capability (if can_create_subquotas = TRUE)
- Instructions: "Manage your quota via the HNS mobile app or web portal on desktop"
- Link to web portal, with instructions it uses same credentials as on HNS mobile app
- Email subject: "Manage Your Ticket Allocation - Web Portal Access"
-
Access Web Portal
- Quota holder opens email on desktop browser
- Clicks web portal access link
- Logs in with same credentials as on HNS mobile app
- Access Control: User can only access if their email is in an active quota
- System validates login and quota association
-
View Allocation Dashboard
- Dashboard displays allocation summary:
- Total Allocated: Original quantity assigned by admin
- Already Claimed/Sold: Tickets fully processed (paid and assigned)
- Reserved: Tickets with holder information filled but not yet paid
- Delegated to Subquotas: Sum of all created subquotas
- Available Balance: Remaining seats for claiming or delegation
- Shows quota details:
- Match name, date, venue
- Allocated sectors with seat numbers visible (e.g., Sector D1: Row 5 Seats 1-10)
- Expiration date (visual reminder - see note below)
- Discount/price information
- Note on Expiration: The expiration date serves as a visual reminder only. Quota holders can still purchase tickets until the quota is manually cancelled by admin.
- If can_create_subquotas = TRUE: Displays subquota list table
- Columns: Sub-recipient Name, Email, Seats, Status, Created Date, Actions
- Status badges: Allocated (yellow), Reserved (blue), Sold (green), Cancelled (red)
- Dashboard displays allocation summary:
Claiming Tickets via Web Portal (3-Step Process)¶
Quota holders can claim tickets for themselves or others via the web portal.
Step 1: Select Tickets¶
- Quota holder clicks "Claim Tickets" button
- For numbered matches:
- System displays allocated tickets as cards in a grid layout
- Each card shows: Sector, row, and seat number (e.g., "Sector D1, Row 5, Seat 8")
- Quota holder clicks cards to select/deselect tickets to claim
- Selected cards are visually highlighted
- Selection summary shows: "Selected: 4 tickets"
- For non-numbered matches:
- System displays quantity selector
- Quota holder enters number of tickets to claim
- Quota holder clicks "Continue to Ticket Details"
- Note: No seat map visualization is used. Tickets are displayed as cards in a grid layout.
Step 2: Enter Ticket Holder Information¶
- For each selected seat/ticket:
- Quota holder enters attendee details:
- Full name (required)
- Date of birth (required)
- Nationality (required)
- OIB (for Croatians) or Passport number (for foreigners)
- Email address (required for ticket delivery)
- Phone number (optional)
- Can select from saved profiles or enter new details
- Quota holder enters attendee details:
- Identity Uniqueness (per match): Each OIB/passport number must be unique per match — same person cannot have multiple tickets for the same match, even across different quotas
- Real-time validation: format checks, OIB checksum, blacklist check
- Quota holder clicks "Continue to Payment"
- Ticket status at this point: RESERVED (info filled, pending payment)
Step 3: Payment¶
- If quota has payment required:
- System displays order summary with prices and any discounts
- Quota holder proceeds to payment gateway
- Payment processed
- If quota is free (discount_code = GR):
- Payment step skipped
- Quota holder clicks "Complete Claim"
- Upon completion:
- Tickets delivered instantly to recipients' HNS mobile app
- Ticket status: SOLD
- Confirmation email sent with ticket details
Creating Subquotas (For Delegation Permission Holders)¶
Prerequisite: Quota has can_create_subquotas = TRUE
Note: Subquotas can also be created via the HNS mobile app using the "Send tickets to someone else" button. See Mobile Quota Claiming for mobile workflow.
-
Create Subquota
- Quota holder clicks "Send tickets to someone else" button
- Step 1 - Select Tickets for Subquota:
- System displays available tickets as cards in a grid layout
- Each card shows: Sector, row, and seat number
- Quota holder clicks cards to select specific tickets to delegate
- Only available tickets are shown (already claimed or delegated tickets are not displayed)
- Selected cards are visually highlighted
- Selection summary: "Selected: 4 tickets"
- Step 2 - Enter Sub-recipient Details:
- Sub-recipient Email (required, validated format)
- Sub-recipient Name (required, for personalization)
- Internal Note (optional, e.g., "Team member allocation")
- Real-time validation:
- Email format check
- Note: Multiple subquotas to same email allowed (no duplicate detection)
- Quota holder clicks "Send Tickets"
- Alternative: Instead of creating subquota, quota holder can click "Claim for Myself" to proceed directly to Step 2 (ticket holder info) and Step 3 (payment)
-
System Processes Subquota
- System validates selected seats are available
- Subquota created with:
- Specific seats selected from parent allocation
- Same discount code as parent
- Same or earlier expiration date (cannot exceed parent expiration)
- Same Transfer permission (YES/NO) - tickets claimed from subquota inherit transfer rules
- If email address is registered user, push notification sent
- Email sent to sub-recipient with:
- Allocated seat details (sector, row, seat numbers)
- Instructions to claim via HNS mobile app or web portal
- Subquota created with status: "ALLOCATED"
- Selected seats marked as delegated in parent's dashboard
-
Send Email Invitation to Sub-Recipient
- System sends email to sub-recipient with:
- Personalized greeting with sub-recipient name
- Allocation details (quantity, sectors, match, expiration)
- Deeplink to HNS mobile app
- Instructions to claim via HNS mobile app
- Note: "Allocated by [Parent Quota Holder Name]"
- Push notification sent to HNS app (if installed):
- "You have [X] tickets allocated for [Match]. Claim by [Date]"
-
Confirm Subquota Creation
- Web portal displays success message
- Subquota appears in dashboard table with status "Pending"
- Dashboard totals updated in real-time
- Action logged in audit trail
-
Monitor Subquota Status
- Dashboard shows status changes in real-time:
- ALLOCATED → Sub-recipient hasn't started claiming
- RESERVED → Sub-recipient filled ticket info (Step 2) but hasn't paid
- SOLD → Sub-recipient completed payment, tickets issued
- Seat-level detail visible: which specific seats are in each status
- Dashboard shows status changes in real-time:
Alternative Flows¶
A1: Retract Unused Subquota
- Quota holder views subquota list in dashboard
- Identifies subquota with status "ALLOCATED" (no tickets claimed yet)
- Clicks "Retract" button/link in Actions column
- System prompts for confirmation: "Are you sure you want to retract this subquota? [Sub-recipient Name] will be notified."
- Quota holder confirms retraction
- System:
- Changes subquota status to "Cancelled"
- Returns seats to parent's available balance
- Sends cancellation email to sub-recipient
- Logs retraction in audit trail with timestamp
- Dashboard updates immediately with seats returned
A2: Cannot Retract Subquota with Reserved/Sold Tickets
- Quota holder attempts to retract subquota with status "RESERVED" or "SOLD"
- System displays error message: "Cannot retract subquota. Sub-recipient has already started or completed claiming process."
- Retract button disabled for subquotas past ALLOCATED status
- Tooltip explains: "Subquotas can only be retracted if sub-recipient hasn't started claiming"
A6: Sub-Recipient Claims via Mobile App or Web Portal
- Sub-recipient receives email invitation and taps deep link
- Opens HNS mobile app or web portal and follows the 3-step claiming process
- As sub-recipient progresses:
- Fills info (Step 2): Status changes from "ALLOCATED" to "RESERVED"
- Completes payment (Step 3): Status changes from "RESERVED" to "SOLD"
- Parent's web portal dashboard updates in real-time
- Seat-level visibility shows exactly which seats are in which status
A7: Expiration Reminder (No Auto-Expiry)
- Quota expiration date is a visual reminder only
- When expiration date passes:
- Dashboard shows "Past Deadline" warning banner
- Subquota status badges show warning indicator
- However: Sub-recipients can still claim tickets until admin manually cancels the quota
- This gives flexibility for late claims while providing visibility to administrators
A8: Admin Manual Cancellation
- Administrator can cancel quota at any time via admin portal
- Admin has two cancellation options:
- "Cancel All Unused": Cancels all tickets (ALLOCATED and RESERVED)
- "Cancel Unfulfilled Only": Cancels only ALLOCATED tickets; RESERVED tickets (with info filled) are preserved
- Upon cancellation:
- Cancelled tickets return to general inventory
- Affected recipients notified
- Parent's dashboard shows cancelled subquotas
A9: Subquota Ticket Refunded
- When a ticket claimed from a subquota is refunded (by the person who paid):
- Refund processed to the payer
- Ticket marked as CANCELLED
- Subquota owner does NOT get the ticket back
- Seat behaves as if used - not available for re-claiming
- What subquota owner sees:
- Dashboard shows the ticket with "Cancelled (Refunded)" status
- Cannot reassign or reclaim this seat
- This is intentional to:
- Maintain allocation integrity
- Prevent re-distribution of refunded tickets
- Track actual usage accurately
- If seat needs to be reassigned, admin must manually create new allocation
Post-Flow Actions¶
Integration with Mobile App:
- Sub-recipients can claim via HNS mobile app OR web portal (same 3-step process)
- Web portal uses same credentials as HNS mobile app
- Access controlled by email - must be in active quota to access portal
- Subquota creation available on both channels
- Both channels sync in real-time - changes reflect immediately across platforms
- Parent can use either channel for delegation and own claiming
Quota Status Definitions:
| Status | Description |
|---|---|
| ALLOCATED | Seats assigned but not yet claimed (ticket info not entered) |
| RESERVED | Ticket holder info filled (Step 2) but payment not completed |
| SOLD | Payment completed, tickets issued to recipient's app |
| Cancelled | Tickets returned to inventory (admin or parent cancelled) |
Last Updated: January 2026