Socialone Logo

Service Bookings

Service bookings let customers schedule appointments, classes, or time-window sessions through WhatsApp or the web store. Socialone generates available time slots from schedules you define per product, handles staff assignment, and tracks each booking through its lifecycle.

Setting Up a Service Product

A service booking starts with a product of type Service. When creating the product, set:

  • Product Type: Service (not Physical or Digital).
  • Duration (minutes): how long each appointment lasts. Used by exact-mode schedules to break a time window into individual slots.
  • Price: the cost per session, booking, or class.
  • Delivery Method: set to at_location for in-person sessions, or leave as none for remote/digital sessions where a meeting link is shared.

Schedule Modes

Each schedule you add to a service product defines a recurring block of availability for a specific day of the week. There are three schedule modes:

ModeHow slots are generatedBest for
ExactThe start–end window is divided into sub-slots of duration_minutes + buffer_minutes each. Each sub-slot is bookable independently.1:1 appointments (haircuts, consultations, check-ups)
WindowThe entire start–end block is one bookable slot with its own label. Max bookings controls how many concurrent customers are accepted.Morning / afternoon pick-up windows, broad time preferences
ClassThe entire block is a single session. Max bookings is the class capacity (seats). Once full, the slot shows Unavailable.Fitness classes, group workshops, tours

Schedule Fields

  • Day of Week: which day this schedule applies (Monday – Sunday). Add separate schedules for different days.
  • Start / End Time: the opening and closing of the availability block for this day.
  • Max Bookings: how many concurrent bookings are allowed per slot. For exact mode this applies per sub-slot; for class mode it is the total class capacity.
  • Buffer Minutes: (exact mode only) a gap added after each appointment before the next slot starts. Useful to allow travel or cleanup time between sessions.
  • Window Label: (window mode only) the display label shown to the customer, e.g. "Morning" or "Afternoon".
  • Assigned To: pin this schedule to a specific staff member (Membership). When set, only that staff member's availability is checked for this block. Leave blank for any-staff availability.
  • Meeting Link: a video or virtual meeting URL (Zoom, Google Meet, etc.) associated with this schedule. Sent to the customer in the booking confirmation when included in the notification template.

Adding Schedules

  1. Open the service product and go to the Schedules tab.
  2. Click Add Schedule.
  3. Select day of week, start and end time, and schedule mode.
  4. Set buffer minutes (exact), window label (window), or leave defaults (class).
  5. Optionally assign a staff member and add a meeting link.
  6. Save. The schedule becomes active immediately.

Add multiple schedules to cover different days. You can also add multiple schedules for the same day to handle different staff or time blocks.

Staff Assignment

When a schedule has Assigned To set, Socialone automatically assigns that staff member to bookings in that slot. When a schedule has no assigned staff, Socialone uses round-robin or least-busy auto-assignment across all staff members who have schedules for the product on that day.

  • Pinned schedule: book only with the named staff member. Availability checks are scoped to that member's existing bookings.
  • Any-staff schedule: Socialone picks the least-busy eligible staff member at booking time. The assigned member is locked onto the order.
  • The customer can optionally filter by staff when viewing slots via the web store (pass staff_id query param to the slot API).

How Slots Are Shown to Customers

When a customer opens a service product on the web store, they see a date picker. After selecting a date, Socialone fetches slots from the backend and displays available times. Each slot shows:

  • Start and end time
  • Available / Unavailable status
  • Remaining capacity (for class / window modes)
  • Window label (window mode)
  • Assigned staff name (when pinned)

Booking Lifecycle

A service booking follows a separate status path from product orders:

StatusMeaningAvailable actions
PendingBooking received, awaiting staff confirmationConfirm Booking, Cancel
ScheduledAppointment confirmed and on the calendarComplete Booking, Mark as No Show, Cancel
CompletedService was delivered—
No ShowCustomer did not attend—
CancelledBooking was cancelled—

The appointment_at and appointment_end_at timestamps on the order record exactly when the slot was booked. These are shown in the order detail under Appointment.

Rescheduling a Booking

Staff can reschedule any active booking (Pending or Scheduled) from the order detail panel. Reschedule is not available for cancelled, completed, or no-show bookings.

  1. Open the order and click Reschedule next to the Appointment section.
  2. Pick a new date. Socialone loads available slots for that date immediately.
  3. Optionally select a staff member to filter slots by that person's availability.
  4. Choose a time slot from the list of available slots for the selected date and staff.
  5. Click Confirm reschedule. The booking's appointment time is updated and the customer receives a Booking Rescheduled notification if one is configured.
  • The system validates capacity — the slot must still be available after accounting for existing bookings.
  • If the new slot has a different staff member's meeting link attached, the meeting link in the order notes is automatically updated.
  • If no slots are showing for the new date, check that a schedule exists for that day of the week and has not reached its max bookings limit.

Booking Reminders

Set up a Booking Reminder notification template (see Order Notifications) to automatically message customers before their appointment. Configure the reminder lead time in OMS Settings.

Related Docs

Related product

Commerce & Orders for WhatsApp selling

Manage WhatsApp catalogs, products, variants, bulk imports, product messages, carts, payments, and order follow-up from one Socialone workspace.

View product →