FAQ

Installation / Update / Upgrade / Activate of plugin

1. Download the actual version of Booking Calendar plugin as a zip archive from WordPress directory
OR
Open the Plugins > Add New menu page, then select “Search” tab at the top of page. Then select the searching of “Term” and write searching of “booking”, then press “Search Plugins” button.
at the top of list have to be plugin “Booking Calendar” developed by wpdevelop. Click on “Install Now” link and then skip the step 2 in this case.

2. Login to your wordpress admin panel. Open Plugins > Add New menu page, then select “Upload” tab at the top of page. Browse the downloaded zip archive and make upload it.
OR
Extract the downloaded zip archive to your computer. Then upload entire extracted booking folder to the /wp-content/plugins/ directory of your server, using some FTP application or your server FTP tools, if its supported.

3. Open WordPress Plugins menu page and click on Activate link under the Booking Calendar plugin.
!!! IMPORTANT !!! Wait for the message, that plugin is activated successfully. (The last item is important, otherwise the installation will not be complete correctly and possible some issues).

4. The Plugin menu “Booking” will appear at admin menu

5. Configure Settings at the sub menu settings page of Booking menu

6. Add booking bookmark to your post or page using the booking button (with calendar icon) at the edit toolbar of edit post page

1. If you want to save previous booking data and booking settings, you need to be sure that “Delete booking data” property is checked OFF at the General Booking Settings page, otherwise all booking data will be deleted.
2. Then you need to deactivate your previous version of booking calendar. So open the WordPress Plugins menu page, then press on “Deactivate” link under the Booking Calendar. !!! IMPORTANT !!! Wait for the message, that plugin is deactivated successfully.
3. Click on Delete link of Booking plugin at Plugins menu and confirm this action.
4. Open Plugins > Add New menu page, then select “Upload” tab at the top of page. Browse the downloaded zip archive with plugin and make upload it.
5. Open WordPress Plugins menu page and click on Activate link under the Booking Calendar plugin.
!!! IMPORTANT !!! Wait for the message, that plugin is activated successfully. (The last item is important, otherwise the installation will not be complete correctly and possible some issues).
6. Configure Settings at the sub menu settings page of Booking menu an test it.

1. Open the edit post / page menu.
2. At the editor toolbar find new Booking Calendar button (with calendar icon), press it.
3. Make configuration of your settings at the popup dialog window
4. Insert Booking Calendar into post/page by pressing the Ok button at popup window
5. Format of the inserted booking bookmark for insertion of booking form have to be similar to this: [ booking nummonths=1 type=1]
6. Update or publish the page for saving the changes and test it.

Questions relative to the different versions of plugin

The update 4.0 of Booking Calendar have a new names of the versions.
The Booking Calendar Standard become Booking Calendar Free,
Booking Calendar Professional -> Booking Calendar Personal,
Booking Calendar Premium -> Booking Calendar Business Small,
Booking Calendar Premium Plus -> Booking Calendar Business Medium,
Booking Calendar Hotel Edition -> Booking Calendar Business Large,
Booking Calendar MultiUser -> Booking Calendar MultiUser.

Other questions relative to Booking Calendar

No, you do not need to make update from WordPress directory, because then you will use Booking Calendar Free version.
We will send to you update(s) of your Booking Calendar version (if these update(s) are ready) by email directly, after you are request update at this page.
You can check according new updates at this page.
You can receive free updates during 1 year after purchasing of your version. After this 1 year, you can prolong this period for next 1 year of getting updates and support for the 50% of original cost of your plugin version.

Configuration of Booking Calendar

1) You need to create the booking resources for the each of your properties or services on the Booking > Resources page.
You can read more info about the booking resources and how to configure them on this page.

2) Then you be able to insert the booking form for the specific resource (your property or service, which need to be booked) into the any posts or pages. You can check how to insert and configure booking shortcode into the posts or pages here. Also check how manually to configure Booking Calendar shortcodes here.

3) Finally you can reconfigure settings, form fields and email templates, if you need the different options, on the Booking > Settings pages.

This features available in the Business Small and higher versions of Booking Calendar.

You need to activate the multiple or range days selection mode on the General Booking Settings page in calendar section.

After this you can activate the “Use check in/out time” option and configure the check in/out times.
Then you be able to use the change over days with Vertical (do not diagonal) lines as in live demo here: http://bm.wpbookingcalendar.com/
Its means that your visitors can start new booking on the same date, where some old bookings was ending.

You need to set checked Off property “Multiple days selection” at the General Booking Settings page.

It’s possible at the Booking Calendar Business Small and Business Medium versions of Booking Calendar in update 4.1 or newer.

You can activate “Use check in/out time:” option at the General Booking Settings page.
Then in the sub-settings set the “Check in” time as 15:00 and “Check out” time as 10:00. (You can set the different times there, bu be sure to set the “Check In” time older than “Check Out”).
Save the settings page.

Now, your visitors will be able to use the same date as check in/out date for the different bookings, its mean if the some booking is finished on the specific date, other visitor can start the new booking on the same specific date.
The check in/out days in calendar will be marked as half booked (diagonal line) and not by clock icon as for the usual timeslots.

Please note, this option will apply globally to the all booking resources and will overwrite any time slots, if you will use them in the booking form.

If you are need to use just time slots in the booking form, so you are need to deactivate this option and configure the time slot selection at the Booking > Settings > Fields page. Please read more about the booking form fields configuration here.

For this you need to have Booking Calendar Business Small or Booking Calendar Business Medium versions.
You are need to configure at the Booking > Settings > Fields page the Start time bookmark -> [starttime] and End time bookmark [endtime]. So after this you site visitors can make bookings for specific time.

For this you need to have Booking Calendar Premium or higher version.
Then you need to set at the Booking “Settings” menu > “Form fields and content customization” insert Start time bookmark -> [select starttime “10:00″ “12:00″ “13:00″], where 10:00, 12:00, 13:00 – predefined start time and End time bookmark [select endtime “17:00″ “18:00″ “19:00″], where 17:00, 18:00, 19:00 – predefined end time of booking.

