Don't Look Back in Anger: Let's Design a Better Ticketing System
31 Aug 2024Saturday's Oasis ticket sales left thousands of fans disheartened after spending hours in virtual queues. As reported by the BBC and echoed by fans on X (formerly Twitter) and Reddit, the experience could be aptly described using a quote from Liam Gallagher himself:
Shite
— Liam Gallagher (@liamgallagher) April 20, 2023
Like many others, I have long been frustrated with platforms like Ticketmaster, See Tickets, and Gigs and Tours. This weekend, their reputations took another hit as fans faced inflated prices and technical glitches.
This made me think if I could design a better, more reliable ticketing system that prioritises fairness and user experience.
Let's not make Sally wait any longer than she has to.
Some Might Say
This document outlines the design and technical requirements for an enhanced ticketing system aimed at reducing server load, improving user experience, and ensuring environmental sustainability.
The proposed system will achieve these goals through random selection, time-limited purchasing, and lightweight verification, with a focus on simplicity and excellent user experience.
Wonderwall
Traditional ticketing systems often crumble under the pressure of high-demand events, leading to poor user experiences, system crashes, and unfair ticket distribution.
graph TD A[User Joins Queue] --> B[Wait in Line] B --> C{Tickets Available?} C -->|Yes| D[Purchase Ticket] C -->|No| E[Event Sold Out]
The improved system seeks to address these issues more efficiently and user-friendly.
graph TD A[User Signs Up 24 Hours Before Sale] --> B[Verify Email & Phone] B --> C[Specify Preferences & Notification Method] C --> D[Enter Selection Queue] D --> E{Selected?} E -->|Yes| F[Receive Notification] E -->|No| G[Remain in Queue] F --> H[Purchase Window Opens] H --> I{User Clicks Link to Purchase} I -->|Yes| J[10-Minute Purchase Window] J --> K{Purchase Completed?} K -->|Yes| L[Ticket Secured] K -->|No| P[Exit Process] G --> N{Tickets Remaining?} N -->|Yes| E N -->|No| O[Notify: Event Sold Out]
The Masterplan
-
π² Fair Selection System: A number of initial users (e.g., 1000) are selected randomly from the Queue, ensuring equal chances for all. The system takes user preferences into account, avoiding notifications to those who cannot fulfill their requirements.
-
β±οΈ Time-Limited Purchase Window: Selected users have 10 minutes to click the link to start purchasing. After clicking the link, they have another 10 minutes to complete their purchase, keeping the process moving efficiently.
-
π Pre-Sale Deadline: Users must complete sign-up, specify preferences, and select their notification method at least 24 hours before the sale begins. This ensures they are in line for ticket selection.
-
π± Multi-Channel Notifications: Users choose how they want to be notified: Push, SMS, Email, or any combination.
-
π Simple Verification: Quick email and phone verification during sign-up ensures user authenticity.
-
π‘οΈ Anti-Scalping Measures: The system includes checks to prevent multiple accounts and bulk purchases.
-
πΆββοΈ Stress-Free Waiting Room: Users can go about their day, knowing they'll be notified if selected.
-
π Controlled User Flow: If a selected user does not complete their purchase within the given time, they exit the process. Another user is then selected, maintaining a smooth and efficient flow of ticket sales.
-
π― Preference-Based Notifications: Users specify venue, number of tickets, price band, and accessibility needs in advance. The system only notifies those whose preferences match available tickets, ensuring a more efficient and satisfying purchase process.
Be Here Now
The system's architecture is designed for simplicity and efficiency, allowing easy scaling without the need for expensive server infrastructure.
This design ensures that even with millions of users in the selection Queue, the system remains responsive and doesn't require overpowered servers.
D'You Know What I Mean?
-
π Efficient Sign-up Process: Utilises a CAPTCHA check to prevent bot attacks, reducing server load. Email and phone verification are processed asynchronously to ensure a smooth user experience.
-
βοΈ Event-Driven Architecture: Processes like user selection, notification, and purchase are event-driven, allowing for horizontal scaling and efficient resource use.
-
π¦ Controlled Concurrency: Limits the number of users making purchases simultaneously, naturally throttling demand and preventing server overload.
-
ποΈ Stateless Design: User state is managed in the database rather than server memory, enabling easy load balancing and server scaling.
-
π¨ Queuing System: Utilises message queues to process notifications and selections, ensuring system stability during high-load periods.
-
ποΈ Caching Layer: Frequently accessed data, such as event details and available tickets, is cached, reducing database load and improving response times.
Itβs Gettinβ Better (Man!!)
- π User Satisfaction Rate: Targeting over 90%, measured through short post-process surveys.
- πΌ System Uptime: Aiming for 99.99%, ensuring reliability during high-demand periods.
- β±οΈ Average Purchase Time: Less than 5 minutes from notification to completed transaction.
- π Server Load Reduction: Targeting a 50% reduction compared to traditional queuing systems.
Little By Little
- π Efficient Sign-up: A quick form with only essential fields ensures minimal friction during registration.
- π Asynchronous Architecture: Handles traffic spikes smoothly, keeping the system responsive.
- π Data Protection: All user data is encrypted, ensuring privacy and security.
- π± Unique Accounts: Only one account is allowed per verified phone number, preventing fraud and scalping.
Talk Tonight
- π¬ Effective Communication: Clear and timely communication is essential for a successful ticketing system. Users should be kept informed using simple status screens like this:
+------------------------------------------+
| Virtual Waiting Room |
+------------------------------------------+
| Event: Oasis 2025 |
| |
| Status: You're in the queue |
| |
| We'll notify you if you're selected: |
| β’ SMS: (44) 7970 123456 |
| β’ Email: user@example.com |
| |
| [Update Contact Info] [Exit] |
+------------------------------------------+
- π Clear Notifications: Messages like "You've been selected! You have 10 minutes to start purchasing your tickets" keep users informed throughout the process.
- π§ Helpful Emails: Include FAQs and next steps, guiding users through the purchasing process.
- π Support Access: An easy-to-find help section and support contact ensure users can resolve any issues quickly.
Stand by Me
This revised ticketing system prioritises user experience while maintaining simplicity and efficiency.
- π§ Stress-Free Waiting Process: Users can relax without anxiously watching a queue.
- π£ Clear Communication: Users know precisely how and when they'll be notified.
- βοΈ Fair Chance for All: Random selection gives everyone an equal opportunity.
- β³ Efficient Purchase Process: Selected users can quickly secure their tickets.
- π₯οΈ Reduced Server Load: Event-driven architecture handles high demand smoothly.
- π« Scalper Prevention: Verification and purchase limits deter bulk buying.
- πΈ Cost-Effective Scaling: Simple architecture allows for efficient resource use.
- π Dynamic User Selection: As soon as one user completes or times out, another gets a chance, controlling the number of users purchasing at any time.
- π― Preference-Based Notifications: Users specify their needs upfront, and the system only notifies those whose preferences match the available tickets, making the process more efficient and user-friendly.
- π Pre-Sale Deadline: Ensures users complete all necessary steps at least 24 hours before the sale starts, confirming their eligibility and ensuring they are in line for selection.
Live Forever
This system creates a win-win scenario: users enjoy a more pleasant ticket-buying experience, and event organisers benefit from reduced costs and improved customer satisfaction.
The technical design ensures scalability and performance, using serverless architecture to keep costs low and manageable without requiring additional manual operational resources.
This approach should resolve the frustrations that Oasis fans encountered on Saturday, ensuring they wonβt be looking back in anger.