Skip to main content

Guests & CRM

A guest is a customer profile in Avero's CRM. The database lives at /admin/crm — the page is titled Customers ("Manage your guest records and customer profiles.") — and every person opens into a 360 profile at /admin/crm/guests/:guestId: spend, club, orders, reservations, communications, and eligibility in one place. (You'll see "customer" in titles and buttons and "guest" nearly everywhere else — they mean the same record.)

Who can use it

  • Browse and searchguests.read / guests.search: every role can search guests; the CRM list itself is a back-office surface.
  • Createguests.create: all front-of-house roles except Viewer.
  • Edit profiles (notes, preferences, addresses, ID scan) — guests.update: most roles; without it the profile shows a Read Only badge.
  • Deleteguests.delete, and Export PII Dataprivacy.pii.export: Manager/Admin territory (PII export is Admin-only).
  • Card on fileguest.add_card to save or manage cards.

The customer database

/admin/crm lists everyone. Search by "Search by name, email, or phone..."; switch between list and card views. When you have guests, a KPI strip across the top doubles as a filter — click New (30d), Trending Up, or Trending Down to filter the list (a "Filtered:" chip with Clear appears); Avg Lifetime shows average lifetime spend.

The Customers database — search, momentum filters, and the list.

The Customers database — search, momentum filters, and the list.

List columns are Customer, LTV, Badges, and Actions. Rows carry a VIP badge, spend-tier badges, and a red Underage badge where it applies. Each row's Actions menu jumps straight into work: New Reservation, New Order, New Club Membership, Contact.

There are no tag or segment filters yet

The only list filters today are the three momentum KPIs and text search. Guest tags show on the profile when present, but the tag-management UI is not built yet, and VIP can only be set when a profile is created — there is no VIP toggle on an existing profile.

Create a guest

Add Customer opens the New Customer Intake wizard ("Create a new customer profile with identity, date of birth, address, and optional card on file."). Its steps:

  1. ID Scan — only if ID scanning is enabled for your company (see below); otherwise the wizard starts at Identity.
  2. Identity — first and last name, plus at least one contact method (email or phone). When you enter an email, Avero soft-checks for duplicates on the spot.
  3. DOB & Eligibility — date of birth (mm/dd/yyyy). Age is computed immediately and badged Eligible (21+) or Underage. If your company requires DOB for alcohol, the step says so: "Date of birth is required for alcohol purchases at this venue."
  4. Address.
  5. Card on File — optionally capture a card, then Create Customer.

The New Customer Intake wizard — identity, eligibility, address, and card on file.

The New Customer Intake wizard — identity, eligibility, address, and card on file.

If the email matches an existing record, the wizard shows "Possible duplicates found" with each candidate: pick Use Existing to open that guest instead, or Create New Anyway to override deliberately.

Quick registration at the host stand is a separate two-step page at /reception/new-guest (New Guest Check-In) — see Walk-ins & waitlist. Both flows land in the same CRM records.

The 360 profile

The profile header shows the name with its badges — VIP, Discreet, and an eligibility badge that reads ID Verified, 21+ on file, or Underage — plus the card on file (brand and last four, amber when expiring soon), the club tier, and the spend tier.

A guest's 360 profile — momentum, metrics, and the tab bar.

A guest's 360 profile — momentum, metrics, and the tab bar.

Nine tabs: Overview, Profile, Preferences, Orders, Reservations, Clubs, Club Shipments, Communications, and Consent.

  • Overview — standing notices (allergies, cautions), the Relationship Momentum card (90-Day Spend, Prior 90d, 365-Day Spend, Lifetime, trending Growing / Declining / Steady), and four tiles: Lifetime Value, Gross Profit, Club, and Engagement (with "Last visit:"). Below: Recent Orders, Upcoming Reservations, Active Memberships, Recent Communications.
  • ProfileIdentity, Addresses (primary shipping/billing plus extras), card-on-file management, Alcohol Eligibility (below), Tags (display-only today), and Standing Notes — a Standing Note and a Service Note the floor sees.
  • PreferencesSeating, Pace & Service, Wine Style, Accessibility, Occasion, each stamped "Last confirmed:".
  • Orders / Reservations / Clubs / Club Shipments — the guest's history in each system, with status filters; club orders synced from Commerce7 carry a Club Order badge.
  • Communications — the interaction log. Filter by channel (Phone, SMS, Email, In Person, Social, Other), and use Log Interaction, SMS Thread, or New Message to record or start outreach. A guest who unsubscribed shows SMS Opted Out.
  • Consent — the Consent Audit Log of consent given and withdrawn.

The header's actions menu mirrors the list (New Reservation, New Order, New Club Membership, Contact) and adds Export PII Data and Delete Customer.

Verify ID (ID scan)

When Enable ID Scanning is on (Settings → Company → ID Verification & Alcohol Compliance), staff can populate and verify a profile from a driver's license. On the profile: Profile tab → Alcohol Eligibility → Update from ID ("Scan the guest's ID to update their profile information and verification status."). In the intake wizard it's the first step. It needs a device camera and guests.update.

The wizard starts with an ID Scan Data Notice"Please inform the guest before scanning" — and a consent checkbox before Proceed to Scan unlocks (or Skip ID Scan). Then three steps:

  1. Back Barcode"Hold the back of the ID 6-8 inches from the camera…" reads the PDF417 barcode.
  2. Front OCR — photograph the front for text extraction.
  3. Results — the extracted fields with a Mismatches section where barcode and OCR disagree. Finish with Apply to Guest (existing profile) or Use Scanned Data (new intake), or Rescan.

The result drives the eligibility badge (ID Verified / 21+ on file / Underage) and the Alcohol Eligibility card's ID verification status.

Deleting a guest

Delete Customer is a privacy-grade action: the dialog warns "This will permanently delete [the guest]'s profile and all personal data. This action cannot be undone.", lists records that will be orphaned, and requires a DSAR Request ID"A DSAR request must be filed before deleting a guest. Enter the request ID to confirm." — plus typing the guest's name before Delete Permanently activates.

Reference

ControlWhereWhat it does
Add CustomerCustomers headerOpens the New Customer Intake wizard.
KPI tilesCustomers headerNew (30d) / Trending Up / Trending Down filter the list.
Use ExistingDuplicate panelOpens the matched guest instead of creating a copy.
Create New AnywayDuplicate panelDeliberately creates a second record.
Update from IDProfile → Alcohol EligibilityRuns the ID scan wizard against this profile.
Log InteractionCommunications tabRecords a phone/SMS/email/in-person touch.
Export PII DataProfile actions menuExports the guest's personal data (needs privacy.pii.export).
Delete CustomerProfile actions menuDSAR-gated permanent deletion (needs guests.delete).

Troubleshooting

  • "You do not have permission to view guest records." — the CRM needs guests.read; ask an admin to check your role.
  • "A customer with this email already exists." — you hit a hard duplicate; search for the guest and use their existing profile.
  • The profile shows a "Read Only" badge — you hold guests.read but not guests.update; notes and edits are disabled.
  • "Camera access denied. Please allow camera access and try again." — the ID scan needs browser camera permission; allow it and rescan.
  • "No customers yet" / "Add your first customer to get started." — the database is empty; Add Customer or intake at the host stand fills it.
  • Can't set VIP on an existing guest — expected today; VIP is set at creation only, and tag editing isn't built yet.