Modern Hotel Booking — WordPress Hotel Booking Plugin Logo

Modern Hotel Booking

How to Sync Your WordPress Hotel Calendar with Airbnb and Booking.com

WordPress Hotel Calendar Sync — Prevent Double Bookings Across All Platforms

WordPress hotel calendar sync with Airbnb, Booking.com, VRBO, and Google Calendar — set up the two-way iCal feed connection, understand why Booking.com sometimes doesn’t cooperate, and what to do about it whether you’re on Pro or the free version.

⏱️ Setup time: 15–20 minutes

🔒 OTA iCal sync (export + import): Pro required

📋 Free version: Guest calendar email only — manual date blocking for OTAs

📅 Last updated: July 2026

WordPress hotel calendar sync — Modern Hotel Booking iCal sync panel showing export and import URLs for Airbnb Booking.com and VRBO
Hotel Booking → Pro Experience → iCal Sync — export and import URLs for connecting to Airbnb, Booking.com, and VRBO (Pro required)

⚠️ OTA calendar sync is a Pro-only feature. The free version includes an iCal link in guest booking confirmation emails (for the guest’s personal calendar only) — this is not OTA sync. Export URLs, automatic imports, and background cron sync are all Pro only. See the free vs Pro comparison below. Get Pro for OTA sync →

Why WordPress Hotel Calendar Sync Matters — The Double Booking Problem

A double booking is not an inconvenience. On Booking.com, if you cancel a reservation because you’ve already sold those dates to someone else, you may be required to cover the cost of relocating the guest to a comparable property at your own expense. On Airbnb, repeated cancellations damage your host metrics and can suspend your listing. The financial and reputational damage from a single double booking can exceed weeks of revenue.

The risk appears the moment you list your property on more than one platform. A guest books on Airbnb on Saturday morning. Before your WordPress calendar updates, another guest books the same dates on Booking.com Saturday afternoon. Both bookings are confirmed. You now have two guests for the same room on the same dates and no good options.

Calendar sync solves this by keeping all platforms updated with the same availability data. When dates are booked on any channel, the others block those dates automatically. This is why the iCal sync feature exists in the plugin — and why getting it configured correctly matters more than almost any other setting on a multi-channel property.

How Hotel Booking iCal Sync Works — and Its Real Limitations

iCal (the .ics format, defined by RFC 5545) is the standard format OTA platforms use to exchange availability data. Think of it like an RSS feed for your calendar — your WordPress site publishes an availability feed, and platforms like Airbnb subscribe to it and check for updates periodically.

The sync works in two directions. Both are required for full protection against double bookings:

📤

Export — WordPress → OTAs

Pro generates a unique iCal feed URL for each room. You paste this URL into Airbnb, Booking.com, and VRBO’s “Import Calendar” fields. Those platforms then pull from your WordPress feed on their own schedule and block the dates you’ve already sold.

Result: WordPress bookings appear as blocked on Airbnb and Booking.com

📥

Import — OTAs → WordPress

You copy the iCal export URL from each OTA platform and paste it into the plugin’s Import Calendar field per room. Pro fetches these feeds in the background on the sync interval you set and blocks those dates in your WordPress booking calendar automatically.

Result: Airbnb and Booking.com bookings appear as blocked in WordPress

⚠️ The fundamental limitation of iCal sync — not specific to this plugin

iCal sync is not real time. It’s a polling system — each platform checks for updates on its own schedule, typically every few hours. Airbnb generally updates within 15–30 minutes. Booking.com can take several hours. This means there is always a window between a new booking on one platform and the other platforms blocking those dates.

iCal also only carries availability status — booked or available. It does not transmit guest names, contact details, or pricing. You manage the full booking details on whichever platform the reservation was made.

For a single-property owner receiving a handful of bookings per month, iCal sync provides adequate protection. For high-volume properties or those listing across 4+ channels, a dedicated channel manager with API connections is the more reliable solution.

Pro Setup: Automatic Two-Way WordPress Hotel Calendar Sync

Requires an active Modern Hotel Booking Pro licence — navigate to Hotel Booking → Pro Experience → iCal Sync

With Pro active, the iCal Sync panel handles both directions automatically. WordPress imports OTA feeds in the background on the sync interval you set, blocking dates from Airbnb and Booking.com bookings without any manual action on your part. Here’s the setup:

1

