Synchronize Airbnb and Booking.com by exporting each platform’s iCal (.ics) link and importing it into the other platform. The complete setup requires 2 imports: one carries unavailable nights from Airbnb toward Booking.com, and the other carries unavailable nights in the opposite direction. I budget about 10 minutes for the initial exchange and another few minutes for testing.
This is calendar synchronization, not full property-management synchronization. It does not place rates, minimum stays, fees, or house rules under one control panel. It also does not eliminate every opportunity for a double booking because calendar imports are not real time.
BnBGenius does not provide a channel manager, calendar synchronization, direct bookings, pricing tools, or support for Booking.com. We answer guest messages on Airbnb and VRBO, but the calendar connection described below must be configured on the booking platforms themselves. of what a channel manager does and our comparison of channel managers for small hosts.

How do you synchronize Airbnb and Booking.com calendars?
The job has 2 directions, and neither direction substitutes for the other. First, export the calendar address from Airbnb and import it into Booking.com. Second, export the calendar address from Booking.com and import it into Airbnb.
Here is a concrete example. If you complete only the first import, a 3-night reservation received through Airbnb can reach the imported calendar on Booking.com, but the reverse route has not been created. A reservation received through the second platform has no imported feed through which to reach the first. Completing both imports creates both routes.
Before you start
Open both dashboards in separate browser tabs and confirm that you are working on the same rentable accommodation in each one. An iCal address belongs to a particular calendar. If one dashboard contains several accommodations or room types, copying a link from the wrong calendar can block the wrong inventory.
I use a simple 4-item preparation checklist:
- Open the correct listing calendar on Airbnb.
- Open the matching accommodation or room calendar on Booking.com.
- Choose an unreserved future date that can be blocked temporarily for testing.
- Keep a plain-text note ready so each exported .ics address can be labeled before it is pasted elsewhere.
I allow about 5 minutes for each direction, making the full exchange approximately 10 minutes when the correct calendars are already open. That estimate is my working allowance, not a refresh guarantee from either platform.
Direction 1: export the Airbnb calendar
Begin in the hosting dashboard on Airbnb:
- Open Calendar.
- Select the listing you want to connect.
- Open Availability.
- Find Connect calendars.
- Select Connect to another website.
- Copy the exported calendar address ending in .ics.
Do not copy the ordinary public address of the listing. You need the exported iCal address presented in the calendar-connection controls. The official Airbnb calendar help page explains that exported calendars can be used to send booked nights to another website
Label the copied address before moving on. For example, a note reading “Apartment A — outgoing Airbnb calendar” is safer than leaving an unidentified URL on the clipboard. With 2 units, the distinction matters immediately: Apartment A’s feed must not be imported into Apartment B’s calendar.
Direction 1: import the Airbnb link into Booking.com
A useful name includes the source and the accommodation, such as “Airbnb — Apartment A.” If you later inspect 3 imported calendars, labels such as “Calendar 1,” “Calendar 2,” and “Calendar 3” make diagnosis unnecessarily difficult.
This import completes only the first half. Stop here and the setup remains one-way. The destination can read the source feed, but no return feed has been added.
Direction 2: export the Booking.com calendar
Direction 2: import the Booking.com link into Airbnb
Return to the calendar controls on Airbnb:
- Open Calendar.
- Select the corresponding listing.
- Open Availability.
- Find Connect calendars.
- Choose the control for connecting a calendar from another website.
- Paste the exported Booking.com .ics address.
- Name the imported calendar clearly and save it.
You should now be able to identify 2 saved connections: an outgoing feed from each calendar and an imported feed on the opposite platform. Think in terms of arrows rather than a single connection:
- Arrow 1: Airbnb export to Booking.com import.
- Arrow 2: Booking.com export to Airbnb import.
Check the setup as a two-way system
A saved link is not enough evidence that the correct calendars were connected. Test both routes with manually blocked dates before relying on the setup.
- Choose 1 unreserved date in the future.
- Block it manually on Airbnb.
- Wait for the receiving calendar to refresh and check the corresponding date on Booking.com.
- Remove the first test block after confirming the result.
- Choose a different unreserved date and block it on Booking.com.
- Check whether that date arrives as unavailable on Airbnb.
- Remove the second test block when the check is complete.
The second test matters because successful movement in one direction says nothing about the return direction. In a 2-test sequence, the first test checks Arrow 1 and the second checks Arrow 2.
Be careful when interpreting manually blocked dates on an imported Airbnb calendar. The platform says imported calendars carry booked or blocked nights but also warns that a block created on another calendar may or may not transfer. A confirmed booking is therefore a different practical signal from an arbitrary block placed for testing. The test still helps detect a missing or mismatched link, but it should not be presented as proof that every kind of external block will always arrive.
What to inspect when one test fails
If a test date does not cross, check the configuration before deleting everything and starting over:
- Confirm the direction. A missing result on Airbnb points you toward the feed exported from Booking.com, not the feed going the other way.
- Confirm the full address. Copy the .ics address again rather than editing it manually.
- Allow for refresh delay. The imported calendar may not read a change immediately.
- Check the type of block. On Airbnb, an external block may or may not be imported.
If you are also distributing inventory on VRBO, use the separate walkthrough for syncing Airbnb and VRBO. A broader distribution decision belongs in our overview of other rental marketplaces, while operational access for a cleaner is covered in sharing a rental calendar with a cleaner.
I regard iCal as a narrow availability tool. For 1 unit listed on these 2 marketplaces, a two-way exchange can be understandable and inexpensive to maintain. The host can see each imported feed, run a periodic test, and keep rates separately configured.
The setup becomes harder to audit as more calendars are added. Every source needs a route into every destination if the goal is complete pairwise availability exchange. At that point, compare the workload with a channel manager rather than assuming additional links remain easy to supervise. Our pages on whether you need a PMS and choosing host applications by job explain why calendar control, messaging, pricing, and property operations should be evaluated as separate requirements.

