Booking System PRO (WordPress Plugin)

Getting Started

This Plugin will help you to easily create a booking/reservation system on your WordPress website or blog.

If you like this plugin, feel free to rate it five stars     at your CodeCanyon account in Downloads section. If you encounter any problems, before rating the item, contact us so we can help you fix them.

This is intended to book anything anywhere anytime. So if you need functions or settings tell me and I will add them (no extra charge). Please don’t buy the script unless I add the function you requested (because the number of feature requests is so big a new request might take at least one month to show).

WARNING: If you intend to use the plugin for a reservation system where people Check In in the afternoon and Check Out in the morning, like hotels, please make sure you have the option Morning Check Out Enabled.


This item is sold under Envato Licences. Please read them and contact Envato Support if you have any questions.


Upload the folder dopbsp from the zip file to wp-content/plugins/ and activate the plugin in your admin panel or upload in the Add new section.

How to use it

After installation, go to Booking System PRO Area (left menu bottom) and hover/click the mouse over the Question Mark icons for instructions.

How to use it with WooCommerce

Click on the image to view the steps ...

Calendar Settings

General Settings

  • Name
    Change calendar name.

  • Available Days
    Default value: all available. Select available days.
    Back End View
    Calendar Settings - Available Days - Back End View
    Front End View
    Calendar Settings - Available Days - Front End View

  • First Day
    Default value: Monday. Select calendar first day.

  • Currency
    Default value: USD. Select calendar currency.

  • Date Type
    Default value: American. Select date format: American (mm dd, yyyy) or European (dd mm yyyy).
    American Date Type
    Calendar Settings - American Date Type
    European Date Type
    Calendar Settings - European Date Type

  • Style Template
    Default value: default. Select styles template.

  • Minimum Stay
    Default value: 1. Set minimum amount of days that can be selected.

  • Maximum Stay
    Default value: 0. Set maximum amount of days that can be selected. If you set 0 the number is unlimited.

  • Enable Number of Items Select
    Default value: Enabled. Set to display only booking information in Front End.
    Back End View
    Calendar Settings - Enable Number of Items Select - Back End View
    Front End View
    Calendar Settings - Enable Number of Items Select - Front End View

  • View Only Info
    Default value: Enabled. Set to display only booking information in Front End.

Notifications Settings

  • Email Template
    Default value: default. Select email template.

  • Notifications Email
    Enter the email were you will notified about booking requests or you will use to notify users.

  • Enable SMTP
    Use SMTP to send emails.

  • SMTP Host Name
    Enter SMTP host name.

  • SMTP Host Port
    Enter SMTP host port.

  • SMTP SSL Conenction
    Default value: Disabled. Use a SSL conenction.

  • SMTP Host User
    Enter SMTP host username.

  • SMTP Host Password
    Enter SMTP host password.

Days Settings

  • Use Check In/Check Out
    Default value: Enabled. Use Check In/Check Out or select only one day.
    Disabled View
    Calendar Settings - Use Check In/Check Out - Disabled View
    Enabled View
    Calendar Settings - Use Check In/Check Out - Disabled View

  • Morning Check Out
    Default value: Disabled. This option enables Check In in the afternoon of first day and Check Out in the morning of the day after last day.
    Disabled View
    Calendar Settings - Morning Check Out - Disabled View
    Enabled View
    Calendar Settings - Morning Check Out - Disabled View

  • Use hours details to set day details
    Default value: Enabled. Check this option, when hours are enabled, if you want for days details to be updated (calculated) from hours details or disable it if you want to have complete control of day derails.

Hours Settings

  • Use Hours
    Default value: Disabled. Enable hours for the calendar.

  • Enable Hours Info
    Default value: Enabled. Display hours info when you hover a day in calendar.
    Back End View
    Calendar Settings - Enable Hours Info - Back End View
    Front End View
    Calendar Settings - Enable Hours Info - Front End View

  • Define Hours
    Enter hh:mm ... add one per line. Changing the definitions will overwrite any previous hours data. Use only 24 hours format.
    Hours Definitions
    Calendar Settings - Define Hours - Definitions
    Calendar Settings - Define Hours - View

  • Use Start/Finish Hours
    Default value: Enabled. Use Start/Finish Hours or select only one hour.
    Disabled View
    Calendar Settings - Use Start/Finish Hours - Disabled View
    Enabled View
    Calendar Settings - Use Start/Finish Hours - Enabled View

  • Enable AM/PM format
    Default value: Disabled. Display hours in AM/PM format. NOTE: Hours definitions still need to be in 24 hours format.
    Disabled View
    Calendar Settings - Enable AM/PM format - Disabled View
    Enabled View
    Calendar Settings - Enable AM/PM format - Enabled View

  • Add last selected hour price to total price
    Default value: Enabled. It calculates the total price before the last hours selected if Disabled. It calculates the total price including the last hour selected if Enabled.

    Warning: In administration area the last hours from your definitions list will not be displayed.
    Hours Definitions
    Calendar Settings - Add last selected hour price to total price - Definitions
    Back End View
    Calendar Settings - Add last selected hour price to total price - Back End View
    Front End View
    Calendar Settings - Add last selected hour price to total price - Front End View

  • Enable hours interval
    Default value: Disabled. Show hours interval from the current hour to the next one.
    Hours Definitions
    Calendar Settings - Enable hours interval - Definitions
    Calendar Settings - Enable hours interval - View

