WordPress booking calendar sync vs Airbnb and OTAs

How Do You Sync Airbnb and Vrbo Calendars Without Double Bookings?

Last updated: August 8, 2026

You sync Airbnb and Vrbo calendars by copying each platform’s iCal export link into the other platform’s import field, then doing the same with your WordPress site’s own iCal booking calendar if you run one. That blocks dates across channels with no extra software. It won’t stop every double booking, because iCal is not a live connection. Each platform fetches the other’s file on its own timer: Airbnb about every 3 hours, Vrbo about every 30 minutes, Booking.com about every 2 hours, each figure per that platform’s own help documentation. Between two pulls, a date can be booked on one channel and still read as open on another. The rest of this guide covers the setup steps in order, the delay you can’t design away, and what to do when a double booking lands anyway.

Disclosure first: we build and sell WPRentals, a WordPress rental theme with this same iCal sync built in. So the mechanics come first.

How Does iCal Calendar Sync Actually Work?

An iCal feed is a plain text file sitting at a URL. It follows the iCalendar standard, RFC 5545, and its entire job is to list date ranges as busy. Start date, end date, a marker saying those nights are taken. That is the payload.

Here is the part that catches hosts out. Nothing in that format pushes anything anywhere. No webhook, no notification, no signal that fires the moment a booking is confirmed.

Each side, Airbnb and Vrbo and Booking.com and your WordPress site alike, downloads the other side’s file on a schedule it sets for itself. A change on one calendar stays invisible to the other until that side runs its next fetch.

That is also why each dashboard has two fields, iCal import and iCal export: two one-way arrangements, not one connection.

The rule holds at every hop, which is what makes three and four channel setups messy. Your site pulling Airbnb is one loop; Airbnb pulling your site is another, on a separate clock. Add Vrbo and Booking.com and you’re running six or eight independent timers that have never heard of each other. iCal sync in WordPress is a stack of one-way downloads, not a mesh.

Our own export side shows the shape of it. WPRentals rebuilds its calendar file live on every request, with no caching layer, as our guide to how iCal sync works covers in more detail. Whoever asks gets the database state at that instant, so what we hand Airbnb is limited only by how often Airbnb asks.

iCal is not a live connection, in either direction, on any platform. Sync is not instant. Here are the numbers.

Why iCal Calendar Sync Always Has a Delay: The Polling Floor

Each platform publishes how often it goes looking. Those figures are the floor under your exposure.

  • Airbnb: “Your Airbnb calendar automatically updates every 3 hours,” per Airbnb’s own help documentation. The manual refresh is rate limited: in Airbnb’s words, “we’re only able to request updates from the other website so many times.”
  • Vrbo: “Calendars sync every 30 minutes,” a figure Vrbo gives in its own calendar-import documentation, stated there for the Owner app import flow rather than as a platform-wide guarantee. The same page notes imported events “may take up to 20 minutes to appear.”
  • Booking.com: imports any connected calendar “every two hours,” and states, in its own words, “Calendars aren’t synced in real time and can take up to two hours to refresh.”

WPRentals sits on the same kind of timer. The theme pulls each connected feed every 3 hours, on a WordPress cron schedule we named hourlythree (10,800 seconds), registered unconditionally in our own source. No admin setting overrides it; the value is hardcoded.

Now the arithmetic hosts get wrong. Ours is 3 hours and Airbnb’s is 3 hours, which looks like a match. It isn’t: two independent polling loops on two independent clocks that never coordinate.

Your exposure in any overlap is the sum of whichever two timers are involved, not either alone. None of these figures is a promise, only a platform’s own stated typical value.

One caveat on our own side. WPRentals runs on WP-Cron, and per WordPress’s own Plugin Handbook, WP-Cron “does not run constantly as the system cron does; it is only triggered on page load.” On a low-traffic direct-booking site the gap between pulls can run well past 3 hours because nobody visited. The fix is a real server-level cron job hitting wp-cron.php on a fixed schedule. Counting on visitor traffic makes the 3-hour figure aspirational.

Picture a two-bedroom cottage on Airbnb and Vrbo, plus a WordPress direct-booking site as a third calendar. A weekend booking lands on Airbnb Friday morning. Airbnb closes those nights at once, but Vrbo and the WordPress site haven’t run their next imports. Until they do, that weekend reads as available in two places, which is how availability calendars and iCal sync behave.

