All posts

How to Sync Your Airbnb and Booking.com Calendars (2026 Guide)

The exact click paths for two-way iCal, why Booking.com hides the option for many properties, the rate-plan and payment traps, and when to move to real-time API sync.

To sync Airbnb and Booking.com and stop double bookings, connect each platform's iCal export link into the other, in both directions, per room type. That is free and blocks booked dates automatically, but it only moves availability and updates on a delay (Airbnb refreshes every 3 hours). For real-time, two-way protection that also syncs rates, minimum stays and restrictions, use a channel manager with a direct API connection. This guide gives you the exact click paths, then the trade-offs, the Booking.com-specific traps, and how to know when to upgrade.

#TL;DR

  • Free method: Connect Airbnb's and Booking.com's iCal links into each other, both directions, per single-unit room type. It syncs availability only and lags (Airbnb updates every 3 hours; Booking.com states only that it is "not real time"), so a same-day gap can still double-book you.
  • Real-time method: A channel manager's direct API sync moves availability, rates, rate plans, min stays, restrictions and reservations in seconds, handles multi-unit room types, and is the only safe option once you take same-day bookings, run 3+ listings, or need rate sync.
  • Recommendation: Start free with HostPort's unified iCal calendar ($0, unlimited listings), then switch on direct two-way API sync at a flat $10 per synced listing per month for the listings where a double booking would actually hurt.

#Key Findings

  • Booking.com gates iCal. Calendar sync is only offered if your property is open, has 20 room types or fewer, each room type has a maximum of one unit, you are not on an XML/channel-manager connection, and your user has Rates & Availability permission. A room type with quantity greater than 1 is the most common reason the option disappears.
  • iCal syncs availability and nothing else. No prices, rate plans, minimum stays, restrictions, guest details or messages. Cancelled dates reopen only on the next refresh.
  • The refresh gap is real and quantifiable. Airbnb pulls external calendars every 3 hours; Booking.com publishes no interval. A booking made just after one platform's last pull can stay bookable on the other for hours.
  • A double booking is expensive on both sides. Airbnb charges a host cancellation fee of 10/25/50% ($50 minimum) plus Superhost damage; Booking.com makes you relocate the guest at your cost and still charges commission.
  • Booking.com's rate-plan structure breaks channel-manager setups. Read-only rate plans trigger a "no usable rate plans" error that only your Booking.com account manager can fix by XML-enabling them.
  • Airbnb's API imposes hard rules: owner-only connection (no co-hosts), Smart Pricing off, Instant Book on, content locked to your software, and a 15.5% host-only fee for software-connected hosts.

#Details

#Before you start: does Booking.com even let you use iCal?

Booking.com blocks iCal for many hosts. Check this first, because the whole free method depends on it.

Booking.com's own rule: calendar syncing "isn't available for all property types. To import or export calendars, your property needs to have 20 room types or less, and a maximum of one unit per room type. Your property also can't use XML connectivity services like property management systems or channel managers."

So iCal sync works only if all of these are true:

  • Your property is open and bookable.
  • You have 20 room types or fewer.
  • Each room type has a maximum of one unit (quantity of 1).
  • You are NOT connected to a channel manager or PMS via XML.
  • Your extranet user has Rates & Availability permission.

To check: log in to the extranet, click Rates & Availability. If you see Sync calendars in the drop-down, iCal is available to you. If you do not see it, one of the conditions above is failing (most often, a room type with quantity greater than 1, or an existing XML/channel-manager connection).

This is the single biggest reason the "Sync calendars" option goes missing. If you run one apartment as a single unit, you are fine. If you run a property with a room type that has 3 identical rooms, iCal cannot represent "2 of 3 booked", so Booking.com does not offer it for that setup. In that case, skip to the channel manager method.

#Booking.com's model in one minute (why this is different from Airbnb and Vrbo)

Airbnb and Vrbo think in listings. Booking.com thinks like a hotel: Property > Room types > Rate plans.

  • Property: your building or account (one Hotel ID).
  • Room type: a bookable unit or category ("Entire apartment", "Double room"). A room type has a quantity (how many identical units exist).
  • Rate plan: a price-and-conditions package attached to a room type (Standard, Non-refundable, Genius, weekly). One room type can carry several rate plans.

