Reservations

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

Why This Matters

Every booking in the system lives here. When a guest calls with a question about their booking, when finance needs to investigate a payment, or when you need to cancel or resend a confirmation — you start on this page. It is the single place to search, filter, and manage every reservation across all shows and dates.

Staff Journey

Finding a reservation

The page opens with a paginated list showing 10 reservations at a time. To locate a specific booking:
1

Filter by date or status

Use the date picker to see reservations for a specific event day. Or filter by payment status: Pending (awaiting payment), Paid (completed), Refunded, or Failed.
2

Search by name or email

Type the guest’s name or email in the search box to find their reservation instantly.
3

Load more if needed

If your filters return more than 10 results, click Load More at the bottom to fetch the next page.
Filters persist in the URL, so you can copy the link to a colleague or refresh without losing your view.

Viewing reservation details

Click any row in the table to open the detail panel on the right. Here you find everything about the booking:
  • Guest Information: Name, email, phone
  • Event Details: Show name, date, time
  • Tickets: Type and quantity (e.g., “Dinner Show - Table of 4”)
  • Add-ons: Any extras purchased (wine, cocktails)
  • Payment Summary: Subtotal, add-ons, total
  • Payment Status: Current state with a timestamp
  • QR Code: For guest check-in at the venue

Managing a reservation

From the detail panel, admins can take two actions: Cancel a reservation — Marks the booking as cancelled. Depending on payment timing, this may also trigger the refund flow. Resend confirmation — Re-sends the guest’s confirmation email, useful if the guest says they never received it.

Key Concepts

  • Reservation: A guest booking for a specific event, including tickets and add-ons
  • Payment Status: Current state of the payment (Pending, Paid, Refunded, Failed)
  • Reservation Code: Unique identifier for the booking (also encoded in the QR code)
  • Pagination: Loading reservations in batches of 10 to keep the page responsive

Technical Details

ComponentFilePurpose
ReservationTablecomponents/admin/reservation-table.tsxPaginated table of reservations
ReservationDetailcomponents/admin/reservation-detail.tsxSide panel showing full reservation info
ReservationFilterscomponents/admin/reservation-filters.tsxFilter controls (date, status, search)
ReservationsSkeletoncomponents/admin/reservations-skeleton.tsxLoading state placeholder
Query/MutationPurpose
reservations.listPaginatedFetch reservations with filters and pagination
reservations.cancelCancel a reservation
reservations.resendConfirmationSend confirmation email again

See Also

Admin Dashboard

Dashboard overview and navigation

Check-In

QR scanning for guest verification

Event Payments

Payment tracking per event

Booking Experience

Guest booking flow

Kitchen Display

Kitchen station order display

Reception View

Table overview for reception staff