Customers
Directory, visit history, notes, consent, waivers, memberships, and packages at /dashboard/platform/customers.
/dashboard/platform/customers (platformCustomers) is the directory. Add one at /customers/new.
Profile
- Visit history and receipts
- Notes:
addCustomerNotewithbody,noteType,visibility(staff or owner only), optionalappointmentId. Only an owner can add owner-only notes. - Consent:
setCustomerConsentsetsacceptsMarketingandpreferredContactMethod. - Status:
setCustomerStatus. - Waivers:
issueCustomerWaivercreates a waiver record (title, type such as Minor consent or Photo release, delivery status). Customers sign throughsignPublicWaiver. - Memberships and packages: see below.
Customer fields: firstName, lastName, phone, email, status, preferredContactMethod, acceptsMarketing, birthday, preferredBarber, lastVisitAt.
Sell and manage a membership or package
Open the customer
Choose Membership or Package on the profile.
Run the action
manageMembership with action: purchase (plan), purchase_package (package), renew, pause, resume, or cancel. Payment method is cash. The sale writes a CheckoutTransaction and a MembershipEvent.
Rules: a cancelled membership cannot be renewed; only active memberships can be paused; only paused ones resumed; only active or paused ones cancelled. Balances are CustomerPackage rows with remainingVisits, status (active, paused, used_up, expired, cancelled), startsAt, expiresAt.