Help Center
How to Set Two-Way Booking and Google Calendar ICal Synchronization

How to Set Two-Way Booking and Google Calendar ICal Synchronization

This tutorial will teach you how to synchronize the Google Calendar bookings with the JetBooking functionality via iCal Synchronization and transfer booked dates from the WordPress website to the Google Calendar and vice versa.

Before you start, check the tutorial requirements:

  • Elementor (Free version) or Block editor (Gutenberg)

  • JetBooking plugin installed and activated with the booking setup. Learn more about that from this tutorial.

If you want to show the booked items on the Google Calendar, you need to synchronize it with the data on the WordPress website with the JetBooking plugin. With iCal synchronization, you can transfer bookings from the website to the Google Calendar and vice versa. 

The iCalendar is a media type that allows users to store and exchange calendar and scheduling information such as events, to-dos, journal entries, and free/busy information.

There are three tutorials about JetBooking and Google Calendar iCal synchronization. Before you proceed further, find out what suits you more:

In this tutorial, we will create two calendars: the first to export bookings from JetBooking to Google Calendar and the second to transfer bookings from Google Calendar to the WordPress website.


If you’re going to test this feature, we recommend doing it on the remote website. Otherwise, the Google Calendar won’t show bookings if they are from the local website.

Enable the iCal Synchronization

Go to the WordPress Dashboard > Bookings > Settings > Advanced tab. Turn the Enable iCal synchronization toggle on and set the Calendar sync interval and Calendar sync start options. 

To learn about the other JetBooking settings tab, proceed to the JetBooking Dashboard Overview.

booking advanced settings

If you check the Subscribe to someone’s Google Calendar article, in the Use a link to add a public calendar section, you can see a tip that “It might take up to 12 hours for changes to show in your Google Calendar.” So, if you transfer bookings to the Google Calendar, it may take 12 hours. Mind that the Calendar synch interval option is applied only when you export bookings created via the Google Calendar to the website.

Reload the page and proceed to Bookings > Calendars. Here you will see the posts of the Custom Post Type connected to JetBooking during setup.

bookings calendars

If you press the “iCalendar Template” button, a pop-up appears where you can set the booking information that will be exported to the Google Calendar. In the Summary (title) and Description fields, you can combine the plain text with the JetEngine macros. 

icalendar template

If you click the Need some dynamic? Generate macros. link, you will automatically proceed to JetEngine > JetEngine dashboard > Macros Generator page that opens in the new window.

jetengine dashboard macros generator

Set the additional settings, such as Context and Fallback, if needed, copy a macro from the last field, and enter it into the iCalendar Template pop-up.

copying the jetengine macro

The macros I entered into the template shout display the name of the apartment, the unit name, if any (to learn more, proceed to the How to Manage Units tutorial), the current booking status, and the price for one day/night (depends on the booking status and the JetBooking settings).

icalendar template with macros

After you finish setting up the iCalendar Template, hit the “Save” button and wait until the “Done!” notification appears in the upper right corner.


Be aware that the iCalendar Template will be shown only with the bookings transferred from the website to the Google Calendar.


Before moving further, create several bookings on the website to display them in the Google Calendar.

You can make it with the booking form on the Single Page. Set them up if you haven’t done it yet, and check the How to Display the Booking Form on the Single Post Page tutorial.

Also, to create bookings faster, you can proceed to the JetBookings > Bookings tab and push the “Add New” button.

jetbookings add new bookings

Then, you can set a new booking in the appeared pop-up.

add new booking pop-up

Create a Calendar to Transfer Bookings from the Website

Open the Google Calendar, hit the “Add other calendars” button, and select the “From URL” option.

create a new calendar from URL

Return to the Bookings > Calendars tab and copy the Export URL of the needed apartment or apartment unit.

copy the export URL

Enter the copied Export URL into the field, tick the Make the calendar publicly accessible checkbox, and click the “Add calendar” button.

add a calendar from URL

After that, you will get the “Calendar created. Fetching events in the background” notification at the bottom of the page.

calendar created fetching events in the background

Complete such actions with every apartment or apartment unit whose bookings you want to display with the Google Calendar.

Return and check if the Google Calendar shows the bookings from the WordPress website. If you push three dots near the newly created calendar, you can proceed to its Settings and rename it.

bookings are transferred to Google Calendar

Be aware that bookings added to the Google Calendar can be viewed only, and you can edit them only from the WordPress website.

By clicking on the booking, the pop-up appears with the information previously set in the iCalendar Template. It shows the apartment name, booking status, and value from the Price per 1 day/night field.

icalendar template in the Google Сalendar

Move to the Google Calendar Sync Settings, tick the checkboxes near every newly created calendar to enable synchronization access, and hit the “Save” button.

Google Calendar sync settings

Create a Calendar to Transfer Bookings from Google Calendar

You set the synchronization from the website to the Google Calendar, and now you need to connect calendars from Google to JetBooking.

Return to the Google Calendar, press the “Add other calendars” button, and choose the “Create new calendar” option.

create new calendar in the Google Calendar

To set the two-way synchronization, you need to create a second calendar for every booking item (apartment or apartment unit). The first calendar will display bookings made on the WordPress website. With the second calendar, you can create bookings on the Google Calendar platform and export them to the website.

Name the calendar (we recommend naming two calendars for one item identically), give it a Description if needed, and choose the Time zone. Then, hit the “Create calendar” button.

name, description, and time zone for a new calendar

Go back to the general view, and find the newly created calendar in the My calendars section. Here, you can change the color so it matches the apartment’s first calendar. Then, choose the “Settings and sharing” option in the three-dots menu.

settings and sharing

In the Access permissions section, tick the Make available to public checkbox.

access permissions for events

Scroll to the Integrate calendar section and copy the Public address in iCal format.

public address in iCal format

Return to the calendar and create a few bookings for the newly created calendar to test the synchronization.

creating bookings in google calendar

Move to WordPress Dashboard > Bookings > Calendars. Find the item (apartment or apartment unit) for which you have created the calendar in Google and press the “Edit Calendars” button.

edit calendars

Press the “+ New URL” button, paste the public address you copied to the bar and press the “Save” button.

paste the public address in iCal format

After that, push the “Synch” button on the right side.

synch calendars

You will see the “Synchronizing Calendars” notification. Be aware it imports only bookings created via Google Calendar.

synchronizing calendars

Push the “Close” button and proceed to Bookings > Bookings list. Here, you can see all bookings: created on the WordPress website and Google Calendar.

bookings list

Be aware that for every apartment or apartment unit, you will need to create two separate calendars to make the two-way synchronization.


Besides the Google Calendar, you can import and export bookings to any services, such as and Airbnb, that contain the public address in iCal format. To learn how to get a public address, check the documentation of the booking service which you want to synchronize with your website.

That’s it. By now, Google Calendar and the JetBooking plugin are synchronized via iCal synchronization. Now you can book rooms from the WordPress website and Google Calendar, and they all will be displayed in the Google Calender app and JetBooking

Was this article helpful?

Need help?

Ask Facebook community

Get answers from 22K Crocoblock Community experts from all over the world.

Start a live chat

Ask question to support agent and share its details via chat messages.