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 entire 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. Every visitor has to understand pricing, see what the arenas look like, pick a package (walk-in, birthday, corporate), and pay — in under 90 seconds, or they bounce. 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 — slot selection with live capacity, Stripe card payment, confirmation emails with 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. 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 the exact system they would get for their own location.
What this proves
A complete location-based venue platform — bookings, payments, and operations — that any arena, activity centre, or franchise location can license and launch on their own domain.