iCal operates at the room type level, and only when quantity is 1. It moves availability, nothing else. It cannot see or touch rate plans. This is why hosts who came from Airbnb get confused: on Booking.com you are not syncing "a listing", you are syncing one single-unit room type's open/closed dates.

#Method comparison

Method A: Direct iCal (Airbnb ⇄ Booking.com)Method B: iCal through a hub / unified calendarMethod C: Direct API through a channel manager
CostFreeFree or cheapPaid (e.g. HostPort $10/listing/month)
What syncsAvailability (booked/blocked dates) onlyAvailability onlyAvailability, rates, rate plans, min stay, restrictions, reservations, messages
SpeedDelayed. Airbnb pulls every 3 hours; Booking.com not real-timeDelayed (hub polls on its own schedule)Real-time (seconds)
Multi-unit room typesNo (quantity 1 only)NoYes
Rates / min stay / restrictionsNoNoYes
Guest details / messagesNoNoYes
Double-booking riskReal, during the refresh gapReal, during the refresh gapMinimal
Best for1 single-unit property, low volumeA few listings, want one calendar viewAny host who wants real protection or rate sync

#Method A: Free two-way iCal, step by step

Do this in both directions. If you only import one way, a booking on the un-exported side will not block the other side, and you will get double booked.

Step 1: Export your Airbnb calendar link. Airbnb desktop (verified against Airbnb Help Centre Article 99, 2026):

  1. Click Calendar and select the listing.
  2. Click Availability.
  3. Under Connect calendars, click Connect to another website.
  4. Copy the Airbnb calendar link (the export URL, ends in .ics).

Note on older wording: some guides still say "Pricing and availability > Calendar sync". The current desktop path is Calendar > Availability > Connect calendars > Connect to another website. The Airbnb mobile app is limited for calendar connections; use a desktop browser for setup.

Step 2: Import the Airbnb link into Booking.com.

  1. Log in to the Extranet.
  2. Click either Rates & Availability then Calendar, or Calendar & Pricing (depends on your extranet view).
  3. Click Sync calendars.
  4. Click Add calendar connection, paste the Airbnb .ics URL, name it "Airbnb", then click Next step.
  5. Click Done. Status shows Activating, then changes to OK once connected.

Step 3: Export your Booking.com calendar link.

  1. Same screen: Rates & Availability > Calendar > Sync calendars.
  2. In the export step, click Copy link to copy your Booking.com iCal export URL.
  3. Under Export options, choose whether to export Booked dates only or both Booked and closed dates. (Exporting closed dates too is safer for avoiding double bookings.)

If you have more than one room type, each single-unit room type has its own separate export link. Export the correct one for the matching Airbnb listing.

Step 4: Import the Booking.com link into Airbnb.

  1. In Airbnb: Calendar > Availability > Connect calendars > Connect to another website.
  2. Under the import section, paste the Booking.com .ics URL into the calendar address field.
  3. Give it a name ("Booking.com") and click Add calendar.

Step 5: Verify it worked.

  1. Wait for the first sync, then do a test block: block a test date on Booking.com, wait for Airbnb's next refresh (or force one), and confirm the date greys out on Airbnb. Then reverse the test.
  2. Check the guest view: open your Airbnb listing in a private/incognito window and try to book the test date. It should be unavailable.
  3. Remove the test block on both sides when done.

Refresh frequency and forcing a manual refresh.

  • Airbnb: Per Airbnb Help Centre Article 99, "Your Airbnb calendar automatically updates every 3 hours and pulls in information from the other calendars you've connected. To check your latest availability sooner than 3 hours, you can go to your connected calendar and select Refresh." To pull sooner: Calendar > Availability > Connect calendars > Connect to another website > choose the imported calendar > Refresh Calendar. Airbnb limits how often you can request updates, so if you exceed that you wait for the next automatic update.
  • Booking.com: does not publish a specific interval. Its official article only says calendars "aren't synced in real time." You can force a pull with the Import now button on the Sync calendars page. Third-party estimates of Booking.com's interval vary widely (from under an hour to 24 hours) and are not authoritative, so treat any exact number you see elsewhere with caution.

