Skip to content
Gaurav TiwariDocs

Troubleshooting

Updated October 22, 2026

The booking form shows no times, reminders arrive late, or a paid booking still says it’s waiting for payment. Most problems come down to a handful of causes, and Core Bookings has a screen that checks the common ones. Start there, then jump to the section that matches what you see.

Start With Setup Checks

Open Bookings → Settings → Setup checks. It reads your saved settings locally and doesn’t contact any provider until you ask it to:

  • Booking setup: whether you have staff availability and an active service.
  • Connections: Stripe, Google Calendar, Zoom, spam protection and email delivery, each with the next check to run.
  • Background work and readiness: when the worker last ran, whether its schedule exists, the encryption key, and FluentCart or Stripe key problems when you use them.
  • Check my calendar access and Send my test email test your own calendar connection and email delivery.

From a terminal, wp core-bookings doctor prints a redacted health summary and wp core-bookings checks lists each switched-on module’s status. Both are safe to share when you ask for help.

No Times Show on the Booking Form

Work down this list; the first one that fails is usually the answer:

  1. The service is active. Paused services show no times, even on their own booking page.
  2. At least one active staff member is assigned to the service.
  3. That person has weekly hours on the day you’re checking, with no time off or holiday closing it.
  4. The service length plus buffers fits inside those hours.
  5. The day falls between the service’s minimum notice and how far ahead it can be booked.
  6. A required calendar is still connected. When a connected calendar can’t be read, online availability for that person pauses rather than risk a double booking.

For the last one, the staff member opens Bookings → Staff → My calendar and reconnects, or chooses Use local availability only to stop requiring that calendar. Service settings are explained in Create a Service and hours in Staff Hours, Time Off and Holidays.

Emails and Reminders Are Late or Missing

A background worker sends emails, reminders, payment checks and webhooks. WordPress cron only runs on visits, so a quiet site sends late. If Background worker on Setup checks hasn’t run in the last few minutes, run both workers from system cron every minute:

* * * * * wp --path=/absolute/path/to/wordpress core-bookings jobs
* * * * * wp --path=/absolute/path/to/wordpress core-bookings calendar

If the worker runs but a message still fails, open Bookings → Settings → Operations. Fix the cause shown for the failed item, then click Retry operation. A failed notification you’ve handled another way can be dismissed with a reason. Payment and refund work can’t be dismissed: reconcile it first.

A successful send means your mail system accepted the message, not that it reached the inbox. Check spam folders and your mail provider’s log.

A Payment Looks Stuck

  • Stripe: the Stripe webhook section on Setup checks shows the address to add in Stripe and how many signed events have arrived. Zero events after a test checkout means Stripe can’t reach your site or the signing secret is wrong. Embedded payments also need a publishable key in the same test or live mode as the secret key.
  • FluentCart: needs FluentCart 1.6.5 or later with its checkout page set.
  • Events that ran out of retries appear under Payment event recovery in Operations. Retry event checks the provider again before changing the booking.
  • Payment review means a payment arrived but the booking couldn’t be confirmed automatically, for example because it came after the hold expired and the time was taken. A manager confirms it from the appointment, or refunds it. See Refunds and Payment Review.

Calendar Conflicts

When an outside event lands on top of a confirmed booking, Core Bookings flags the conflict on the appointment and dashboard and notifies the staff member. Fix it by rescheduling or cancelling the booking, or by removing the outside event. The flag clears on the next successful check. My calendar shows each connection’s last successful sync, and Operations shows calendar connection health for everyone.

After Moving or Restoring a Site

  • Credentials stopped working: the encryption key changed. Restore the original CORE_BOOKINGS_KEY (or AUTH_KEY) from your backup, or reconnect every provider. See Data, Privacy and Uninstall.
  • No updates: a license belongs to one site address. Activate it again on the new address and remove the old activation from your account.
  • New address: review calendar destinations and reconnect payment and calendar providers before the worker runs and bookings reopen. Their webhook addresses include your domain.

Error Codes You May See

CodeWhat it meansWhat to do
cb_slot_takenThe time was taken, filled up or clashes with a calendar eventPick another time
cb_stale_versionThe booking changed since it was loadedReload, then try again
cb_cutoffThe online change window has closedStaff can still change it from the workspace
cb_calendar_unavailableA required calendar couldn’t be readReconnect it on My calendar
cb_login_requiredThe service needs a signed-in customerSign in, or change the service’s login setting
cb_rate_limitedToo many requests from one address in a minuteWait a minute. Behind a proxy or CDN, add it under Trusted proxies in Bookings → Settings → Customer accounts.

Still stuck? Check the changelog for a newer fix, and send your doctor output with your question.

Share

Was this helpful?

Still stuck? Open a support ticket