Common problems
Each problem lists its usual causes, from the most frequent, and the page that explains the fix.
Emails are not received
- The email is off. Several emails are off by default: reminder, post-service email, and every email to providers. Check the switches in the service notifications. See Notifications.
- The sender address is refused. Use a Sender email under Settings > Core > General that belongs to the domain of your mail server.
- WordPress cannot send email. TheBooking sends through WordPress: check the mail or SMTP logs of the site.
- Reminders and follow-ups are late. They depend on WordPress Cron, which runs only when the site has visits. See Reminders and follow-ups.
The booking widget shows no times
- No slot exists. The service is inactive, is not in an active availability plan, or the plan produces no slot on those days. Check with Availability > Slots. See Availability troubleshooting.
- The widget is restricted. The block or shortcode limits the services or providers. See WordPress block and Shortcodes.
- Lead times hide the days. The opening lead time opens days later, or the closing lead time already closed them. See Lead times.
Customers cannot book
The widget shows a notice instead of the booking button:
- Read only: the widget has the Read-only option, or the service access is Nobody (read-only).
- Login required: the service access is Logged users only, or the widget has Logged-only, and the visitor is not logged in.
See Access.
Customers cannot cancel online
- Cancellation is off. Allow customers to cancel a reservation is off by default. See Cancellation.
- The cancellation timespan has started. By default, customers cannot cancel in the last day before the appointment.
- The booking is not confirmed yet. A booking that waits for approval can be cancelled once it is confirmed.
- The personal link expired. Links in emails stop working 30 days after the booking; the customer has to log in. See My bookings.
When customers cannot cancel online, the widget shows your contact details, if you entered them.
A reservation stays pending
- It waits for approval. Approve or deny it from Reservations. See Approval.
- It waits for an online payment. If the customer does not pay within the pending time, it expires, and the cleanup job deletes it. See Payments and refunds.
- The payment was made but not registered. The gateway could not reach the site. See Payments and integrations.
Times look shifted
- The widget shows the visitor's time. By default, each visitor sees times in their own timezone. To show everyone the same times, set Frontend Timezone. See Widget timezone.
- The plan has its own timezone. See Availability plan timezone.
- WordPress uses a fixed UTC offset. Choose a city, so that daylight saving time is followed. See Site timezone.
A discount code is refused
The widget shows Invalid coupon. when:
- the promotion is not Active, or the booking is made outside its Promotion duration;
- the service is not in its Services to target, or the appointment date is outside its time slot conditions;
- a Fixed code reached its Global discount usage limit, or a List code was already used.
See Promotions.
Customers are not offered an online payment
- The service does not ask for one. Check How payment is required: Local never offers it. See Service payment settings.
- No gateway is active, or online payments are off. See Enable online payments.
- The service redirects after the booking. With Discretionary, a redirect skips the payment choice. See Redirect and conversions.
- The price is zero, for example after a full discount.