Open Hotel Booking → Pro Experience → iCal Sync

In your WP admin go to Hotel Booking → Pro Experience → iCal Sync. You’ll see a room table showing each unit with its Export URL and connection status, plus an Automatic Sync Settings panel at the top. This section is only available with an active Pro licence.

2

Give your Export URL to each OTA

Copy the Export URL for each room from the room table. Then paste it into the Import Calendar field on each OTA:

  • Airbnb: Listing → Calendar → Availability settings → Connect calendars → Import Calendar → paste the URL
  • Booking.com: Extranet → Rates & Availability → Sync calendars → Import calendar → paste the URL (see the Booking.com section below for caveats)
  • VRBO: Listing → Calendar → Import Calendar → paste the URL
  • Google Calendar: Other calendars → From URL → paste the URL
3

Copy OTA export URLs and add them as connections per room

From each OTA, find and copy the Export Calendar URL:

  • Airbnb: Listing → Calendar → Availability settings → Export Calendar → copy URL
  • Booking.com: Extranet → Rates & Availability → Sync calendars → Export your calendar → copy URL
  • VRBO: Listing → Calendar → Export Calendar → copy URL

In the plugin, click the Actions button for the relevant room → add a new connection → select the platform, enter a label (e.g. “Airbnb Room 1”), paste the iCal feed URL → save. Repeat for each room and each platform.

4

Enable Auto-Sync, set Hourly, and test

In the Automatic Sync Settings panel at the top of the iCal Sync page: enable Auto-Sync, set the interval to Hourly, and enable Auto-Retry on Failure. Save Settings. You can also set an email notification address so you are alerted if sync failures exceed the threshold you define.

To test: make a test block on your WordPress calendar and check whether Airbnb shows those dates as unavailable after its next update cycle. Also make a test booking on Airbnb and confirm it appears as blocked in your WordPress calendar after the next hourly sync. Use the 🔄 Sync button on any room row to trigger an immediate manual sync for testing.

The Booking.com iCal Problem — and What to Do About It

Booking.com is the platform most likely to cause iCal sync frustration, and it’s worth being completely direct about why — so you understand this is a Booking.com platform policy direction, not a bug in the plugin.

Two things to understand upfront: (1) Modern Hotel Booking does not have a certified API connection to Booking.com — our Booking.com sync is iCal-based (Pro only). (2) Booking.com has stated publicly that their iCal sync feature is offered “as is,” will not be further improved, and is intended only for partners who haven’t yet chosen a proper connectivity provider. For reliable Booking.com sync, their own guidance points toward approved connectivity partners — see the third-party workarounds section below.

Issue 1: Booking.com’s iCal sync is intentionally limited — by design

Booking.com’s own partner community documentation states the Extranet calendar sync feature is meant for new partners who haven’t yet chosen a connectivity provider, is offered “as is,” receives little maintenance, and will not be improved. This is a deliberate policy direction: Booking.com wants professional properties using approved connectivity partners with certified API connections — not iCal. The iCal sync feature is a legacy option they are phasing out, not one they are developing.

This also explains why the Sync calendars option isn’t visible on all Extranet accounts — it is not being rolled out more widely. Some accounts see it depending on account age and type. If you can’t find it under Rates & Availability, contacting Booking.com partner support may help, but the platform’s own direction is away from iCal sync for active properties.

Issue 2: We cannot become a Booking.com connectivity partner

Booking.com’s connectivity portal is currently paused for new provider integrations entirely. Modern Hotel Booking is a WordPress plugin, not a channel manager or PMS seeking enterprise certification — so even if the portal were open, the approved connectivity partner programme is designed for dedicated channel management software, not individual WordPress plugins. This means a certified API connection between Modern Hotel Booking and Booking.com is not something we offer and is not on the roadmap.

Issue 3: When iCal does work on Booking.com, it is slow

Even when the Extranet iCal sync is accessible and configured, Booking.com does not poll feeds in real time — updates can take anywhere from a few minutes to several hours. A booking confirmed on your WordPress site at noon may not show as blocked on Booking.com until mid-afternoon. This is inherent to how the feature works and is not something the plugin can influence.