How Do You Sync Your Airbnb and Vrbo Calendars With a WordPress Site?

Two-way sync isn’t one setting. It is two separate one-way feeds pointed at each other, and you build each direction on its own.

  1. Copy Airbnb’s calendar export (iCal) link for the listing.
  2. Paste that link into your WordPress site’s calendar import field for the matching property.
  3. Copy your WordPress site’s own calendar export (iCal) link for that same property.
  4. Paste the WordPress link into Airbnb’s calendar import field.
  5. Repeat steps 1 to 4 for Vrbo, then again for Booking.com if you list there.
  6. Verify: block a test date on one platform, then confirm it shows blocked on the others only after each one’s next scheduled pull, not right away.

Export before import, every time. You can’t point Airbnb at your site until your site has produced its own export URL for that property. Build the outbound side first, then collect the inbound ones.

On a WPRentals property, both fields live on the same calendar tab in the property edit screen. One box holds the feeds you pull in, and the export URL you hand out sits right above it, ready to copy. Full walkthrough here: sync external calendars with your rental site.

Vrbo adds two constraints. Import is capped at up to five calendars per property, and it works only through the Vrbo Owner Dashboard or app, not when the property is managed through third-party property-management software, both per Vrbo’s own help documentation.

If you’re still choosing tools, check one thing: a WordPress booking plugin with calendar and payments should include iCal import and export both, not just one direction. A tool that imports but never publishes an export leaves every OTA blind to bookings taken on your own site, so check both directions before you buy. That half-finished setup can cause exactly the double bookings you set the sync up to prevent.

When Does Calendar Sync Break in Practice?

Four failure modes are documented by the platforms themselves.

Airbnb’s manual refresh has a ceiling. Per Airbnb’s own help documentation, “we’re only able to request updates from the other website so many times.” Hammer it on a busy weekend and you wait for the scheduled cycle anyway.

Cleaning buffers don’t travel over iCal. Airbnb’s own documentation on blocked calendar nights lists preparation time, minimum nights and advance notice as native settings, separate from any connected calendar. An iCal-only setup with no native buffer can leave a checkout day open to a same-day booking you meant to hold for turnover.

Wrong mappings cause overbookings. Booking.com’s own “Handling overbookings” page lists missing mappings as one cause, alongside connection issues and differences between a property management system and the Extranet. Scope matters: it names those for channel-manager-connected accounts, not for a pure iCal-to-iCal setup.

Vrbo caps imports at five calendars per property, per its own help documentation. Cross-import every channel into every other and you reach it fast.

Two more failure modes come up constantly and are documented by no platform, so treat them as reports, not facts. One troubleshooting guide describes a reset source URL that the receiving side keeps re-fetching as a dead link, with no error surfaced to the host, and some platforms dropping a feed after repeated failures. A host in an Airbnb Community thread says the connection sometimes gets lost and needs checking regularly. One host’s experience, not a platform statement.

So “check often” is useless advice. Give it a time. Open every connected calendar at a fixed point each morning and read them against each other.

Then block the date manually the moment a request arrives on any channel, rather than waiting for confirmation and the next poll cycle. Thirty seconds of blocking is cheaper than the $50 minimum host cancellation fee both Airbnb and Vrbo publish.

The risk compounds with scale, not with speed. A manager running 12 units across three OTAs plus a WordPress hub is hand-mapping dozens of feed URLs. Point one unit’s import field at another unit’s export URL and that unit silently carries the wrong property’s dates while the other 11 sync correctly.

Nothing errors, so the mistake can go unnoticed until a guest arrives. Worth reading up on iCal sync with major portals first.

Recovering From a Double Booking

It happens eventually. The cost depends on the platform and how close to check-in you are.

Per Airbnb’s own Host Cancellation Policy, it charges a tiered host cancellation fee on the reservation amount, $50 USD minimum: 10 percent more than 30 days out, 25 percent between 48 hours and 30 days, 50 percent within 48 hours or after check-in. The same policy names double-booking as a covered cause and applies the fee regardless of who clicks cancel.

