WooCommerce Booking and Reservation DocumentationWooCommerce Booking and Reservation Documentation
  • Getting Started

    • Documentation Home
    • Overview
    • Features
    • Booking Comparison
    • Installation
  • Daily Operations

    • Booking Dashboard
    • Managing Bookings
    • Logs and Tools
  • Setting Up a Product

    • Product Setup
    • Booking Types
    • Availability
    • Pricing
    • Resources
    • People and Guests
    • Services, Extras and Fees
    • Location and Search
    • Calendar Sync
  • Store-wide Settings

    • Global Settings
    • Notifications
  • Your Customers

    • The Booking Experience
    • My Bookings
    • Shortcodes and Blocks
  • Help & Support

    • Troubleshooting
    • FAQ
Demo
Buy Now
  • Getting Started

    • Documentation Home
    • Overview
    • Features
    • Booking Comparison
    • Installation
  • Daily Operations

    • Booking Dashboard
    • Managing Bookings
    • Logs and Tools
  • Setting Up a Product

    • Product Setup
    • Booking Types
    • Availability
    • Pricing
    • Resources
    • People and Guests
    • Services, Extras and Fees
    • Location and Search
    • Calendar Sync
  • Store-wide Settings

    • Global Settings
    • Notifications
  • Your Customers

    • The Booking Experience
    • My Bookings
    • Shortcodes and Blocks
  • Help & Support

    • Troubleshooting
    • FAQ
Demo
Buy Now
  • Booking and Reservation

    • WooCommerce Booking and Reservation
    • Overview
    • Features
    • WooCommerce Booking Plugin Comparison
    • Installation
    • Booking Dashboard
    • Managing Bookings
    • Logs and Tools
    • Product Setup
    • Booking Types
    • Availability
    • Pricing
    • Resources
    • People and Guests
    • Services, Extras and Fees
    • Location and Search
    • Calendar Sync
    • Global Settings
    • Notifications and Reminders
    • The Customer Booking Experience
    • My Bookings
    • Shortcodes and Blocks
    • Troubleshooting
    • Frequently Asked Questions

Calendar Sync

Calendar sync keeps this plugin and an outside calendar in step, so a booking made on Airbnb blocks the same night on your own site — and vice versa. Set connections per product on the Calendar Sync tab of Product Settings.

The Calendar Sync tab in the product workspace

The tab lists every calendar connection attached to this product.

The Calendar Sync tab

Adding a connection

Click Add calendar sync.

Adding a calendar connection

FieldOptionsNotes
Calendar typeGoogle Calendar, ICS feed, Airbnb iCal, Booking.com iCal, Vrbo iCal, HomeAway iCalWhich service the feed comes from
How should it sync?Import bookings from calendar · Send bookings to calendar · Import and export bookings · Two-way syncThe direction
Calendar URL or IDThe feed URL, or a Google calendar IDGet this from the other service
Resource ID (optional)A resource ID, or 0Attach the feed to one room or vehicle instead of the whole product
Vendor ID (optional)0 unless you run a marketplace
StatusEnabled / PausedPause a connection without deleting it

Click Create. The row appears with Calendar, Sync, Resource, Vendor and Status columns, where Status reads Sync enabled or Sync paused.

Choosing the direction

DirectionWhat happensUse it when
Import bookings from calendarEvents in the outside calendar block your availabilityYou take bookings elsewhere and want them respected here
Send bookings to calendarYour bookings are published as a feedYou want your bookings to show up in a team calendar
Import and export bookingsBoth of the aboveA listing that is genuinely double-sided
Two-way syncFull two-way reconciliationChannel-managed properties

Important

Start with Import bookings from calendar on a single product and watch the sync log for a few days before enabling two-way sync everywhere. Import-only cannot create bad data on the other service.

Getting the feed URL

ServiceWhere the iCal link lives
AirbnbListing → Availability → Sync calendars → Export calendar
Booking.comExtranet → Rates & Availability → Sync calendars
Vrbo / HomeAwayCalendar → Import/Export → Export
Google CalendarCalendar settings → Integrate calendar → the calendar ID or secret address
Any other toolLook for "iCal", "ICS" or "calendar feed" in its export options

Warning

An iCal export URL is a secret link — anyone with it can read your booking dates. Treat it like a password: do not post it in a support ticket, a forum or a screenshot.

Running a sync

Each connection row has a Sync now action. It reports the outcome:

Sync complete: 4 imported, 0 conflict(s).

When an export feed has been generated, the message also gives you the feed URL to paste into the other service.

Conflicts are windows that already had a booking on your side. They are reported rather than overwritten — check them by hand in Managing Bookings.

Reading the sync log

Every sync writes to the log on Bookings → Logs and Tools, with provider, entity, status and any error message, filterable and exportable as CSV. See Logs and Tools.

StatusWhat to do
successNothing — it worked
pendingThe job is queued; check again shortly
failedRead the Error column. A URL typo, an expired feed link or a network block are the usual causes

Store-wide calendar settings

Global Settings → Products → Calendar Sync Config:

SectionSettingDefaultMeaning
Google CalendarEnable Google CalendarEnabledAllow Google connections
Google CalendarSync ModepullDefault direction for new Google connections
Google CalendarSync Interval (minutes)15How often to sync
ICS ImportEnable ICS ImportEnabledAllow ICS feeds in
ICS ImportFetch Interval (minutes)30How often to fetch
ICS ImportFail On Invalid EventDisabledStop the whole import on a bad event, or skip it
ICS ExportEnable ICS ExportEnabledPublish your bookings as a feed
ICS ExportInclude Cancelled BookingsDisabledWhether cancelled bookings appear in the feed
ICS ExportExport Window (days)365How far ahead the feed reaches
Sync LogsRetain Logs (days)30How long log rows are kept
Sync LogsVerbose LoggingDisabledLog more detail while troubleshooting
Sync LogsAlert On FailuresDisabledFlag failures

Tips

Turn Verbose Logging on while you are setting a connection up, and off again once it works. It makes the log much noisier.

Syncing a single resource

Set Resource ID on the connection and the feed applies to that room, vehicle or member of staff alone. This is how a four-room guest house keeps four separate Airbnb calendars: one connection per room, each pointing at its own resource. Find the ID in the resource table on the Resources tab.

Automatic syncing

Scheduled syncing relies on WordPress's own scheduler. If your host has disabled WP-Cron, or your site has very little traffic, connections will only sync when you press Sync now. See Installation for how to check.

Customers' own calendars

Separately from all of this, each customer can add their booking to their personal calendar from My account → My Bookings, using Google Calendar or Download ICS. That needs no configuration — see My Bookings.

Next step

  • Logs and Tools — read and export the sync log.
  • Global Settings — the store-wide calendar defaults.
Prev
Location and Search
Next
Global Settings