💡 Practical risk reduction while on iCal: During peak season when bookings are coming in quickly across multiple channels, consider temporarily raising your minimum stay on Booking.com to 2–3 nights. This gives a wider buffer period between a booking on one platform and the calendar updating on another. On beachhouse.ro during July and August, this is the approach — a slightly higher minimum stay on OTAs during peak months significantly reduces double booking exposure while the iCal delay window remains an inherent limitation.

Free Version vs Pro — What Each Version Actually Does

This matters enough to be completely clear about. OTA calendar sync — export URLs, automatic import, and background cron — is entirely a Pro feature found under Hotel Booking → Pro Experience → iCal Sync. The free version does include one iCal feature, but it is guest-facing only and has no connection to OTA availability. Here is exactly what each version provides:

FREE VERSION

Manual Date Blocking — No OTA Sync

  • Full booking calendar and reservation system
  • Accept direct bookings on your WordPress site
  • Block dates manually via Hotel Booking → Calendar & Pricing
  • AI Concierge virtual receptionist
  • ✅ iCal link in guest booking email — guest can save reservation to their personal calendar app (Google Calendar, Apple Calendar, Outlook)
  • ❌ No OTA export URLs — Airbnb/Booking.com cannot subscribe to your calendar
  • ❌ No OTA import — OTA bookings are not fetched into WordPress
  • ❌ No automatic sync of any kind with OTAs

When a guest books on Airbnb or Booking.com, you must manually block those dates in your WordPress admin. When a guest books on your WordPress site, you must manually update each OTA. There is no automated connection between your WordPress calendar and any OTA on the free version.

PRO VERSION

Automatic Two-Way OTA Calendar Sync

  • Everything in the free version, plus:
  • ✅ iCal Export URLs — one per room, paste into any OTA
  • ✅ OTA Import — paste OTA export URLs per room, plugin fetches automatically
  • ✅ Auto-Sync with configurable interval — Hourly recommended
  • ✅ Auto-Retry on failure — exponential backoff (1h → 2h → 4h)
  • ✅ Email alerts — notified when sync failures exceed your threshold
  • ✅ RFC 5545 hardened parser — handles malformed OTA feeds gracefully
  • ✅ Works with Airbnb, Booking.com, VRBO, and any iCal-compatible platform

💡 If you’re on the free version and listing on multiple OTAs: You can reduce double booking risk by syncing your OTAs directly with each other — Airbnb and Booking.com both support iCal import/export between themselves, independently of any WordPress plugin. You can also use a free external channel manager like NOBEDS which has direct API connections to Booking.com and Airbnb. See the third-party workarounds section below for both approaches.

Third-Party Workarounds — The Right Way to Handle Booking.com Sync

Given that Booking.com’s own iCal feature is intentionally limited and pointed toward end-of-life, and that we cannot offer a certified API connection to Booking.com, the honest recommendation is to use a proper solution for Booking.com distribution alongside our plugin. Here are two approaches that work:

Approach 1: Daisy-Chain Through Airbnb (Pro users — partial workaround)

Airbnb and Booking.com can sync their own calendars with each other using iCal — this is OTA-to-OTA and does not go through our plugin at all. If Pro syncs your WordPress calendar reliably with Airbnb, Airbnb can then propagate that availability to Booking.com via its own iCal export. The chain looks like this:

WordPress (Pro iCal) ↔ Airbnb ↔ Booking.com (Airbnb’s own iCal)

  1. Set up full Pro two-way iCal sync between WordPress and Airbnb (see Pro setup section above)
  2. In Airbnb: listing → Calendar → Availability settings → Export Calendar → copy the URL
  3. In Booking.com Extranet: Rates & Availability → Sync calendars → Import calendar → paste the Airbnb export URL → save
  4. In Booking.com Extranet: Sync calendars → Export your calendar → copy the URL
  5. In Airbnb: Calendar → Availability settings → Import Calendar → paste the Booking.com export URL → name it “Booking.com” → save

Important limitations: This adds an extra sync hop — total delay is compounded, and it still relies on Booking.com’s “as is” iCal import feature. This is a partial workaround, not a robust solution. Booking.com tends to accept Airbnb’s iCal more reliably than direct WordPress feeds, but the underlying limitation — that Booking.com’s iCal is deprioritised infrastructure — remains. For properties with regular booking volume on Booking.com, Approach 2 below is the more reliable long-term choice.

Approach 2: Approved Channel Manager with Booking.com API (recommended — free and Pro users)