What Method A does NOT sync. iCal moves availability and nothing else. It does not sync prices or rate plans; minimum-stay rules or other restrictions; guest details, messages, or reservation data; or cancellations instantly (a freed-up date reopens only on the next refresh). You keep prices and rules aligned by hand on each platform.

#Booking.com rate plans explained (and why channel managers choke on them)

If you move to a channel manager (Method C), Booking.com's rate-plan structure is where setups break. Know this before you connect.

  • Standard/base rate plan: your main sellable rate. A channel manager needs at least one rate plan it can write to.
  • Derived / child rate plans: rates calculated from a parent (e.g. "Non-refundable = base minus 10%"). Booking.com derives them; your channel manager usually should not push them directly.
  • Read-only rate plans: rate plans the channel manager cannot update. You will see a note like: "This rate is connected. You can receive reservations via channel manager but you need to update your availability via the Extranet."

The classic error during setup is: "There are no usable rate plans configured for this channel. It's possible that they are all read-only, which means that we cannot update them." This happens when all your rate plans are read-only. The fix is not Booking.com customer support. You must ask your Booking.com account manager to make your rate plans XML-enabled. Only then can a channel manager control rates and availability.

Other Booking.com mechanics that matter:

  • Once you connect a channel manager via XML, iCal sync is disabled, and the extranet stops being where you set rates and availability. Your channel manager becomes the master. This is by design.
  • Occupancy-based pricing: Booking.com can price by number of guests. Confirm your channel manager supports pushing occupancy pricing, or you will lose that pricing logic.
  • Switching connectivity providers without going offline: Booking.com lets you change connectivity providers without taking the property offline. Go to Account > Connectivity provider > Switch providers. Do not deactivate the old connection first; you stay connected until the new one is fully mapped, so you do not miss bookings.
  • Content ownership: when a provider is connected with full sync, it can push descriptions, photos and content. Decide whether you want the channel manager or the extranet to own content, and set the sync mode accordingly (limited = rates and availability only; everything = content too).

#Payments, VCCs and overbooking on Booking.com

Booking.com's payment model changes what a double booking costs you and how you get paid.

Payments by Booking.com (Channel Collect) vs host-collect. With Payments by Booking.com, the guest pays Booking.com and you get paid via a virtual credit card (VCC), a single-use Mastercard tied to the reservation. With host-collect, you charge the guest's card yourself.

VCC activation dates. A VCC can only be charged from its activation date. For non-refundable bookings that is often the booking date; for other reservations you can charge it once the booking is at least 90% non-refundable, or the day after check-in, depending on the policy. Charge before the activation date and the card declines. Funds may also lag the stated activation date by a few days.

Why a damage deposit does not fit on a VCC. The VCC holds the exact reservation balance and nothing more. It has no spare credit limit, so you cannot authorise a security or damage deposit against it. Collect deposits separately with the guest's own card or a guest portal.

Reporting invalid cards and no-shows. You can mark a credit card invalid from the moment of booking up until midnight (00:00) on the check-in day, in your property's local time. Once marked invalid, the guest gets an email and SMS asking for new card details, normally within 24 hours (2 hours for last-minute bookings of ten or more room-nights). Mark a card invalid before the monthly invoice generates and Booking.com will not charge you commission on that booking. No-shows are marked in the extranet's Reservations section.

Overbooking is expensive. If you get double booked on Booking.com, you must relocate the guest to accommodation that is the same or better, at no extra cost to them, and cover transport and the price difference. And you still owe commission on the overbooking "because the room was made available on Booking.com." The only exceptions: your property has been live for fewer than 30 days, or you have had fewer than 5 overbookings in 12 months. Overbookings also hurt your ranking.

Commission stacking. Booking.com's base commission is around 15% but the effective rate stacks:

  • Genius: you fund the discount, applied to your cheapest or best-selling room. The tiers are fixed minimums: Genius Level 1 is at least 10% off; Level 2 (for guests with 5+ stays in 2 years) a minimum 15%; Level 3 (15+ stays) a minimum 20%. There is no extra commission, but you absorb the discount and pay commission on the discounted rate.
  • Preferred Partner: roughly 3 percentage points on top of base (about 18% total) for a visibility boost.
  • Preferred Plus: top-tier, roughly 8 points on top (about 23% total).
  • Visibility Booster: you bid extra commission for better placement on chosen dates.