The possibility to use time in am/pm format is possible in booking form only for the shortcodes, like these:

[select rangetime "10:00 - 12:00" "12:00 - 14:00" "14:00 - 16:00" "16:00 - 18:00" "18:00 - 20:00" ] 
or
[select starttime "12:00" "14:00"]
or
[select endtime "16:00" "20:00"]
Please note, these shortcodes values are still have to be configured in 24 time format.
But not for these shortcodes:
[starttime]
and
[endtime]
These shortcodes are support only entering in text field time in 24 time format.
Then at the general booking settings page you are need to set time format as “g:i A” or just selecting radio button with AM/PM time format and update the settings.
You will get the time in AM/PM format also at the admin “Bookings” page.

At the Business Small and higher versions of Booking Calendar are supported several payment systems integrations.
Each payment system support own list of currencies.
So you can change and check the list of the currency at the Booking > Settings > Payment page at the each section of payment system integrations.

Please note, this configuration is possible at the Business Medium or higher versions.

Description
If you are need to add the additional costs, like tax or some other additional charges (cleaning,breakfast, excursion…), or just increase the cost depend from the visitor number selection at the selectbox, which is depend from the selection of the selectboxes or checkboxes in the booking form, so then you can make this configuration in the Business Medium or higher versions.

Configuration
1) You can insert into the Booking form, at the Booking > Settings > Fields page some checkbox, like this:

Tax: [checkbox* my_tax ""]

If you are need to have this checkbox invisible and checked by default in this way:

<div style="display:none;">[checkbox* my_cleaning ""]</div>
<p>

If you are need to have this checkbox checked by default so use it in this way:

Cleaning service: [checkbox* my_cleaning default:on ""]

For the selectbox, its can look like this:

<p>Visitors [select visitors "1" "2" "3" "4"]</p>
<p>

Please read more about the booking form fields configuration here

2) Then at the Booking > Resources > Advanced cost page at the advanced cost management section for the option my_tax or/and visitors, set some additional cost.

For example, for the tax 6% you need to set value 106% there.

Or if you want to add the fixed cost value, you can set this value to this “my_cleaning” option:

my_cleaning = 50

or for the visitors selections you can leave this configuration:

visitors:
1 = 100%
2 = 200%
3 = 300%
4 = 400%

etc….

Description
At the Booking Calendar Business Large (old Hotel Edition) and MultiUser versions are possible to set the capacity of the booking resources. It’s mean that visitors of your site can make several bookings per same selected FULL (not a time slot) date in specific calendar (booking resource). It’s usefull if you are have several rooms of the same type or several seats for some place or any other service or properties, where is need to have possibility to book several times for the same date. So at these versions are possible to set capacity of the booking resource, so date(s) in calendar will be available until number of reservations is less then capacity of the booking resource; but in these versions are possible to make reservation only for FULL date, not a time slots (time slots in this version only record data in DB, but not play any logic in reservation) for the booking resources with specific capacity.
Configuration
If you are need to configure the booking resource(s) with some capacity, so you are need to add the “child” resources to your “parent” resource at the top form of Booking > Resources admin page. 
Just create one resource, and then create several child resources (set parent resource for them as a first resource), so the capacity of the first resource will increase.
Capacity it’s number of times, which is possible to reserve the same date in calendar, based on number of selected visitors in the booking form. Resource its more like room, where is possible to be several seats for the visitors. 
So if you create resource with specific capacity, for example 3 and set the maximum number of visitors there as 1. It’s mean 3 rooms with 1 seat in each room. So it’s mean, that you can make 3 reservation for the same date in calendar at client side, if you are select 1 visitor in booking form, or you can make 2 reservations if you select 1 visitor during first reservation and 2 visitors during second reservation or only one reservation if you select 3 visitors in the select box of visitors selection at your booking form.

If you create resource with specific capacity, for example 3 and set the maximum number of visitors there as 3. It’s mean 3 rooms with 3 seats in each room. So it’s mean, that you can make 3 reservation and  you can select 3 visitors in booking form, etc…

By default the visitors selection (shortcode

[select visitors "1" "2" "3" "4" "5"]
in the Booking > Settings > Fields page at top form ) from your booking form is not impact to the availability of the booking resource, it’s just recorded as a some data into DB.
But if you want that this selection is impact to the availability of the booking resource (for example: if you are have the booking resource with capacity 5 and select the 3 visitors in the booking form at the client side during reservation process, and want to get the availability for these dates as 2 (5-3=2) and not as 4 (which will be by default)), so then you are need to activate (make checked) this option “Visitors number apply to capacity” at the General Booking Settings page at advanced cost management section.

Also, if you are activate previous option you will see 2 sub radio options:
“Show at tooltip on calendar availability based on free booking resource items.  Check maximum support of visitors at one booking resource with selected number of visitors from booking form”
and
“Show at tooltip on calendar availability based on summ number of visitors, which can be at free booking resource items. Check maximum support of visitors at all booking resources with selected number of visitors from booking form”
The difference between these 2 options you will see if you set the maximum number of visitors per booking resource at the Booking > Resource page. First radio option selection will allow to make reservation only if the number of visitors selection in booking form is less than maximum number of visitors per resource from the Booking > Resource page. Second radio option is calculate availability and possibility to make reservation based on sum of all resources and max. number of visitors per resource.
In other words, if you will have the resource with capacity 3 and max number of visitors as 2 per resource, the first radio button selection will show the availability as 3 (and possibility to select only 2 visitors per one relation process), other radios button will show the availability as 6 (3*2=6) and possibility to select up to 6 visitors in select box during reservation process.

