WooCommerce Bookings: Google Calendar Integration

This document explains how to connect your WooCommerce Bookings extension to your Google Calendar.

To connect WooCommerce Bookings to your Google Calendar, you need:

WooCommerce Bookings provides two different methods that you can use to connect to your Google Calendar:

  1. The connection method provided by WooCommerce.com. This option is simpler and quicker to set up and is explained in this document.
  2. A custom connection using your own Google app credentials. This method requires a few more steps to set up but offers more control. Since this process is more complex, we cover it in a separate document. If you want to learn more about making a custom connection, read WooCommerce Bookings Custom Google Calendar Integration.

Connect your calendar

↑ Back to top

To connect your Google Calendar to Bookings using the provided connection method:

  1. Access your WordPress site’s admin dashboard and ensure you’ve already installed and activated WooCommerce Bookings.
  2. Navigate to WooCommerce > Bookings > Settings.
  3. Select the Calendar Connection tab.
  4. Click on Connect with Google under the Calendar Connection section. This takes you to a different screen to choose a Google account.
  1. Select an account or sign in to a different account to use.
  2. Confirm the Gmail/Google account, review permissions, and Allow. WooCommerce needs access to your Google Calendar to sync existing events and to add bookings as new events.
  1. Select Allow to give access to your calendar
  1. Verify that the URL is correct, and Continue.
  1. A message displays confirming the connection and successful authentication.
  1. You will now see a new section with the calendar settings. Select a Calendar from the dropdown to sync Bookings to.
  2. Set Sync Preference. See the section Sync Preference below to learn the difference.
  3. Save changes.

Sync Preference

↑ Back to top

You can set up calendar synchronization to sync one way or two ways between WooCommerce Bookings and Google Calendar Let’s take a look how each works:

Sync one way

  • The store pushes bookings created via WooCommerce Bookings to the connected Google Calendar, where you can view them..

Sync both ways

  • The store pushes bookings to the connected Google Calendar, where you can view them (just as with the Sync one-way option).
  • When you create events in the connected Google Calendar, the store pulls them into its Store Availability rules, blocking availability for all bookable products during the event. This is useful for store owners who want to ensure no bookings can be made during periods when they are unavailable (e.g., a dentist appointment) by creating an event on the connected Google Calendar. The store will periodically check the connected Google calendar for updates: Any newly created appointments should appear in the store after a few minutes:
  • Events created in the connected Google Calendar will show up within the visual calendar found at Bookings->Calendar.

When do Bookings sync to the connected Google Calendar?

↑ Back to top

By default, Bookings are synced to the connected Google Calendar when they have the status: Complete, Confirmed, and Paid.

Please note: Events created within Google Calendar are synced to the Bookings Store Availability with a priority of 10.

If you want to send bookings with an unpaid status to Google Calendar, you can use the following snippet to add the ‘unpaid’ order status to the ‘paid’ order status list that Bookings uses to sync to Google Calendar:

add_filter('woocommerce_booking_is_paid_statuses', 'woocommerce_booking_add_unpaid_to_is_paid_statuses');
function woocommerce_booking_add_unpaid_to_is_paid_statuses( $statuses ) {
$statuses[]= 'unpaid';
return $statuses;
}

This may be useful, for instance, if you collect payment physically from the customer or after the booking is completed.

Please note: Customizations are not covered under our support policy, so this isn’t something we can help implement on your site.

Can I sync past bookings to Google Calendar?

There currently is no option to sync past bookings to Google Calendar. You can make a feature request on the WooCommerce Bookings feature request page.

Information synced to Google Calendar

↑ Back to top

When a new booking has been made on your site the following information is synced to the Google Calendar either in the title or the event description:

In the title:

  • the billing details first and last name
  • the title of the bookable product
  • the booking ID

In the event description:

The store sends and saves booking information (e.g., number of people and Resource) in the description. If you use multiple Person Types, the total number of persons for that booking is included, but it doesn’t specify the different types (e.g., a booking with 2 ‘Adults’ and 2 ‘Children’ will show as “Persons: 4”).

Note: If you are using the Product Add-Ons added options are specifically listed in the description field and include the name and quantity for each add-on.

Here’s an example of how a synced booking looks as a Google Calendar event:

Editing/modifying synced Booking information

↑ Back to top

If you have sync enabled and are creating bookings in both Google Calendar and via WooCommerce Bookings, you’ll need to be mindful of where you edit each. Let’s take a look:

  • Bookings created via Google Calendar: If you create appointments in Google Calendar, you must make any necessary changes directly in Google Calendar. Once you make changes, the updates will reflect in the store’s Store Availability within a few minutes.
  • Bookings created via WooCommerce Bookings: You can only edit bookings that originate from your store (whether through customer purchase or manual creation) in your store’s admin. Bookings sync to Google Calendar for viewing purposes only, and any changes you make to the associated events in Google Calendar will not sync back to the store. To manage billing and availability correctly, you must add, modify, or delete bookings from the store’s admin interface. This functionality remains the same whether the store is set to sync one way or both ways.

Overwrite Booking Description:

The “Overwrite Description” setting field controls Google event description coverage (disabled by default).

When you enable this setting, you must make any changes to the event description from the WooCommerce Bookings event. If you make changes directly to the event description in Google Calendar, the next data sync will overwrite them.

View Bookings in your Google Calendar

↑ Back to top

Now that you’ve finished setup, you should see Bookings in your Google calendar:

The individual booking displays the duration and order ID:

Customer Experience – Add booking to their calendar

↑ Back to top

The Booking reminder notification email includes an .ics file that allows customers to add Bookings to their personal calendar easily. You can also attach this file to a manual notification.

Syncing Bookings to Multiple Calendars

↑ Back to top

Currently, WooCommerce Bookings only allows one Google Calendar to connect to a site from the admin account. This means that the site syncs all bookings to a single Google Calendar, and you cannot sync them to other calendars. If you have staff that need access to bookings in their personal calendars, or if you run a store that includes Product Vendors, this can be limiting.

There is a workaround to this using the WooCommerce Zapier plugin. We explain the process in detail here: WooCommerce Zapier (Multiple Calendar Integration).

Additionally, if you’d like to see this as a core feature of WooCommerce Bookings, you can add your vote to the existing feature request for this functionality.

What to do if bookings are not showing on the Google Calendar

↑ Back to top

Double-check that you completed steps of the integration process: Connect your calendar.

You can also enable logging in Bookings > Settings > Calendar Connection, and then go to WooCommerce > Status > Logs to see if there are errors in the connection.

Disconnect a calendar

↑ Back to top

If you previously connected a Google calendar and wish to disconnect it:

  1. Go to WooCommerce > Bookings > Settings.
  2. Select Disconnect.
  3. Save changes.

Connect a different calendar

↑ Back to top

If you previously connected a calendar and wish to connect Bookings to a different calendar on the same Google account:

  1. Go to WooCommerce > Bookings > Settings.
  2. Select a Calendar from the dropdown.
  3. Save changes.

Should you wish to connect Bookings to a different Gmail/Google account, disconnect (in the above section) and go through the setup again to connect and authenticate.

Questions and Support

↑ Back to top

Something missing from this documentation? Do you still have questions and need assistance?

  • Have a question about a specific extension or theme you’d like to purchase? Click here.
  • Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.