Vrbo is steeper. Its own Host Cancellations Policy lists “the host double-books the listing” as prohibited: 10 percent more than 30 days out, 25 percent between 48 hours and 30 days, 50 percent within 48 hours, up to 100 percent at or after check-in. The same policy sets a $50 minimum with no maximum for hosts paid out in USD, and an approximate equivalent in other currencies. It adds that Vrbo may block the original dates, and suspends the listing for seven days absent an approved waiver.

Booking.com publishes no percentage schedule, an obligation instead: move the guest to a room or unit of the same or better standard if you can, and if you can’t, in the platform’s own words, “it’s your responsibility to find your guest accommodation elsewhere, of the same or a better standard,” and cover the costs. On transportation the page is softer: organizing it to the new accommodation is “a good idea,” or you might have to reimburse it later. Its commission waiver has two stated conditions (fewer than 30 days on the platform, and no more than four double bookings in 12 months) without spelling out how they combine.

Across all three, contact the platform’s support channel before you cancel anything. The Airbnb and Vrbo fee schedules apply to host cancellations generally, so there’s nothing to gain by handling it quietly. Move the second guest to a comparable unit, or pay for comparable accommodation elsewhere.

If it happens more than once, the fix sits upstream, which is where booking plugins with iCal sync compared beats another cancellation policy.

What iCal Sync Cannot Do, No Matter Which Product You Buy

The format has a hard ceiling, written into the spec. An OTA availability export is a published calendar, and RFC 5545 states the ATTENDEE property “MUST NOT be specified” when publishing calendar information. So no guest identity travels as structured data, and in practice an availability export carries a blocked date range and at most an opaque summary line, not contact details, a guest count, or a rate.

  iCal feed API channel manager
Latency Scheduled polling on each platform’s own timer. No push channel exists in the format. Event driven, per the category’s own literature. Treat vendor promises of immediacy and near-perfect uptime as marketing, not measured figures.
Data carried Busy and free date ranges plus an optional opaque note. Rate plans and minimum-stay restrictions too, because it talks to each platform’s reservation API.
Cost Free. Built into each OTA’s own host dashboard. A flat monthly fee per property, a percentage of gross booking revenue, or a negotiated contract for a large portfolio, per the hotel technology publication Smart Order.

The honest sizing line, and it applies to our own customers: iCal holds up fine while the polling gap is your biggest risk. Once hand-mapping feeds across units and channels is the likeliest thing to go wrong, an API channel manager (sometimes marketed as an Airbnb Vrbo aggregator) starts earning its fee. WPRentals gives you an all-in-one calendar for bookings on your own site, but the polling mechanics above don’t change: cross-platform sync is still iCal, still on a timer.

Key Takeaways

  • iCal sync is polling based: each platform fetches a static file on its own timer, never a live push connection.
  • Airbnb states about every 3 hours, Vrbo about every 30 minutes, Booking.com about every 2 hours, in their own documentation.
  • WPRentals pulls connected calendars every 3 hours through WP-Cron, which fires on a page load, not a fixed clock.
  • Your real double-booking exposure is the sum of both polling intervals involved in an overlap, not either one alone.

Frequently Asked Questions

How do I link my Airbnb calendar to Vrbo?

Copy Airbnb’s calendar export link into Vrbo’s import field, then copy Vrbo’s export link into Airbnb’s import field. If a WordPress site is in the chain, a third link goes each way, using the calendar tab on a WPRentals property. Neither side is instant.

How long does it take for iCal sync to update across platforms?

Airbnb states about 3 hours, Vrbo about 30 minutes, and Booking.com about two hours, each in its own help documentation. Your real exposure is the sum of the two timers involved. WPRentals adds a 3-hour cron that fires only when someone loads the site.

Should I use iCal or an API channel manager for faster updates?

iCal is free, built into the Airbnb, Vrbo and Booking.com dashboards, and included with WPRentals at no extra cost, but it carries only busy and free dates on a poll cycle. An API channel manager pushes changes sooner and carries rates and restrictions, at a real monthly cost you have to weigh.

What does an iCal feed not sync?

Rates, restrictions, messages, and guest identity as structured data. RFC 5545 excludes attendee identity from a published calendar by specification, so an availability feed carries a blocked date range and at most an opaque summary line. The WPRentals export follows the same rule.

Share the Post:

Related Posts