These stack. A Genius rate on a Preferred Partner property means you pay ~18% on a rate you already discounted 10-20%. This matters for per-channel markups (below).

#Airbnb mechanics that affect API sync

If you connect Airbnb through a channel manager, Airbnb imposes rules you cannot change:

  • Owner account required: only the listing owner can make an API connection. Airbnb does not let co-hosts connect or disconnect listings via any channel manager. You also connect as a professional/pro host.
  • Smart Pricing is disabled on API-connected listings. Rates come from your channel manager (or a pricing tool plugged into it), not Airbnb's Smart Pricing.
  • Instant Book is auto-enabled on connection and generally cannot be turned off from the Airbnb dashboard. Some channel managers can request "request to book" behaviour, but assume Instant Book is on.
  • Content locks to your software: pricing and availability settings move out of the Airbnb dashboard and must be managed in your connected software.
  • The 15.5% host-only fee: software-connected (PMS/channel-manager) hosts pay a single 15.5% host-only fee (16% in Brazil). Per Guesty's summary of the rollout, new PMS-connected accounts defaulted to it from August 25, 2025; most existing PMS-connected hosts transitioned automatically on October 27, 2025; and hosts not connected to a PMS moved to the 15.5% model from December 1, 2025, with remaining groups following into 2026. The old ~3% host + guest-fee split ended for these hosts. To hold the same net payout after absorbing 15.5%, you raise your rate by about 18.34% (PriceLabs: "Airbnb's Host-Only Fee 15.5% → Required PMS Markup +18.34%... it's about keeping earnings even").
  • API-delivered discounts stack multiplicatively: Airbnb's mobile-only (10%) and top-rated guest (15%) discounts are delivered via the API and their percentages are fixed by Airbnb. They do not add up to 25%. They compound: final price = base × (1 − mobile) × (1 − top-rated). On a $200 base with both, that is $200 × 0.90 × 0.85 = $153.
  • Superhost cancellation threshold: host-initiated cancellations must stay under 1% over the trailing 365 days. For most hosts (fewer than 100 bookings a year) that means effectively zero cancellations. A double-booking cancellation counts against it.

#Method B and C: connecting both channels in a channel manager

Order of operations matters. Get this wrong and you lose reviews, ranking, or go offline.

  1. Link existing listings; never create new ones. Import your live Airbnb listing and your live Booking.com property into the channel manager. Creating fresh listings loses your reviews, your Airbnb search ranking, and your Booking.com review score.
  2. Map Booking.com room types and rate plans to the channel manager's units and rates. Every unmapped room type or rate plan will not sync, which causes availability gaps and overbookings.
  3. XML-enable read-only rate plans. If you hit "no usable rate plans", email your Booking.com account manager and ask them to make your rate plans XML-enabled.
  4. Set per-channel markups to offset fees. Airbnb takes 15.5% from you now; Booking.com ~15%+ with any Genius/Preferred stacking. Mark up each channel so your net is what you want (roughly +18.34% on Airbnb to fully offset 15.5%).
  5. Turn off Airbnb Smart Pricing (it is incompatible with API anyway) and connect your pricing tool (e.g. PriceLabs) to the channel manager instead.
  6. Decide Instant Book. Assume it is on for Airbnb API.
  7. Remove the old direct Airbnb ⇄ Booking.com iCal links once the channel manager is live. If you leave the old iCal feeds connected while the API is also managing the same listings, feeds loop and duplicate, causing phantom blocks and availability errors. On Booking.com, connecting the channel manager via XML disables iCal automatically; on Airbnb, disconnect the old imported calendar manually.

Never chain three or more calendars in a loop (Airbnb → Booking.com → direct site → Airbnb). Use one master (the channel manager) and connect everything to it, not to each other.

#The double-booking window, quantified

iCal is a "pull" system. Each platform fetches the other's calendar on its own schedule, so there is always a gap where both show a date as free.

Worked example. A guest books your place on Booking.com at 2:00pm.

  • Airbnb does not know yet. Airbnb only pulls Booking.com's feed every 3 hours. If the last pull was 1:00pm, Airbnb will not see the Booking.com booking until 4:00pm.
  • Between 2:00pm and 4:00pm, that date is still bookable on Airbnb.
  • If a second guest books it on Airbnb at 3:00pm, you are double booked. Neither platform did anything wrong; the feed just had not refreshed.

