OS Services Booking supports Google Calendar Integration, allowing bookings created in OS Services Booking to be automatically added to a resource’s Google Calendar.
This feature is useful for businesses where employees, staff members, or service providers want to keep their OS Services Booking appointments synchronized with their Google Calendar schedule.
Google Calendar Integration allows OS Services Booking to communicate with Google Calendar for each resource.
When this integration is configured correctly:
This helps resources keep track of their appointments in real time and makes it easier to manage daily schedules from Google Calendar.
Google Calendar Integration mainly works in this direction:
OS Services Booking → Google Calendar
This means OS Services Booking can add booking events to Google Calendar and remove them when bookings are canceled or deleted.
However, Google Calendar Integration does not automatically check a resource’s existing Google Calendar availability before creating a new booking.
For example, if a resource already has an event in Google Calendar at a specific time, OS Services Booking may still allow a customer to book that same time slot unless the unavailable time is also configured inside OS Services Booking.
To prevent double bookings, please use one of the following methods:
Google Calendar Integration vs Google Calendar Sync
Google Calendar Integration and Google Calendar Sync are related, but they are not the same feature.
Google Calendar Integration OS Services Booking → Google Calendar Adds OS Services Booking appointments to Google Calendar
Google Calendar Sync Google Calendar → OS Services Booking Imports Google Calendar events as busy time slots
If you only need OS Services Booking appointments to appear in Google Calendar, use Google Calendar Integration.
If you also want OS Services Booking to read existing Google Calendar events and mark those times as unavailable, use the Google Calendar Sync plugin.
Requirements
Before setting up Google Calendar Integration, please make sure you have:
Video Tutorial
We have prepared a video tutorial that walks you through the full setup process.
The video explains how to:
Step 1: Create a Google Cloud Project
Log in to your Google account and open Google Cloud Console: https://console.cloud.google.com/
After the project is created, make sure it is selected in Google Cloud Console.
Step 2: Enable Google Calendar API
After enabling the API, your Google Cloud Project will be allowed to communicate with Google Calendar.
Step 3: Configure OAuth Consent Screen
Before creating an OAuth Client ID, you may need to configure the OAuth consent screen.
Go to: APIs & Services → OAuth consent screen
If you are using a Google Workspace account, you may be able to choose Internal.
If you are using a normal Google account, choose External.
Fill in the required app information, such as:
You can use a name such as: OS Services Booking
Complete the required steps and save the OAuth consent configuration.
Step 4: Create OAuth Client ID
You will need this Client ID when configuring the resource in OS Services Booking.
Step 5: Create a Service Account
You can skip optional permission steps if they are not required, then finish creating the Service Account. After the Service Account is created, you will see it in the credentials list. Copy the Service Account email address. It usually looks similar to this: os-services-booking@your-project-id.iam.gserviceaccount.com
You will need this email address later when sharing your Google Calendar and configuring the resource in OS Services Booking.
Step 6: Generate a JSON Key File
The JSON key file will be automatically downloaded to your computer.
Keep this file secure because it contains sensitive credentials for your Google Service Account.
Step 7: Upload the JSON Key File to OS Services Booking
After downloading the JSON key file, upload it to the following folder on your website: components/com_osservicesbooking For example: components/com_osservicesbooking/your-json-key-file.json You can upload the file using FTP, your hosting file manager, or another secure file upload method. After uploading the file, remember the exact file name. You will need to enter this file name in the resource settings.
Important:
Step 8: Share Google Calendar with the Service Account
Open Google Calendar. In the left sidebar, find the calendar you want to connect with the resource. Click the three-dot menu next to the calendar and select: Settings and sharing Scroll to the section: Share with specific people or groups Click: Add people and groups Enter the Service Account email address you copied earlier. For example: os-services-booking@your-project-id.iam.gserviceaccount.com Set the permission to: Make changes to events Then click Send or Share.
This allows OS Services Booking to create and remove events in that Google Calendar.
Step 9: Get the Google Calendar ID
To get the Calendar ID, open Google Calendar and go to the calendar settings page. In Google Calendar: Calendar Settings → Integrate calendar Find the field: Calendar ID Copy the Calendar ID. For a primary calendar, the Calendar ID may look like an email address: example@gmail.com For a secondary calendar, it may look like this: abcd1234efgh5678@group.calendar.google.com
You will need this Calendar ID when configuring the resource in OS Services Booking.
Step 10: Enable Google Calendar Integration in OS Services Booking
In your Joomla administrator area, go to OS Services Booking configuration.
After this option is enabled, you can configure Google Calendar credentials for each resource.
Step 11: Configure Google Calendar Settings for Each Resource
Go to the resource management page in OS Services Booking. Open the resource you want to connect with Google Calendar. Enter the required Google Calendar information. The required fields usually include:
The Client ID is obtained from the OAuth Client ID created in Google Cloud Console. The Service Account email address is obtained from the Service Account created in Google Cloud Console. The JSON key file name is the name of the JSON file uploaded to: components/com_osservicesbooking The Google Calendar ID is obtained from the Google Calendar settings page. After entering all information, save the resource.
Now new bookings for this resource should be added to the connected Google Calendar.
Step 12: Test the Integration
After completing the setup, create a test booking for the configured resource. Then check the connected Google Calendar. If the setup is correct, a new event should appear in Google Calendar for the test booking. Next, cancel or delete the booking in OS Services Booking. The related event should also be removed from Google Calendar. If both actions work correctly, Google Calendar Integration has been successfully configured. Google Workspace Sharing Permission Issue If the option: Make changes to events is blocked or not available when sharing the calendar with the Service Account, your Google Workspace administrator may need to update calendar sharing settings.
To fix this, the Google Workspace administrator can follow these steps:
1. Google Calendar event is not created after booking Please check the following:
2. Booking is created, but Google Calendar is not updated
Please verify:
3. The “Make changes to events” permission is not available
4. Calendar ID is incorrect
Make sure you copy the Calendar ID from: Google Calendar → Calendar Settings → Integrate calendar → Calendar ID Do not use the calendar name unless it is the same as the Calendar ID. For a primary calendar, the Calendar ID may be an email address. For a secondary calendar, it may be a longer ID ending with: @group.calendar.google.com
5. JSON key file error
Please check:
6. Double booking still happens
Google Calendar Integration does not check existing Google Calendar events before accepting new bookings.
To prevent double bookings, you should:
Security Notes The JSON key file contains sensitive credentials for your Google Service Account.
Please follow these security recommendations:
To delete an exposed key:
Final Checklist Before testing or contacting support, please make sure all items below are completed:
Conclusion You have now successfully configured Google Calendar Integration for OS Services Booking.
From now on, when a customer makes a booking request for a configured resource, OS Services Booking will automatically add the appointment to that resource’s Google Calendar.
If the booking is canceled or deleted, the related Google Calendar event will also be removed. For advanced availability management, you can also use the Google Calendar Sync plugin to import existing Google Calendar events into OS Services Booking as busy time slots.