Description
At the Booking Calendar Business Large (old Hotel Edition) and MultiUser versions are possible to set the capacity of the booking resources. It’s mean that visitors of your site can make several bookings per same selected FULL (not a time slot) date in specific calendar (booking resource). It’s usefull if you are have several rooms of the same type or several seats for some place or any other service or properties, where is need to have possibility to book several times for the same date. So at these versions are possible to set capacity of the booking resource, so date(s) in calendar will be available until number of reservations is less then capacity of the booking resource; but in these versions are possible to make reservation only for FULL date, not a time slots (time slots in this version only record data in DB, but not play any logic in reservation) for the booking resources with specific capacity.
Configuration
If you are need to configure the booking resource(s) with some capacity, so you are need to add the “child” resources to your “parent” resource at the top form of Booking > Resources admin page. 
Just create one resource, and then create several child resources (set parent resource for them as a first resource), so the capacity of the first resource will increase.
Capacity it’s number of times, which is possible to reserve the same date in calendar, based on number of selected visitors in the booking form. Resource its more like room, where is possible to be several seats for the visitors. 
So if you create resource with specific capacity, for example 3 and set the maximum number of visitors there as 1. It’s mean 3 rooms with 1 seat in each room. So it’s mean, that you can make 3 reservation for the same date in calendar at client side, if you are select 1 visitor in booking form, or you can make 2 reservations if you select 1 visitor during first reservation and 2 visitors during second reservation or only one reservation if you select 3 visitors in the select box of visitors selection at your booking form.

If you create resource with specific capacity, for example 3 and set the maximum number of visitors there as 3. It’s mean 3 rooms with 3 seats in each room. So it’s mean, that you can make 3 reservation and  you can select 3 visitors in booking form, etc…

By default the visitors selection (shortcode

[select visitors "1" "2" "3" "4" "5"]
in the Booking > Settings > Fields page at top form ) from your booking form is not impact to the availability of the booking resource, it’s just recorded as a some data into DB.
But if you want that this selection is impact to the availability of the booking resource (for example: if you are have the booking resource with capacity 5 and select the 3 visitors in the booking form at the client side during reservation process, and want to get the availability for these dates as 2 (5-3=2) and not as 4 (which will be by default)), so then you are need to activate (make checked) this option “Visitors number apply to capacity” at the General Booking Settings page at advanced cost management section.

Also, if you are activate previous option you will see 2 sub radio options:
“Show at tooltip on calendar availability based on free booking resource items.  Check maximum support of visitors at one booking resource with selected number of visitors from booking form”
and
“Show at tooltip on calendar availability based on summ number of visitors, which can be at free booking resource items. Check maximum support of visitors at all booking resources with selected number of visitors from booking form”
The difference between these 2 options you will see if you set the maximum number of visitors per booking resource at the Booking > Resource page. First radio option selection will allow to make reservation only if the number of visitors selection in booking form is less than maximum number of visitors per resource from the Booking > Resource page. Second radio option is calculate availability and possibility to make reservation based on sum of all resources and max. number of visitors per resource.
In other words, if you will have the resource with capacity 3 and max number of visitors as 2 per resource, the first radio button selection will show the availability as 3 (and possibility to select only 2 visitors per one relation process), other radios button will show the availability as 6 (3*2=6) and possibility to select up to 6 visitors in select box during reservation process.

The Booking Calendar MultiUser version have 2 types of the users: super booking admin and usual user.

The “first” WordPress admin user by default is “super booking admin” user.

So, firstly after activation of the plugin you have to see the booking panel for that user.

Then you are need to open the “general booking settings” page (this page is available only for the super booking admin users), then expand the User settings section at the right side and set the correct permissions (user roles) for the pages of the booking admin panel. Its required for the new wordpress users possibility to open the admin booking admin panel.

Now, you can create new wordpress user (the role of this user have to be higher or equal to the roles, which you are set at the previous step).

Now, you are need to open the Booking > Settings > Users page (you are have to be logged in as booking super admin user) and make activation of the booking admin panel for the new wordpress user.

Finally, you can log in as new wordpress user, and you will see own booking admin panel for this user. You can create new booking resource(s), configure the settings and insert the booking form(s) of this user into posts or pages, which is created by this user.

1) Firstly please, create new post or page, and insert into content of it this shortcode:

[bookingedit]

You can just click at the booking button at edit toolbar and then at popup dialog select second tab for inserting this shortcode or just write manually it. Publish or update this page or post and copy the URL to this page.
2) Now, open the general booking settings menu page and at the top of page at field: “URL for bookings edit” write the URL to the page from point #1. Save the changes of this settings page.
3) Open Booking > Settings > Emails page and inside of email templates, where is this possible (you can check it at help section under the each email template), you can use this shortcodes for the inserting links into the email templates, which are sending to the visitors:
[visitorbookingediturl]
– inserting link of booking editing by visitor at client side of site,
[visitorbookingcancelurl]
– inserting link for booking cancellation by visitor at client side of site,
[visitorbookingpayurl]
– inserting link to payment page for visitor at client side of site.

4) You can test it now for the new bookings.

Customization of Booking Calendar

This feature is available only at Premium Plus, Hotel Edition versions. Using this feature is require creation of new additional booking form customization, where will be inserted several calendars.
Example, of replacement standard [calendar] shortcode at the form fields customization page for activation of this feature:

<div style="float:left;margin:10px;">[calendar]</div>
<div style="float:left;margin:10px;">[calendar id=2]</div>
<div style="float:left;margin:10px;">[calendar id=3]</div>

Where [calendar] – Default calendar (You are select this resource at popup, when insert it into post/page);
[calendar id=2] – Calendar of resource ID=2;
[calendar id=3] – Calendar of resource ID=3

In the versions 4.1.6, 5.0, 5.0.1 is exist issue with this feature. Version update 5.0.2 working fine.

If you want to make several steps for reservation process, so then you need to customize your booking form at Booking > Settings > Fields page.
Exmaple #1
Your customization have to look like this (Please take your attention to the bold code, which is make all this trick)

<div class="bk_calendar_step">
[calendar] 
<a href="javascript:bk_calendar_step_click();">Continue to step 2</a>
</div>

<div class="bk_form_step" style="display:none;">        
        <div style="text-align:left"> 
       <a href="javascript:bk_form_step_click();">Back to step 1</a>        
        <p>First Name (required):<br />  [text* name] </p> 
        
        <p>Last Name (required):<br />  [text* secondname] </p> 
        
        <p>Email (required):<br />  [email* email] </p> 
        
        <p>Phone:<br />  [text phone] </p> 
                
        <p>Details:<br /> [textarea details] </p> 
        
        <p>[submit "Send"]</p> 
        </div>
