Saving settings page generate 404 error or blank page.

If you notice Booking > Settings General page is not saving, Suhosin (a security module in PHP) may be preventing the POST data from being saved. This issue can also be caused by servers with version PHP 5.3.9+ and servers running mod_security.

If enabled, Suhosin may need to be configured to increase its data submission limits. Changing Suhsoin settings differ from host to host so it’s usually better to consult with the provider than attempt it yourself, however some hosts allow you to change settings via php.ini, suhosin.ini, or .htaccess.
Commonly, the following vars will need changing:

General PHP section

memory_limit = 256M
max_execution_time = 120
post_max_size = 8M
upload_max_filesize = 8M
max_input_vars = 20480
post_max_size = 64M

Suhosin section

suhosin.post.max_array_index_length = 1024
suhosin.post.max_totalname_length = 65535
suhosin.post.max_vars = 2048
suhosin.post.max_value_length = 1000000
suhosin.post.max_name_length = 256
suhosin.post.max_array_depth = 1000
suhosin.request.max_array_index_length = 1024
suhosin.request.max_totalname_length = 65535
suhosin.request.max_vars = 2048
suhosin.request.max_value_length = 1000000
suhosin.request.max_varname_length = 256
suhosin.request.max_array_depth = 1000

After saving you will need to restart the server for the changes to take effect. See http://www.hardened-php.net/suhosin/configuration.html for more information on Suhosin settings.

In shared hosting environments it may not be possible to edit php.ini, in which case you may be able to set the suhosin settings via .htaccess
It is still recommended however to consult your hosting providers documentation, or raise a ticket with them for assistance.

500 internal server error during creation new booking.

1) Firstly please open the Booking > Settings > Emails page and deactivate all email templates.
Then try to make new booking. If you will be able to make new booking, so then its means following:

Some severs can block sending emails and generate "500 Internal Error", when you send it to visitor from domain different from your website. You need to check, if this condition set in your server configuration.

  • Please try to set in the field "From" instead of visitor email shortcode, your email (its at the Booking > Settings > Emails page). The same email that you set in the field "To".
  • Sometimes mail servers block emails, if the address "From" different from the domain of website, from where this email was sending. Its not really depend from the Booking Calendar. So please open the Booking > Settings > Emails page and recheck that field "From", its have to the same as your website domain. For example: info@your-server.com and not like this your_email@gmail.com

Otherwise, please contact support of your hosting company about recheck conditions, when your server block sending of emails.

2) Such error can be because in your server configuration (probably at the WordPress > Settings > General page for the options "WordPress Address (URL)" or "Site Address (URL)") configured different Domain that you try to submit the booking

For example, in Ajax URL its can be set as "https://www.yourserver.com/wp-admin/admin-ajax.php"
and you try to submit the booking from http://www.yourserver.com/education/bookings/

Because booking is sending from HTTP to HTTPS, we are having such type of error.

Please recheck your server configuration at the Settings General page as in above description, or in some other place, where you are set using HTTPS instead of HTTP protocol.

You need to use the same protocol in both ways. If you will have difficulty with searching where exactly you are having this issue, please contact your server administrator who make that configuration.

The same issue can be if you configured sever address with "www." But trying to submit booking from URL without "www." prefix in URL. Or backward.

3) Also please try to deactivate one by one all your active plugins at the WordPress > Plugins menu. Then retest it again.
If its not help, please deactivate your active theme and active the default WordPress theme. And then retest it again. May be there exist some conflict with some active plugin or actual theme and just need to find the reason of that issue.

4) If the previous solutions will not help, please recheck your error.log file from your server configuration (please contact your server administrator or support of the hosting company, if you will have troubles with searching of this file) to be sure in a reason of that issue.

My additional cost is not saving at Advanced cost page.

If you try to edit additional cost at the Booking > Resources > Advanced cost page and during saving, all your changes removed back to default values "100%", then please check these steps:

1) Please be sure, if you are using custom booking forms, that the length of custom booking form name not longer than 30 symbols. If its longer, then you need to recreate your custom booking forms.
For doing that, please open the Booking > Settings > Fields page. Select your custom booking form.
Then copy content of "booking form" and "content of booking fields data" form to some TXT file.
Click on "Delete" button in the toolbar to delete this custom form.
Then create new custom form, where name must be not longer than 30 symbols. Paste in the forms your saved data and save changes.
If you was inserting into the posts or pages, booking shortcodes with previous custom form, you need to reinsert them.
Now you can test it.

2) Please be sure that you do not use in the names and values of checkboxes and selectboxes in your booking form some non standard symbols, like umlauts, or % or ' ,etc...
That's why please open the Booking > Settings > Fields page and for the each booking form (if you are having several custom booking forms), please recheck (re-create) shortcodes by using only standard symbols in the names and values.