The correct infrastructure for reliable Booking.com sync is a channel manager that holds Booking.com certified connectivity partner status — this gives a direct API connection, not iCal polling. NOBEDS offers a free cloud-based channel manager with a certified Booking.com API connection, meaning availability updates happen in real time the moment a booking is confirmed on any connected channel.

In this setup, NOBEDS becomes your OTA distribution hub. Your WordPress site with Modern Hotel Booking handles direct bookings — and you can connect NOBEDS back to the plugin via its own iCal export feed, which is already supported as a Custom connection in the Pro iCal Sync panel (as shown in the beachhouse.ro configuration where NOBEDS feeds are imported per room).

Note: We are not affiliated with NOBEDS. We recommend them because they solve the Booking.com sync problem with a certified API connection on a free tier. Other approved Booking.com connectivity partners include Lodgify, Hostaway, Guesty, Beds24, and Smoobu — most carry monthly fees. You can find the full list of certified partners on Booking.com’s connectivity portal at connect.booking.com.

Why we’re telling you all of this: Because if you rely solely on our plugin’s iCal connection to Booking.com and receive a double booking as a result, the cost to you — financial and reputational — is real. Our Pro sync works reliably with Airbnb and VRBO. For Booking.com, the platform’s own policy direction means iCal is not the right long-term answer, and we would rather tell you that clearly than imply otherwise. Use an approved channel manager for Booking.com distribution. Use our plugin for your direct booking engine. Both together is how serious multi-channel properties operate.

Sync Interval — How Often Your WordPress Hotel Calendar Updates

The sync interval controls how frequently WordPress checks your imported OTA iCal feeds and updates your booking calendar. Set this in the Automatic Sync Settings section of Hotel Booking → Pro Experience → iCal Sync. The recommended setting is Hourly for most properties.

Interval Double booking window Best for
Every 5–15 minutes Up to 15 minutes from the WordPress side High-traffic properties — increases server load, use only if needed
Hourly (recommended) Up to 1 hour from the WordPress side Most small and medium properties — practical balance of accuracy and server performance
Every 2 hours Up to 2 hours from the WordPress side Low-volume properties with few bookings — lower server load
Daily Up to 24 hours Not recommended for active multi-channel listings — double booking risk is too high

💡 Important to understand: The sync interval controls how often WordPress checks OTA feeds. It does not control how often Airbnb or Booking.com check your WordPress feed — that is determined by the OTA platform’s own polling schedule. Even at Hourly on the WordPress side, OTAs may still take 15 minutes to several hours to reflect the change on their end. Both sides of the sync have their own timing. The Auto-Retry on Failure setting handles temporary outages automatically so a brief feed error doesn’t leave your calendar unprotected.

Troubleshooting WordPress Hotel Calendar Sync Issues

OTA says “This isn’t a valid iCal URL” when I paste my WordPress export URL

The most common causes: (1) your site is on HTTP not HTTPS — OTA platforms require a secure URL for calendar imports, enable SSL first. (2) Your site is behind a maintenance or coming-soon plugin — the OTA cannot reach a page returning a non-200 status, deactivate maintenance mode and test. (3) Open your Export URL directly in a browser — you should see raw .ics calendar data. If you see a 404 or error page, regenerate the URL from the iCal Sync panel. (4) Confirm your Pro licence is active — Export URLs are only generated on Pro.

Booking.com says the sync is connected but dates aren’t updating

Booking.com does not fetch updates instantly — give it several hours after any calendar change before concluding the sync is broken. If it has been more than 24 hours with no update, go to your Extranet → Sync calendars → find the imported calendar → click Import now to trigger a manual refresh. If the URL shows as invalid, re-export your WordPress iCal URL from Hotel Booking → Pro Experience → iCal Sync and re-import it in the Extranet. If this is a persistent issue, see the third-party workarounds section above.

Airbnb bookings are not appearing as blocked in my WordPress calendar

Check: (1) you have added Airbnb’s export URL as an Import connection on the correct room in Hotel Booking → Pro Experience → iCal Sync — not in the Export field, (2) your Pro licence is active — automatic import is Pro only, (3) Auto-Sync is enabled in the Automatic Sync Settings panel, (4) the WordPress cron is running. Go to WP Admin → Tools → Site Health and check for scheduled task issues. If WP cron is disabled on your host, the automatic import won’t trigger — a server-level cron job or cron management plugin can fix this.