Discounts by Number of Days

  • Number of Days
    Select the number of days to which you want to add a discount (up to 31 days).

  • % days booking
    Default value 0. Set the discount percent that a user will get when booking this number of days.


  • Deposit value
    Default value: 0. Set the percent value for the deposit. The Deposit is available only if you have a Payment Service activated.

Contact Form Settings

  • Select Form
    Select the form for Booking Form.

  • Instant Booking
    Default value: Disabled. Instantly book the data in a calendar once the request has been submitted.

  • Enable Number of People Allowed
    Default value: Enabled. Request number of people that will use the booked item.

  • Minimum number of allowed people
    Default value: 1. Set minimum number of allowed people per booked item.

  • Maximum number of allowed people
    Default value: 4. Set maximum number of allowed people per booked item.

  • Enable Number of Children Allowed
    Default value: Enabled. Request number of children that will use the booked item.

  • Minimum number of allowed children
    Default value: 0. Set minimum number of allowed children per booked item.

  • Maximum number of allowed children
    Default value: 2. Set maximum number of allowed children per booked item.

  • Enable Payment on Arrival
    Default value: Enabled. Allow user to pay on arrival. Need approval.

  • Enable Terms & Conditions
    Default value: Disabled. Enable Terms & Conditions check box.

  • Terms & Conditions Link
    Enter the link to Terms & Conditions page.

PayPal Settings

  • Enable PayPal Payment
    Default value: Disabled. Allow user to pay with PayPal. The period is instantly booked.")

  • PayPal API User Name
    Enter PayPal API Credentials User Name. View Help section to see from were you can get them.

  • PayPal API Password
    Enter PayPal API Credentials Password. View Help section to see from were you can get them.

  • PayPal API Signature
    Enter PayPal API Credentials Signature. View Help section to see from were you can get them.

  • Enable Credit Card Payment
    Default value: Disabled. Enable so that users can pay directly with their Credit Card.

  • Enable PayPal Sandbox
    Default value: Disabled. Enable to use PayPal Sandbox features.

Hooks (under development)

