iCal calendar sync explained: how it works and how to set it up
Almost every calendar connection in the short-stay world, from Airbnb to the smallest booking tool, runs on the same 25-year-old technology: iCal. Understanding it takes five minutes and will save you real confusion when calendars don't behave the way you expect.
What iCal actually is
iCal (technically iCalendar, files ending in .ics) is a plain-text format for describing calendar events. An iCal feed is just a URL that returns your bookings as a list of date ranges. No passwords, no accounts, no integration project. Any system that can read a URL can read your calendar, which is exactly why everyone supports it.
Import and export: the two halves
- Import means your booking system reads a channel's feed. Your Airbnb bookings appear in your central calendar as blocked dates.
- Export means a channel reads your booking system's feed. Your direct bookings block those dates on Airbnb.
You need both directions for every channel. Import-only means your direct guests can collide with channel guests; export-only means the reverse. Once both are set, any booking anywhere blocks the dates everywhere else, which is the whole game of preventing double bookings.
Setting it up, step by step
- Find your channel's export URL. On Airbnb: Calendar, then Availability settings, then "Connect to another website". Copy the link ending in .ics. Vrbo and Booking.com have equivalents in their calendar settings.
- Paste it into your booking system. In Hosta, open Calendar, choose "Import calendar", and paste the URL. Imported bookings appear as blocks, and the feed refreshes automatically every few hours.
- Copy your booking system's export URL. Hosta publishes an iCal feed per property. Paste it back into Airbnb's "Import calendar" on the same screen.
- Repeat per channel, then test. Make a test block in your central calendar and confirm it appears on the channel after its next refresh.
The one real limitation: sync delay
iCal is pull-based. Each side re-reads the other's feed on a schedule, typically every couple of hours, and you can't force an instant push. That leaves a short window where a brand-new booking hasn't reached the other calendars yet. Two things close that gap in practice:
- A server-side conflict check on your own booking page, so direct bookings are validated against everything your system knows at the moment of submission.
- Instant-book windows on channels are typically short; for most independent properties the practical risk is small, and a same-day glance at your central calendar covers it.
Hosta imports every channel's iCal feed, refreshes automatically, exports your own feed per property, and conflict-checks every direct booking.
Start free with Hosta