Calendar is not loading

If you encounter the message "Calendar is loading" instead of seeing the calendar on your page, and you notice one of the following JavaScript errors or warnings in your browser console:

Uncaught ReferenceError: visible_booking_id_on_page is not defined

or
Uncaught ReferenceError: _wpbc is not defined

or
jquery.min.js?ver=3.7.1:2 jQuery.Deferred exception: moveOptionalElementsToGarbage is not defined ReferenceError: moveOptionalElementsToGarbage is not defined
jquery.min.js?ver=3.7.1:2 jQuery.Deferred exception: _wpbc is not defined ReferenceError: _wpbc is not defined
jquery.min.js?ver=3.7.1:2 jQuery.Deferred exception: visible_booking_id_on_page is not defined ReferenceError: visible_booking_id_on_page is not defined
jquery.min.js?ver=3.7.1:2 Uncaught ReferenceError: moveOptionalElementsToGarbage is not defined
jquery.min.js?ver=3.7.1:2 Uncaught ReferenceError: _wpbc is not defined
jquery.min.js?ver=3.7.1:2 Uncaught ReferenceError: visible_booking_id_on_page is not defined

Please follow these steps to resolve the issue:

  1. Open the WP Booking Calendar > Settings General page in the "Advanced" section and ensure that the option "Load JS and CSS files only on specific pages" is not activated. It must be disabled.
  2. Check for any cache plugins such as "Jetpack Boost", "WP Super Cache", "WP Fastest Cache", "W3 Total Cache", or other cache plugins. If you are using any of these plugins, please deactivate the cache plugins or add exceptions to the page(s) with a booking form to prevent caching of these pages.

    If you are using the Jetpack Boost plugin, please follow this troubleshooting instruction.
    If you are using another cache plugin, contact the support of your cache plugin for instructions on how to add exceptions to the pages with booking forms to avoid caching these pages and prevent concatenation of JavaScript files by the Booking Calendar.

  3. If the issue persists, it may be due to a conflict with another plugin or your current theme. Deactivate each of your active plugins one by one at the WordPress > Plugins menu and test the calendar after each deactivation. If deactivating plugins does not resolve the issue, deactivate all plugins and activate the default WordPress theme. Then, test the calendar again to identify the cause of the issue.

Conflict with Jetpack Boost plugin

This issue arises when the Concatenate JS feature in Jetpack Boost is enabled. To resolve this, you'll need to exclude specific JavaScript files from being concatenated in the Jetpack Boost settings.

Here are the JavaScript handles you need to exclude:

wpbc-global-vars, wpbc-popper, wpbc-tipcy, wpbc-datepick, wpbc_all, wpbc-main-client, wpbc_capacity, wpbc-times, wpbc-time-selector, wpbc-timeline-flex

To do this, simply copy this list and paste it into the "Exclude JS Strings" field within the Concatenate JS module. You can access this module by navigating to Jetpack -> Boost in your WordPress dashboard.

By excluding these scripts from concatenation, you can ensure that the Booking Calendar functions correctly on your site while still benefiting from other features of Jetpack Boost.

For additional info please contact the support of your cache plugin for instructions on how to add exceptions to the pages with booking forms to avoid caching these pages and prevent concatenation of JavaScript files by the Booking Calendar.
Also check more here.

Resolving issues with 404 errors and .ics feed generation / export

  1. If you encounter a 404 error, please double-check the root folder of your website for any .htaccess files. Make sure these files don't have security restrictions affecting link generation. It's a good idea to reach out to your hosting support for assistance, as they are more knowledgeable about potential security restrictions.
  2. Take a look at any other security plugins in the WordPress > Plugins menu that might be blocking the creation of the URL structure for the .ics feed. Try deactivating each active plugin one by one and test after each deactivation. If the issue persists, deactivate all plugins and switch to the default WordPress theme. Test again to see if this resolves the problem.
  3. Review your server's error.log for any related errors in your server configuration. If you can't locate the error.log file, contact your hosting company's support for assistance in finding this file.
  4. If the previous steps don't resolve the issue, it suggests there might be server configuration restrictions. In this case, only your hosting support or server administrator would know how to reconfigure your server to avoid blocking the generation of the .ics feed. Please inform your hosting support that the "wpbm.ics" file is not a physical file on your server; the script generates it on-the-fly when someone attempts to access the URL defined in WP Booking Calendar > Settings > Sync > "Export - .ics" page.

Display Issue on Season Filters page in WordPress 6.4 or newer

1) Probably you are using the old version of Booking Calendar (9.7.7 or older) and updated to the new WordPress version (6.4 or newer). Because of that you have this issue, where exist conflicts of old version of plugin with new WordPress versions.
Please check more here

2) In order to resolve this issue, please update your version of Booking Calendar to the latest update 9.8.3 or newer update.
You can request the new update of Booking Calendar on this page.

Cache Issues

