Client Experience
Client Surfaces
Booking widget, client portal, digital check-in, intake forms, consent waivers, and feedback.
Overview
Client surfaces are the outward-facing touchpoints through which clients interact with the brand. They are the booking experience, the check-in kiosk, the pre-appointment intake form, and the post-visit feedback form. All surfaces are white-labelled to the brand and hosted either on the brand's domain or embedded on an external website.
Booking Widget
The booking widget allows clients to self-book appointments without calling the salon.
Widget Types
| Type | Description |
|---|---|
| Hosted page | A full-page booking experience at a branded URL (e.g. book.salon.com) |
| Embedded iframe | The booking flow embedded on the salon's own website |
| WhatsApp flow | A guided booking conversation (AI booking agent) |
Booking Flow
- Location selection (for multi-location brands)
- Service selection — browse or search services; variants and add-ons are presented
- Staff preference — optional; client can pick a specific stylist or "any available"
- Date and time — calendar shows available slots in real time; no double-booking possible
- Client details — returning clients log in or are looked up by phone; new clients quick-create
- Consent capture — if required by brand policy, transactional consent is captured before confirmation
- Deposit — if the brand requires a deposit, payment is captured here
- Confirmation — booking confirmed; confirmation message sent via WhatsApp/SMS
Real-Time Availability
The booking widget queries the same availability engine as the operator calendar. Slots that fill up while a client is browsing are locked for a short session period (configurable) and then released if not confirmed. This prevents two clients from simultaneously booking the same slot.
Brand Customisation
The widget inherits the brand's theme tokens (logo, colours, typography) automatically. No custom CSS is required.
Client Portal
The client portal gives clients access to their own data and booking history.
Portal Features
| Feature | Description |
|---|---|
| Upcoming appointments | View and (optionally) cancel upcoming bookings |
| Booking history | Past visits with service details |
| Loyalty balance | Points balance, tier, and earn history |
| Membership status | Active membership details and allowance |
| Gift card balance | Remaining balance on any gift cards |
| Profile management | Update name, phone, email, preferred language |
| Consent management | View and update marketing consent preferences |
The portal is accessed via a secure magic-link (no password required) or via a login the client sets up. The link is sent via WhatsApp or SMS on request.
Digital Check-In
The check-in kiosk allows clients to self-check-in when they arrive at the salon, reducing front-desk load.
Check-In Flow
- Client opens the check-in URL on a tablet in the waiting area (or on their phone via a link)
- Client enters their phone number or name
- Their upcoming appointment is found and displayed
- Client confirms arrival and optionally updates any urgent details (e.g. late)
- Appointment is marked as "Checked In" on the operator calendar in real time
Check-in can be enabled per location. It works alongside or independently of the intake form.
Intake Forms
Intake forms collect client information before a service — particularly important for health, safety, and personalisation.
Form Types
| Type | Use case |
|---|---|
| New client intake | Basic health and preferences on first visit |
| Service-specific intake | Detailed questions before a chemical service, laser, or medical aesthetic |
| Consultation form | A longer pre-appointment questionnaire |
Form Features
- Free-text questions, multiple choice, yes/no, date, file upload
- Conditional logic: show/hide questions based on prior answers
- Required / optional fields
- Expiry: require re-submission after X months
- Digital signature (for forms that require one)
Delivery
Forms are sent to the client via WhatsApp or SMS before their appointment:
- Triggered automatically a configurable time before the appointment
- Client completes on their device
- Responses stored on the appointment record, visible to the staff member before and during service
Staff Access at the Chair
The completed intake form is accessible from the appointment view. Safety-relevant responses (allergies, contraindications, medical conditions) are surfaced prominently.
Consent Waivers
Consent waivers are digital sign-off documents for specific treatments.
Use Cases
- Chemical treatments (hair colour, relaxer, keratin)
- Laser or light-based treatments
- Medical aesthetic procedures
- Minor client waivers
Features
- Configurable waiver content per service or service category
- Digital signature capture (on client's device)
- Signed copy stored on the appointment record and downloadable as PDF
- Expiry: signed waiver valid for X months before re-signature required
- Cannot proceed to that service without a valid signed waiver (configurable enforcement)
Feedback Forms
Post-visit feedback forms collect client satisfaction data.
- Sent automatically via journey or manually triggered
- Short-link form on the client's device
- Ratings, NPS, free-text comment
- Stored per appointment; feeds into reputation management and staff performance
Embed Security
Embeddable surfaces (booking widget, check-in) that run on third-party websites are served with a permissive Content-Security-Policy: frame-ancestors * header to allow iframe embedding. Each embedded surface is scoped to a specific brand and location — no cross-tenant data is ever accessible.
Key Data Entities
- BookingSession — a client's active booking flow (holds a provisional slot during the booking process)
- IntakeForm — a form definition (questions, logic)
- IntakeSubmission — a client's completed form response
- ConsentWaiver — a waiver document definition
- WaiverSignature — a signed waiver record (client, appointment, signature, timestamp)
- ClientPortalToken — a secure time-limited token for portal access
Configuration Options
| Setting | Scope | Description |
|---|---|---|
| Self-booking enabled | Brand / Location | Whether the booking widget accepts new bookings |
| Staff selection | Brand | Allow clients to pick a stylist, or assign automatically |
| Slot hold duration | Location | How long a provisional slot is held during booking |
| Deposit required | Brand | Whether a deposit must be paid at booking |
| Check-in enabled | Location | Whether digital check-in is active |
| Intake form assignment | Service | Which form is sent before which service |
| Waiver assignment | Service | Which waiver applies to which service |
| Waiver expiry | Brand | How long a signed waiver is valid |