Technical help board
Important.  Check FAQ first for existing answers before posting new Questions.
Note.  You can check archive 1, archive 2 and archive 3 of support technical board of already exist solutions and troubleshooting stories.
If you have any technical question about the plugin or configuration of plugin or if you found some issue, please describe it here. Please, inform inside of message your version of WordPress, PHP, Booking Calendar. Also sometimes is needed list of used plugins inside of system and name of your WordPress theme.

  1. Hello,
    I have installed the plugin booking calendar Personal version.
    I have setup the different booking resources, and now I am finalizing the settings of the "visitor booking editing link and page (as per the instructions of page
    When testing the link in the confirmation email, changing the booking and then confirming, the following error message shows up:
    "Erreur! Le mail n'a pas été envoyé. Une erreur est arrivée. Could not instantiate mail function."
    Why is that? How do I fix this?

    - How do I also remove the step of bookings being set as "pending" once someone makes a booking?
    Can the booking immediately figure as "booked" (red) on the calendar?

    - In which file from the plugin can I change the text in the error message showing up after someone submits a booking?
    (by example if they do a booking which just got booked by someone else on the same day)

    - Also, which file of the plugin is it that contains the settings for where the booking confirmation message appears?
    The message appears but somehow the website doesn't go high enough to see the full message (it should go 1 line higher).
    Which file is it where this setting of the "website scroll up" is set? (I am aware that this is not supposed to be edited, so I know that you can't promise me that the plugin will work once I edit that; but still I would like you to tell me please).

    Thanks a lot.

    • Hello.
      1) Please make testing of receiving or not receiving emails by making the new bookings at the front-end side of your website.

      Please note, Booking Calendar is use standard WordPress wp_mail function for sending emails. This function can be overridden by other plugins.
      Please check this instruction

      1.1)The most probably you need to check the point #5 from this instruction and install WP Mail SMTP plugin which is 'sending emails via php' option and it can resolve that issue.

      1.2) If you have installed the WP Mail SMTP so then you need to check the settings of this plugin, because all emails is sending by this plugin. And its seems something was configured wrong in settings of this plugin. You can contact support of this plugin, if you need additional help with configuration of settings of this email plugin. Or otherwise you can try to use some other mail plugin, like like "SMTP Mail" or "Post SMTP mailer" .

      1.3) If the issue still will exist , please try reconfigure Subject and Content of the email template.
      Make it simpler. May be because of some server restrictions, you are having blocking of sending these emails.

      1.4) Finally, please recheck your error.log and mail.log in your server configuration, about any relative errors.
      If you having troubles with checking these files, please contact support of your hosting company about this.

      2) Yes its possible in the Booking Calendar Business Small or higher versions. Please open the Booking > Settings General page and in "Auto cancellation / auto approval of bookings" section set checked this option "Auto approve all new bookings".

      3) You can change it inside of this file: ../wp-content/plugins/{Booking Calendar Folder}/core/lib/wpbc-booking-new.php
      in this code:

                    showMessageUnderElement( '#date_booking<?php echo $bktype; ?>',  
                                             '<?php echo html_entity_decode( '<strong>' . esc_js( __('Error!' ,'booking') ) . '</strong> ' 
                                                     . esc_js( __('Probably these date(s) just was booking by other visitor. Please reload this page and make booking again.' ,'booking') ) ,ENT_QUOTES); ?>' , 

      Disclaimer. Unfortunately we can not start, right now, some personal customization or custom development, because almost have no free time.
      Check more about new features here
      Thank you for understanding.
      Please note, if you will modify the source code of the Booking Calendar, we will not guaranteed the correct work of plugin and do not support it.

      4) The showing "Thank you message" and scrolling to this "thank you message is inside o f this file: ../wp-content/plugins/{Booking Calendar Folder}/js/client.js

      in this code:

                          document.getElementById('submiting' + bk_type).innerHTML = '<div class=\"submiting_content wpdev-help-message alert alert-warning alert-success\" >' + new_booking_title + '</div>';
                          makeScroll( '#submiting' + bk_type );
                          jQuery('.submiting_content').fadeOut( new_booking_title_time );
                          setTimeout( function () { location.reload( true ); }, parseInt( 1000 + new_booking_title_time ) );  //FixIn:

      and "Thank you" message you can define at the Booking > Settings General page in Form section.

      Kind Regards.

      • Thanks for these explanations.
        How could I do that one booking resource would basically book and "fill-up" all of the other booking resources for the selected days?
        Can this be somehow done with the plugin, automatically?

        • Hello.

          Please check more about " aggregate " parameter in the Booking Calendar shortcode here:

          This parameter make the dates in calendar unavailable if these dates was booked in some other booking resources.

          So your configuration can look like this:

          Booking resources at the Booking > Resources page:

          - House ( ID = 3 )
          - Room #1 ( ID = 4 )
          - Room #2 ( ID = 5 )

          And you need to insert the Booking Calendar shortcodes like this


          [booking type=3 aggregate='4;5' ]

          - Room #1 ( ID = 4 )

          [booking type=4 aggregate='3' ]

          - Room #2 ( ID = 5 )

          [booking type=5 aggregate='3' ]

          If some Room will be booked for specific date(s), this dates will be unavailable in House calendar.

          And if House will be booked for specific date(s), so in all Room s (booking forms), these dates also will be unavailable.

          Kind Regards.

          • Thank you; awesome, that worked out well.
            However when I book in the booking resource House (in the frontend), in the admin panel it shows only that the resource House is booked for that day and does not show that the other resources are also therefore booked for that day. How can this be done then automatically?
            Thanks a lot.

            • Hello.
              In admin panel at Booking > Add booking page it’s does not possible to apply.
              Aggregate parameter is working only at the front-end side. Sorry.
              Kind Regards.

              • Okay understood.

                Other question: I would like to fill-in the calendars with bookings which happened before I use to use the plugin.
                How can I add bookings which were booked for days BEFORE today's date?
                As in the calendar, I can only select ulterior dates, apparently.

                • Hello.
                  Its possible to use one trick for ability to add bookings in the past.

                  You need to use url like this

                  where have to be your server url.

                  The trick here is to having this parameter &booking_hash at the end of url at Booking > Add booking page.

                  So you will be able scroll to past month and add new bookings. Its works only for admin panel at Booking > Add booking page .

                  Kind Regards.

  2. Dear Sirs, I have a multi user version of the calendar. Tell me how my partners (property owners) can approve a new bookings from mail? ( without going to the administrative part of the WP)? From PAGES ? How?

    • Hello.
      The approving of the booking is requiring that admin user have to be logged in in any case. It’s like approving the comments in the WordPress. But please note, once the user was logged in, until cookies will not expire, such user will not need to login again.
      And during clicking on “Approve” link in email that sent to user after creating of the booking, such user will be redirected directly to Booking Listing page with one selected such booking to approve it.
      Kind Regards.

  3. Hi there. I´m still try to make this search form/search results project. Now I have 1 search form like this:

    Reisedaten: [search_check_in][search_check_out]Unterkunft: [search_visitors "Personen" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12"]



    Palma de Mallorca Airport
    Pollenca Ort

    Palma de Mallorca Airport
    Pollenca Ort


    I put that in every header of my pages by shortcode ([bookingsearch searchresults=''
    noresultstitle='Leider wurde kein Ergebnis gefunden. Bitte versuchen Sie es erneut.']) and want to show the results in a seperate page called "suchergebnisse". Nothing is shown and I really don´t know why not. I read every doc and saw every video, but I don´t find the mistake. Please help. Do you need access to my backend? No problem. Thanks Christiane

    • Hello.

      1) Please try to clear search cache at the Booking > Settings > Search page.

      You have to see all booking pages with booking forms. Its maximum number of search results that can be found. Please recheck it. Each page have to have only 1 booking shortcode inside.

      Then try to make search with simple search form (without additional custom fields - only visitors number and check in/out dates).

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

      3) Otherwise please recheck this troubleshooting instruction:

      You need to be sure that you have inserted the booking forms for different booking resources into the DIFFERENT posts or pages.

      Kind Regards.

      • Ok, thanks. I found out, that it is a problem with the custom selects. If I delete them, the search works. But I need them and don´t know, what is wrong.
        I did everything as in your tutorials shown. The selects are working in the bookingform. But if I put them in the searchform I don´t get any results.
        Can I send screenshots?

        • Hello.
          Please send what exactly custom selects do you have in the search form.
          If you need to make searching with some additional custom form fields, so then please recheck careafully this instruction:

          "Custom fields".
          You can use the "custom fields" in the posts or pages, were you inserted shortcode for booking form.
          One general rule for the "custom fields" - each custom field must start from "booking_" term.

          If you still will have an issue, please send your search form configuration and screenshot of Booking > Settings > Search page and send the link to your page with booking form, where you are having the issue to support @
          Kind Regards.

  4. I can't see the text on the calendar. It is light grey and imposible to see and I need to change it to black so I can see the text. How do I do that?

    • Hello.
      You can change the calendar skin (style) at the Booking > Settings General page in Calendar section. So you can select css style that will fit your theme.

      If you still will have issue, please send the link to your page with booking form, where you are having the issue.
      Thank you.

  5. I have a situation where there are multiple bookings for the same resource at the same time. For example, if I book a resource from 10 AM for 2 hours I book the same resource from 9:30 AM for 2 hours I get an overlap for that resource. Is there any way to avoid this? I am using the small business version

    • Hello.
      1) Please be sure that you have correctly configured timeslots at the Booking > Settings > Form page. Please note, the VALUES of timeslots must be only in the 24 hour format. For example:

           <p>Select Times:[select rangetime "06:00 - 06:30" "06:30 - 07:00" "07:00 - 07:30" "07:30 - 08:00" "08:00 - 08:30" "08:30 - 09:00" "09:00 - 09:30" "09:30 - 10:00" "10:00 - 10:30" "10:30 - 11:00" "11:00 - 11:30" "11:30 - 12:00" "12:00 - 12:30" "12:30 - 13:00" "13:00 - 13:30" "13:30 - 14:00" "14:00 - 14:30" "14:30 - 15:00" "15:00 - 15:30" "15:30 - 16:00" "16:00 - 16:30" "16:30 - 17:00" "17:00 - 17:30" "17:30 - 18:00" "18:00 - 18:30" "18:30 - 19:00" "19:00 - 19:30" "19:30 - 20:00" "20:00 - 20:30" "20:30 - 21:00" "21:00 - 21:30"]</p> 

      2) Otherwise please open the General Booking Settings page and in the "Advanced section", please be sure that you have not activated this option: "Allow unlimited bookings per same day(s)". This option must be unchecked. If its checked, please uncheck it and update the settings.
      This option "Use pending days as available" must be unchecked, as well.

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

      3) If you still will have issue, please send screenshot of your booking form configuration and send the link to your page with booking form, where you are having the issue. Please send it to support @
      Kind Regards.

  6. Hi there.
    We're using the Personal Booking calendar, version: 9.Personal.SingleSite.8.4.3, just upgraded today. Everything seems good so far except the Bookings Listing is slow to load (at least 15 seconds) even at only 10 entries per page. Is there a reason it might be so slow? I know it's fast on the demo. I believe this a problem before the update as well.

    WordPress 5.0.3
    PHP 7
    Theme: custom

    I've tried:
    Deactivating all other plugins - made no difference
    Changed to one of the default themes - made no difference
    Optimized our database

    Checked the error log and found this is warning for the Booking Calendar but may have nothing to do with our problem:
    [Thu Feb 14 11:30:56 2019] [warn] [client] mod_fcgid: stderr: WordPress database error Duplicate entry '159-2012-02-28 00:00:00' for key 'booking_id_dates' for query CREATE UNIQUE INDEX booking_id_dates ON wp_bookingdates ( booking_id, booking_date); made by activate_plugin, do_action('activate_booking.personal.8.4.3/wpdev-booking.php'), WP_Hook->do_action, WP_Hook->apply_filters, WPBC_Install->wpbc_activate_initial, WPBC_Install->wpbc_activate, make_bk_action, wpbc_booking_activate, referer: https://[our-site-name].com/wp-admin/update.php?action=upload-plugin

    Can you provide any insight?
    Thank you!

      • Thank you for the reply. We're using the personal, not business small version, so the first step wasn't applicable. I tried the second step. We don't have any time fields in the form but I tried a reset anyway. The error still is still happening on plugin activation. I tried deactivating and reactivating and the error was logged again.

        Any further advice? And would this have to do with how slow the booking listing is loading or do you think there's another issue there too?

        Thank you

        • Hello.
          If the index was not created, so then its possible that you have issue with speed of loading.
          Please try to recheck your system date at your server. Its seems that its was not set correctly.
          You can check your actual time and timezone at the WordPress > Settings page.

          After this try to make full reinstall of the Booking Calendar.
          For this please open the general booking settings page and make checked the "Delete booking data during deactivation of plugin" at the right side of the page. Click save changes button. Then open the WordPress plugins menu and click on "Deactivate" link. Wait for the message that plugin is deactivated successfully.
          After this Click on "Activate" link of Booking Calendar plugin and wait for the message that plugin is activated successfully.
          After this test it again.

          Kind Regards.

          • Thank you for your continued help, but is that the only option? There is a lot of data that my client can't afford to lose.


            • Hello.
              It’s seems that one booking that have booked date “2012-02-28” is gendering this issue. Please try to find this booking in Booking Listing page and delete it (to trash and then delete completely). Then test it again.
              Kind Regards.

  7. I have maybe found a bug in the [bookingcustomerlisting] function.

    If a client accesses her booking via the email-link with her correct hash ("all my bookings"), then cancels one of those bookings and then goes back via the browser's back button, she still sees only her bookings on this page. But when she then scrolls one week back or forth, she sees ALL bookings of ALL clients. (and that's a problem, I guess)

    Could you please check this?

    • Hello.
      What version update of Booking Calendar do you use ? Can you send screnshot from the Booking > Settings General page and send the link to your page with booking form, where you are having the issue.
      Send it to support @
      Thank you.

    • Hello.
      I was checked your page and can see pending bookings in inline month view calendar, where visitor can select the dates.

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

      Kind Regards.

  8. Hi,

    For a physician's cabinet, I would like to make a booking form that
    - describes the type of healing practice the client book for
    - depending on the type of healing practice the client choose, the duration time of the session is the right one
    - and we then propose the choices of start time for the booking.

    For now, what we use is only the [durationtime] and [starttime] tag to make this possible. However, the problem with this configuration, is that the name of the healing practice doesn't display in the booking admin panel, or in the e-mails. It only show the [durationtime] value.

    Example :

    Séance :[select durationtime "Découverte/Bon cadeau@@00:59" "Bien-être/Access Bars®@@01:00" "Consultation@@01:30"]
    Heure de rendez-vous :[select starttime "10:00" "10:15" "10:30" "10:45" "11:00" "11:15" "11:30" "11:45" "12:00" "12:15" "12:30" "12:45" "13:00" "13:15" "13:30" "13:45" "14:00" "14:15" "14:30" "14:45" "15:00" "15:15" "15:30" "15:45" "16:00" "16:15" "16:30" "16:45" "17:00" "17:15" "17:30" "17:45" "18:00"]

    I saw that there is a possibility to use a [condition] value, but I'm not sure how to use it.

    Is it possible to use a simple Drop down list featuring the name of the healing practice [unique_field_value] and to link it with a [condition] that depending on the choice of the [unique_field_value] set the correct [durationtime] in order to choose the [starttime] ?

    In this case we would be able to have in the Booking admin panel and in the emails, the [unique_field_value], the [durationtime] and [starttime] ?

    (I am using a Business Medium SingleSite license)

    • Hello.
      1) Yes, its how labels and values in duration of time field (or any other select field) is working. In the booking data and in emails possible to show only the values, but not the titles of the options.

      2) I can suggest other solution for you.

      - Please create as many booking resources (at the Booking > Resources page) as many services you are having.
      - Then create several custom booking forms for each of your servcies (booking resources) at the Booking > Resources page. So in each specific custom booking form, you will have start time selection field (as you are having right now), and the duration of time field, that have only one option - time duration for this specific booking resource - service.
      - Please open the Booking > Resources page and set as "Default" for specific booking resource the specific custom booking form
      - Now in the post or page you can insert the booking resource selection shortcode, where you will have selection of booking resources (your servcies) like in this example
      Please read more about this shortcode here

      - Important tricks about the above shortcode.
      -- You can use in this shortcode the aggregate parameter ( like in this shortcode: )
      aggregate - possibility to show reserved days in one calendar from several booking resource. So its mean that one calendar can aggregate dates from several booking resource. Usage: aggregate='2;4;5', where 2;4;5 – ID of booking resources. The ID of booking resources you can check at the Booking > Resources page.
      -- Do NOT use in this shortcode the "form_type" parameter. In this case system will load the default custom booking form for specific selected booking resources, Otherwise its will load only defined booking form.

      Example of configuration:

      [bookingselect type='17,16,15' aggregate='17;16;15' selected_type='15' first_option_title='' label='']

      So now, in emails you will see what the service was booked as title of booking resource. And because of custom booking forms have own duration time fields, you can have the correct booking time.

      Kind Regards.

      • Hi there,

        Following up your response, I've made in a Excel the list of "Resources" I had to create, and a list of all the code implementation I have to make, in order to make these 3 physicians to share the same space of practice.

        All the forms are custom made, depending on the kind of service they offer by healing practices.

        You can see my Excel, here :

        But I have one request : it is to help me write the form for Marie-Laure's healing practices (Resources ID : 29, 30 and 31). Because she's only available on:
        - monday, tuesdays, and saturday in the morning and afternoon
        - wednesday : unavailable
        - thursday only in the afternoon
        - friday only in the morning

        I know there is a [condition] field that we can use for days. I just don't understand how to use it. If you can help... that would be great.
        Thanks a lot !

        PS. I am using a Small-Business OneSite License.

        • Hello.
          So question relative to these shortcodes:

          29	Zen Shiatsu, avec Marie-Laure Bassi	[booking type=29 form_type='seance' aggregate='2;22;23;24;25;26;27;30;31;32;33']
          30	Massage énergétique, avec Marie-Laure Bassi	[booking type=30 form_type='massage' aggregate='2;22;23;24;25;26;27;29;31;32;33']
          31	Accompagnement prénatal, avec Marie-Laure Bassi	[booking type=31 form_type='prenatal' aggregate='2;22;23;24;25;26;27;29;30;32;33']

          And based on your configuration its relative to these custom forms (from the Booking > Settings > Form page):
          seance, massage, prenatal.

          If you need to configure the different type of times selection for different weekdays, so then its can be done relative to this instruction:

          Example of times configuration in these custom forms, relative this requirement:

          - monday, tuesdays, and saturday in the morning and afternoon
          - wednesday : unavailable
          - thursday only in the afternoon
          - friday only in the morning


          [condition name="weekday-condition" type="weekday" value="*"]
            Default (after page loaded):   [select rangetime  "10:00 - 12:00" "18:00 - 20:00"]
          [condition name="weekday-condition" type="weekday" value="1,2,6"]
            Monday, Tuesday, Saturday in the morning and afternoon:    [select rangetime  "10:00 - 12:00" "18:00 - 20:00"]
          [condition name="weekday-condition" type="weekday" value="4"]
            Thursday only in the afternoon:  [select rangetime  "18:00 - 20:00"]
          [condition name="weekday-condition" type="weekday" value="5"]
            Friday only in the morning:  [select rangetime  "10:00 - 12:00"]

          The "Wednesday and Sunday" you need to define as unavailable for these booking resources ID = 29,30,31 at the Booking > Resources > Availability page.
          Check more about this feature here:
          Watch it in this video guide

          Kind Regards.

  9. Hi,

    The costs calculation depending from number of selected days isn't working properly.

    I want to implement the following costs (higher priority first):
    Long stay (> 4 days): 200.-/day (max 30 days)
    2 days week-end: 650.- (= 325.-/day)
    1 day week-end: 350.-
    Holidays: 350.-/day
    Normal price: 250.-/day

    I set this up like this:

    But it's not working as excepted. I did a comparaison to show you:

    Can you please help me?

    Thanks in advance,

    • Hello.
      Please note, these items:
      Configured items at the bottom of the list at "Valuation days" have higher priority than at the top. Only one exception (if you are using the "Together" term, in this case, system will return cost for specific number of days immediately).

      The "Valuation days" that set for specific seasons can apply ONLY, if the check in day (first selected day) in specific season. If some middle or last day in specific season, system will skip such conditions.

      So for example, for 4 days selections you are having standard cost for first 3 days: 250
      and for 4th day you are having cost 200
      Because of this config:

      From  4 to 30 days = 200 USD per each  day

      relative to this screenshot:
      that's why 250+250+250+200=950
      which is cost that is returned by Booking Calendar, relative to this screenshot

      Kind Regards.

Leave a Reply

Your email address will not be published. Required fields are marked *