PGFC Presentation Evening 2026

Context
Perth Game Fishing Club organizes their annual "Presentation Evening", a gala event to present season awards. Since the event was exclusive for members and competitors, they needed an online ticket sales system that verifies the buyer's membership before approving the purchase.
Solution
I built a ticket sales system with a manual approval workflow to verify membership against the club's roster. The system generates PDF tickets with QR codes, controls capacity with sold-out notices, and enables mobile check-in on event day.
Features
- Ticket sales by category (Adult, Junior, Infant) with per-order limits
- Manual approval workflow to verify buyer membership
- Concurrent capacity control with sold-out notice
- Shuttle add-on with seat reservations
- PDF ticket generation with unique QR
- Mobile check-in via QR scan or ticket number
- Manual ticket issuance with payment link
- Discount coupons
- Panel with three roles (Staff, Admin, SuperAdmin)
Technical Challenges
The main challenge was ensuring a payment is processed exactly once. There are three paths that can confirm a payment: the success page after checkout, the Stripe webhook, and a reconciliation service that runs every 5 minutes. I implemented idempotency in all three to avoid duplicating orders, sending repeated emails, or decrementing capacity more than once.
Tech Stack
Result
System in production with real payments. Used to manage ticket sales and check-in for the annual event.