Setting up Google Calendar integration in the OS Services Booking (OSB) Joomla component involves two main phases: creating a "Project" in the Google Cloud Console and then configuring the plugin on your website.

Note that OSB supports two-way synchronization: it can add new bookings to your Google Calendar and import "busy time" from Google to your booking system to prevent double bookings.


Step 1: Create a Google Cloud Project

To allow your website to talk to Google, you need to create a Service Account.

  1. Go to the Google Cloud Console.

  2. Create a New Project: Give it a name like "OS Services Booking".

  3. Enable API: Search for "Google Calendar API" and click Enable.

  4. Create Credentials:

    • Navigate to APIs & Services > Credentials.

    • Click Create Credentials and select Service Account.

    • Give it a name and click Create and Continue.

  5. Generate JSON Key:

    • After creating the service account, click on its email address in the list.

    • Go to the Keys tab, click Add Key > Create new key, and select JSON.

    • The file will download automatically. Keep this file safe; you will need to upload it to your site.

  6. Copy the Service Account Email: It looks like This email address is being protected from spambots. You need JavaScript enabled to view it..


Step 2: Configure Your Google Calendar

The Service Account is like a "virtual user." You must give it permission to see and edit your specific calendar.

  1. Open your Google Calendar.

  2. Find the calendar you want to sync (under "My calendars" on the left), click the three dots, and select Settings and sharing.

  3. Scroll to Share with specific people or groups and click Add people.

  4. Paste the Service Account Email you copied in Step 1.

  5. Set the permission to "Make changes to events".

  6. Scroll down to the Integrate calendar section and copy the Calendar ID (it usually looks like your email address or a long string of characters ending in @group.calendar.google.com).


Step 3: Link to OS Services Booking

Now, move back to your Joomla administrator panel.

  1. Upload the Key: Go to the OS Services Booking configuration and find the GCalendar Integration tab. Upload the JSON file you downloaded earlier.

  2. Enable Integration: Set "Enable GCalendar" to Yes.

  3. Assign to Resources (Employees):

    • Go to Components > OS Services Booking > Resources.

    • Edit a resource (employee).

    • Enter their specific Google Calendar ID and save.

  4. Sync Busy Time (Optional):

    • Go to Extensions > Plugins and enable the plugin: System - OS Services Booking - Google Calendar sync.

    • This plugin will periodically check the Google Calendar and mark those times as "Busy" in your booking system.

WE LOVE JOOMLA

Joomwalker is not affiliated with or endorsed by the Joomla Project or Open Source Matters.
The Joomla name and logo are used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.