I can’t find the calendar sync option in my Booking.com Extranet at all

This is a known Booking.com issue — the calendar sync feature is not available to all property accounts due to A/B testing of the Extranet interface. Check under Rates & Availability and scroll down for a Sync calendars section. If it’s not there, contact Booking.com partner support at partner.booking.com and request access to the calendar synchronisation feature. In the meantime, use the daisy-chain or channel manager workarounds described above.

Still having issues?

Post on the WordPress.org support forum ↗ or email [email protected]. Include which OTA platform you’re syncing, which direction is failing (export or import), the room number, whether your site runs on HTTPS, and whether your Pro licence is active.

Frequently Asked Questions

Is WordPress hotel calendar sync free or does it require Pro?

OTA calendar sync — both export URLs and automatic import — requires Pro. The free version includes one iCal feature: a calendar link is included in the guest’s booking confirmation email so they can add the reservation to their personal calendar app. This is guest-facing only and has no connection to Airbnb or Booking.com availability sync. For OTA sync, you need Pro.

Why is my Booking.com iCal sync not working?

There are three layers to this. First, we do not have a certified API connection to Booking.com — our sync is iCal-based only. Second, Booking.com has publicly stated their Extranet iCal sync feature is offered “as is,” will not be improved, and is intended for partners who haven’t yet chosen a proper connectivity provider — it is deprioritised infrastructure. Third, the feature is not visible on all Extranet accounts. If iCal sync with Booking.com is critical to your operation, an approved channel manager with a certified Booking.com API connection — such as NOBEDS (free) — is the correct solution.

How long does hotel booking iCal sync take to update?

iCal sync is not real time — it’s a polling system. The plugin checks imported OTA feeds on the interval you set (Hourly recommended). OTA platforms check your WordPress feed on their own schedule — Airbnb typically within 15–30 minutes, Booking.com potentially several hours. There is always a window of double-booking risk inherent to iCal sync regardless of plugin or settings.

Can I sync my WordPress hotel calendar with Airbnb for free?

No. iCal sync with Airbnb requires the Pro version. The free version does not generate iCal export URLs that Airbnb can subscribe to, and does not import Airbnb’s calendar feed. The only iCal feature in the free version is a calendar link in the guest’s booking confirmation email — for their personal calendar only, with no connection to Airbnb. For automatic two-way sync with Airbnb, you need Pro.

What OTA platforms does the hotel iCal sync support?

Any platform that supports the standard iCalendar format (RFC 5545) — including Airbnb, VRBO, Google Calendar, NOBEDS, Travelminit, and any OTA that accepts iCal import URLs. Booking.com iCal import is technically possible but subject to Booking.com’s own policy: they have stated this feature is “as is,” not being improved, and is intended for partners not yet using a proper connectivity provider. For reliable Booking.com sync, an approved channel manager with a certified API connection is the correct approach — not iCal from any source.

How do I reduce double booking risk on the free version?

Three practical steps: (1) Sync your OTAs directly with each other — Airbnb and Booking.com both support iCal import and export between themselves, independently of any WordPress plugin. (2) After every OTA booking, immediately block those dates manually in your WordPress calendar via Hotel Booking → Calendar & Pricing. (3) Consider a free channel manager like NOBEDS that has direct API connections to Booking.com and Airbnb for instant sync. Your WordPress site handles direct bookings; the channel manager handles OTA distribution.

How does the plugin handle malformed iCal feeds from OTA platforms?

The iCal parser in Modern Hotel Booking Pro is hardened to RFC 5545 standard compliance — it handles CRLF line ending normalisation, DURATION fallback for events without explicit end dates, TRANSPARENT event filtering so non-blocking events don’t incorrectly close availability, and automatic cleanup of stale cached feed data. This means OTA feeds that aren’t perfectly formatted are still processed reliably rather than failing silently.

Need automatic sync?

Upgrade to Pro to eliminate manual date blocking after every OTA booking. Automatic two-way iCal sync with hourly cron, auto-retry on failure, and email alerts keeps your WordPress calendar and all connected OTAs in sync without any manual action required.

Modern Hotel Booking is a lightweight, zero-commission reservation engine and 24/7 AI Concierge receptionist for WordPress.

Keep 100% of your revenue and own your guest data.

© 2026 Modern Hotel Booking. All rights reserved.

Built with love for independent property owners.