iCal Sync Explained — Conflict-Free Hotel and Apart-Hotel Management
iCal — internet calendar — is the industry standard for syncing availability across OTAs. This guide covers the technical basics and how to put it into practice.

- iCal: a standard for sharing calendar data over the internet (the .ics file format)
- Two-way sync: reads bookings from an external channel (import) AND pushes your own changes out to that channel (export)
- Updates every 5-15 minutes — not instant, but plenty for real-world use
- Booking.com Connect API (Premium PMS tier) syncs within seconds — but iCal is enough for most properties
- Each property needs its own iCal token — mandatory once you manage multiple properties
What Is iCal?
iCal (RFC 5545 — internet calendar) is a standard for sharing calendar data. It works either as a .ics file or as a live URL feed. Apple Calendar, Google Calendar and Outlook all support it. OTAs (Booking.com, Airbnb, Vrbo) export guest reservations in .ics format.
Two-Way vs. One-Way Sync
One-way iCal sync only reads from the external channel. A Booking.com reservation lands in your PMS, but changes in your PMS never make it back to Booking.com. The double-booking risk stays right where it was.
Two-way iCal sync both reads and writes. A reservation created in your PMS flows automatically to Booking.com; block a date manually and your Airbnb calendar blocks it too. This is the standard for any modern PMS.
The Risk of Double Bookings
Without iCal sync, if the same room is listed on both Booking.com and Airbnb at once: a guest books through Booking.com → the Airbnb calendar doesn't update → an Airbnb guest books the same night. Double booking. The fallout:
- You're forced to cancel one guest's reservation (and pay the penalty)
- Cancellation penalty: Booking.com's is roughly 25% commission on average; on Airbnb, you lose a night's revenue
- Your rating drops (bad reviews)
- That guest never comes back
- If the other guest isn't informed, double occupancy turns into a full-blown crisis
Sync Speed: 5-15 Minutes
iCal is pull-based — your PMS fetches the feed at set intervals (every 5-15 minutes). It isn't instant. In practice: if a guest books on Airbnb, it appears in your PMS within 15 minutes at most. There's a theoretical risk that the same room sells on another channel within that same window — but this is rare in practice (selling 5-10% of your capacity in the exact same minute almost never happens).
Setup Steps
1. Get Your PMS's iCal Token
In your PMS (e.g., HotelPilot) go to Settings → Channels → iCal Export for the property. You'll get a URL. This URL is that property's private feed — don't share it with anyone (the token can be regenerated if needed).
2. Paste It Into Booking.com
Booking.com Extranet → Calendar → Sync calendars → Import iCal → paste the URL → Save. Booking.com reservations now show up in your PMS.
3. Grab Booking.com's iCal Feed in Return
The same Extranet page has an 'Export iCal' button. Copy that URL. In your PMS, go to Channels → Add Channel → paste the URL. Two-way sync is now active.
4. Repeat the Same Process for Airbnb
Airbnb Host Dashboard → Listing → Calendar → Availability → Sync calendars → Import + Export. Same pattern.
5. Test It
Create a manual reservation in your PMS → wait 15 minutes → check whether that room now shows as booked on both the Booking.com and Airbnb calendars. If it does, two-way sync is working.
Common Mistakes
Mistake 1: One-way sync only
The most common mistake — setting up import without export. A Booking.com guest lands in your PMS, but your own PMS reservations never reach Booking.com. Always set up sync in both directions.
Mistake 2: Sharing the token
The iCal URL contains guest information (reservation ID, dates). If someone gets hold of the token and misuses it, guest data can leak. Only share the token with trusted partners (Booking.com, Airbnb), and regenerate it periodically (PMS → Regenerate Token).
Mistake 3: Not using a separate token per property
If you run a 10-unit apart-hotel and use a single token for all of them, every channel ends up showing reservations for all 10 units mixed together — you lose track of which is which. A separate token per property is mandatory.
Mistake 4: Still updating the calendar manually
Some owners keep updating the calendar by hand out of habit, even after iCal is set up. This is exactly what causes double bookings — the system is automated now, so don't intervene. If you're unsure, test iCal sync first, then drop the manual updates.
Connect your channels in 5 minutes
Booking.com, Airbnb, Vrbo, Trivago — two-way iCal sync, unlimited channels. Included from the HotelPilot Standard plan.