Guide
Airbnb and iCal: sync your calendar with a WordPress site
How iCal sync works between Airbnb, Booking.com, Vrbo and your WordPress site, what it shares and what it does not, its delays, and the settings that limit the risk of double bookings.
GDA Kraft Booking is available for free on WordPress.org. The free core works without an account for accommodation; a free Kraft GDA account adds online payments and appointments.
You rent the same property on Airbnb and on your own website, perhaps also on Booking.com or Vrbo. Every booking taken on one channel must block the dates on all the others, otherwise two guests could book the same night. The most widespread solution, and a free one, is called iCal. This guide explains how it works, how to set it up on Airbnb and on WordPress, its limits, and when to consider something else.
iCal in two minutes
iCal (or iCalendar, .ics files) is a standard format for exchanging calendars. For each listing, every platform publishes an export address: a private link that returns the list of busy periods. It can also import the address of another calendar and block the dates it contains.
Sync therefore works both ways, with two links for each pair of calendars:
- your website imports Airbnb's export address: Airbnb bookings block your dates;
- Airbnb imports your website's export address: your direct bookings block the dates on Airbnb.
| Shared by iCal | Not shared |
|---|---|
| Booked or blocked dates | Prices and rates |
| Start and end of each period | Guests' names and contact details |
| A short label | Amounts paid, number of guests |
Detailed definition and examples: What is iCal?.
Syncing Airbnb with your website, step by step
The principle is the same with every iCal-compatible plugin. Here is the process with GDA Kraft Booking:
- Export your website's calendar: in Kraft Booking › Accommodations, open the accommodation's Syncs tab, choose the unit and the Outgoing or Two-way direction, then copy the Outgoing feed link. This link contains a secret key: do not publish it.
- Paste it into Airbnb: Calendar › Availability › Calendar sync › Import calendar, paste the address and give it a name, for example "My website".
- Get Airbnb's export: in the same place, Export calendar, then copy the address shown.
- Import it into your website: Syncs tab, Incoming (or Two-way) direction, paste the address into "Remote iCal URL" and click Add. Run a first sync with the Sync button.
Then compare both calendars visually: the same dates must be blocked on both sides. The detail of every screen, including Booking.com, is in How do I sync Airbnb and Booking.com calendars with my website.
Booking.com, Vrbo and other platforms
The process does not change: one import and one export per listing and per platform. On Booking.com, the addresses are under Rates & Availability › Sync calendars. For other platforms, look for "import calendar" or "iCal sync" in the listing's settings. You can add as many feeds as needed for the same unit; note which platform each one belongs to.
Delays: why iCal can never be risk-free
iCal works by periodic re-reading, not in real time. GDA Kraft Booking re-reads each imported feed every 15 minutes through the WordPress scheduled task; each platform re-reads your export at its own pace, which you cannot control and which can reach several hours. During that delay, a date booked on one channel may still look free on another.
This delay is inherent to the format and common to all iCal tools. A few settings make it rarely a problem:
- buffer days before each arrival and after each departure (cleaning), which widen the blocked period;
- an immediate deposit on your website, which confirms and blocks the direct booking with no wait;
- a regular check of each feed's last sync date, and e-mail alerts when a feed fails;
- no duplicate manual blocks on the platform for a date already booked on your website.
Full routine: How do I prevent double bookings between my site, Airbnb and Booking.com?. If it happens anyway: Booking conflict: what to do?.
An Airbnb booking does not appear on your website?
In order, check that the incoming feed exists for the right unit, that the pasted address is the export of the listing concerned, that the last sync date is moving, that the WordPress scheduled task is running, and that no existing booking overlaps the imported dates (the event is then counted as a conflict). The detailed checklist is in An Airbnb booking is not blocked on my site and in the Troubleshooting article.
iCal or channel manager?
| iCal | Channel manager | |
|---|---|---|
| What is exchanged | Busy dates | Dates, prices, rules, sometimes messages and detailed bookings |
| Mode | Periodic re-reading | Direct connections (APIs) with the platforms, usually faster |
| Cost | Free, included in the platforms and most plugins | Subscription, often per property |
| For whom | A few properties, prices managed platform by platform | Many properties, frequently changing prices, several channels |
With one or a few properties, iCal is usually enough. To understand the difference and know when to take the step: What is a channel manager? and What is an OTA?.
iCal sync in GDA Kraft Booking
iCal sync is part of the free core of GDA Kraft Booking, available on WordPress.org and usable without an account:
- one secret export link per unit, which you can archive if you think it has been shared;
- as many imported feeds as needed per unit, re-read every 15 minutes;
- imported bookings appear as external blocks, with no amount or guest data, and generate neither an invoice nor a service fee;
- a sync history (created, updated, cancelled, conflicts) and e-mail alerts when a feed fails or has not synced for 3 hours.
For the rest of your rental project (prices, deposit, obligations), see the vacation rental guide.
Frequently asked questions
Is iCal sync with Airbnb free?
Yes. Airbnb, Booking.com and Vrbo offer iCal import and export at no cost, and iCal sync is included in the free core of GDA Kraft Booking.
Does iCal sync prices between Airbnb and my website?
No. iCal only carries blocked periods. Prices, stay rules and guest data remain to be managed on each channel.
How often are calendars updated?
GDA Kraft Booking re-reads imported calendars every 15 minutes. Each platform re-reads your export at its own pace, often between one and a few hours: this is the main source of double bookings.
What if my website's export address was shared by mistake?
Archive the feed concerned, which disables its address, create a new one and replace the address on each platform.
Articles in this guide
- What is iCal and how does calendar synchronisation work?iCal (iCalendar, .ics files) is a standard format that exchanges booked periods between calendars, with no prices or guest data, and with a re-read delay.
- How do I sync Airbnb and Booking.com calendars with my website (iCal)?Export your calendar to the platforms and import their bookings every 15 minutes to avoid double bookings.
- How do I prevent double bookings between my site, Airbnb and Booking.com?Double bookings mainly come from the iCal read delay. Complete feeds, a real cron job, buffer days and a daily check greatly reduce the risk.
- An Airbnb booking is not blocked on my site: what should I check?iCal re-read delay, wrong feed URL, stopped scheduled task or wrong time zone: what to do when an Airbnb booking does not show up on your site.
- Two bookings for the same dates: what should I do?Booking conflict: identify which came first, offer the guest a solution, refund via Kraft Pay and fix the cause of the overlap.
- What is a channel manager, and do you need one?A channel manager connects your properties to several platforms through an API to synchronise prices and availability; iCal only shares dates. When you need one.
- What is an OTA (online travel agency)?An OTA is a platform such as Airbnb, Booking.com or Vrbo that sells your nights in exchange for a commission. How it works, fee models and rate parity.
- How do you grow direct bookings without paying Airbnb commission?Reduce your dependence on Airbnb and Booking.com: the real cost of each channel, reasons for guests to book direct, and building guest loyalty.
- TroubleshootingThe most common problems (missing payment button, read-only mode, iCal, emails, cron, updates) and how to solve them.