Please note: PBBooking version 4 requires PHP 7.0+ due to a dependency on Twig v2.  If you do not have PHP 7.0+ emails (including validation emails) will NOT be sent to clients and the booking process will not advance.  If you are running PHP < 7.0 please install PBBooking version 3.2.x.

PBBooking v3.2.x is available at the bottom of the downloads page.

PLEASE NOTE: PBBOOKING SUPPORTS JOOMLA 3.8 ONLY

Please note: PBBooking has been discontinued.

As of February 2018 we made the decision to discontinue PBBooking. Joomla extensions proved to be a non viable business model and I needed to take work elsewhere to pay bills. Support will be provided to users with current subscriptions until the end of those subscriptions.

There are no plans to support Joomla versions beyond Joomla 3.8.

×

Message

EU e-Privacy Directive

This website uses cookies to manage authentication, navigation, and other functions. By using our website, you agree that we can place these types of cookies on your device.

View e-Privacy Directive Documents

View GDPR Documents

You have declined cookies. This decision can be reversed.
Versions: 3.2, 4.0

PBBooking 3.2 uses OAuth as part of the Google Calendar setup, so enabling this is a multi step process.

Please note in PBBooking v4 the url for cron jobs for google calendar sync has changed and is now http://dev.pbbooking.com/index.php?option=com_pbbooking&task=cron.sync&google_cal_sync_secret=4e916d6c03a7 . You can also use the EasyCron service to automatically create these cron jobs.  See the Knowledge base article How to use Easycron with PBBooking v4.

Firstly, you will need the Google Calendar Client ID and Client Secret

The ClientID and Client Secret identify PBBooking to Google Calendar.  These are available here. What is the Google Client ID and Client Secret for PBBooking.  You will need to be logged in to your Hot Chilli Software account to access this link.

Once you have these client ID and client secret you need to enter these into PBBooking.  As the same code base is used across the free and subscriber versions of PBBooking, these details can't be distributed with the software.  To enter the details go to the main PBBooking configuration page and then click the cog on the top right.


Ensure that the Google Client Details tab is selected and enter the Client ID and the Client Secret into the relevant fields.

Once you have done hit the Save & Close button.

Now use OAuth to link the Google Calendar to your PBBooking Installation.

The next step is to link your Google account to the PBBooking installation using OAuth2.  Go back to the main PBBooking configuration page and then go to the Google Calendar Settings tab.  This will enable to you to configure the google calendar settings for your installation.

Ensure that Enable Google Calendar Integration is set to Yes.  That Sync Forward Events is set to at least one month and that Sync Google Events to PBBooking is set to Yes.  Also ensure that the Google Query Max Results is set to 999 if you have a lot of events in your calendar.

Then click the Link this calendar button.

If you are not currently logged in to your google account you will be asked to login and then a page will ask you in you give PBBooking permission to manage your diaries.  Just click Allow on this page.

 

Finally you will be redirected to a page that contains the auth code.  Copy this code into the Auth Code box in the PBBooking configuration.

Then just press Save & Close on the configuration page.

Now link the the Google Calendar to the PBBooking Calendars.

Go back to the main PBBooking dashboard and then click Resources.  For each resource that you want to sync to Google Calendar you will need to enter a Google Calendar ID.  To do this just click on the resource.   Then under the Calendar Integration Features area ensure that Enable Google Calendar Integration is set to Yes and then enter your Google Calendar ID.

Your Google Calendar ID is obtained from your google calendar account.  When you are logged into Google Calendar on the left hand side of the page you will see an area that shows all your calendars.

Hover over the calendar you wish to link and then choose Calendar Settings from the menu.  The Calendar ID is listed under the Calendar Address section.  You will need the full calendar ID including the @group.calendar.google.com if it is present.  Paste this into PBBooking and click Close & Save to save the resource.

The final step is to setup a CRON job.

Presumably you will want the Google Calendar sync job to run automatically.  To set this up you will need to create a cron job through your hosting account's cpanel.  First of all though you will need to know the URL.  Go back to the main PBBooking configuration and the Google Calendar Settings tab.  At the top of the page in the green alert box is your sync url that you will need to run either manually or via a cron job.

Copy this URL and then log into your host's cpanel environment.  Assuming a standard WHM / Cpanel setup scroll down to Cron Jobs.  Usually under the Advanced tab.

 

After you click on Cron Jobs you can add a new cron job.  Again assuming a standard WHM/Cpanel host you would set Common Settings to Once Per 5 Minutes.  Under command enter

curl http://dev.pbbooking.com/ index.php?option=com_pbbooking&controller=cron&task=sync&format=raw&view=cron&google_cal_sync_secret=4e916d6c03a7

Please note in PBBooking v4 the url for cron jobs for google calendar sync has changed and is now http://dev.pbbooking.com/index.php?option=com_pbbooking&task=cron.sync&google_cal_sync_secret=4e916d6c03a7 . You can also use the EasyCron service to automatically create these cron jobs.  See the Knowledge base article How to use Easycron with PBBooking v4.

So you would end with something like the below:

 Then hit Add New Cron Job.

 Congratulations.  If everything has gone correctly your PBBooking installation will now be synching with Google Calendar every 5 minutes. 

What Can Go Wrong?

Of course this is technology so things always can go wrong.  In no particular order these are the most common problems.

  1. Your google account does not have read / write / manage access to the google calendars you have tried to link to.  This occurs when you are trying to link a calendar to your PBBooking installation that has been shared with you by someone else, perhaps a therapist.  Ensure that your google account has read / write / manage access to the calendar.  This will need to be done by the person sharing their account with you.
  2. Your host uses mod_sec and the cron job won't connect.  This happens when your host uses Apache's Mod Security and is blocking requests without a user agent.  Your host will be able to tell you if they are running this or not.  You will need to specify a user agent using the --A "Mozilla/5.0" flag on your curl command.
  3. Your host does not allow cron jobs.  Surprisingly there are hosts that don't allow cron jobs! If you are in this situation I recommend EasyCron. (https://www.easycron.com?ref=83308).  PBBooking v4 will include support for setting cron jobs automatically with EasyCron.
  4. Your host does not allow loop back cron jobs.  This is a specific type of cron where your hosting account calls a page that it hosts.  Some hosts block these.  See point 3 above.
  5. PBBooking does NOT currently sync google calendar events that have been created as full day events OR events that are recurring events.