Award Winning Appointment Booking Plugin
Documentation

Google Calendar Integration

Google Calendar Integration with BookingPress

Google Calendar Integration:

First, you will have to get and activate the Google Calendar Addon from BookingPress -> Addons.

Google Calendar Integration

After the addon is activated, you can configure the plugin by going to BookingPress -> Settings -> Integrations -> Google Calendar

Google Calendar Integrations

After the addon is activated, you will have to enter the “Client ID” and “Client Secret”. You will be able to get the Client ID and Client Secret from “Google Console”.

Configure Google API :

  • Add Client ID.
  • Add Client Secret.

Enable Google Calendar API by following the steps given below.

  • Go to the Google API Console and search Google Calendar API  from the Library option.
Google Calendar API
Enable Google Calendar API

To get Client ID & Client Secret please follow the steps given below.

  1. Go to the Google API Console
  2. From the project drop-down, select an existing project, or create a new one by selecting Create a new project.
create new project
select project
  1. In the sidebar under “API & Services”, select Credentials, then select the OAuth consent screen tab. Choose an Email Address, specify a Product Name, and press Save.
  2. In the Credentials tab, select the Create credentials drop-down list, and choose OAuth Client ID
auth client id
  1. Under Application type, select Web application. Register the origins from which your app is allowed to access the Google APIs, as follows, and set redirect URIs. An origin is a unique combination of protocol, hostname, and port.
create auth client id

Event Settings:

Copy and Enter the title from placeholders from the “Insert Placeholder” dropdowns to generate the Event Title dynamically according to your requirement.

Event Description:

In the same way, you will also be able to write a custom description on your own with the help of the placeholders.

Event Location:

Here you will be able to choose a field from the list of fields that are present in the “Customize Custom Fields” section. After selecting a field from the list, when the user will submit the form and the data will be mapped as a location in the Google Calendar event configured with the respective Staff Member.

Event Location

The details in the Google Calendar Event will be displayed in the location field

Google Calendar Event Location

Note: If the service capacity is more than one then only the last booked/rescheduled/updated appointment location data will be stored in the Google Calendar event.

Note: Only busy events will be considered for blocking data and time in BookingPress Calendar

If you’re seeing the time difference between the booked appointment & calendar event, then please confirm that the WordPress timezone & Google Calendar timezone are correctly configured and matched

Integrating with the Staff Member

To connect with a staff member, go to BookingPress > Staff Members > Integration > toggle on the Google Calendar Integration and Sign In With Google options.

Once signed in, you will see all your calendar options in the Select Google Calendar dropdown menu. Choose the calendar where you want to add appointments.

Refresh Google Calendar List

To refresh the list of calendars from Google Calendar, simply click on the “Refresh Calendar List” button. This will update the list as shown in the screenshot.

Refresh Google Calendar List

Insert Placeholders:

You will be able to select different required placeholders from different sections:

  • Customer
  • Company
  • Service
  • Staff Member
  • Appointment

1. Customer:

-> Under customer section, you will be able to copy the following Placeholders:

  • %customer_email% : This placeholder will help to get the customer’s Email
  • %customer_first_name% : This placeholder will help to get the customer’s first name.
  • %customer_full_name% : This placeholder will help to get the customer’s full name.
  • %customer_last_name% : This placeholder will help to get the customer’s last name.
  • %customer_note% : This placeholder will help to get the customer’s note.
  • %customer_phone% : This placeholder will help to get the customer’s phone number.

2. Company:

-> Under company section, you will be able to copy the following Placeholders:

  • %company_address% : This placeholder will help to get the Company’s address.
  • %company_name% : This placeholder will help to get the Company’s name.
  • %company_phone% : This placeholder will help to get the Company’s contact number.
  • %company_website% : This placeholder will help to get the Company’s website.

3. Service:

-> Under service section, you will be able to copy the following placeholders:

  • %service_name% : This placeholder will help to get the Service’s name.
  • %service_duration% : This placeholder will help to get the Service’s time duration.

4. Staff Member:

-> Under Staff Member section you will be able to copy the following placeholders :

  • %staff_member_email% : This placeholder will help to get the Staff Member’s email address.
  • %staff_member_first_name% : This placeholder will help to get the Staff Member’s First Name.
  • %staff_member_full_name% : This placeholder will help to get the Staff Member’s Full Name.
  • %staff_member_last_name% : This placeholder will help to get the Staff Member’s Last Name.
  • %staff_member_phone% : This placeholder will help to get the Staff Member’s Contact Number.

5. Appointment:

-> Under Appointment section, you will be able to copy the following placeholders :

  • %appointment_date% : This placeholder will help to get the particular date of the booked appointment.
  • %appointment_date_time% : This placeholder will help to get the particular date and time of the booked appointment.
  • %appointment_duration% : This placeholder will help to get the particular duration of the booked appointment.
  • %appointment_start_time% : This placeholder will help to get the Starting Time of the booked appointment.
  • %appointment_end_time% : This placeholder will help to get the Ending Time of the booked appointment.
  • %appointment_amount% : This placeholder will help to get the particular Amount of the booked appointment.
  • %appointment_status% : This placeholder will help to get the Status(whether approved, pending, rejected, etc…)  of the booked appointment.
  • %booking_id% : This placeholder will help to get the booking id of the booked appointment

Also, in the Appointment Placeholder section, you can also add the custom fields you have created which will be shown and can be selected under the “Advanced Fields” title.

Google Meet:

You will also be able to Enable Google Meet with a switch, which is integrated with the Integration. It may help if the event is an online meeting. Also, enabling this option, the event will be displayed dynamically in the user’s google calendar for the particular appointment.

Staff Member Related Settings:

Under this section, you will get an option labeled as “Maximum Number Of Events Returned” from the Staff Member’s Google Calendar. 

From this option, you can set the maximum number of events which will be returned from the Staff Member’s Google Calendar into the BookingPress calendar. These events will not be reflected anywhere except to the available time slots in your BookingPress website Calendar.

FAQ’s

➤ The appointment date and time do not match in Google Calendar.

Ensure that the timezone settings in Google Calendar match those of your WordPress site. To do this:

1. Check your Google Calendar Timezone and then head over to WordPress settings.
2. Locate the timezone settings by heading over to WordPress –> Settings –> General –> Scroll down to Timezone and set it to match the timezone of your Calendar.
3. Save the changes, and the appointment date and time should synchronize correctly.

➤ App not verified properly, failure to fetch or frequently expiring refresh/access token error

Confirm that you’ve set the Project type to ‘External’ during app verification. The ‘Internal’ Type of Project isn’t available for the verification process. To ensure proper verification:

1. Watch our short video guide demonstrating the process here.
2. Follow the steps outlined in the video to set the ‘External’ Type for the Project, enable APIs, set the necessary Scopes, and submit the app for verification.

Add this scope for your integration

  • auth/calendar.calendarlist.readonly ( Listing of calendars )
  • auth/calendar.events ( See, List, Edit, and remove calendar events )