Flow: Customer Support Ticket Refund¶
Actor¶
Customer support agent processing refund request
Preconditions¶
- Customer submitted refund request (via email, phone, or in-app contact)
- Order exists and payment was completed
- Match hasn't started yet
- Tickets have not been previously refunded
- Refund requester must be the ticket owner (person who paid for the tickets) - ticket holders or transferees cannot request refunds, only the original purchaser
Flow Steps¶
-
Request Receipt
- Customer contacts support requesting refund
- Provides order number
- Provides reason (if within 48 hours of match)
- Agent logs the request in support system
-
Timing Check
- System calculates hours until match start
- Determines if request is:
- More than 48 hours before match: Standard refund (no reason required)
- Within 48 hours of match: Requires documented reason and may require supervisor approval
-
Order Verification
- Support agent logs into admin portal
- Searches for order by order number
- Verifies requester is the ticket owner (original purchaser) - refunds cannot be requested by ticket holders or transferees
- Verifies customer identity (name, email, OIB if applicable)
- Confirms payment status (COMPLETED)
- Checks ticket status (not used, not transferred, not cancelled)
-
Refund Eligibility Check
- System validates:
- Tickets are refundable (not marked as non-refundable)
- No policy violations on the order
- Customer not blacklisted
- Original payment method available for refund
-
Process Based on Timing
5A: More than 48 Hours Before Match
- Agent proceeds with refund immediately
- No reason documentation required
- Standard processing workflow
5B: Within 48 Hours of Match
- Agent documents refund reason in detail
- Evaluates reason against policy:
- Valid reasons: medical emergency, travel disruption, family emergency
- Invalid reasons: changed mind, better plans
- May require supervisor approval based on reason and value
- If approved: proceed to step 6
- If denied: inform customer and log decision
-
Calculate Refund Amount
- System calculates refund based on policy:
- Full ticket price (VAT inclusive)
- Ticket fee is NOT refunded - this is a non-refundable service fee
- Invoice displays breakdown:
- Ticket price refund: [amount]
- Ticket fee (non-refundable): [amount]
- Total refund: [ticket price only]
- Processing fees may apply for within-48h refunds
- Agent reviews and confirms amount
- System calculates refund based on policy:
-
Process Refund
- Agent initiates refund in system
- System processes refund through original payment method:
- Payment gateway refund for card payments
- Void transaction for deferred/invoice payments
- Refund typically processes in 5-10 business days
-
Cancel Tickets
- System marks all tickets in order as CANCELLED
- QR codes invalidated immediately
- Tickets removed from customer's mobile app
- Seat inventory handling based on ticket source:
- Regular purchase: Seats return to available inventory for public sale
- Subquota ticket: Seat does NOT return to subquota owner's available balance (see note below)
Important - Subquota Refund Behavior:
When a ticket claimed via subquota is refunded: - Refund is processed to the person who paid - The ticket is marked as CANCELLED - The subquota owner does NOT get the ticket back - The seat behaves as if it was used (not available for re-claiming) - Subquota owner can only see that the ticket was cancelled - This prevents re-distribution of refunded tickets and maintains allocation integrity - If the seat needs to be reassigned, admin must manually create a new allocation
-
Customer Notification
- Email sent to ticket owner (purchaser) confirming:
- Refund amount
- Expected refund timeline
- Reason for refund (if documented)
- Cancelled ticket details
- If ticket holder email differs from owner: Separate notification sent to ticket holder informing them:
- Their ticket has been cancelled by the ticket owner
- Refund was processed to the original purchaser
- Match details for reference
- Email sent to ticket owner (purchaser) confirming:
-
Documentation
- Agent adds detailed notes to order:
- Refund reason (if within 48h)
- Decision rationale
- Supervisor approval (if required)
- Timestamp and agent ID
- Audit trail automatically logged
- Refund recorded in financial system
Alternative Flows¶
A1: Within 48 Hours - Insufficient Reason
- If refund requested within 48 hours with insufficient reason
- Agent explains refund policy to customer
- Documents reason provided
- Escalates to supervisor if customer insists
- Supervisor makes final decision
- If denied:
- Agent explains decision to customer
- Documents denial reason
- No refund processed
- Tickets remain valid
A2: Supervisor Approval Required
- For within-48h refunds or high-value orders
- Agent submits request to supervisor with:
- Customer details
- Refund reason
- Order value
- Any supporting documentation
- Supervisor reviews and decides within 2 hours
- Decision logged and communicated to agent
- Agent proceeds based on supervisor decision
A3: Partial Refund Request
- If customer wants to refund only some tickets from order
- Agent confirms which tickets to refund
- System recalculates refund amount for selected tickets
- Remaining tickets stay valid with same order number
- Partial refund processed
- Customer notified of updated order
A4: Payment Method No Longer Valid
- If original payment card expired or closed
- Agent contacts customer for alternative refund method
- Options:
- Bank transfer (requires account details)
- Store credit in HNS Digital Wallet for future purchase
- Customer chooses method
- Refund processed accordingly with extended timeline
A6: Customer Blacklisted After Purchase
- If customer was blacklisted after ticket purchase
- Refund may be denied based on blacklist reason
- Security team consulted
- Decision documented
- Customer notified per security policy
Success Criteria¶
- Customer receives confirmation immediately
- Tickets invalidated in real-time
- All decisions documented in audit trail
Technical Notes¶
- Refund is atomic operation (all steps complete or none)
- QR codes invalidated immediately upon refund processing
- Real-time inventory update when seats returned
- Payment gateway webhook confirms refund completion
- Financial system automatically reconciles refunds
Policy Summary¶
| Timing | Reason Required | Approval | Processing |
|---|---|---|---|
| 48+ hours before match | No | Agent only | Standard |
| Within 48 hours | Yes | May require supervisor | Case-by-case |
| After gate entry | N/A | Not allowed | Blocked |
Last Updated: January 2026