Same-day and last-minute bookings are the danger zone, because the stay starts before the next refresh closes the gap. High-demand dates make it worse, since two guests are more likely to target the same night.

What it costs you:

  • Airbnb: cancelling costs 10% (more than 30 days out), 25% (48 hours to 30 days), or 50% (48 hours or less/after check-in) of the reservation, with a $50 minimum. The dates get blocked so you cannot rebook them, an automated note may appear on your listing, and it counts against Superhost's under-1% cancellation threshold.
  • Booking.com: you relocate the guest to equal-or-better accommodation at your cost (transport plus price difference), and you still owe commission unless you are under the two exceptions (live under 30 days, or fewer than 5 overbookings in 12 months). Your ranking takes a hit.

#Best practices if you stay on free iCal

  • Sync both directions for every listing. One-way sync guarantees eventual double bookings.
  • Name imports clearly ("Booking.com – Flat 2") so you can spot a broken feed.
  • Add buffer days if your turnovers are tight; the refresh gap eats into same-day changeovers.
  • Avoid instant confirmation on the slower-refreshing side for same-day stays.
  • Manually refresh after every booking, especially near-term ones. Use Airbnb's Refresh Calendar and Booking.com's Import now.
  • Audit weekly: check the "last synced" timestamp on each connected calendar. Airbnb shows the last update time per calendar.
  • Re-export and re-import a link if a feed goes stale or stops updating.
  • Do not chain three or more calendars in a loop.
  • Keep rates aligned by hand, applying your channel markups so your net matches across platforms.

#Troubleshooting

  • Dates not blocking: you probably synced only one direction, or the receiving platform has not refreshed yet. Confirm both import links exist and force a manual refresh.
  • Booking.com "Sync calendars" option missing: you fail an eligibility rule. Most likely a room type with quantity greater than 1, an existing channel-manager/XML connection, the property not being open/bookable, or your user lacking Rates & Availability permission.
  • Feed not refreshing: the link may have changed or the platform rate-limited your manual refreshes. Wait for the automatic cycle, then re-export the link if it is still stale.
  • Phantom blocks (dates blocked with no booking): usually a looped feed (calendar A imports B which imports A). Break the loop; use a single master.
  • Duplicate blocks: the same channel is connected twice (e.g. iCal plus API). Remove the iCal link once API is live.
  • Time-zone shifts (a block lands one day off): mismatched time zones between the two accounts. Align the property time zone on both.
  • Cancelled booking not reopening the date: iCal reopens dates only on the next refresh. Force a manual refresh on both sides.
  • Room type showing wrong availability: you synced or mapped the wrong room type's link. Each single-unit room type has its own iCal URL.
  • "No usable rate plans" (channel manager): all rate plans are read-only. Ask your Booking.com account manager to XML-enable them.
  • Unmapped bookings (a reservation with no matching unit in your channel manager): a room type or rate plan exists on the OTA but not in the channel manager. Map it.
  • iCal link changed after edits: some edits regenerate the URL. Re-copy the current export link and re-paste it into the other platform.
  • Airbnb import errors (URL rejected): the link must end in .ics. Copy the raw export URL, not a shortened or web page link.

#When to switch from iCal to API sync

Move from free iCal to paid API sync when any of these is true:

  • You had a double booking or a near miss.
  • You run Instant Book (or want to) on both platforms.
  • You take same-day or last-minute bookings.
  • You have 3 or more listings, or any multi-unit room type on Booking.com (iCal cannot do these).
  • You need rate, rate-plan, occupancy or restriction sync, not just availability.
  • You are adding Vrbo, Expedia or Agoda.
  • You run dynamic pricing (e.g. PriceLabs) and want it pushed everywhere.
  • You add a co-host or cleaner and need shared access and roles.

#Recommendations

The recommended setup: HostPort. For hosts who want this done properly, HostPort is the simplest way to sync Airbnb and Booking.com.

Stage 1 — Start free. HostPort's free-forever tier gives you unlimited listings on iCal sync, a unified calendar across Airbnb, Booking.com and Vrbo, a mobile app (web and iOS/Android), and a direct booking page, at $0 with no time limit and no credit card. This is Method B: one calendar view instead of juggling tabs, still on the free iCal delay. Use it if you run one or two single-unit properties at low volume.

