Customers is your central player database. Every customer who books an event, signs a waiver, or makes a purchase has a record with their contact info, preferences, and a complete history of events attended, transactions, payments, customer credit, gift cards purchased, waivers signed, survey responses, photos, notes, tags, and email activity. You can search and filter the full list, open a detailed profile with nine tabs of history, edit contact info, add internal notes and tags, archive customers, and manage saved cards and customer credit.
Getting started
Navigate to Customers from the sidebar. The list opens with every customer in your database.
How it works
Customer records are created automatically when someone books an event, signs a waiver, or completes a purchase. There's no manual "add customer" flow; the system captures the record the first time it sees a new email.
The feature has two pages:
- Customer list (
/customers/all): the searchable and filterable directory with six filter popovers, a CSV download, per-row archive action, and pagination - Customer details (
/customers/details?id=): the profile page with a persistent left sidebar plus nine tabs covering every interaction history
Customers are identified by email. If a customer uses a different email on a later booking, they'll appear as a separate record. Archiving a customer preserves their historical data but removes them from the active list.
Two sides of a customer profile
A customer profile has two sides that look similar but are sourced and edited very differently. Knowing which is which keeps you from getting frustrated when the page seems to ignore your edits.
| Side | Where it lives | What it is | Editable here? |
|---|---|---|---|
| Customer-controlled (the player portal profile) | The left sidebar of the profile page. Avatar, name, email, phone, address, birthday, opt-out checkboxes | The customer's own profile that they manage themselves through the player portal and their waivers. It's the same record across every venue they visit | Read-only on this page. The opt-out checkboxes are disabled, and the rest of the sidebar reflects what the customer has set on their own |
| Company-controlled (the venue's record of this customer) | The General tab on the right side. First name, last name, birthday, email, phone, full address, country | Your venue's local copy of the customer's contact info. Used for reports, transactions, and emails sent from your account | Editable. Click Update customer details to save. Email is locked because it's the account identifier |
The sidebar only refreshes when the customer updates their own portal profile. Edits you make on the General tab apply only inside your company scope and don't change what the customer sees in their portal. Use the General tab to correct typos or fill in missing details that your team needs internally; ask the customer to update their portal profile if you want the change to follow them across venues.
Step-by-step guide
Browse customers
- Open Customers
- The table shows every customer with name, contact info, date joined, last visited, events attended, and tags
- Minor customers are flagged with a Minor badge next to their name
- Customers with a birthday show a small gift icon with the birthday date
- Use pagination at the bottom (5, 10, 25, or 50 per page)
Filter and search
The toolbar has six filter buttons. Click any one to open a popover with an input and Reset / Update buttons. Each filter applies independently, so you can stack them (e.g., Last Name = "Smith" plus Event = "Escape Room A") to drill into a specific cohort.
| Filter | Input type | Matches |
|---|---|---|
| First Name | Free-text search | Customer first name |
| Last Name | Free-text search | Customer last name |
| Free-text search | Customer email | |
| Phone number | Free-text search | Customer phone number |
| Event | Multi-select of events from your library | Customers who have attended one or more of the selected events |
| Tag | Free-text search | Customers with a matching internal tag |
Click any filter button to open its popover, enter the value (free-text for five of the filters, a multi-select dropdown for Event), and click Update to apply or Reset to clear that single filter. Click the reset icon in the toolbar to clear every filter at once. Currently-applied filter values appear inline on each button (e.g., "First Name: Sam") so you can see what's active without opening every popover.
Export customer data (CSV)
- On the customer list, apply any filters you want
- Click the download icon (cloud with down-arrow) in the toolbar
- The CSV downloads as
customers.csvand includes only the rows matching your filters
The download icon only appears if your role has the download_data permission.
Open a customer profile
- On the customer list, open the three-dot menu on any row
- Select View customer details
- The profile opens in a new tab with a sidebar on the left and the tab navigation on the right
Edit customer information
- Open a customer profile
- On the General tab, update any field in the form (see Reference below for the full field list)
- Click Update customer details to save
The email field is disabled (read-only) because it's the customer's account identifier. If a customer needs a different email, that belongs on their account, not the profile.
Browse event history
- Open a customer profile and switch to the Events tab
- Each row is one event session they attended, with date, time, completion time, and number of interactions
- Click the "..." next to a long pre-event or post-event note to open it in a modal
- Open the three-dot menu on a row and select View event details to jump to the full event tracker record
View transactions and custom field responses
- Open a customer profile and switch to the Transactions tab
- Each row shows the order number, status badge, purchaser info, linked bookings, and a count of any custom field responses
- Click the info icon next to an order number to open the transaction details
- Click the info icon next to a custom field response count to open the Customer responses modal, which shows each field's label, the response (for checkboxes, "Yes" or "No"; for other types, the text value), and the response timestamp
- Toggle Show all locations at the top to include transactions from every company group (not just the current one)
Manage saved payment methods
- Open a customer profile and switch to the Payments & credit tab
- Under Saved payment methods, you'll see cards stored in your configured gateway (Stripe or Square)
- Click + Add stored credit card to add a new one (enabled only if card storage is turned on for your gateway)
- On any card, open the three-dot menu for Set as default (if not already) or Remove card
Add or adjust customer credit
- On the Payments & credit tab, scroll to Customer credit
- Click + Add customer credit
- Enter an Amount and a Description
- Click Save
- To edit an existing credit: click the pencil icon on its row. You can't reduce the amount below what's already been spent
- To delete a credit: the trash icon only appears when Spent is zero (un-used credits can be removed; used credits can't)
Totals for Total credits, Total spent, and Total remaining appear at the bottom of the credit table.
Resend or deactivate a gift card
- On the Payments & credit tab, scroll to Gift cards
- Open the three-dot menu on any gift card row
- Resend delivery email sends the recipient another copy of the delivery email
- View transaction jumps to the transaction that created the gift card
- Deactivate gift card makes the card unusable. Any remaining balance must be refunded manually
View and manage waivers
- Open the Waivers tab
- The table shows every waiver signed by this customer, with booking details, status, signed date, and signature preview
- Click the download icon on any waiver to export it as a PDF
- Click the pencil icon to move the waiver to a different booking slot via a date picker and booking list
- If associated child waivers exist (minors signed as part of this customer's bookings), click Show associated child waivers to switch to that view; click Show customer waivers to go back
Review and delete survey responses
- Open the Surveys tab
- Each row shows the survey name, description, and completion timestamp
- Open the three-dot menu on any row
- Select View response details to see the submitted answers
- Select Delete survey to permanently remove the response (confirms first)
Add and manage notes and tags
- Open the Notes/tags tab
- Under Notes, click Add note
- Type into the text area and click Save. The note is stamped with your name and the current time
- To remove a note, click the trash icon next to it
- Under Tags, click Add tag
- Enter a tag name and click Save. The tag appears as a warning-colored badge on both the profile and the customer list
- To remove a tag, click the small X next to it
View photos
- Open the Photos tab
- Photos from the customer's event sessions appear in a carousel
- Use the indicators below the carousel to move between photos
If the customer has opted out of photo sharing, respect their preference (shown as a check under their contact info in the sidebar).
Review email activity
- Open the Emails tab
- Each row is one email event (sent, delivered, opened, clicked, bounced, complained, etc.) with type, status badge, timestamp, recipient, and sender
- Click the Refresh button at the top of the tab to re-query the latest events
Update customer preferences
- The sidebar shows two preference checkboxes:
- Opted out of email communication
- Opted out of photo sharing on social media
- These are the customer's self-set preferences. They're read-only on this page. To update a customer's preference on their behalf, adjust the relevant opt-out flags in the public customer profile flow or have them update it via waivers / booking forms
Archive a customer
- From the customer list: open the three-dot menu on a row and select Archive customer
- Or from the profile page: open the three-dot menu in the top right and select Archive customer
- Confirm in the dialog
- The customer is removed from the active list. All their historical data is preserved
The archive action requires the customer_archive permission.
Reference
Customer list columns
| Column | What it shows |
|---|---|
| Name | First + last name, with a Minor badge if applicable and a birthday icon with the date if present |
| Contact information | Email (with icon) and phone (formatted with country). Shows "-" if neither is set |
| Date joined | Date of the customer's first interaction. Shows "-" if not set |
| Last visited | Date of the customer's most recent visit. Shows "-" if not set |
| Events | One badge per event the customer has attended |
| Tags | One badge per tag applied. Shows "-" if fewer than 2 tags exist |
| Actions | Three-dot menu with Customer Details and Archive actions |
List filters
Every filter popover has its own Reset and Update buttons.
| Filter | Input | Applies to |
|---|---|---|
| First Name | Search input | Customer first name |
| Last Name | Search input | Customer last name |
| Search input | Customer email | |
| Phone number | Search input | Customer phone |
| Event | Multi-select of events | Customers who attended a specific event |
| Tag | Search input | Customers with a matching tag |
An outer reset icon in the toolbar clears every filter at once.
Row actions
| Action | Description | Permission |
|---|---|---|
| View customer details | Opens the profile page in a new tab | None required beyond customer view |
| Archive customer | Confirms, then archives. Data preserved | customer_archive |
CSV export format
Click the download icon (requires download_data permission) to download customers.csv with these columns:
| Column | Description |
|---|---|
| First Name | Customer's first name |
| Last Name | Customer's last name |
| Birthday | Date of birth (raw value) |
| Primary email | |
| Phone | Phone number |
The download reflects your active filters.
Pagination options
The per-page selector offers 5, 10, 25, or 50 rows per page.
Customer profile sidebar
| Field | Description |
|---|---|
| Avatar | Customer photo or placeholder |
| Name | First + last name |
| Primary email (with icon) | |
| Phone | Formatted phone number (with icon) |
| Address | Address line 1, optional line 2, city, state, zip, country |
| Birthday | Date of birth (with gift icon) |
| Tags | Every tag applied, shown as warning-colored badges |
| Opted out of email communication | Customer's email opt-out preference (disabled checkbox) |
| Opted out of photo sharing on social media | Customer's photo opt-out preference (disabled checkbox) |
| Date joined | Date of first interaction |
| Date last visited | Date of most recent visit |
Profile tabs
| Tab | What it shows |
|---|---|
| General | Editable customer contact form with an alert explaining that edits apply only within your company scope |
| Events | Events the customer has attended, with booking info, completion time, interaction count, and notes |
| Transactions | All transactions with status, bookings, and custom field responses. Toggle to include all locations |
| Payments & credit | Saved payment methods (Stripe or Square), customer credit balance, and gift cards purchased |
| Waivers | Customer's signed waivers plus optional view of associated minor waivers |
| Surveys | Survey responses submitted by the customer |
| Notes/tags | Internal notes (with timestamp and author) and tags (badges visible on the list) |
| Photos | Photos from the customer's event sessions in a carousel |
| Emails | Email event history (sent, delivered, opened, clicked, bounced, complained) |
General tab fields
| Field | Description |
|---|---|
| First name | Customer's first name |
| Last name | Customer's last name |
| Birthday | Date of birth (date picker) |
| Primary email (read-only) | |
| Phone | Phone number with country code (uses the country's phone placeholder) |
| Address line 1 | Street address |
| Address line 2 | Apartment, suite, or unit |
| City | City (label adjusts by country) |
| State | State or province (dropdown of US states when country is US, text input otherwise) |
| Zip | ZIP or postal code (label and placeholder adjust by country) |
| Country | Country dropdown; changing it also updates the city, state, and zip labels/placeholders |
Click Update customer details to save. An info alert reminds you that changes apply only within your company; the customer's own profile settings remain unchanged.
Events tab columns
| Column | Description |
|---|---|
| Event | Event name |
| Booking | Date and start time of the booking |
| Completion time | Duration from start to end (calculated) |
| Interactions | Number of interactions (hints) given during the session |
| Notes | Truncated pre-event and post-event notes with "..." expand link |
| Actions | Three-dot menu with View event details |
Transactions tab columns
Base columns (add Location when Show all locations is on):
| Column | Description |
|---|---|
| Transaction details | Order number and purchaser info (who and when) |
| Status | Status badge: active (success), cancelled (danger), pending (warning), failed (danger) |
| Location | (conditional) Company group the transaction belongs to |
| Bookings | Events linked to the transaction with dates and times |
| Additional information | Count of custom field responses with a link to the Customer responses modal |
Transaction status values
| Status id | Label | Badge color |
|---|---|---|
| 0 | Cancelled | Danger |
| 1 | Active | Success |
| 2 | Pending | Warning |
| 3 | Failed | Danger |
Customer responses modal columns
Shown when a transaction has custom field responses:
| Column | Description |
|---|---|
| Custom field | The field label, plus any attached external links and policy buttons |
| Response | "Yes" or "No" for checkbox fields; the text value for other fields |
| Timestamp | When the response was recorded |
Payments & credit: saved payment methods
Shown when your payment gateway is Stripe (id 3) or Square (id 2). The + Add stored credit card button is only visible if card storage is enabled for the gateway.
| Element | Description |
|---|---|
| Card icon | Brand icon (Visa, Mastercard, Amex, etc.) |
| Card brand name | Display name of the brand |
| Default badge | Marks the customer's default card |
| Masked card number | •••• •••• •••• 1234 |
| Expiration | MM/YYYY |
| Cardholder name | Name on the card (when set) |
| Three-dot actions | Set as default (if not already default), Remove card |
Payments & credit: customer credit
| Column | Description |
|---|---|
| Credits | Amount plus description |
| Spent | Amount already used |
| Remaining | Amount still available |
| Created by | Creator's name and the creation date/time |
| Actions | Delete (trash icon, visible only when nothing has been spent) and Edit (pencil icon) |
Three summary stats appear below the table: Total credits, Total spent, Total remaining.
Payments & credit: gift cards
| Column | Description |
|---|---|
| Gift card code | Formatted code with an active or deactivated badge |
| Recipient | Recipient name and email |
| Value | Total and remaining amounts |
| Purchase date | Date and time purchased |
| Delivery date | Scheduled delivery date (or purchase date if none set) |
| Expiration date | Expiration or a "does not expire" badge |
| Actions | Three-dot menu: Resend delivery email, View transaction, Deactivate gift card |
Waivers tab
The table has two views. Switch using the toggle button at the top:
- Customer waivers: waivers the customer signed themselves
- Show associated child waivers: minor waivers signed as part of this customer's bookings (appears only when any exist)
| Column | Description |
|---|---|
| Booking details | Event name, date, and start time |
| Child name | (minor waivers only) Child's first and last name |
| Status | Status badge |
| Date signed | Date and time the waiver was signed |
| Signature | Inline signature image (if captured) |
| Actions | Download PDF, Edit waiver (moves the waiver to a different booking slot) |
Waiver status values
| Status | Badge |
|---|---|
| completed | Success |
| checked | Warning |
| call_to_book | Warning |
| blocked | Warning |
| cancelled | Danger |
| removed | Danger |
| expired (passed) | Default |
| booked | Info |
| available | Info |
Edit waiver modal
Move a waiver to a different booking slot:
| Element | Description |
|---|---|
| Select booking date | Date picker; changing the date loads that day's bookings |
| Booking options | Radio list of bookings on that date, each with event name, date, time, and status badge |
| Buttons | Cancel, Save |
Surveys tab columns
| Column | Description |
|---|---|
| Survey | Survey name and description |
| Date completed | When the customer submitted the response |
| Actions | Three-dot menu: View response details, Delete survey |
Notes/tags tab
Notes section:
| Element | Description |
|---|---|
| Notes list | Each note shown in a white alert with timestamp and author. Trash icon to delete |
| Add note | Opens an empty 5-row textarea for a new note |
| Save | Creates the note with the current user as author |
Tags section:
| Element | Description |
|---|---|
| Tags list | Each tag shown as a warning badge with a small X to remove |
| Add tag | Opens a text input for a new tag |
| Save | Creates the tag, which also appears on the customer list |
Photos tab
A carousel (autoplay off) with one slide per photo. Each photo shows the overlay version if available, else the base image. No explicit empty state.
Emails tab columns
| Column | Description |
|---|---|
| Email type | Capitalized email type name |
| Email status | Badge for the event (see values below) |
| Time of event | Date and time the event occurred |
| Recipient | Recipient first + last name, email |
| Sender | Sender first + last name and email, or "System" if no sender |
Email event statuses
| Status | Badge |
|---|---|
| Open | Success |
| Click | Success |
| Subscription | Success |
| Bounce | Danger |
| Complaint | Danger |
| Reject | Danger |
| Rendering Failure | Danger |
| DeliveryDelay | Danger |
| Delivery | Default |
| Send | Default |
A Refresh button at the top of the tab re-queries the email events.
Permissions
| Permission | Gates |
|---|---|
customer_archive | Archive customer action on the list and detail page |
download_data | CSV download icon on the customer list |
Good to know
- Customer records are created automatically through bookings, waivers, and purchases. There's no manual "add customer" flow.
- Customers are matched by email. If a customer uses a different email on a later booking, they'll appear as a separate record. There's no merge flow, so use a single email per customer consistently to keep records unified.
- Tags are internal-only and never visible to customers. Use them for VIPs, frequent visitors, customers with accessibility needs, or any other internal categorization. Tags appear on both the profile and the list.
- Notes are stamped with your name and the current time. They create an audit trail for customer-facing interactions.
- The email field on the General tab is read-only. The email is the customer's account identifier, so changing it here would break the link to their bookings.
- Customer edits on the General tab apply only within your company scope. The customer's own profile settings (which they manage themselves) remain unchanged.
- The Transactions tab defaults to showing transactions in the current company group. Toggle Show all locations to include transactions from every group you have access to.
- Customer credit can be reduced but not below the spent amount. Credits with any spent balance cannot be deleted, only edited up.
- Gift card deactivation is one-way. Any remaining balance must be manually refunded; the system won't auto-refund on deactivation.
- The waiver Edit action moves the waiver to a different booking slot. It does not let you edit the waiver content.
- Archiving a customer preserves all historical data (bookings, waivers, transactions, credits, etc.) but removes them from the active customer list. There's no permanent delete; this keeps reporting and booking history intact.
- The Date joined and Date last visited fields on the sidebar are set automatically based on customer activity. They can't be edited directly.
- Photos respect opt-out. If the customer has set Opted out of photo sharing, don't share their photos externally even though they appear in the carousel.
FAQ
Q: Can I merge duplicate customer records?
A: No. Records are matched by email. If a customer used different email addresses, they'll appear as separate records. Use a single email per customer consistently to keep history unified.
Q: Can customers see their own notes or tags?
A: No. Notes and tags are internal only.
Q: How do I find customers who attended a specific event?
A: Use the Event filter on the customer list and pick the event. Click Update to apply.
Q: Can I delete a customer permanently?
A: Customers can be archived, not permanently deleted. Archiving preserves booking history and reporting data.
Q: Why can't I edit the customer's email?
A: The email is the customer's account identifier. Changing it from this page would break the link to their existing bookings, waivers, and transactions. Customers can update their own email from their account.
Q: Why is the download icon missing from the customer list toolbar?
A: Your role doesn't have the download_data permission. Ask an admin to add it in Settings > User management.
Q: Why can't I remove a customer credit?
A: The delete icon only appears when the credit has never been spent. Once a credit has any spent balance, it can only be edited upward. This prevents a customer from losing a balance they've already consumed.
Q: What happens when I deactivate a gift card?
A: The card becomes unusable immediately. Any remaining balance is not automatically refunded; you'll need to issue a manual refund if appropriate.
Q: Can I edit a waiver's signature or content?
A: No. The only waiver-edit action is moving the waiver to a different booking slot via the date picker. Signed waivers are otherwise immutable.
Q: What does "Show associated child waivers" do?
A: It toggles the waivers table between this customer's own signed waivers and any minor-participant waivers signed under this customer's bookings. The button only appears when associated child waivers exist.
Q: How do I see transactions from other locations?
A: On the Transactions tab, toggle Show all locations at the top. The table reloads with transactions from every company group.
Q: What do the different email statuses mean?
A: Send and Delivery are the normal flow. Open and Click mean the customer engaged. Bounce, Complaint, Reject, Rendering Failure, and DeliveryDelay are problems; check the email address and the customer's mail server if these appear. Subscription is a subscribe event.
Q: Who sees internal customer notes?
A: Anyone in your team with access to the customer profile sees them. They're never exposed to the customer.
Q: When I archive a customer, do I lose their bookings?
A: No. Archiving only hides the customer from the active list. All bookings, waivers, transactions, credits, and history stay in the database and continue to appear in reports.