Google calendar


Overview


Since the version 3.2.0, you have the ability to connect calendars with different users and assign to each service an unlimited number of calendars. Thus, the data on reservations can come in an unlimited number of Google calendars.

Opportunities and limitations of integration with the Google Calendar:

Send data about appointment/reservation
to Google Calendar
+
Multiple calendars +
Automatic update of data in Google Calendar when updating data in Webba Booking +
Automatic update of data in Webba Booking when updating data in Google Calendar
Automatic deletion of data in Google Calendar when deleting data in webba booking +
Access for employees to authorize calendars +
Considers events added to the Google Calendar by blocking the time slots that cover those events ‘length +

Google API setup


Open the Google cloud platform:

You need to create a new project or open existing.
In this manual, we create a new project, but you can use projects created previously.

https://console.cloud.google.com/home/dashboard

 



If you already have projects, click on the top left, in our example, it is Webba Booking.



A window will open, then click on the +


 

 


Give your project a name and click  Create



1– Once the project is created, click again in the same place to select your new project, here it’s called 2018.


2 -Scroll down to Getting Started section and click on Enable APIs and get credentials like keys.



Click on ENABLE APIS AND SERVICES



Scroll down and click on Calendar API



Click on ENABLE



Click on Create credentials



 


Click on Client ID



Click on Configure consent screen



Complete with an application name (i.e. “Webba Calendar”) and click Save. Others fields are optional.



Click on Credentials tab


Click on Create Credentials and Choose OAuth client ID



Select Web application, enter the client name (i.e. Web client 1) and click Create


 

 


Copy the client ID and client secret and keep it somewhere (you will need that at the following part Google Calendar setup in Webba Booking)



We have finished with Google API setup at the moment, we will come back to it later to add Authorized redirect URIs to the application.


Google Calendar setup in Webba Booking


Setup Credentials

Open Webba Booking settings page.



Open the Google Calendar tab, paste the Google API Client ID and Google API Client Secret (that you kept somewhere just previously) and click Save Changes.



Add a new calendar


Open the Google Calendar page


Click Create new



Set the name of the calendar (i.e. “My first calendar”). This name can be arbitrary and used to identify the calendar.



If you need to give an access to this calendar to another (not administrator user) select the user in the “Give access to this calendar to”. Use this option if it’s required to authorize the calendar by the person that doesn’t have administrator role in your WP.

Set the Calendar id


In order to complete this, you need to create a calendar in your Google Calendar page.



Click Create a new calendar and give a name to this last. Then click Create Calendar.



Your Google Calendar should be now displayed  in your calendar list.



Hover over the name of your calendar and click on three points to access to its settings.



Copy the Calendar ID and Make it available to the public.



And paste it in the form you opened just before in your dashboard and save.



Manage calendar authorization


After creating the calendar, this last need to be authorized (connect to real Google Calendar by its owner).
The process of authorization is different for WordPress administrators and other roles of users.

Authorization by administrators


Open the Google Calendar page



Click on Manage authorization for the calendar you want to authorize.



Copy this link



Go to your Google Cloud console. Then edit your project.



And paste your link there.



Add in the field just below (replace http.//www.example.com/oauth2callback) the link corresponding to the landing page that you will have created and that must appear in (Dashboard> Webba Booking> Settings> Email notification) at the bottom of the page (Link to the page with Webba Booking shortcode).


And click Save.

Important: Now you need to wait around 5 minutes.

Then you go back to your dashboard and click on Authorize button.



Click on Allow



Authorization by non administrators


Open the Google Calendar page.



Click on Manage authorization for the calendar you want to authorize



Click on Authorize button



Click on Allow



If you have been waiting 5 minutes, you should be redirected to this window.



Remove authorization


То remove, you need to click on Manage authorization  (see previous part)

Click on Remove authorization

 



 

Delete a calendar

To delete a calendar, click on the delete icon

 



 

Confirm the deletion by click on Delete button

 



 

Edit a calendar


To edit a calendar, click on the edit icon



 

Set the fields and click Save



 

Note: You can choose between One-way or Two-way synchronization. One-way will add automatically bookings to your Google Calendar. Two ways mean every time you put something directly on your Google Calendar, the corresponding time slots in your Webba schedule (those that covers the time you defined here) will become unavailable for booking (here no data is imported).


Manage the event wording


Set the summary and description of a Google Calendar event, open the Settings page



Open the Translation tab and scroll down



Set the Google calendar event summary

Available placeholders are the following:

#service_name – service name
#customer_name – customer’s name
#appointment_id – unique appointment id


Set the Google calendar event description

Available placeholders are the followings:

#customer_name – customer’s name
#customer_phone – customer’s phone
#customer_email – customer’s email
#customer_comment – customer’s comment
#items_count – count of places (items) booked (for services with more than one item per time slot)
#appointment_id – unique appointment id
#customer_custom – coma separated list of custom fields.
#total_amount – total price with tax for appointment / reservation
#service_name – name of service


Setup a service to send data to Google Calendar


Open the Services page



Open the service for edit



Select the calendar



Save the service.

Congratulations ! You are done with Google Calendar integration.


WEBBA BOOKING | BLOG Article