</div>

<script type="text/javascript">
function bk_calendar_step_click(){
                    jQuery('.bk_calendar_step' ).css({'display':'none'});
                    jQuery('.bk_form_step' ).css({'display':'block'});
}
function bk_form_step_click(){
                    jQuery('.bk_calendar_step' ).css({'display':'block'});
                    jQuery('.bk_form_step' ).css({'display':'none'});
}

</script>

Exmaple #2
This example of the booking form customization show the form fields and calendar in the “1st step” and at the second step show “confirmation” info about entering data by visitor. Please note, using this form template, you need to insert the booking shortcode into the separate pages only, if you insert the several booking forms into one page, then its possible some issues. Also in this customization possible issues of not showing “1st step”, if visitor enter some wrong data (for example into email), or skip some required fields and press the “Send” button, but the warnings about this fields are showing in the first step. And its means that visitor need to click on “Back to 1st step” button.

<div class="bk_calendar_step"> 
     [calendar] 
     <p class="wpbc_first_name">First Name (required):<br />[text* name]<span class="wpbc_label" style="display:none;">First Name</span></p> 
     <p class="wpbc_last_name">Last Name (required):<br />[text* secondname]<span class="wpbc_label" style="display:none;">Last Name</span></p> 
     <p class="wpbc_email">Email (required):<br />[email* email]<span class="wpbc_label" style="display:none;">Email</span></p> 
     <p class="wpbc_phone">Phone:<br />[text phone]<span class="wpbc_label" style="display:none;">Phone</span></p> 
     <p><span class="wpbc_adults">Adults:  [select visitors class:span1 "1" "2" "3" "4"]<span class="wpbc_label" style="display:none;">Adults</span></span> <span  class="wpbc_children">Children: [select children class:span1 "0" "1" "2" "3"]<span class="wpbc_label" style="display:none;">Children</span></span></p> 
     <p class="wpbc_details">Details:<br /> [textarea details]<span class="wpbc_label" style="display:none;">Details</span></p> 
     <hr />
     <a href="javascript:void(0)" onclick="javascript:bk_calendar_step_click();" class="btn">Continue to step 2</a> 
</div> 

<div class="bk_form_step" style="display:none;clear:both;"> 
     <p>[captcha]</p> 
     <p><strong>Booking data:</strong></p>
     <p><strong>[cost_hint]</strong> - cost of the booking </p>
     <p><strong>[selected_timedates_hint]</strong> - dates for booking</p>
     <div class="wpbc_booking_data_container"></div>
     <hr/> 
     <p>[checkbox* term_and_condition use_label_element "I Accept term and conditions"] </p> 
    <div style="text-align:right;"><a href="javascript:void(0)" onclick="javascript:bk_form_step_click();" class="btn" style="margin:2px 15px 0;float:left;">Back to step 1</a> [submit class:btn "Send"]</div> 
</div> 

<script type="text/javascript"> 
     function bk_calendar_step_click(){ 
          var booking_data = '';
          booking_data +=  jQuery(".wpbc_first_name .wpbc_label").html() +': <span class="fieldvalue"><strong>' + jQuery(".wpbc_first_name input").val() + '</strong></span><br/> ';
          booking_data +=  jQuery(".wpbc_last_name .wpbc_label").html() + ': <span class="fieldvalue"><strong>' + jQuery(".wpbc_last_name input").val() + '</strong></span><br/> ';
          booking_data +=  jQuery(".wpbc_email .wpbc_label").html() + ': <span class="fieldvalue"><strong>' + jQuery(".wpbc_email input").val() + '</strong></span><br/> ';
          booking_data +=  jQuery(".wpbc_phone .wpbc_label").html() + ': <span class="fieldvalue"><strong>' + jQuery(".wpbc_phone input").val() + '</strong></span><br/> ';
          booking_data +=  jQuery(".wpbc_adults .wpbc_label").html() + ': <span class="fieldvalue"><strong>' + jQuery(".wpbc_adults select option:selected").text() + '</strong></span><br/> ';
          booking_data +=  jQuery(".wpbc_children .wpbc_label").html() + ': <span class="fieldvalue"><strong>' + jQuery(".wpbc_children select option:selected").text() + '</strong></span><br/> ';
          booking_data +=  jQuery(".wpbc_details .wpbc_label").html() + ': <span class="fieldvalue"><strong>' + jQuery(".wpbc_details textarea").val() + '</strong></span><br/> ';
          jQuery(".wpbc_booking_data_container" ).html( booking_data );
          jQuery(".bk_calendar_step" ).css({"display":"none"}); 
          jQuery(".bk_form_step" ).css({"display":"block"}); 
          makeScroll('.bk_form_step');
     } 
     function bk_form_step_click(){ 
          jQuery(".bk_calendar_step" ).css({"display":"block"}); 
          jQuery(".bk_form_step" ).css({"display":"none"}); 
     } 
</script> 

This JavaScript is possible to use before the booking shortcode, like this:

[booking type=1 form_type='standard' nummonths=1]
in the edit post or edit page WordPress menu pages. In all examples below we will use that shortcode, but in your examples the parameters of the booking shortcode will be other, of course. Please read more how to insert and configure the booking shortcode into the post or page here.

Important! Please note, you be able to insert the JavaScript if you are logged in as admin user (the subscriber users have not rights to insert the JavaScript into the posts or pages) and turn the edit post content form into the “Text” mode instead of the “Visual” (you can activate this “Text tab” at the top right side of the edit post content form).

This customization is possible for the Business Small or higher versions of update 4.2 or newer.

Please note, for do not have any conflicts, please use this customizations, when you are insert into the post or page only single booking form. Its mean you are not insert the other booking shortcode into this page and do not have any booking widgets at this page.


Activating Single day selection mode.
Please use this code, for activating that type of days selection for the current booking form, if by default you are using the other type of days selections at the General Booking Settings page:

<script type="text/javascript">
   bk_days_selection_mode = 'single';
