Google Calendar Addon allows connecting bookings of your website with one or more Google Calendar (GCal) calendars so that bookings made in your website create GCal events and events created in GCal create bookings in order to reserve available workforce.
WP BASE Google Calendar Addon allows independent setting and connection to GCal for each allowed registered user:
1) For website wide bookings, Addon connects with GCal account of the admin which should be set up on Global Settings > Google Calendar page. “All bookings” or “Unassigned bookings” can be connected to the selected GCal.
2) For service providers, Addon connects with GCal account of the provider which should be set up on profile page of the provider (For BuddyPress on related subpage). Providers receives bookings for which they are the provider.
3) For clients (registered members who are not providers), Addon connects with GCal account of the client which should be set up on profile page of the client (For BuddyPress on related subpage). Clients can select export only mode or disable the integration. User roles that can use GCal Integration are selectable by admin.
On Global Settings > Google Calendar page you will need to complete the below configuration steps and make a test connection to GCal. Only after that your providers and client can use their calendars.
Providers and clients will not enter API key, Client ID and Client Secret settings. They just need to complete first step. Their settings pages are displayed accordingly.
Setting up Credentials
- Select the desired Integration mode: WP BASE → GCal (Export bookings) or WP BASE ↔ GCal (Synchronization).
- Go to Google apis console by clicking https://console.developers.google.com/. Login to your Google account if you are not already logged in.
- Create a new project or open an existing one using the top menu beside Google APIs.
- Click APIs & Services from left side pane and then Library.
- Click Google Calendar API and then Click Enable.
- Go back and Click Credentials under APIs & Services on left side pane.
- Click Create Credentials and then API Key. An API Key will be created.
- Copy and paste this value to Google API Key setting field on WP BASE configuration page.
- Again click Create Credentials and then OAuth 2.0 Service Client.
- In the opening page select Web Application for Application Type.
- On Credentials page select Consent Screen and enter your email and fill in product name field. This can be your website name.
- On Credentials page click on the product name under OAuth 2.0 client IDs.
- Under Authorized redirect URIs enter the url given in settings page
- On top of this page there are Client ID and Client Secret values. Copy and paste these values to WP BASE settings below.
- Now three fields, Google API Key, Client ID and Client Secret must have been filled. Click Save Settings on WP BASE settings page.
- After these stages, your website is ready to be a web server for Google Calendar. Now in 3 steps you need to configure and test “Website” account. In order to set up their account, these are the steps your providers and clients will follow.
Configuring WP BASE Settings
- Select the desired Integration mode: WP BASE → GCal (Export bookings) or WP BASE ↔ GCal (Synchronization) and click Save Settings button.
- Click Authorize Access to your GCal Account. This will open up Google consent screen.
- After you give authorisation to the website, you will be returned back to this page.
- In Calendar to be Used field, you should be seeing list of calendars of your account. Please note that a GCal account may have more than one calendar. Select the calendar you want to use. Click Save Settings.
- Click Test Connection button. If you get a success message, check your Google Calendar account. Test event should have a starting time of current time plus 10 minutes. If there is a shift, check time zone setting of your GCal account.
- Rarely authorisation may fail or list of calendars may not be displayed due to temporary connection issues. In such a case click Reset Configuration button and start over. If you have added a new calendar to your GCal account, also use this button to get a fresh list of calendars.