House of Legends

Doc Status: Excellent | ✓ Clear summary | ✓ Easy to read | ✓ Matches code | ✓ Good structure | ✓ Professional look | ✓ Visual components | ✓ No red herrings

Why This Matters

House of Legends is a dinner theatre in Da Nang that combines immersive shows with table-side dining. When Hamza came to us, the venue was running on WordPress with a separate reservation system, manual order taking, and no real way to track guests across their journey from booking to review. We built a complete booking system from scratch: guests browse shows, buy tickets, pay online, and get a QR code for check-in. Staff use a real-time POS to take orders and manage the kitchen. Admins get a dashboard to manage events, reservations, and inquiries. Everything updates instantly across all screens through Convex real-time subscriptions. This documentation is the single source of truth for how that system works.

How It Works

For Guests

A guest discovers House of Legends, browses upcoming shows, and books tickets through a 4-step flow. They pay via OnePay (credit card or bank transfer), receive a QR code, and present it at check-in when they arrive. At their table, they order food and drinks through a web app on their phone. Staff take orders on their own devices, which flow to kitchen and bar displays in real-time. After the show, guests can submit photos to the digital wall, react to other guests, spin a prize wheel, and complete review challenges.

For Staff

When a guest scans their QR code, staff see their reservation details, table assignment, and any add-ons they purchased. Orders appear instantly on kitchen and bar displays. Staff mark items ready, and reception gets notified to serve.

For Admins

Admins create show events (called occurrences), manage capacity, configure add-ons, and view payments. The inquiry system tracks leads from inquiry through follow-up to conversion.

Start Here

1

Understand the System

Read Tech Stack to understand the technology choices, then User Stories to see what each actor can do.
2

Follow the Guest Journey

3

Explore Staff Operations


By Role

Guests

Browse shows, book tickets, and access table experience

Admin

Manage events, view payments, configure add-ons

Staff

Take orders, manage kitchen queue, check in guests

Developers

Tech stack, data model, and code structure

Guest Flow

Quick path to booking: Guest Booking FlowConfirmationTable Experience

Staff Operations Flow

Quick path to operations: Check-InStaff OrderKitchen Display

System Architecture

LayerTechnologyPurpose
FrontendNext.js 16 (App Router)Public pages, admin dashboard, booking flow
BackendConvex (real-time database)API, real-time subscriptions, business logic
PaymentsOnePayCredit card and bank transfer processing
AuthClerkStaff authentication and guest OAuth
StylingTailwind CSS v4Premium gold-accented dark theme

Key Concepts

Booking Hierarchy

experiences (show templates) → experienceEvents (scheduled instances) → reservations (bookings)

Booking Flow

Guests select an experience, choose tickets or dinner packages, optionally add add-ons (bottles, bundles), and pay via OnePay. After payment, they receive a QR code for check-in.

POS System

Table-based ordering via PWA. Staff fulfill orders via Kitchen Display (KDS) and Reception views.

Gamification

Guests create profiles via QR scan, submit photos to the wall, send reactions to other guests, spin for prizes, and complete review challenges.

Quick Navigation

Foundation

Tech stack, data model, and user stories

Guest-Facing

Public pages, booking, gamification

Operations

Staff POS, table POS, reservations

Integrations

Payments, notifications, inquiry forms

Admin

Admin dashboard

Changelog

Recent changes and updates

ResourceLink
GitHubhouse-of-legends/hol-core
Frontend Appapps/frontend/
Backendpackages/backend/convex/
ChangelogChangelog