</script>
[booking type=1 form_type='standard' nummonths=1]


Activating Multiple days selection mode.
Please use this code, for activating that type of days selection for the current booking form, if by default you are using the other type of days selections at the General Booking Settings page:

<script type="text/javascript">
   bk_days_selection_mode = 'multiple';
</script>
[booking type=1 form_type='standard' nummonths=1]


Activating Range days selection as a FIXED number of days with 1 mouse click.
Please use this code, for activating that type of days selection for the current booking form, if by default you are using the other type of days selections at the General Booking Settings page:

<script type="text/javascript">
   bk_days_selection_mode    = 'fixed';
   bk_1click_mode_days_num   = 7;    // Number of days selection with 1 mouse click
   bk_1click_mode_days_start = [-1]; // { -1 - Any | 0 - Su,  1 - Mo,  2 - Tu, 3 - We, 4 - Th, 5 - Fr, 6 - Sat }
</script>
[booking type=1 form_type='standard' nummonths=1]

In this example we are used 2 new variables: bk_1click_mode_days_num and bk_1click_mode_days_start.

bk_1click_mode_days_num – its number of days selection with 1 mouse click. You can assign number of days selections to this variable. For example for having 5 days selections, please use this code:

bk_1click_mode_days_num   = 5;

bk_1click_mode_days_start – its array, where we can specify the start day of the range days selection.
If we are need to set the start day of range selection as any day of week, please use this code:

bk_1click_mode_days_start   = [-1];

If we are need to set the specific start day of week selections or multiple days of week as start day for the range selections, please assign these values:
0 – Sunday,
1 – Monday,
2 – Tuesday,
3 – Wednesday,
4 – Thursday,
5 – Friday,
6 – Saturday.
So if you are need to set the start day of range selection as Saturday, please use this code:
bk_1click_mode_days_start   = [6];

If you are need to set the start day of range selections as Monday and Friday, please use this code:
bk_1click_mode_days_start   = [1,5];

This code

bk_1click_mode_days_start   = [-1];

and this code:
bk_1click_mode_days_start   = [0,1,2,3,4,5,6];

is equivalent.


Activating Range days selection as a DYNAMIC range of days with 2 mouse clicks.
Please use this code, for activating that type of days selection for the current booking form, if by default you are using the other type of days selections at the General Booking Settings page:

<script type="text/javascript">
   bk_days_selection_mode    = 'dynamic';
   bk_2clicks_mode_days_min       = 1;    // Min. Number of days selection with 2 mouse clicks
   bk_2clicks_mode_days_max       = 10;   // Max. Number of days selection with 2 mouse clicks
   bk_2clicks_mode_days_specific  = [];   // Example [5,7]
   bk_2clicks_mode_days_start     = [-1]; // { -1 - Any | 0 - Su,  1 - Mo,  2 - Tu, 3 - We, 4 - Th, 5 - Fr, 6 - Sat }
</script>
[booking type=1 form_type='standard' nummonths=1]

In this example we are used 4 new variables: bk_2clicks_mode_days_min, bk_2clicks_mode_days_max, bk_2clicks_mode_days_specific and bk_2clicks_mode_days_start.

bk_2clicks_mode_days_min – Minimum number of days selection with 2 mouse clicks. You can assign number of days selections to this variable. For example for having minimum 7 days selections, please use this code:

bk_2clicks_mode_days_min   = 7;

bk_2clicks_mode_days_max – Maximum number of days selection with 2 mouse clicks. You can assign specific number of days selections to this variable. For example for having maximum 14 days selections, please use this code:

bk_2clicks_mode_days_max   = 14;

bk_2clicks_mode_days_specific – its array, where we can specify that is possible to select only specific number of days selection.
For having possibility to select any number of days, please use this code:

bk_2clicks_mode_days_specific   = [];

For having possibility to select only weeks – 7 days, 14 days, 21 days… please use this code:
bk_2clicks_mode_days_specific = [7];

For having possibility to select only – 5, 7, 10, 14, 20, 21 days… please use this code:
bk_2clicks_mode_days_specific = [5,7];

bk_2clicks_mode_days_start – its array, where we can specify the start day of the range days selection.
If we are need to set the start day of range selection as any day of week, please use this code:

bk_2clicks_mode_days_start   = [-1];

If we are need to set the specific start day of week selections or multiple days of week as start day for the range selections, please assign these values:
0 – Sunday,
1 – Monday,
2 – Tuesday,
3 – Wednesday,
4 – Thursday,
5 – Friday,
6 – Saturday.
So if you are need to set the start day of range selection as Saturday, please use this code:
bk_2clicks_mode_days_start   = [6];

If you are need to set the start day of range selections as Monday and Friday, please use this code:
bk_2clicks_mode_days_start   = [1,5];

This code

bk_2clicks_mode_days_start   = [-1];

and this code:
bk_2clicks_mode_days_start   = [0,1,2,3,4,5,6];

is equivalent.

This customization is possible to make for the Business Small or higher version of the Booking Calendar.

1) Firstly you are need to have 2 different pages or posts for these resources.

2) At the General Booking Settings page please please set the “type of days selections” as”multiple days”.

3) Then at the page, where you are need to have the range days selections , please insert this code (directly into the content of the post or page before the booking shortcode in the HTML mode view of post content):

Example:

<script  type="text/javascript">
days_select_count= 7;                         // Number of days selections for the range days selections with  1 mouse click.
range_start_day= -1;                          // Start day of range days selections using 1 mouse click is any day of week
days_select_count_dynamic= 1;                 // Min. number of days selections for the range days selections with  1 mouse click.
range_start_day_dynamic= -1;                  // Start day of range days selections is any day of week
wpdev_bk_is_dynamic_range_selection = true;   // Activate the range days selections using the 2 mouse clicks
is_select_range         = 0;                  // Deactivate the range days selection using 1 mouse click
multiple_day_selections = 0;                  // deactivate the multiple days selections
bk_max_days_in_range_slections = 365;         // Maximum days selection in range selections
var bk_discreet_days_in_range_slections = []; // set the specific number of days selections
</script></p>
<p>[booking type=3 form_type='standard' nummonths=2]

