Booking Overview

Booking turns services, staff availability, and customer details into appointments, then connects payment, notifications, invoices, refunds, and reporting around those appointments.

Booking dashboard in TruCMS

The Booking dashboard summarizes appointment activity and provides an operational starting point for the module.

What this feature is for

Booking turns a service catalogue and staff availability into customer appointments. The module is easiest to understand as a chain of dependencies: customers can only book a service when that service has the staff/location/availability needed to produce a valid slot; after the appointment is created, payments, notifications, invoices, refunds and reporting build on that same booking record.

Settings Staff + Location Service Booking Form Appointment Payment / Invoice / Refund

A practical way to use it

  1. Configure Booking-wide defaults before creating live services.
  2. Create Categories and Locations used to organize and deliver services.
  3. Create Staff/Providers and define their working hours, special days and time off.
  4. Create Services and attach the eligible staff/location; add extras/packages/custom fields only where needed.
  5. Create a Booking Form and test the full customer flow, including slot availability and payment.
  6. Train staff on Appointments/Calendar and the provider cabinet before opening bookings publicly.

How it connects to other features

Online and manual payment methods come from TruPayments. General email configuration must work before Booking notifications can be relied on. Service-level settings can be more specific than Booking-wide defaults, so troubleshoot behavior from the most specific record back toward global settings.

What to expect after changes

Availability is calculated from several records together. When a customer sees “no slots”, changing the public form alone usually will not help; inspect the service type/duration, staff assignment, staff working hours/time off, location, notice limits and any existing appointments.

End-to-end Booking workflow

Administrator configures module defaults → creates Categories/Locations/Staff → creates Services and availability rules → publishes a Booking Form/customer entry page → Customer selects service/staff/time and enters details → Booking creates an Appointment → TruPayments handles payment when required → staff manage the appointment, notifications, invoice, cancellation/refund, and reporting.

  1. Configure Booking Settings first: enable Booking, notice/cancellation defaults, deposits, refund policy, layouts, notifications, and integrations.
  2. Create organizing records such as Categories and Locations where your service catalog needs them.
  3. Create Staff / Providers and configure their weekly availability, cabinet permissions, and notification behavior.
  4. Create Services. Choose the correct service type, duration, price, staffing, location, cancellation/refund rules, extras, capacity/recurrence options, and custom fields.
  5. Create/configure the customer-facing Booking Form. If you want a CMS Page to be the public entry point, assign it in Core Settings → Page Setup.
  6. If payment is required, configure TruPayments and test deposits/full payment in the real booking flow.
  7. Create a test appointment from the public form, then confirm staff availability, notifications, payment, invoice, calendar, cancellation, and refund behavior before launch.

Service type changes the availability rule

Service typeAvailability concept
SimpleOne eligible staff/provider member must be available for the service.
CollaborativeSeveral staff members must be available at the same time; the service can define the eligible pool and required count.
CompoundThe booking is a sequence of existing services. The complete sequence must fit availability, and customer price/duration is built from the components.

Appointment status is operational, not payment status

Appointment statuses such as Pending, Approved, Cancelled, Rejected, Checked In, and Completed describe the service workflow. Payment Status is separate. Do not change an appointment to Completed merely to make a payment look settled, and do not assume Cancelled means a refund has been completed.

Where staff spend most of their time

AreaUse it for
DashboardBooking revenue/activity summary.
AppointmentsDetailed booking records, customer/service/staff/time/payment status and edits.
CalendarSchedule-oriented view for staff and appointments.
CustomersCustomer contact/group/history information.
Refund RequestsFinancial review after a refundable cancellation/request.
NotificationsMessage templates/events used around the booking lifecycle.
ReportsDate/status/service/provider/payment reporting.

Keep defaults and exceptions separate

Use Booking Settings for the normal business policy. Use a Service to define exceptions that apply only to that service. This makes policy changes predictable and avoids repeating the same configuration on every service.

Showing Booking on your site

Booking content can appear on your website in three ways, and you can combine them:

WayUse it forRead
The built-in Booking pagesServices, staff, locations, packages, the booking form and the customer pages, in five designs (Photo, List, Split, Schedule, Ticket) chosen in Booking Settings.Frontend Designs
Page Builder blocksServices, staff, packages, locations, the booking form (with a separate summary), a service hero and a marquee on any page you design.Page Builder Components
Data-bound sectionsRich layouts about one provider, service or location that fill themselves from your records.Data-Bound Sections

Keep the scheduler running

Booking relies on the scheduled tasks to clear unpaid payment attempts hourly and to renew calendar connections daily. See Scheduled Tasks.

When something does not behave as expected, the Booking FAQ lists the possible causes in the order to check them.