Troubleshooting

Most issues come down to configuration. Here are the ones we see most often and how to resolve them.

No times are available

Check that the provider has weekly availability set, that the service is assigned to that provider, and that the date is beyond the service’s minimum notice. Holidays, blocked time, and busy events on a synced calendar all remove slots as well.

The booking form looks unstyled

The form only loads its styles on pages that contain it. Make sure the shortcode, block, or Elementor widget is actually on the page, and clear any page cache after adding it. Aggressive CSS in a theme can override the form; scope your fixes under .medibook-booking-form.

Payments are not confirming

A paid appointment stays pending until the gateway confirms it by webhook. Check that the webhook URL shown on the Integrations page is registered in Stripe, that the signing secret matches, and that your site is reachable over HTTPS.

Calendar sync is not working

Confirm the OAuth app’s redirect URI matches the one on the Integrations page exactly, that the provider clicked Connect, and that the connection status is active. Sync also requires HTTPS.

Emails are not arriving

MediBook sends through WordPress mail. If messages do not arrive, install a dedicated SMTP plugin so your host delivers mail reliably, and check spam folders during testing.

A booking fails with a security or 403 error

This is usually a stale nonce served from a cached page. Exclude the booking page from full-page cache, or reload it before booking. Public booking requests are also rate limited to deter abuse.

Still stuck? Turn on WP_DEBUG to surface any PHP notices, and note the exact step and message before contacting support.