where

[booking type=3 form_type='standard' nummonths=2]
its your booking shortcode, which you are insert using the booking button from the edit toolbar.

At the version 3.0 or newer of Business Large version, possible to use the additional attributes in the search form.

Tags
as a “tags” in the posts or pages, where you are inserted the booking form for the specific booking resource.
In the search form you are need to use this keyword:

[search_tag]search inside of posts/pages, which are have this tag.

Please note, its text field, so your visitors need manually to enter the tag for the searching.

Trick
Its also possible to customize this element as selectbox instead of the text field. You will be need to replace the [search_tag] shortcode to this HTML element:

<select id="booking_search_tag" name="tag">
<option value="">Any</option>
<option value="room">Room</option>
<option value="apartment">Apartment</option>
</select>

where “<option value=”room”>Room</option>” – list of options to select; “room” its value of the tag, and “Room” – its label, which is showing for the visitors….

Please click at the “Reset cache” button at the bottom of the Booking > Settings > Search page, after you are finish the configuration, before making tests at the client side.

Custom fields
For ability to use the custom form fields from the post or page, where you are inserted the booking forms,

like these:

– property_ab (this is some parameter)
– property_ac (number of beds)
– property_ad (square meters)
– … etc…

as parameters in the search form, which will apply to the search results, you are need to have these parameters in this format (names of the custom forms have to start from “booking_” terms):

– booking_property_ab (this is some parameter)
– booking_property_ac (number of beds)
– booking_property_ad (square meters)

Then inside of the search form you are need to have the selections like this:

    Number of beds:
    <select id="booking_property_ac" name="booking_property_ac">
    <option value="1">1</option>
    <option value="2">2</option>
    </select>

This customizations is available for the versions 4.0.2 or older.
Inside of the versions 4.1 or newer you can use the special shortcode for the insertion of the booking resource selections into the page or post. Please read more how to insert and configure the booking shortcode into the post or page here.

Firstly you need to open file of your actual theme, where you want to show this selection (For example: if you want to show it at pages, so then you need t open page.php file).
Then you need to add to specific place of this file next code:

<?php if ( strpos($_SERVER['REQUEST_URI'],'/bookingpage/') !==false ) { ?>
<label for="calendar_type">Type of booking:</label>
<select name="active_booking_form" onchange="jQuery('.bk_forms').css('display', 'none');
document.getElementById(this.value).style.display='block';" >
    <option selected="selected" value="select">Please Select</option>
    <?php global $wpdb;
    $types_list = $wpdb->get_results( "SELECT booking_type_id as id, title FROM ".$wpdb->prefix ."bookingtypes" );
    foreach ($types_list as $tl) { ?>
        <option value="<?php echo $tl->id; ?>"><?php echo $tl->title; ?></option>
    <?php } ?>
 </select></p>
<p><?php foreach ($types_list as $tl) { ?>
<div class="bk_forms" id="<?php echo $tl->id; ?>" style="display: none;"><?php do_action('wpdev_bk_add_form', $tl->id, 1); ?></div>
<?php } ?>
<?php } ?>

At this example, this line