Stage 2 — Turn on real-time protection when you cross a trigger. For real-time two-way sync, switch on direct API sync per listing for a flat $10 per synced listing per month, with no contract and no setup fee. Paid sync covers direct two-way API connections to Airbnb, Booking.com, Vrbo, Expedia, Agoda and Hipcamp, plus linked calendars, multiple units grouped under one Booking.com property as room types, a unified inbox, automated messaging, team/co-host/cleaner permissions, a PriceLabs integration, and Stripe payments where you are the merchant of record. Upgrade the moment any of these is true: a double booking or near miss, same-day bookings, 3+ listings or a multi-unit Booking.com room type, a need to sync rates/restrictions/occupancy, adding Vrbo or Expedia, running dynamic pricing, or adding a co-host or cleaner.

HostPort is positioned as simple, easy to use, with hands-on support, and its $10/listing flat fee compares well against per-listing channel managers.

Confirm these HostPort specifics before you rely on them (they are not publicly documented in detail): the exact steps to connect a Booking.com property, how it handles derived and read-only rate plans, whether it pushes occupancy-based pricing, per-channel markup controls, its Booking.com connectivity-partner tier, and the iCal refresh frequency on the free tier.

Alternatives, briefly. Other channel managers connect Airbnb and Booking.com via API. Real catches to check:

  • Beds24: cheap and powerful. Pay-as-you-go starts around €8.40/month for 1-2 rooms, rising to about €16/month (3-5 rooms) and ~€38/month (6-15 rooms), with per-extra-room charges; the trade-off is a steep, technical setup with many paid add-on modules.
  • OwnerRez: strong control and no booking fee, but a modular base price (about $40/month) where channel connections, SMS and other tools cost extra, and no Expedia.
  • Hospitable: clean and messaging-focused, from around $29/month for one property, but scaling adds per-property costs.
  • Lodgify: good direct-booking website, from about $16/month, but a booking fee (around 1.9%) on lower tiers.
  • Smoobu: affordable and simple, from around €15-29/month, with lighter rate-plan handling and no native payments.
  • Hostaway: feature-rich for portfolios, but per-listing pricing that runs higher and can carry a mandatory onboarding fee (often several hundred to over a thousand dollars).
  • Guesty: enterprise-grade, priced and built for larger operators.

Weak Booking.com rate-plan handling is the common failure point across cheaper tools, so test rate-plan and occupancy sync before committing.

#Caveats

  • Booking.com publishes no iCal refresh interval. Its official help article states only that calendars "aren't synced in real time." Any specific number circulating online (1 hour, 2 hours, 24 hours) is an unofficial third-party estimate, and those estimates conflict badly. Airbnb's 3-hour figure, by contrast, is stated in its own Help Centre.
  • UI labels shift. The Airbnb path (Calendar > Availability > Connect calendars > Connect to another website) is verified against Airbnb Help Centre Article 99 as of 2026; older guides show "Pricing and availability > Calendar sync". Booking.com's extranet shows either "Rates & Availability > Calendar" or "Calendar & Pricing" depending on your account view. Re-check the on-screen labels, as both platforms revise them without notice.
  • Airbnb API details vary by market and account. Instant Book behaviour, market clearance, and whether "request to book" is possible depend on your region and channel manager; verify with the specific software.
  • Fee percentages and rollout dates for Airbnb's 15.5% host-only fee are drawn from consistent industry reporting (Guesty, PriceLabs and others) rather than a single Airbnb legal page; the ~18.34% markup is the arithmetic needed to keep net payout even, not an Airbnb-published figure. Confirm your exact fee in your own Airbnb account.
  • Competitor prices are entry/starting figures from 2026 pricing reviews and can change with tier, region and add-ons; get a current quote before committing.
A third option

Flat pricing, no contract, no sales call.

HostPort syncs Airbnb, Booking.com and Vrbo, runs your direct booking page and puts every guest message in one inbox. Free forever on iCal sync; $10 USD per listing per month for two-way channel sync.

Start freeSee pricing

Ready to run every stay
from one calm place?

Set up in under 30 minutes. Cancel any time. We'll be here either way.