Guest Profiles — House of Legends
Documented: 2026-05-11 Doc Status: Excellent | ✓ All 6 checks passedOverview
After reservation is made, guest receives a QR code via email or WhatsApp. Upon arrival, scanning the QR at the venue creates or links their profile. Guests can then send reactions, submit photos, spin the lucky wheel, and complete challenges.Guest Journey
After reservation is made, guest receives a QR code via email or WhatsApp. Upon arrival, scanning the QR at the venue creates or links their profile. From there, guests can:- Send reactions (Wave, Cheers, Heart) to other guests
- Submit photos to the wall and like others’ photos
- Spin the lucky wheel to win comp items
- Complete the Google Review challenge to earn rewards
QR Code & Onboarding
QR Code Content
Each reservation gets a unique QR code containing:Profile Creation Flow
- Guest scans QR with phone camera
- App opens
/profile?token=xxx - If not logged in → Clerk OAuth (Google/Facebook)
- Profile created/linked via token
- Guest sees: nickname input, mood tags, origin
Tables
Reactions (WAVE/CHEERS/HEART)
Guests can react to other guests (not themselves):- WAVE — Hello/greeting
- CHEERS — Toast/celebration
- HEART — Love/appreciation
Reaction Flow
- Guest views other profiles on wall/table
- Taps reaction button
- Reaction saved to
guestReactions - Target guest sees reaction notification
Table
Mood Tags
Guests select mood tags during onboarding:| Tag | Description |
|---|---|
LOOKING_FOR_DATE | Looking for a date |
GET_DRUNK | Here to enjoy drinks |
FIRST_TIME | First time visitor |
REGULAR | Returning guest |
CELEBRATING | Special occasion |
GOOD_FRIENDS | Out with friends |
SOLO | Flying solo |
WITH_FAMILY | Family outing |
Components
Profile Card
Displays:- Avatar (or generated initial)
- Nickname
- Origin
- Mood tags
- Reaction count (received)
Reaction Button
Three-state button: WAVE / CHEERS / HEART- Tapping cycles through reactions
- Shows count for each type
Onboarding Flow
- Scan QR → Token validated
- Login with Google/Facebook (or skip)
- Enter nickname
- Select mood tags (multi-select)
- Select origin (dropdown)
- Profile created → Redirect to experience
Backend Functions
| Function | Purpose |
|---|---|
profiles.createFromReservation | Create profile on check-in |
profiles.linkOAuth | Link Google/Facebook to profile |
profiles.addReaction | Add reaction to another guest |
profiles.getReactions | Get reactions for a profile |
profiles.updateMoodTags | Update mood tags |