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. 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.
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.
Configuration of Booking Calendar
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.
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 -> [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.
You need to set checked Off property “Multiple days selection” at the Booking “Settings” menu.
1. Create some post or page, and insert into this post or page this shortcode:
[ bookingedit](without space after first [ character). You can select inserting this shortcode by selecting the edit bar inside of popup booking dialog , after pressing booking button from edit toolbar.
2) Open the Booking > Settings page and save the link to the page from the previos point to the "URL for bookings edit" field
3) Open the Booking > Settings > Emails page and insert into the your email templates this shortcode:
[visitorbookingediturl]- inserting link of booking editing by visitor at client side of site.
4) Now, when your visitors will receive emails about reservation, they will have the link for editing of their 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 Premium 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.
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 from 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 now, 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.
Customization of Booking Calendar
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.
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="jWPDev('.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.
This feature is availbale 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
If you want to make several steps for reservation process, so then you need to customize your booking form at Booking > Settings > Fields page.
Your customization have to looklike this (Plese 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(){
jWPDev('.bk_calendar_step' ).css({'display':'none'});
jWPDev('.bk_form_step' ).css({'display':'block'});
}
function bk_form_step_click(){
jWPDev('.bk_calendar_step' ).css({'display':'block'});
jWPDev('.bk_form_step' ).css({'display':'none'});
}
</script>
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.
Hacks, tips and tricks of plugin
1. Open for edit your theme php file, like single.php.
2. Insert this action hook for showing Booking form
<?php do_action('wpdev_bk_add_form', $bookingtype, $calendar_count); ?>3. where you need to set $bookingtype – type of booking property (default = 1);
4. and you need to set $calendar_count – calendar count (default = 1);
1. Open for edit your theme php file, like single.php.
2. Insert this action hook for showing Booking form
<?php do_action('wpdev_bk_add_calendar', $bookingtype, $calendar_count); ?>3. where you need to set $bookingtype – type of booking property (default = 1);
4. and you need to set $calendar_count – calendar count (default = 1);
Translations of plugin
Please check full lists of support translation at exist version of plugin at this page here
- Before making translation of wordpress plugin, you need to have Poedit program. You can download it from here. Its completly free.
- Start Poedit program.
- Select File -> New catalog from POT file from menu and select POT file for translation usually its inside of languages folder.
- Type description of your translation
( look at picture, example picture is made on translation of “Booking calendar” plugin) . - 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 translation in russian language “ru_RU”).
So we will have name “wpdev-booking-ru_RU.po”. - Save file to the “languages” folder of plugin.
- Make translation.
- If you find in translation “%s” symbol you shoud leave it at the same place as at original trnslation line.
- Save file after translation.
- If you make translation, you can send this translation files (*.po, *.mo) to info@onlinebookingcalendar.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 “WPML Multilingual CMS” plugin ( wpml.org ). Booking Calendar version 2.8 and newer are support “WPML Multilingual CMS” plugin
Troubleshooting of plugin
Please recheck that you are inserted into the posts or pages (other post types are not supported currently) 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).
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.
This error is appear because of wrong installation of plugin.
Please go to the general booking settings menu and check that option “Delete booking data during uninstall”, at right side of page, is Unchecked, otherwise your exist booking data will be delete during deactivation of plugin.
Then go to the Plugins menu and press Deactivate link, wait, until message will show up that plugin is deactivated successfully.
Then press activate link, and wait, until message will show up that plugin is activated successfully.
After please test it again.
This issue is exist only at the Booking Calendar version 3.0 at the WordPress 3.3, when the DEBUG mode is turned ON.
Please open this file: ../booking/lib/wpdev-function.php
find this code:
$wp_admin_bar->add_menu(
array(
'parent' => 'booking_options',
'title' => __( 'Settings', 'wpdev-booking' ),
'href' => $link_settings
)
);
and replace it to this code:
$wp_admin_bar->add_menu(
array(
'parent' => 'booking_options',
'title' => __( 'Settings', 'wpdev-booking' ),
'href' => $link_settings,
'id' => 'booking_settings'
)
);
This issue is exist only at the Booking Calendar version 3.0 at the WordPress 3.3, when the DEBUG mode is turned ON.
1) Please open the ../booking/lib/wpdev-booking-class.php file, then find this code inside of the content of this function wpdev_booking:
if ( ( strpos($_SERVER['REQUEST_URI'],'wpdev-booking.phpwpdev-booking')!==false) &&
( strpos($_SERVER['REQUEST_URI'],'wpdev-booking.phpwpdev-booking-reservation')===false )
) {
if (defined('WP_ADMIN')) if (WP_ADMIN === true) wp_enqueue_script( 'jquery-ui-dialog' );
wp_enqueue_style( 'wpdev-bk-jquery-ui', WPDEV_BK_PLUGIN_URL. '/css/jquery-ui.css', array(), 'wpdev-bk', 'screen' );
}
and replace it to this code:
add_action('wp_enqueue_scripts', array(&$this, 'wpdevbk_scripts_enqueue'));
2) Then under the content of that function wpdev_booking, add this new function content:
function wpdevbk_scripts_enqueue() {
wp_enqueue_script('jquery');
if ( ( strpos($_SERVER['REQUEST_URI'],'wpdev-booking.phpwpdev-booking')!==false) &&
( strpos($_SERVER['REQUEST_URI'],'wpdev-booking.phpwpdev-booking-reservation')===false )
) {
if (defined('WP_ADMIN')) if (WP_ADMIN === true) wp_enqueue_script( 'jquery-ui-dialog' );
wp_enqueue_style( 'wpdev-bk-jquery-ui', WPDEV_BK_PLUGIN_URL. '/css/jquery-ui.css', array(), 'wpdev-bk', 'screen' );
}
}
This issue is exist only at the Booking Calendar version 3.0 at the WordPress 3.3, when the DEBUG mode is turned ON.
Please open this file: ../booking/lib/wpdev-booking-class.php
find this code
if ( $curr_user->id > 0 ) {and replace it to this code:
if ( $curr_user->ID > 0 ) {
The widget is limited to only pages that do not have any other instances of the Booking Calendar, unless the booking type widget is a set to a different property (type). Multiple “types” can only be created and selected with the paid versions of Booking Calendar. The free version of Booking Calendar does not allow for instances of multiple calendar types.
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.
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.
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.
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
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.
This issue is exist only at the version 3.0 (or older) of Booking Calendar because CSS conflict with actual theme.
For the fixing positioning of the mouse over tooltip, please make these corrections:
Please open the ../booking/include/wpdev-premium.php file
find this function declaration: wpdev_booking_form($my_form, $bk_type)
then inside of this function, replace this code:
$my_form .= ‘<div class=”tooltips” id=”demotip’.$bk_type.’”> ‘. $bk_type .’ </div> ‘;
to this:
$my_form .= '<script type="text/javascript"> jWPDev(document).ready( function(){ jWPDev("body").append( "<div class=\"tooltips\" id=\"demotip'.$bk_type.'\"> '. $bk_type .' </div> " ); }); </script>';
Please, try firstly copy/paste this line into some txt blank file then copy it from TXT file and after this insert into your code at your site. Its for be sure, that there will be no any hidden characters copied.
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. I will sent to you updates of your version of plugin by emeil directly, after you are sent request to email info@onlinebookingcalendar.com for getting update. 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 year of getting updates and support for the 50% of original cost of your plugin version.


