Troubleshooting WooCommerce Bookings

WooCommerce Bookings is a powerful extension that lets you offer time- or date-based reservations on your site. Sometimes, booking issues can arise from incorrect settings, availability conflicts, or plugin conflicts. This guide walks you through general troubleshooting steps, the most common issues, and some specific troubleshooting tips.

Troubleshooting Framework

↑ Back to top

An important distinction to make when troubleshooting Bookings is whether a problem is due to:

  • A misconfiguration of settings and availability rules
  • A conflict with another extension or the theme on your site
  • Or a bug in the extension.

Follow the steps below to help you confirm that any known and fixed bugs are addressed and your settings are correct. These are the same steps our happiness engineers follow when investigating issues.

  1. Is Everything Up to Date?
    Make sure WordPress, WooCommerce, and all extensions (including Bookings) are using the latest versions. Updates often contain fixes for known issues. Also confirm your site meets the requirements to run the bookings extension.
  2. How Are You Using Resources and Persons?
    Check how you’ve configured resources (like equipment or rooms) and persons (like attendees or participants). If you’re using them incorrectly, it could cause unexpected behavior with costs and availability. See the notes on resource assignment and selection for important nuances to consider if you’re seeing an issue with resources.
  3. How Do You Have Availability Set Up?
  4. Check for conflicts on a Staging or Test Site
    Disable other plugins and switch to a default theme on a staging copy of your site. If the issue goes away, re-enable plugins and your theme one by one until you find the conflict. We have more information about conflict testing here. If the issue persists in a conflict test, open a support request so we can identify any issue to be fixed.

Common Issues

↑ Back to top

Booking availability issues

↑ Back to top

If the entire booking calendar on the product page is grayed out – You most likely have conflicting availability rules. See below for details.

If specific booking slots are not showing available when expected – Double check your “All dates are..” default setting and ensure it fits with any custom availability rules you’ve created.

If all bookable slots are showing as booked when there should still be at least one available – Check for in cart bookings that may be holding some availability, and manually clear them if necessary. If in-cart bookings aren’t clearing on their own, check that your site’s scheduled tasks are running.

Why is the calendar not displaying on bookable product pages?

↑ Back to top

A missing or continuously loading calendar can have several causes, including caching or a plugin conflict. Clear the relevant caches and test configuration changes on a staging site.

Listed below are alternative suggestions to troubleshoot a calendar that may not be displayed on a bookable product’s page.

  1. If you are using Cloudflare, you may need to disable Rocket Loader as it might be interfering with the calendar’s JavaScript.
  2. If you’re using Chrome or Firefox, review the console for errors or conflicts on the product that should be displaying the product’s calendar.
  3. Caching or a security service can interfere with a booking calendar or its requests. Ask your hosting provider or caching plugin developer to check the configuration and avoid caching pages or sessions that need to remain dynamic. Refer them to the WooCommerce cookie documentation. Test any changes on a staging site and clear the relevant caches before checking the calendar again.

Specific Troubleshooting Tips

↑ Back to top

Keep a Staging Copy of Your Site

↑ Back to top

Maintaining a staging or development site helps you quickly test issues without affecting your live store. If you isolate an issue in a staging environment, our happiness engineers can more quickly replicate and report the issue to be addressed.

Use the Bookings Helper Plugin

↑ Back to top

The Bookings Helper plugin lets you export and import booking products along with their associated availability rules, and your stores global availability rules, making it easy to:

  • Transfer products and availability rules to a staging site for testing.
  • Share specific booking products with the WooCommerce Support team.

Troubleshooting Availability Rules

↑ Back to top

If you add conflicting rules or settings to your availability, it can cause bookable time slots to appear in unexpected ways, or the product’s entire calendar to be grayed out as unavailable.

Check “All Dates Are…” Default Setting

Under Availability in your booking product settings, confirm if “All dates are…” is set to Available by default or Not available by default:

  • Available by default: Dates are available unless another setting, booking, or availability rule restricts them.
  • Not available by default: Add bookable availability rules to open the dates or times you want to offer.

Depending on how you mix these settings with custom rules, it can create confusion or block your calendar. Double-check which default you’re using and layer your custom rules appropriately.

Conflicting Availability Rules

If you see the booking calendar as unavailable after setting a custom availability range, you’ll need to troubleshoot your availability rules to avoid the issue.

For example, a studio accepts bookings from 9:00 AM to 5:00 PM every day, but closes on November 11. In the product’s Availability settings, set All dates are to not-available by default.

Add an Every day (Set time) rule for 9:00 AM to 5:00 PM, with Bookable set to Yes and priority 10. Add a Specific Dates (All day) rule for November 11, with Bookable set to No and priority 9. The lower priority number takes precedence, so the closure overrides the daily hours.

When rules at the same level have the same priority, the rule higher in the list takes precedence. Also check store and resource rules: when priority numbers match, store rules take precedence over product rules, and product rules take precedence over resource rules.

To learn more, please review this guide: Understanding How Priority Affects Availability Rules

Additional Good-to-Know Details

↑ Back to top
  • Display differences between fixed blocks and customer defined blocks
    • For multi-day bookings with a fixed length only the first day is highlighted as available in the booking calendar,
    • For bookings with customer defined blocks, all available dates are highlighted. 
    • This is a known limitation and means that for example, a fixed 4 day training course will only show the first day of the course as available to be selected on the calendar. If you want the entire block to be shown as available, you can use the “customer defined blocks” option and restrict the lengths to exactly the lengths you need.
  • Booking non-consecutive days is not supported
    WooCommerce Bookings does not currently support booking multiple non-consecutive days in a single reservation. You can follow or vote on feature requests related to this:
  • Inspecting calendar availability data
    A developer can inspect the data returned to the booking calendar when investigating an availability issue. See Inspect Bookings Calendar Availability Data.

Questions and support

↑ Back to top

Something missing from this documentation? Still have questions and need assistance?

  • If you have a question about a specific extension or theme you’d like to purchase, contact us to get answers.
  • If you already purchased this product and need some assistance, get in touch with a Happiness Engineer via our support page and select this product’s name from the Product dropdown.

Related Products

WooCommerce Subscriptions is a WooCommerce extension that lets customers subscribe to your products or...

Power your membership association, online magazine, elearning sites, and more with access control to...

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.