WordPress Title in Emails

If you are using the booking calendar free version
Try to open the login dialog and retry the password. Then recheck what the email address is used in this email. If you will see the "Wordpress title", so then its somewhere in the settings of WordPress.

Try to open the wp_options table in your DB (using the phpMyAdmin tool or some other DB tool),

Find the option with name "admin_email" and recheck that the email for this field do not have the "WordPress" title.

If you are using the paid version of Booking Calendar, please check this:
Booking Calendar use the standard "WordPress" wp_mail function for sending of the emails, which possibly can be overridden by the other plugins or theme.

Firstly please open the Booking > Settings > Emails page and recheck that you correctly configured the emails in fields "From". that there was no any "WordPress titles". Test it.

Then please try to deactivate one by obe all other active plugins and test if its help or not, may be some other active plugin is override the wp_mail function and thats why you are having that "WordPress" title in the email template. try the same with theme.

For any versions:
Also please open your contact book at youe email account and try to delete that email contact, may be this contact already have the "WordPress" title saved in your contact book at your email account, and thats why you have that "WordPress" title in the emails.

I am getting this error “Missing argument 2 for wpdb::prepare()”

Reason of issue.
This issue can appear, if you was using the old version of Booking Calendar (older than 4.1 version) and made update to the new WordPress version.
This issue was fixed since the update 4.1 of the Booking Calendar. You can check about that at the change-log here.

Solution.
You are need to update your version of Booking Calendar to the latest version.
If you are using the free version of Booking Calendar you can update your version in the WordPress > Plugins menu page.
If you are using the paid version of Booking Calendar you can request the new update at this page.

I am getting a pop up window that says “0 Error” when I try to make a booking

This issue is relative to the configuration of the DNS in your website.
Please try to reconfigure it or contact your administrator for fixing this issue.

Description of reason of the issue.
1) This error "0", can be because in your server configuration somewhere (probably in the WordPress > Settings > General page for the options "WordPress Address (URL)" or "Site Address (URL)") configured different Domain that you try to submit the booking.

For example, in Ajax URL its can be set as "https://www.yourserver.com/wp-admin/admin-ajax.php"
and you try to submit the booking from http://www.yourserver.com/bookings/ Or backward.

You can check it is by viewing the HTML code of your loaded page, in the section:

<!-- Booking Calendar Scripts -->

Because booking is sending from HTTP to HTTPS, we are having such type of error.

Please recheck your server configuration at the WordPress > Settings > General page as in above description, or in some other place, where you are set using HTTPS instead of HTTP protocol.

You need to use the same protocol in both ways. If you will have difficulty with searching where exactly you are having this issue, please contact your server administrator who make that configuration.

The same issue can be if you configured sever address with "www." But trying to submit booking from URL without "www." prefix in URL. Or backward.

2) Also please try to deactivate one by one all your active plugins at the WordPress > Plugins menu. Then retest it again.
If its not help, please deactivate your active theme and active the default WordPress theme. And then retest it again. May be there exist some conflict with some active plugin or actual theme and just need to find the reason of that issue.

If the previous solutions will not help, please recheck your error.log file from your server configuration (please contact your server administrator or support of the hosting company, if you will have troubles with searching of this file) to be sure in a reason of that issue.

Known conflicts with other Plugins and Themes

Plugins

advanced-custom-fields [Version 4.1.4]

This plugin can be a reason of not possibility to insert the booking shortcode into the post or page by cliking on "Ok" button in the popup configuration dialog. Please read more how to insert and configure the booking shortcode into the post or page here

So please deactivate this plugin, if you want to insert the booking shortcode into the post or page using the popup configuration dialog or you can insert the booking shortcode manually. Please read how manually to configure Booking Calendar shortcodes here

html5-jquery-audio-player [Version 2.1]

Please check about the reason of issue here
Fix:
Open file: ../html5-jquery-audio-player/index.php
Find this code:
    wp_enqueue_script('jquery');
    wp_deregister_script( 'hmp-jquery' );
    wp_register_script( 'hmp-jquery', "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");

and replace it to this code:
//    wp_enqueue_script('jquery');
//    wp_deregister_script( 'hmp-jquery' );
//    wp_register_script( 'hmp-jquery', "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");

Comprehensive Google Map Plugin [Version 7.0.31]

Issue is exist, when mouse over specific buttons in the booking admin panel.
This issue is fixed in the Booking Calendar since update 4.2.
For the older versions please check this fix.
Fix:
Open file: ../booking/lib/wpdev-booking-class.php
1) Find this code:
        add_action( 'init', array(&$this,'add_custom_buttons') );
        add_action( 'admin_head', array(&$this,'insert_wpdev_button'));

