Admin Dashboard Specification
Status: Canonical Last Updated: 2026-05-11 Source:
apps/frontend/app/[locale]/dashboard/
Related specs
- Tech Stack — Staff auth and role-based access
- Data Model — References all tables
- Booking Flow — Admin can view reservations
- Staff POS — POS views within admin
- Payments — View payment status per event
- Notifications — Notification center in dashboard
- User Stories — US-A01 through US-A08 cover admin
Route Structure
dashboard/
├── layout.tsx # Admin layout with sidebar
├── page.tsx # Overview/analytics
├── admin/
│ ├── page.tsx # Admin home
│ ├── pos/
│ │ └── challenges/
│ │ └── page.tsx # Challenge management
├── events/
│ └── page.tsx # Experience events list
├── experiences/
│ └── page.tsx # Experience templates
├── reservations/
│ └── page.tsx # All reservations
├── inquiries/
│ └── page.tsx # Inquiry management (kanban)
├── checkin/
│ └── page.tsx # QR scanner
├── event-payments/
│ └── page.tsx # Payment trackingDashboard Home (/dashboard)
Shows:
- Today's events overview
- Recent reservations
- Quick actions
- Notification bell
Reservations (/dashboard/reservations)
List View
- Paginated table
- Filters: show, date, payment status, ticket type
- Search by name/email
Reservation Detail
- Customer info
- Tickets (type, quantity)
- Add-ons
- Total paid
- Payment status
- QR code
- Actions: cancel, resend confirmation email
Status Badges
- PENDING — Yellow, awaiting payment
- PAID_CONFIRMED — Green, confirmed
- CHECKED_IN — Blue, guest arrived
- CANCELLED — Red strikethrough
- REFUNDED — Grey
Events (/dashboard/events)
List View
- All experienceEvents
- Filter by experience, date range
- Show: date, time, show name, capacity, booked, status
Event Detail
- Edit capacity
- Toggle Show Only tickets
- Override prices
- Cancel event (with customer notification)
Experiences (/dashboard/experiences)
List View
- All experience templates
- Status filter (active, draft, archived)
Experience Editor
- Title, tagline, description
- Embedded video URL
- Photo gallery (multi-upload)
- Ticket type configuration
- Default prices
- Default capacity
- Slug (URL identifier)
Batch Create Events
- Select days of week
- Select time
- Date range (start/end)
- Capacity (inherited or override)
- Generate all occurrences in one click
Inquiries (/dashboard/inquiries)
Kanban Board View
Columns: NEW | READ | REPLIED | ARCHIVED
Card Display
- Form type icon
- Submitter name/email
- Submission date
- Preview of message
Card Actions
- Click → see full details
- Drag to change status
- Add follow-up notes
- Reply button (future: email integration)
Check-In (/dashboard/checkin)
QR Scanner
- Camera-based scanner
- Scan reservation QR code
- Shows guest details
- Mark as checked in
Manual Lookup
- Enter reservation code
- View details
- Manual check-in button
Event Payments (/dashboard/event-payments)
Per-Event Payment Summary
- Event details
- Total revenue
- Payment breakdown by type
- Pending payments
- Failed payments
POS Challenges (/dashboard/admin/pos/challenges)
Challenge Configuration
- Photo Wall: enable/disable, max submissions
- Lucky Spin: enable/disable, prize configuration
- Google Review: enable/disable, reward item
Per-Challenge Stats
- Participation rate
- Submission count
- Winner selection