<?php if ( strpos($_SERVER['REQUEST_URI'],'/bookingpage/') !==false ) { ?>

is condition to showing the selection of form only at the specific page. In this case its page, which have term in URL, like this: ‘bookingpage’

You can check this example at this page.

CSS customization of plugin

Please note, since version update 4.2 of the Booking Calendar, this feature is possible to configure directly in the booking shortcode in “option” parameter. Please check how todo this here

If you want to show the calendar months in several rows, so then you can make this configuration.
For example, If you want to show months in 2 columns, maximum 2 months per row, so then you can make this customization:
Please open this file: ../wp-content/plugins/booking/css/client.css
at line 236
find this code:

.datepick-inline {
  margin-bottom: 10px;
}

and replace it to this:
.datepick-inline {
  margin-bottom: 10px;
  width: 575px ! important;
}

If you want to have other number of month rows, please change the width to other value.

Since update 4.2 of the Booking Calendar the calendar structure CSS file is located at the ../booking/css/calendar.css (please do not edit it or edit it very carefully). The calendar color skins are located in the ../booking/css/skins folder. Inside of these files (for better compatibility), please modify only following parameters:
* background , background-color, background-repeat, background-image, background-repeat, background-position
* border
* box-shadow, -moz-box-shadow, -webkit-box-shadow
* border-radius, -moz-border-radius, -webkit-border-radius
* color
* font-weight
* text-shadow
* text-transform


If you want to add new style.
Go to the folder “BOOKING_PLUGIN_PATH/css/skins/” and add new CSS file (the template you can get from this directory) to this directory. After this select this file at the general booking settings page and save settings.
If you want to customize exist skin.
Go to the folder “BOOKING_PLUGIN_PATH/css/skins/” open your file from this directory and customize it. After customization you need to select this style at the general booking settings page and save settings.

Hacks, tips and tricks of plugin

1. Please read what type of shortcodes you are want to insert here
2. Open for edit your theme (PHP) file. For example: single.php.
3. Insert this code for showing booking form

<?php echo do_shortcode("[booking type=1 nummonths=1]"); ?>

where instead of this shortcode: [booking type=1 nummonths=1], can be any other shortcode from the point #1.
4. save the changes in the PHP file.

Translations of plugin

Please check full lists of support translation at exist version of plugin at this page here

Paid versions of Booking Calendar support configuration in different languages of the booking form, email templates and some other text options in the settings . The active language of the booking form is depending from the active locale of the site.

Booking Calendar is supported WPML and qTranslate plugins for dynamic changing of website locale (language).

General Usage:
[lang=LOCALE] – start new translation section in specific language, where LOCALE – locale of the translation.

Example of English and French translation of “Thank you” message:

Thank you for your booking.[lang=fr_FR]Je vous remercie de votre reservation.

Important! Please note, by default you need to have the English section and then divided by this shortcode [lang=LOCALE] sections in all other languages.

Of course you can have more than 2 language sections.

Example of configuration booking form in English and French languages at the Booking > Settings > Fields page:

[calendar]
First Name (required): [text* name]
Last Name (required): [text* secondname]
Email (required): [email* email]
Visitors: [select visitors "1" "2" "3" "4"]
Details: [textarea details]
[submit "Send"]
[lang=fr_FR]
[calendar]
Prénom (obligatoire): [text* name]
Deuxième prénom (requis) [text* secondname]
Email (obligatoire) [email* email]
Visiteurs : [select visitors "1" "2" "3" "4"]
Détails : [textarea details]
[submit "Envoyer"]

In the same way, you can configure the email templates on the Booking > Settings > Emails page and search form on the Booking > Settings > Search page, etc..

  1. Before making translation of wordpress plugin, you need to have Poedit program. You can download it from here. Its completly free.
  2. Start Poedit program.
  3. Select File -> New catalog from POT file from menu and select POT file for translation usually its inside of languages folder.
  4. Type description of your translation.
  5. Enter The name of PO file.
    Name of file consist from 2 parts:
    1st part its the filename of the plugin (in our situation its “wpdev-booking”),
    2nd part its the Locale (for Spanish translation: “es_ES”).
    So we will have name “wpdev-booking-es_ES.po”.
  6. Save file to the “languages” folder of plugin.
  7. Make translation.
  8. If you find in translation “%s” symbol you should leave it at the same place as at original translation line.
  9. Please be sure that you do not set specific translation line as “Fuzzy”. You can check it at the “Edit menu” – “Translation is fuzzy” (Ctrl + U)
  10. Save file after translation.
  11. If you make translation, you can send this translation files (*.po, *.mo) to info@wpbookingcalendar.com and we will add them to the next release of plugin. Thank you.

For dynamic changing translation of plugin at front-end side of site is required dynamic chnaging of locale of site. This functionality is available at some translations plugins. For example, at “The WordPress Multilingual Plugin“. Booking Calendar version 2.8 and newer are support “WordPress Multilingual Plugin”

Troubleshooting of plugin

Usually, this issue is relative to conflict(s) with some theme or plugins of the Booking Calendar version 3.0 or older. So please update firstly , your version of booking calendar to the most recent version. Otherwise try solution bellow:
This situation can be, when some other JS script (from some other plugin or active theme) is generate JavaScript error. You can check if you page have errors at the IE at the status bar or at Firefox using Console2 addon. So you need to fix that JavaScript error, or deactivate plugin or theme, which is generate that error. After this Booking Calendar will show up.

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.

Issue
If you have the situation that calendar is not visible in your booking form but all other fields is visible.

And you are have JavaScript error, similar to this:

Error: jQuery("#calendar_booking" + bk_type).datepick is not a function
Source: .../wp-content/plugins/booking/js/wpdev.bk.js
Line: 161

Reason
So possible reason of this issue is loading of jQuery library 2 times in your site/

The loading process is next:
1) Firstly is loaded the standard jQuery (ver 1.7) from wordpress (and its fine):

<script type='text/javascript' src='.../wp-includes/js/jquery/jquery.js?ver=1.7.1'></script>

2) Then load the scripts of the Booking Calendar, where is defined all functions, including the datepick funcion.
3) Then your theme (or may be some other plugin) is load the jQuery again, (its possible that its some old version of jQuery, like ver. 1.5).
<script type="text/javascript" src="..../wp-content/themes/my_custom_theme/js/jquery.min.js"></script>

This load of the jQuery is overwrite previous load and we are get that error.

Solution.
Please open the header.php file of your theme and deactivate (comment), the loading of the jQuery, so you do not load it for the second time.

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');
                    }
                }
            }
        }
    }

The reason of this issue can be any JavaScript errors at your site. Probably some other active plugin or actual theme is generate some JavaScript error, because of that the calendar will not show up. You are need to fix this error(s).
Firstly try to find what plugin or may be theme is generate this issue.
– Try to deactivate one by one all actual plugins to check if the calendar will show up or not, to find what plugin is generate this issue.
– If the previous do not help, try to deactivate the actual theme and activate the default WordPress theme, then test it, if the reason of issue in the actual theme.
– If the previous steps do not help, and you can not solve the issue, please check the description of the JavaScript error, and send it with link to the page, where this issue is exist. so then we will try to help you.

Some other possible issues.

I am get this JavaScript error:

Error: a("body").on is not a function
Source: .../booking/interface/bs/js/bs.min.js
Line: 7

Solution:
Its seems, that this issue is because your theme is used the old version of jQuery.
Please, download the latest version of jQuery and integrate it into your actual theme or just use the latest version of jQuery from WordPress installation (just comment loading of the jQuery from the theme and the Booking calendar will add load of the jQuery from your wordpress installation (of course, recheck that this installation also have to be up to date)).

If you are get the JavaScript error similar to this:

Error: jQuery("#calendar_booking" + bk_type).datepick is not a function
Source: .../wp-content/plugins/booking/js/wpdev.bk.js
Line: 161

So then please check the troubleshooting instruction here.

This issue is relative of showing the several booking calendars (booking forms) of the same booking resource at the same “visible” page. Its possible to show only one calendar (booking form) of the specific booking resource at one visible page. You will have no problems to show the calendars (booking forms) of the different booking resources at the same page.

At the Booking Calendar Free version is available only one default booking resource, so its mean that any calendars (booking forms) in this version is belong to the same booking resource. And thats why its not possible to show several booking calendars (booking forms) at the same visible page.

This info is relative to the several booking calendars (booking forms) inside of the content of the page or inside of the content of page and visible booking calendar widget (in this case you are need to deactivate the booking calendar widget, or add the exception of showing the widget at this page).

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

Description of reason of the issue.

You are requested the site on the following URL http://www.server.com/
But plugins scripts are loading from this DNS: http://server.com/ (without www). You can check it is by viewing the HTML code of your loaded page, in the section:

<!-- Booking Calendar Scripts -->