How does Airbnb and Booking.com synchronization work?
iCal synchronization transfers calendar events that represent blocked dates and confirmed reservations, but not rates, minimum stays, fees, or house rules. The receiving platform periodically reads the exported .ics file and uses the availability information it finds there. It is not a live shared database, and it is not real time.
Consider a concrete 3-night example. A reservation arrives on one platform for Tuesday through Friday. The source calendar marks those nights unavailable and exposes that calendar state through its exported feed. Until the destination reads the feed, the corresponding nights can remain available there. That interval is the remaining double-booking window.
For imported calendars, Airbnb publishes an automatic update interval of every 3 hours. Its help page also says that manual refresh requests are limited, so “manual” should not be interpreted as an unlimited real-time connection. I have not verified a corresponding published interval for Booking.com, so I would not assign it an hourly schedule.
What the calendar file carries
The useful payload is availability. A booked or blocked night can be represented as unavailable on the receiving calendar. Reservation details are not carried into an imported Airbnb calendar.
| Item | Transferred through the iCal setup | What the host should do |
|---|---|---|
| Blocked or booked nights | Calendar availability can transfer | Test both directions and inspect the matching dates |
| Reservation details | Not included in the imported Airbnb calendar | Use the original reservation dashboard |
| Nightly rates | No | Maintain rates separately or use an appropriate pricing or channel tool |
| Minimum stays | No | Configure the rule on each marketplace |
| Fees | No | Check each listing’s fee settings separately |
| House rules | No | Maintain the listing content separately |
This distinction prevents a common category error. Calendar synchronization is not rate synchronization. If a Friday night is priced differently on the 2 marketplaces, exchanging .ics links does not reconcile the prices. Our overview of rental pricing tools covers that separate job.
Why the double-booking window remains
The exported file and the imported calendar are not one system. One side publishes calendar information; the other side comes back to read it. A booking can therefore exist at the source before it has been reflected at the destination.
Suppose a guest confirms a 2-night stay on the source platform at the same time another traveler is viewing those nights on the destination platform. If the destination has not refreshed the imported feed, those nights may still appear available. A second confirmation during that interval creates a double booking even though both links were configured correctly.
The risk is not proof that the setup is broken. It is a consequence of periodic synchronization. The practical controls are:
- Complete both imports rather than relying on a one-way feed.
- Test the connection after initial setup.
- Recheck it after replacing a listing, room calendar, or exported address.
- Inspect both dashboards when a new reservation arrives close to check-in.
- Consider a channel manager when delayed availability is unacceptable.
A channel manager is a different product category from BnBGenius. We do not offer channel management or calendar synchronization. We also do not support Booking.com. BnBGenius can answer guest messages around the clock on Airbnb and VRBO, request a guest review, publish a host review, and create cleaning or repair tasks after checkout. Those functions do not close the iCal refresh window.
How to run a meaningful two-direction test
Use different test dates for the 2 directions. If the same date is blocked on both source calendars, you may be unable to tell which imported feed caused the destination block.
A cleaner test sequence looks like this:
- Use Tuesday for the route from Airbnb to Booking.com.
- Use Wednesday for the route from Booking.com to Airbnb.
- Record when each temporary block was created.
- Record when each destination first displayed it.
- Remove both blocks after the result is clear.
Do not advertise your observed delay as a permanent platform rule. A test that takes 40 minutes on one occasion does not establish a 40-minute refresh schedule. The published rule I can cite is that an imported Airbnb calendar automatically updates every 3 hours. I have not verified a fixed public schedule for the other receiving platform.
How to avoid confusing calendar sync with other automation
Hosts often use the word “sync” for several unrelated tasks. Separating them avoids buying the wrong tool.
- Availability sync: blocks nights between calendars.
- Rate management: changes nightly prices and restrictions.
- Guest messaging: answers questions and sends stay information.
- Turnover operations: creates and tracks cleaning work.
- Accounting: records revenue, expenses, payouts, and taxes.
BnBGenius addresses parts of messaging, reviews, calls, tasks, and upsells. It does not provide calendar synchronization, pricing, owner accounting, or direct bookings. For a practical division of responsibilities, see Airbnb message automation, maintenance tracking, and cleaning applications for hosts.
For example, a host with 2 units can use iCal for calendar availability while handling guest communication separately. BnBGenius Pro costs $10 per month, so those 2 units cost $20 per month. The free tier includes the first 500 messages, all functions, and requires no card. That price is for BnBGenius automation, not for the iCal setup and not for a channel manager. The distinction is also shown on our pricing page.
A maintenance routine after setup
I would not configure the links once and then forget them. Use a short recurring check, especially after changing inventory structure or replacing a listing calendar.
- Confirm that both imported calendars still appear in their respective connection areas.
- Check that the labels still identify the correct accommodation.
- Choose 1 safe future date for a temporary test.
- Test one direction, remove the block, and then test the other direction with another date.
- Inspect any future dates that are unexpectedly open or blocked.
If you manage several listings remotely, the calendar check belongs beside turnover and guest-communication checks rather than inside either one. Our guide to managing multiple listings remotely addresses that broader operating structure, while common automation mistakes explains why an automated workflow still needs a defined test.
When to move beyond iCal
The decision is not simply “free versus paid.” It is a risk decision. A host with 1 unit, long booking lead times, and 2 marketplaces may accept periodic calendar imports. A host receiving frequent close-in reservations may decide that the remaining availability window is too costly even with the same unit count.
Look for a channel manager when you need a product specifically built to centralize or distribute availability across channels. If you also need rates, confirm that capability independently rather than assuming every calendar product handles pricing. Our comparisons of Tokeet and BnBGenius, Beds24 and BnBGenius, and OwnerRez and BnBGenius illustrate why a channel-management or PMS product should not be treated as interchangeable with an automation extension.
The practical conclusion
For this pair of marketplaces, complete 2 imports, not 1. Export the .ics calendar from Airbnb into Booking.com, then export the second calendar back into the first. Label both feeds, test both directions with separate temporary dates, and remember that rates and listing rules remain independent.
An imported Airbnb calendar automatically updates every 3 hours, and an external manual block may or may not arrive. I have not verified a fixed refresh interval for Booking.com. If that remaining uncertainty is unacceptable, use a channel-management product chosen for that job.
Once calendar availability is handled, evaluate messaging, pricing, cleaning, maintenance, and accounting separately. BnBGenius does not replace a PMS and does not synchronize calendars. It can be installed as a Chrome extension in about 5 minutes, without API keys or password sharing, for its supported automation on Airbnb and VRBO.