Front End Hooks

  • dopbsp_frontend_after_booking
    Add action after booking request.

  • dopbsp_frontend_after_calendar_init
    Add action after calendar init.

  • dopbsp_frontend_after_paypal_error
    Add action after PayPal error.

  • dopbsp_frontend_after_paypal_success
    Add action after PayPal success.

  • dopbsp_frontend_before_booking
    Add action before booking request.

  • dopbsp_frontend_before_calendar_init
    Add action before calendar init.

  • dopbsp_frontend_before_paypal
    Add action before PayPal.

  • dopbsp_frontend_content_after_calendar
    Add content after calendar.

  • dopbsp_frontend_content_before_calendar
    Add content before calendar.


  • 1. How do I install the plugin using FTP?

    Please watch this video.

  • 2. How do I install the plugin using Upload Manager?

    Please watch this video.

  • 3. How do I use Morning Check Out?

    Please watch this video.

  • 4. How do I enable and manage hours?

    Please watch this video.

  • 5. Where from do I get PayPal API Credentials?

    Please watch this video.

  • 6. How do I change the language?

    For the Front End you add the attribute lang in the shortcode:
    [dopbsp id=1 lang=en].
    The lang value is a 2 character code representing the language.

    For the Back End you select the language from the top-right corner.

  • 7. Why does not the calendar appear on my website?

    1. If the calendar does not appear, it might be because there is a problem with the JavaScript in your website. If you cannot identify the problem, contact us, including in the message a link to the page where the problem appears. We will identify and fix the issue for you. However, we will not fix the problems that are not caused by this plugin.

    2. Another reason might be that you load more than one jQuery file into your theme. The proper way to load jQuery into your theme or plugin is the following (your add it into your theme's header):

  • 8. Why not email notification contains the template I selected?

    Make sure PHP has allow_url_fopen = On. This can be done in PHP.INI
    If you don't know how to do this please contact your hosting company.

Known issuses

The Back End section has some display issues in IE 7 (please update to a new version).

How to update

Latest Version: 1.9

Please note:
Make a backup of the Plugin inside your WordPress installation folder /wp-content/plugins/dopbsp/


To update the Plugin, login to CodeCanyon, head over to your Downloads section and re-download the plugin like you did when you bought it.

Extract the zip's contents, look for the extracted plugin folder, and after you have all the new files upload them using FTP to the /wp-content/plugins/dopbsp/ folder overwriting the old ones (this is why it's important to backup any changes you've made to the plugin files).
If you didn't make any changes to the plugin files, you are free to overwrite them with the new ones without the risk of losing any plugins settings, and backwards compatibility is guaranteed.


  • Version 2.0 (COMING SOON)

    • Status
    • Add user permissions using custom roles ... 100% completed
    • Extras/services/products around ... 100% completed
    • Complete design and UI changes ... 95% completed
    • WooCommerce changes & bugs fixed (thank you for all your feedback) ... 95% completed
    • Core and database updates ... 85% completed
    • Bugs fixes & small features (requests from Support Forum) ... done
  • Version 1.9.3  -   19 February 2014

    • Bug fixes:
    • Woocommerce date format fixed.
    • wp_mail() replaced with mail().
  • Version 1.9.2  -   05 February 2014

    • Bug fixes:
    • Booking order is added to WooCommerce cart even if form is removed from product page.
    • Calendar display even it is used twice on same page.
    • Reservation details appear on WooCommerce notifications email.
    • Reservation save bug fixed.
  • Version 1.9.1  -   02 January 2014

    • Bug fixes:
    • Installation on XAMP server fixed.
    • Reservation details appear on WooCommerce order.
  • Version 1.9  -  16 December 2013

    • New Features:
    • Config file added.
    • Delete reservation added.
    • Hooks added.
    • Installation algorithms have been optimized.
    • Reservations appear in Custom Post Type.
    • Set default database values before installation.
    • Set default language for Back End and/or Front End before installation.
    • Set default users permissions before installation.
    • Submit Button ("Add to Cart"/"Book") is hidden when you submit a booking or you add a reservation to cart.
    • Translation edit has been optimized.
    • When a calendar is deleted the reservations area is removed.
    • WooCommerce Support added.
    • Bug Fixes:
    • bbPress incompatibility bug fixed.
    • Calendars not loading bug fixed.
    • CSS bugs fixed.
    • Delete plugin data/database bug fixed.
    • Front End translation not showing bug fix.
    • Month not displaying in notification emails bug fixed.
    • Navigation after data is saved in Back End fixed.
    • Reservations calendar is generated corectly when filters are modified.
    • Reservations currency display bug fixed.
    • Save translation bug fixed.
    • Translation display bug fixed when using characters like ' or ".
  • Version 1.8  -  01 November 2013

    • New Features:
    • Add reservations in admin.
    • Approving/canceling a reservation modifies the calendar data.
    • Plugin paths updated.
    • Prices, deposits, discounts can have float values.
    • Reservations logic has been completly modified (search added, filters added, calendar&list view added).
    • Translation system has been updated.
    • User management updated.
    • Bug Fixes:
    • Back End CSS bugs fixed.
    • Custom Post Types bugs fixed.
    • Edit unavailable days bug fixed.
    • Front End CSS bugs fixed.
    • Instant/Waiting approval display bug fixed.
    • JavaScript in Admin Posts fixed.
    • Localhost bugs fixed.
    • Select days from different months on front End Calendar bug fixed.
    • Windows server mySQL text fields bug fixed.
  • Version 1.7  -  31 July 2013

    • New Features:
    • Add calendars in widgets.
    • Back End style changes.
    • Custom Post Type added.
    • Date select is fixed when minimum amount of days is set.
    • Hours info displayed on day hover.
    • Major changes in hours logic and display.
    • Send email using normal function if SMTP is incorrect.
    • Text on Settings page has been changed.
    • Translation for Check Fields added.
    • User role is updated when is changed in WP admin.
    • When hours are enabled days details can be set manually or set depending on hours details on that current day.
    • Bug Fixes:
    • Approve reservation bug fix.
    • Calendar ID is removed from clients notification emails.
    • CSS bug fixes.
    • Datepicker bug fix, when you can select only one day.
    • Drop Down Fields display correct selected option in Email.
    • Newly created forms display correct after PayPal Payment.
    • PayPal notification email content bug fix.
    • Tables not created on Windows OS bug fixed.
  • Version 1.6  -  15 June 2013

    • New Features:
    • Admin language is different for each user.
    • Custom Forms tweaks.
    • Database update.
    • Display calendar id & name in notifications emails.
    • Display hours interval from current hour to next one.
    • Posibility to hide Number of Items select field has been added.
    • You can set booking requests to by approved instanly, or not.
    • You have the possibility to calculate the total price using the last hour selected value, or not.
    • Bug Fixes:
    • Compatibility fixes.
    • Datepicker & Google translate incompatibility bug fixed.
  • Version 1.5  -  08 June 2013

    • New Features:
    • Custom Forms added.
    • Email header is custom.
    • Bug Fixes:
    • CSS incompatibility fixes.
    • Datepicker z-index bug fix.
    • Group day date is displayed correctly after select.
    • Users Permissons translation fixes.
  • Version 1.4  -  03 June 2013

    • New Features:
    • ACAO buster added.
    • Administrators can create calendars for users.
    • Database is deleted when you delete the plugin.
    • Display only an information calendar in Front End.
    • Emails are sent using wp_mail().
    • Small Admin changes.
    • Update notification added.
    • User permissions updated.
    • Bug Fixes:
    • Admin change language bug fix.
    • Calendar loading time is improved.
    • Calendar resize on hidden elements bug fix.
    • Indonesia Rupiah currency bug fix.
    • PayPal credit card payment bug fix.
    • PayPal session bug fixed.
    • Slow admin bug fix.
    • Touch devices freeze bug fix.
    • Translation fixes.
  • Version 1.3  -  13 December 2012

    • New Features:
    • Deposit feature has been added.
    • Discounts by number of days booked have been added.
    • Frontend responsive has been added.
    • Touch devices navigation has been enabled.
    • You can translate the Sidebar Datepicker.
    • You can use PayPal credit card payment.
    • Bug Fixes:
    • Correct hours format is displayed.
    • Email message and language bugs have been fixed.
  • Version 1.2  -  01 November 2012

    • New Features:
    • AM/PM hour format added.
    • Language files added (but not translated).
    • Morning Check Out added.
    • Past hours are removed from current day.
    • Reservation cancel added.
    • Shortcode generator doesn't appear if you are not allowed to create calendars or you didn't create any calendars.
    • You can select minimum and/or maximum amount of days that can be booked.
    • You can set default hours values by day(s).
    • Bug Fixes:
    • Hours data save bug fixed.
    • Rejected reservation notification email fix.
    • SMTP SSL fix.
    • User permissions bug fix.
  • Version 1.1  -  05 September 2012

    • New Features:
    • Administrators can view and edit users calendars.
    • Clean script to remove past days info to clear database from unecessary data.
    • Database structure has been changed (now is much faster to save/load data & works on server with few resources).
    • Emails template system added.
    • ereg() function replaced with preg_match().
    • Reservation ID is displayed in notifications emails.
    • Terms & Conditions checkbox and link added.
    • You can now add calendar sidebar in a widget area.
    • You can set if individual users can create or not calendars.
    • You can use SMTP to send notification emails.
    • Bug Fixes:
    • Back End & Front End CSS incompatibility fixes.
    • Delete calendar bug fix.
    • Display corect month in future years bug fix.
    • PayPal bugs fixed.
  • Version 1.0  -  15 July 2012

    • Initial release.


  • Translations
    Dutch Translation
    Kay van Aarssen - ICTWebSolution,

    German Translation
    Dieter Pfenning,

    French Translation
    Asselin de Beauville Christophe,

    Polish Translation
    Kwasniewski Krzysztof,
  • JSON 2


    This code should be minified before deployment. See


    This file creates a global JSON object containing two methods: stringify and parse.

    This is a reference implementation. You are free to copy, modify, or redistribute.


If you did not find the answer you were looking for in the given documentation, please access our Support Forums. If you cannot find the answer to your issue, post a new topic, describing the problem you are having. Please add in your message a link to where you use the item or any other stuff that might be relevant (don’t include any passwords or any confidential information).

On our Support Forums you need to login and confirm the Item Purchase Code for the item you need help with.

Work time:
07:00 (07:00 AM) – 16:00 (04:00 PM) GMT | Working days only (Monday – Friday)

We do NOT provide support in comments section. Please use it for presale questions only.


If you buy an Envato item, according to Envato rules, you are not entitled to support or free customizations.
WE WILL OFFER FREE SUPPORT only for bugs, item related issues and very small modifications(a few minutes of work). Everything else will be considered as custom work, for which we charge $35/hour.
Offering support will help us improve and fix the bugs in our products and a great way to do this is to see what problem appear when people use them.
If your request for a feature has been made by other people is it possible, but not a rule, to add that feature in a future update. Please don't buy the item if a feature doesn't exist and you need it. We will not add it for you in record time. If you are not sure if the feature exists please ask first.

PS: Do not forget to rate this item   .