Overview
Etobicoke VR Arena (Another World VR) was a free-roam virtual reality venue with three linkable arenas for up to 15 players. CS2 built its full operating platform: a booking-first Next.js site with a native scheduling engine, Stripe payments, tiered party packages, gift cards, waivers, and an admin back-office. The venue has since closed, so the whole platform now runs as a live demo where you can walk the real booking flow end to end, card checkout included (payments are in test mode).
The challenge
What the business needed
A VR arena lives or dies on booked time slots. A visitor has to understand the pricing, see what the arenas look like, pick a walk-in, birthday, or corporate package, and pay before they lose interest. Generic site builders bury the booking CTA, can't model tiered party packages with deposits, and don't load fast enough to support Google Ads without a Core Web Vitals penalty. The venue also needed the operational side handled: slot capacity, reschedules and cancellations, QR check-in, and follow-up on leads who weren't ready to book yet.
The build
What CS2 shipped
CS2 built the platform on Next.js end to end. Front of house: clear pricing tables (off-peak vs. peak walk-in rates, birthday packages from $360 to $972, corporate packages from $375 to $1,012), an arena gallery, a 22-title game grid, FAQ, and gift cards. Booking runs natively on the site, with slot selection against live capacity, Stripe card payment, confirmation emails carrying QR codes, and self-serve reschedule/cancel links. Back of house: an admin dashboard for bookings, walk-ins, claims redemption, and reporting. A free-trial lead-capture form catches the "not ready yet" segment. Everything is served from EC2 + CloudFront with S3-offloaded static assets for Google Ads-grade page speed.
Highlights
What's on the site today
- Native booking engine: live slot capacity, Stripe checkout, QR confirmation emails
- Self-serve reschedule and cancel flows with automated refund rules
- Tiered walk-in, birthday, and corporate packages with deposits
- Admin back-office: bookings, walk-ins, claims redemption, reporting
- Running today as a click-through demo with payments in test mode
Tech stack
What it's built on
- Next.js
- React
- Tailwind CSS
- PostgreSQL + Drizzle ORM
- Stripe payments
- QR-code check-in
- EC2 + CloudFront + S3 hosting
Outcome
How it operates today
The platform routes four distinct customer segments (walk-in players, parents booking birthdays, corporate organizers, and gift-card buyers) from ad click to paid booking without leaving the site. When the Etobicoke location closed, the build outlived the venue. It now runs as a permanent live demo at vrarena.cs2technologies.ca, where venue owners and franchise operators can click through the real booking flow, pay with a Stripe test card, and see exactly the system they would get for their own location.
What this proves
A complete venue platform covering bookings, payments, and operations, ready for any arena, activity centre, or franchise location to license and launch on their own domain.
