Help Center

How to Set Reverse Booking and Google Calendar iCal Synchronization

Learn how to connect the JetBooking plugin to Google Calendar using the public address in iCal format. This connection will automatically transfer bookings made on the WordPress website to the calendar service.

Before you start, check the tutorial requirements:

  • JetBooking plugin installed and activated with the booking setup

    Learn more about that from this tutorial

To display booked items on Google Calendar, you need to synchronize it with the data on the website. The JetBooking plugin functionality allows you to achieve that via iCal synchronization.

The iCalendar is a media type that enables users to store and exchange calendar and scheduling information, including events, to-do lists, 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:

Warning

If you plan to test this feature, we recommend doing so on the remote website. Otherwise, Google Calendar will not display bookings from the local website.

Enable the iCal Synchronization

Open WordPress Dashboard > Bookings > Settings > Advanced, turn the Enable iCal synchronization toggle on, and set the Calendar sync interval and Calendar sync start.

enable ical synchronization jetbooking option
Warning

Due to Google’s sync policies, changes made on your WordPress site may take 8 to 12 hours—or sometimes longer—to appear in Google Calendar. This synchronization frequency is controlled by Google and cannot be adjusted. Therefore, setting the “Every 5 minutes (5 mins)” Calendar sync interval won’t affect how quickly Google Calendar reflects WordPress changes during reverse synchronization described in the current tutorial. However, it will determine how often your site checks for new bookings from Google Calendar, as stated in the How to Transfer Bookings from Google Calendar via iCal Synchronization guide.

Then, proceed to the WordPress Dashboard > Bookings > Calendars tab. Here you will see the posts of the Custom Post Type connected to JetBooking during setup.

jetbooking ical calendars

If you push the “iCalendar Template button, you will open a pop-up where you can set the iCalendar export template. In the Summary and Description fields, you can combine plain text with the JetEngine macros. Additionally, JetBooking dynamic tags can be added by clicking the “database” icon.

If you click the Need some dynamic? Generate macros. link, you automatically proceed to WordPress Dashboard > JetEngine > JetEngine dashboard > Macros Generator.

jetbooking icalendar template

In the Summary bar, we set the title of the event in the iCalendar feed in such a way:

%title% booking 

This dynamically inserts the property post title (%title%) 

To display the unit title, you can add the %booking_unit_title% macro via the “Booking Unit Title” dynamic tag.

In the Description textarea, we set the description field of the iCalendar event:

Status: %booking_status% — displays the current booking status and is inserted via the “Booking Status” dynamic tag.
Cost of 1 night: %current_metal_apartment_price% — shows the price per night dynamically. To insert such a macro, press the “database” icon, select the “Booking Instance Meta” dynamic tag, and enter the custom field name that stores the apartment price in the Meta field input.
booking instance meta dynamic tag in the iCalendar template

After you finish customizing the iCalendar template, press the “Save” button.

iCalendar template with jetbooking dynamic tags
Warning

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

You can achieve this using the booking form on the Property Single Page. Refer to the How to Display the Booking Form on the Single Post Page tutorial for guidance.

Additionally, to create bookings more quickly, go to the WordPress Dashboard > Bookings tab.

Create a New Calendar

Open the Google Calendar app in a new window and click the “Add other calendars” button.

google calendar add other calendars

Сhoose the “From URL” option from the pop-up.

add other calendars from url

Return to the WordPress Dashboard > Bookings > Calendars page and copy the Export URL of the needed item.

copy the jetbooking calendar export url

Enter the copied Export URL into the URL of calendar field, tick the Make the calendar publicly accessible checkbox, and hit 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.

Warning

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

Return and check if bookings from the website are displayed in Google Calendar.

The calendar can be renamed by clicking the “three dots” icon and proceeding to the Settings.

bookings are imported to google calendar

Enter a new calendar title in the Name field, and it will be renamed immediately.

renaming a booking calendar in google calendar
Warning

Be aware that bookings added to Google Calendar can only be viewed; they can only be edited from the WordPress Dashboard.

If you click on the booking, a pop-up appears with the information set in the iCalendar Template. In our case, it shows the room name, booking status, and value from the Price per 1 day/night field of the property post.

booking information in google calendar

Afterward, move to the Google Calendar Sync Settings, check the boxes next to each newly created calendar to enable synchronization access, and hit the “Save” button.

google calendar sync settings
Warning

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

That’s all. By now, the JetBooking plugin data on your WordPress website and Google Calendar are synchronized via iCal synchronization.

Was this article helpful?
YesNo

Need help?

Ask Facebook community

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

Start a live chat

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