and replace it to this code:
        add_action( 'init', array(&$this,'add_custom_buttons') );
        add_action( 'admin_head', array(&$this,'insert_wpdev_button'));
        // Remove the scripts, which generated conflicts
        add_action('admin_init', array(&$this, 'wpdevbk_remove_conflict_scripts'), 999);

2) Then find this code:

    // add hook for printing scripts only at this plugin page
    function on_add_admin_js_files() {

and replace it to this code:
    // Deregister scripts, which  is generate conflicts - only at the Booking Admin  menu pages
    function wpdevbk_remove_conflict_scripts(){
        if (strpos($_SERVER['REQUEST_URI'], 'wpdev-booking.phpwpdev-booking') !== false) {
            wp_dequeue_script( 'cgmp-jquery-tools-tooltip' );
        }
    }
    // add hook for printing scripts only at this plugin page
    function on_add_admin_js_files() {

Themes

Regular User can see the bookings from other user(s) in MultiUser version, after reconfiguration parameters in filter tab.

My Regular Users can see the bookings from other user(s) in MultiUser version, after reconfiguration parameters in filter tab. How to fix it ?
Its known issue in the versions 4.0 - 4.0.2 of the Booking Calendar.

For fixing this issue, please open file ../booking/inc/multiuser.php

find this code:

if (! isset($_REQUEST['wh_booking_type'])) {

and replace it to this code:

if ( (! isset($_REQUEST['wh_booking_type'])) || (empty($_REQUEST['wh_booking_type'])) ) {

Calendar is not showing and I am get this error: “TypeError: a.browser is undefined”

Probably your actual theme or some active plugin is using the new version of jQuery 1.9 or 2.0, which is not support the "a.browser" property.
So for fixing this issue, please open this file: ../booking/lib/wpdev-booking-class.php
find this code:

    function bc_enqueue_scripts() {
        wp_enqueue_script('jquery');
        // enqueue the jQuery by Default
        if (class_exists('wpdev_bk_biz_s')) {
            // Load the jQuery 1.7.1 if the them load the older jQuery and version of booking Calendar is BS or higher
            global $wp_scripts;
            if (  is_a( $wp_scripts, 'WP_Scripts' ) ) {
                if (isset( $wp_scripts->registered['jquery'] )) {
                    $version = $wp_scripts->registered['jquery']->ver;
                    if ( version_compare( $version, '1.7.1', '<' ) ) {
                        wp_deregister_script('jquery');
                        wp_register_script('jquery', ("http://code.jquery.com/jquery-1.7.1.min.js"), false, '1.7.1');
                        //wp_register_script('jquery', ("http://code.jquery.com/jquery-latest.min.js"), false, false);
                        wp_enqueue_script('jquery');
                    }
                }
            }
        }
    }

and replace it to this code:
    function bc_enqueue_scripts() {
        wp_enqueue_script('jquery');
        // enqueue the jQuery by Default
        if (class_exists('wpdev_bk_biz_s')) {
            // Load the jQuery 1.7.1 if the them load the older jQuery and version of booking Calendar is BS or higher
            global $wp_scripts;
            if (  is_a( $wp_scripts, 'WP_Scripts' ) ) {
                if (isset( $wp_scripts->registered['jquery'] )) {
                    $version = $wp_scripts->registered['jquery']->ver;
                    if ( version_compare( $version, '1.7.1', '<' ) ) {
                        wp_deregister_script('jquery');
                        wp_register_script('jquery', ("http://code.jquery.com/jquery-1.7.1.min.js"), false, '1.7.1');
                        //wp_register_script('jquery', ("http://code.jquery.com/jquery-latest.min.js"), false, false);
                        wp_enqueue_script('jquery');
                    }
                    if ( version_compare( $version, '1.9', '>=' ) ) {
                        wp_register_script('jquerymigrate', ("http://code.jquery.com/jquery-migrate-1.0.0.js"), false, '1.0.0');
                        wp_enqueue_script('jquerymigrate');
                    }
                }
            }
        }
    }

I am getting this error: “Error during inserting into BD … DB:Duplicate entry NN-NNNN-NN-NN 00:00:00 for key booking_id_dates. How to fix it ?

This issue can happens at the some servers, depend from the configuration of the MySQL at the version 4.0 - 4.0.1 of Booking calendar.

So for fixing this issue, please open the phpMyAdmin or similar tool for the working with DB

and execute this SQL command:

ALTER TABLE bookingdates DROP INDEX booking_id_dates

or this (depend from the prefix at your DB tables):

ALTER TABLE wp_bookingdates DROP INDEX booking_id_dates

then test it again.