The Ajax request (its the request when visitor is making new booking) possible to execute only to the same DNS, which was entered in the browser URL.
In other words, you are loaded the website on this URL http://www.server.com/ but the Ajax request is sending to this URL http://server.com/wp-content/plugins/booking/wpdev-booking.php (without www). (Note! Path to this file depend from the type of Booking Calendar version).
Thats why we are getting this error.

Solution.
Try to set the correct URL at the WordPress > Settings > General for the “WordPress Address” and “Site Address” fields.
Otherwise please contact the server administrator about fixing of this issue by reconfiguration of the website redirection.

Kind regards.

Firstly you need to check access to the wpdev-booking.php file. If booking plugin is installed to the http://www.myserver.com/wp-content/booking/wpdev-booking.php so copy that link to your browser and check access. Its have to show this error: Fatal error: Call to undefined function get_option(). If you see something like:Error 500 Internal Server Error, so then you need to set access to the wpdev-booking.php file. In most case you just need to set atribute to that file as 755 using your FTP client, sometimes is needed editing .htaccess file. So contact your administrator or check .htaccess file by yourself.

Sometimes wp-content and/or wp-content/plugins and/or wp-content/plugins/booking directories and/or file wp-content/plugins/booking/wpdev-booking.php had permissions set to 777. So its also can make this issue. Please change permissions on those directories and file to 755 and it have to work.

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.

This error is appear because of wrong installation of plugin.
1) Please, open the General Booking Settings page and set this option “Delete booking data during uninstall”, as unchecked, at the right side of page, otherwise your exist booking data will be delete during deactivation of plugin.
2) Then open the Plugins menu and press Deactivate link of Booking Calendar. Wait, for the message about: “plugin is deactivated successfully”.
3) Then press activate link. Wait, until message will show up that plugin is activated successfully.
Now, you can test it again.

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.

This error can be at some servers of 1&1 hosting, or may be at some other ones.
For fixing this issue, please add this line to their .htaccess file:

AddType x-mapp-php5 .php

This issue is exist at the version 4.0 and 4.0.1 of the Booking Calendar.
For fixing this issue, please make this small modifications:
1) please open the ../booking/inc/payments/paypal.php file:
2) find this code:

update_bk_option( 'booking_paypal_return_url' ,    $_POST['paypal_return_url'] );

and replace it to this code:
                 update_bk_option( 'booking_paypal_return_url' ,    $_POST['paypal_return_url'] );
                 update_bk_option( 'booking_paypal_cancel_return_url' ,    $_POST['paypal_cancel_return_url'] );

I am activated the “Auto cancel bookings” feature (Cancel only pending, not paid bookings, which is older then at this selection), but its still not work even after specific amount of time after creation of bookings for the bookings, which are have no successful payment status and not approved. How to fix it ?
Its known issue in the versions 4.0 and 4.0.1 of the Booking Calendar.

So for fixing this issue, please open this file ../booking/inc/biz_s.php

find this function declaration:
function check_pending_not_paid_auto_cancell_bookings($bk_type)

inside of the content of that function, please find this code:

$labels_payment_status_ok = implode( ', ', $labels_payment_status_ok);
$labels_payment_status_pending = get_payment_status_pending();
$labels_payment_status_pending = implode( ', ', $labels_payment_status_pending);
$labels_payment_status_ok .= ', ' . $labels_payment_status_pending;

and replace it to this code:

$labels_payment_status_ok = implode( "', '" , $labels_payment_status_ok);
$labels_payment_status_ok = "'" . $labels_payment_status_ok;
$labels_payment_status_pending = get_payment_status_pending();
$labels_payment_status_pending = implode( "', '", $labels_payment_status_pending);
$labels_payment_status_ok .= "', '" . $labels_payment_status_pending . "'";

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'])) ) {

1) Go to the general booking settings page and check ON use CAPTCHA check box and save a page.
2) If you use Standard (free) version skip this step, otherwise go to the form fields customisation page add captcha shortcode to the customization form:

<p>[captcha]</p>

3) Check write permission at the folder YOUR_WORDPRES_SERVER/wp-content/plugins/booking/js/captcha/tmp/. This folder have to be writeable.
So then CPATCHA have to show up.

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

1) Please recheck that you are inserted into the posts or pages the booking forms for the parent (resource with some capacity) or single resources (if you are insert the child resources, so then its will not be displayed in search results).
2) Then after this, please open the Booking > Settings > Search page and click on “Clear cache” button, you have to see the number of found pages with booking forms.
After this please test it again.

Please check these points:
1) Please check firstly the SPAM folder.
2) Also check that at the general booking settings page and at the email settings page, you are correctly set emails contacts.
3) After that, please check that at email settings page (if you use paid version), was checked at top right side of each section the option for sending emails.
4) Also check that your PHP mail function is working. For this go to the login page and try to retry the password, then check if you received email or not.
5) Finally if it’s will not help try to change email at the general booking settings page to wordpress@server.com , where server.com – your server. Here is more detail info about is issue.

6) If your emails aren’t being received by Gmail, Hotmal, Yahoo Mail accounts, here’s information that should help you understand why this is happening.

Issue description
Here is typical situation:
The admin email for your booking system is a “yahoo.com” account.
Customers were receiving emails, if they had a “isp.com” account but not a: gmail.com, hotmail.com, yahoo.com.au

Reason
Those emails were rejected by hotmail/yahoo/gmail servers due to their new email policy.
Error logs are showing to refer below links :
https://support.google.com/mail/answer/2451690
https://help.yahoo.com/kb/SLN7253.html?impressions=true

Solution
If your WordPress is sending emails from some custom email address (for example like this: ‘username@orion-dse.fastwebservers.com.au’), then you needed to enable SMTP authentication with wordpress site so the emails would send from your yahoo/gmail/hotmail email address instead of custom email ( username@orion-dse.fastwebservers.com.au – cPanel default username). This have to fix this issue.

You can fix this problem by installing the “Configure SMTP” wordpress plugin.
You can setup SMTP authentication through any wordpress smtp plugin.
Please refer https://www.youtube.com/watch?v=ZZPfkzEaJaQ

P.S. Thanks to dscottfl about this solution.

Ask more questions in here or contact directly