Common questions about the Booking plugin, with the possible causes listed in the order to check them.
Also see
General FAQ for cache, email and sign-in questions that apply to the whole site.
A time is offered only when everything lines up. Check in this order:
| Possible cause | What to do |
|---|---|
| The staff member has no working hours | Open Staff & Availability and set the weekly schedule for the days and locations you expect. |
| The staff member is not linked to the service | Open the service and make sure the staff member is assigned to it, and the service is active. |
| The service is longer than the free time | A 3-hour service needs a 3-hour gap (plus any buffer) inside the working hours. |
| Minimum notice | In Booking Settings the Minimum Notice (in minutes) hides times that start too soon. Lower it if you accept last-minute bookings. |
| Time off or holidays | A day off or a closed day hides all times of that day. |
| The day is already full | Existing appointments and holds take the time. A customer in the middle of an unpaid online payment holds a slot for a short time. |
| The location does not match | The customer chose a location where the staff member does not work. |
| Time zone | Check the time zone in Settings → General. |
| Booking is switched off | Enable Booking in Booking Settings must be on. |
Unfinished online payment attempts are cleaned up every hour by the scheduler. Make sure the cron job runs (see Scheduled Tasks).
This should not happen for the same staff member. Check whether the bookings are for different staff members or different services that allow overlap, and whether the calendar sync (below) recently updated.
| Possible cause | What to do |
|---|---|
| It is inactive | Switch the service on. |
| It has no category, or the category is inactive | Assign an active category. |
| It is hidden by a filter in the page-builder block | Check the block’s category and location filters. See Page Builder Components. |
| The page is cached | Clear the cache (Settings → Cache). |
| The Booking pages are not assigned | Choose the services, providers and booking pages in Settings → Page Setup. |
| Possible cause | What to do |
|---|---|
| The page is cached | Clear the cache and hard-refresh. |
| The block has its own layout | A page-builder block with a layout of its own ignores the global design. Set it to Use Booking settings. |
| You changed another page type | Each page type has its own setting (services list, service detail, form…). See Frontend Designs. |
| You are looking at the preview address | ?booking_design= overrides the setting for you only. |
The booking form has its own accent colour in Booking Forms. Change it there.
Add pictures to staff profiles, services and locations. The Photo design needs them.
| Possible cause | What to do |
|---|---|
| Mail is not set up | Check Settings → Mail and send a test. |
| The notification is switched off or empty | Open Notifications and check the template for that event is active. |
| The customer address is wrong | Check the customer’s email on the appointment. |
| Messages go to spam | Set up SPF and DKIM for your sending domain. |
| A queue worker is not running | If notifications are queued, a worker must run. See Queue & Background Jobs. |
In Booking Settings → Notifications check the SMS provider (Twilio, Vonage or custom), its credentials and the sender. Make sure the customer entered a phone number with the country code.
Fill in the administrator email in Booking Settings → Notifications.
| Possible cause | What to do |
|---|---|
| No payment method is enabled for Booking | In TruPayments → Payment Methods enable a method whose scope includes Booking and whose currency matches. |
| A billing zone excludes the customer | See Billing Zones. |
| The gateway is in the wrong mode or has wrong keys | See the Payments FAQ. |
| Payment is not required for this service | Check the service price and the payment settings of the service. |
| Possible cause | What to do |
|---|---|
| The gateway notification (webhook) did not arrive | Check the webhook address in the gateway dashboard, and see the Payments FAQ. |
| The payment is pending | Some methods confirm later. Check the transaction in Transactions. |
| The customer left before returning to the site | The booking is completed when the gateway confirms; wait a moment, then reload the appointment. |
When Deposit payments are on in Booking Settings, the customer pays a percentage (with a minimum) now and the rest later. The remaining balance shows as unpaid on the appointment until you record or collect it.
| Possible cause | What to do |
|---|---|
| Refund processing is manual | In Booking Settings the refund processing can be manual. Approve the request in Refund Requests. |
| The refund failed at the gateway | Open the refund request and choose Retry after checking the gateway dashboard. |
| The cancellation was outside the refund policy | Check the refund type (full or partial) and the cancel notice in settings. |
| Missing permission | Approving, declining, retrying and changing refund amounts are separate permissions. See Roles. |
| Possible cause | What to do |
|---|---|
| The calendar connection is not set up | Check the Integrations tab of Booking Settings: client ID, secret, refresh token and calendar ID. |
| The connection expired | The scheduler renews calendar connections daily. Check the cron job. |
| The staff member is not linked | Each provider must connect their own calendar where the module asks for it. |
Calendar changes reach TruCMS through a subscription that is renewed daily by the scheduler. Check the cron job and the connection.
| Possible cause | What to do |
|---|---|
| They are signed in with another account | Bookings belong to the email used when booking. |
| The My Booking page is not assigned | Choose it in Page Setup. |
| The account lacks the customer role | Give the user the booking-customer role. |
They need the booking-provider role and a staff profile; the Staff and Calendar pages must be assigned in Page Setup.
Set Cancel Notice (in minutes) in Booking Settings. For example 120 blocks customer cancellation within two hours of the start time; you can still cancel from the admin.
Booking Settings · Frontend Designs · Payments FAQ · General FAQ