If you're encountering any of the following issues on your website:

  • Booked dates or times are not promptly appearing on the front-end calendar, or there's a significant delay in displaying them after creating new bookings. However, in the admin panel at Booking > Add booking, all bookings are visible as expected.
  • When you submit a booking or load the calendar, you encounter an error message: 'Error! Request did not pass a security check! Please refresh the page and try again.'

These problems could be caused by caching on your website.

Here's how to resolve these issues:

  1. Check for caching plugins like "WP Super Cache," "WP Fastest Cache," or "W3 Total Cache." If you're using any of these, consider deactivating them or adding an exception for the page with the booking form to prevent caching.
  2. If the problem persists, it might be a conflict with another plugin or your current theme. Deactivate your active plugins one by one in the WordPress > Plugins menu and test after each deactivation. If the issue remains, deactivate all plugins and switch to the default WordPress theme for testing.
  3. If the problem still isn't resolved, contact your hosting support and ask them to check for server-side caching. Request that they add exceptions for the pages with booking forms to prevent caching or inquire about deactivating the caching system.

Error: Request do not pass security check!

If you are having this error at the page: "Request do not pass security check! Please refresh the page and try one more time."
then this error is appearing, when NONCE field in booking form was not updates, and there some old value.

Nonce field its hidden field in your booking form with unique value, its required for the prevent of the remote (CSRF/XSRF) attacks to the booking form at your website. Its standard practice for all forms in WordPress.

The only reason why it’s can be, because of some cache issue.

1) Usually its because of cache issue at your server, because of Cache plugin, or because of some cache system/software/tool directly at your server.

Please recheck for the any cache plugins, like "WP Super Cache" or "W3 Total Cache". If you are using someone, please deactivate it or add the exception to the page with booking form for do not cache this page(s).

2) If you still will have an issue so then please try to deactivate one by one all your active plugins at the WordPress > Plugins menu and make testing after each plugin deactivation. If its not help, please deactivate all your plugins and active the default WordPress theme. And then retest it again.

3) The other reason can be caching of the website directly at your server. In this case you need to contact support of your hosting and recheck about the any caching software or tool at your server.

Can not activate Booking Calendar at WAMP server

This issue can be because of limitation in WAMP configuration.

WAMP can not load large translation php file ( wpbc_all_translations.php ) .

So please open this folder:

..\wp-content\plugins\booking\core\lib

and rename this file:

wpbc_all_translations.php

to this:

wpbc_all_translations2.php

I see only availability calendar without booking form

If you see only calendar at the page, so then probably you have inserted the shortcode for only "availability calendar"

[bookingcalendar type=1 nummonths=2]

instead of shortcode for booking form

[booking type=1 nummonths=2]

Please open the page with booking form for editing, then remove exist shortcode. After this switch from the "Visual" view mode to "Text" view mode your content editor. And then reinsert the Booking Calendar shortcode and test it.
You need to insert this shortcode:

[booking]

Please note, this shortcode [bookingcalendar type=1 nummonths=2] is only for showing availability calendar, without form, where you can not select the dates.

Please read more how easily insert booking form or availability calendar into a pages or how manually configure Booking Calendar shortcodes in content of your pages.

Export .ics feed issue – getting 404 error

1) Firstly recheck that you have correctly configured .ics feeds URLs for exporting.
Open Booking > Settings > Sync > "Export - .ics" page and be sure that there you have specified URL for exporting .ics feeds with one level of depth

For example: https://server.com/ics/my_resource/

or if its not work try to set it as this URL

https://server.com/ics/my_resource/wpbm.ics

2) Please be sure that you are having .htaccess file in your website root folder.

3) Recheck about the any conflicts with some other plugin or actual theme.
Please try to deactivate one by one all your active plugins at the WordPress > Plugins menu and make testing after each plugin deactivation. If its not help, please deactivate all your plugins and active the default WordPress theme. And then retest it again.

4) Finally please recheck your error.log in your server configuration, about any relative errors. If you can not find error.log file, please contact support of your hosting company about helping in finding this file.

P.S. Please note, Booking Calendar generate virtual ics feed form the php script. So it’s not the real file at that folder. It’s generate such feed dynamically, when someone access such url.

System have to work in the same way as WordPress working with pages at your website. As you may know, you can have link to some page like this: https://server.com/category/some-page/
But its does not mean that you have real file like category/some-page/index.html at your server.
Your system access general index.php file at root of your website and then load specific page based on permalink structure.

The same with .ics feeds in Booking Calendar, when server try to access url: https://server.com/ics/principala/wpbm.ics
this .ics feed generate dynamically from the php file.

Plugin does not update status of imported bookings, if they was canceled or edited at external source.

By default Booking Calendar and Booking Manager plugins does not remove or update the bookings, if bookings was changed/canceled at other sources (Booking/Airbnb/Google Calendar).

In the update 8.6 of Booking Calendar or newer and latest update of Booking Manager plugins you can activate this option
"Trash all imported bookings before new import" at the Booking > Settings > Sync page.

Move all previously imported bookings to trash before new import bookings. Its can resolve issue of updating deleted and edited events in external sources. Its work only, if you are using one source (.ics feed) for importing into specific booking resource!