Client Experience

Communications

WhatsApp, SMS, and email messaging — appointment reminders, templates, and conversation history.

Overview

The communications module handles all outbound messages from the salon to clients: appointment confirmations, reminders, campaign messages, and journey-triggered messages. It also provides an inbox view of incoming WhatsApp messages so the front desk can have conversations with clients.

All messaging respects client consent — no marketing message is sent to a client who has not opted in.

Provider Architecture

SalonOS uses a MessagingProvider adapter, meaning the underlying communication provider can be swapped without changing product logic:

Channel Primary provider
WhatsApp WhatsApp Business API (direct or via BSP)
SMS Twilio (or equivalent)
Email SendGrid / SMTP

WhatsApp is the primary channel for India. SMS is a fallback when WhatsApp is not available. Email is used for longer-form content (campaign newsletters, invoice delivery).

Appointment Reminders

Appointment reminders are the most important automated messages. They reduce no-shows significantly.

Reminder Configuration

Setting Description
Channel WhatsApp, SMS, or email
Timing When to send (e.g. 24 hours before, 2 hours before)
Multiple reminders Brand can configure up to 3 reminder points per appointment
Opt-out handling Clients with transactional consent withdrawn do not receive reminders

Reminder Content

Reminder templates include:

  • Client's name
  • Appointment date and time
  • Service(s) booked
  • Staff member (if brand allows stylist display)
  • Location name and address
  • Confirmation / cancellation action (link or reply keyword)

Reminder Failures

If a message fails to deliver (invalid number, block, WhatsApp not installed):

  • The failure is logged
  • An alert appears on the appointment record
  • Front desk can resend manually or call the client

Appointment Confirmations

Sent immediately after an appointment is booked (via front desk or online booking):

  • Booking details summary
  • Option to add to Google Calendar / Apple Calendar (iCal link)
  • Cancellation/reschedule link (if brand allows client self-cancel)

Reschedule and Cancellation Notifications

When a manager or front desk reschedules or cancels an appointment:

  • Client is notified with the reason (optional)
  • For cancellations, a rebooking link is included (configurable)

Message Templates

All WhatsApp messages use approved templates (required by Meta's policy for business-initiated conversations). Templates are managed in SalonOS:

Template Lifecycle

  1. Create — write the template in SalonOS with all placeholders
  2. Submit — sent to WhatsApp for approval (takes 1–24 hours)
  3. Active — approved template is available for use
  4. Paused/Rejected — flagged for revision

Template Categories

Category Examples
Utility (transactional) Appointment confirmation, reminder, reschedule
Marketing Promotional campaign, seasonal offer, reactivation
Authentication OTP for portal login

Personalisation Placeholders

  • {{client_name}} — client's first name
  • {{appointment_date}} — formatted date
  • {{appointment_time}} — formatted time
  • {{service_name}} — primary service booked
  • {{staff_name}} — assigned staff member
  • {{location_name}} — location display name
  • {{location_address}} — full address
  • {{offer_code}} — discount code
  • {{portal_link}} — client portal URL

Conversation Inbox

Two-way WhatsApp conversations are managed in the inbox:

  • All inbound messages from clients appear in a unified inbox
  • Messages are matched to the client CRM record by phone number
  • Front desk can reply, attach images, or use quick-reply templates
  • Conversations are stored in client communications history

Conversation Assignment

Conversations can be assigned to a staff member for follow-up. Assignment is visible to the team and shows as a task in their view.

Birthday Messages

Automated birthday messages are sent to clients with a birthday in the configured window:

  • Sent on the client's birthday or N days before
  • Content: a warm message + optional birthday offer (discount code or loyalty bonus)
  • Personalised from the brand
  • Respects marketing consent

Client Communications History

Every message sent to or received from a client is stored in their CRM record:

  • Date, channel, direction (inbound/outbound), content, delivery status
  • Linked to the appointment or campaign that triggered it (where applicable)
  • Visible to front desk and managers; not visible to the client in the portal

Delivery and Reporting

Metric Description
Sent Message dispatched to the provider
Delivered Provider confirmed delivery to device
Read WhatsApp read receipt
Failed Delivery failed; reason logged
Reply Client replied (for two-way channels)
Click Link click tracked via redirect

Campaign and journey message performance is available in the Marketing module.

Key Data Entities

  • MessageTemplate — a WhatsApp or SMS template definition with approval status
  • Message — a single sent or received message (channel, direction, content, status, timestamp)
  • ClientCommunication — a thread of messages between the brand and a client
  • ReminderSchedule — the configured reminder timing rules per brand/location

Permissions

Action org_owner brand_manager location_manager front_desk
Configure reminder schedule Yes Yes Yes No
Create/edit message templates Yes Yes No No
Send manual messages Yes Yes Yes Yes
Reply in inbox Yes Yes Yes Yes
View communication history Yes Yes Yes Yes
Set up birthday messages Yes Yes Yes No