Calendar sync allows you to automatically update your Haven availability based on bookings from other platforms like Airbnb, Vrbo, or Google Calendar.
When you connect an external calendar:
- Haven fetches availability data from the external calendar
- Dates marked as unavailable in the external calendar are automatically blocked in Haven
- This prevents double bookings across platforms
- Updates happen automatically on a regular schedule
From your external platform (Airbnb, Vrbo, etc.):
- Navigate to your calendar settings
- Find the "Export" or "iCal" option
- Copy the calendar feed URL
- Navigate to Calendar Sync section - In your property edit page, find the Calendar Sync section
- Click "Add Calendar" - Add a new external calendar
- Paste the iCal URL - Enter the calendar feed URL
- Name your calendar - Give it a descriptive name (e.g., "Airbnb Calendar")
- Save - Click save to add the calendar
Each imported calendar row shows its state:
- Connected — Haven read the feed within the last hour and its blocked dates are on your calendar
- First sync pending — you just added the link and Haven is checking it
- Not syncing — check the link — Haven has not been able to read the feed for over an hour, or ever
Click Re-check on a pending or not-syncing row to try the link again right now. Then confirm the blocked dates appear on your Haven calendar, and test by blocking a date on the other platform.
An iCal link carries dates only. Dates that arrive this way show on your Haven calendar as blocked, with no guest name, party size, contact details, or price. The dates themselves are changed on the calendar they came from.
You can still note who is staying yourself: see Add booking info to synced blocked dates below.
To have the channel send the guest's details instead:
- Airbnb - connect your Airbnb account under Integrations instead of importing its iCal link. Each Airbnb reservation then arrives as a reservation with the guest's name, phone, party, Airbnb's confirmation code, and the full payment breakdown. See Connect via Airbnb when you use another PMS.
- A PMS - connect it natively when Haven supports it. See PMS Integrations Overview.
When a stay reaches Haven only as blocked dates (from an iCal import, or Blocked via Airbnb from your Airbnb connection or a PMS), you can record who is staying, for your own records:
- Click the blocked bar on the listing's Calendar, or on the dashboard's Calendar.
- Click Add booking info.
- Enter what you know: check-in and check-out (inside the blocked dates), the guest's name, email and phone, the number of adults, children, infants and pets, what they paid, and notes.
- Choose the Source: Airbnb, Vrbo, Booking.com or Direct, or one of your own. If the source is not listed, pick Add new source… and type its name (for example "Furnished Finder"). It is saved to your account and offered next time.
- Click Save.
The booking info shows on the blocked dates whenever you open them. Click it to edit or remove it. If the block covers more than one stay, add booking info for each.
- It is a record, not a booking. The dates stay blocked exactly as the other calendar sends them, Haven takes no payment, and the guest is not emailed or texted.
- The guest goes on your Guests list when you give an email or a phone, with the source you picked. Airbnb, Vrbo, Booking.com and Direct show in their Booked via column. A source you named yourself is added to the guest as a tag. Haven does not opt them into marketing; manage that on their contact.
- Channel relay addresses (like
@guest.airbnb.com) are not accepted as the guest's email, because they stop working after the stay.
When a stay that reached Haven from Airbnb or an iCal feed is really one of your own direct bookings (a guest who booked with you and whose nights only closed Airbnb, or a reservation you want Haven to treat as yours), turn it into a Direct booking instead of keeping a record on the block:
- Open the dates on the listing's Calendar, or on the dashboard's Calendar: click the blocked bar, or click the Airbnb-badged reservation to open it.
- Click Convert to Direct booking.
- On a Blocked via Airbnb (or blocked via your PMS) bar, choose the guest's check-in and check-out. They start as the whole block; change them when the block holds more than one stay.
- Enter the guest's name, email, phone, the number of adults, children, infants and pets, the total price in your listing's currency (optional), and notes. On an Airbnb reservation the guest and party Airbnb sent are filled in for you.
- Click Convert to Direct booking to confirm.
The dates stay blocked exactly as they were, and the stay becomes a Haven Direct booking on your calendar: the Airbnb badge is gone, a Direct badge shows beside the confirmation code, and the guest's details are on the reservation. The Airbnb or iCal sync no longer overwrites or removes it, even if the dates disappear from the other calendar.
- Haven collects no payment. The price you enter is a record of what the guest paid you; nothing is charged, refunded or deposited.
- Guest messages follow your direct-booking settings from then on. Stay messages go out as your Message automations send them for any Direct booking; converting sends nothing on its own.
- Back-to-back stays on one block. When your PMS or channel manager (Hostex, for example) closes your Airbnb calendar for two stays that meet on the same day, Airbnb only reports the nights as closed, so Haven shows one Blocked via Airbnb bar across both. Convert the first stay with its own check-in and check-out: the other nights stay blocked. Then click the remaining bar and convert the second stay the same way. Dates from an iCal feed convert as a whole, because a feed already lists each stay on its own.
- Cancelling it is a Haven cancellation only. Cancel the Direct booking in Haven to free the dates there. Haven does not cancel the Airbnb or PMS reservation it came from, and a cancellation made there no longer reaches Haven, so cancel it in both places.
- There is no way back to a synced block. To keep the dates as a synced block with a note of who is staying instead, use Add booking info above: that is a record only, and the block keeps following the other calendar.
- Modify reservation stays hidden. Conversion stores the price you typed and does not create a pricing record, so there is nothing to re-price against. Convert to Direct does not show Modify reservation. To split the stay, cancel it, then create a direct booking for each date range.
- Cancel reservation is offered on a future confirmed stay that is not the stay happening now. It cancels that stay in Haven and emails the guest when Haven has their email. It also sends the cancel to the property system only when this stay still has a reservation link and that connection can receive a reservation cancel. A Blocked via Airbnb bar has no reservation link, and a direct Airbnb connection cannot receive a reservation cancel, so cancelling the converted stay does not remove those original dates. A stay that is still synced, and not converted, has no Cancel reservation button — change it where the dates are owned.
Sometimes the dates your Airbnb connection or PMS blocks are dates you still want to sell direct. A common case: you keep Airbnb closed 6 to 12 months out but want to take direct bookings that far ahead. Open in Haven shows those nights open on your Haven site while Airbnb or your PMS keeps them blocked.
It works with the Airbnb connection, Hospitable and Guesty.
- On the listing's Calendar, select the dates (one block, or a range across several blocks) and choose Open N blocked nights in Haven. Or click a Blocked via Airbnb (or via your PMS) bar and choose Open in Haven.
- Adjust the first and last night if you need to, then click Open in Haven.
What happens:
- Haven shows the nights open for direct bookings. Each one gets a small Open chip on the calendar. Guests can book them on your Haven site at your Haven prices.
- The partner calendar is not changed. Haven never unblocks the dates on Airbnb or your PMS. If a direct guest books, Haven closes the dates there the same way it does for any direct booking.
- Reservations are never opened. A reservation inside the range stays booked. On Airbnb, nights blocked by an imported calendar or by Airbnb's turnover days also stay blocked, because they can belong to another guest's stay.
- Only open dates you can host. If the block stands for a stay your partner records as a block (an owner stay, for example), a direct guest could book on top of it.
To hand the dates back, click an Open chip and choose Re-sync from Airbnb (or your PMS). Haven stops overriding that range and the partner's blocks come back after the sync.
You can also ask the calendar assistant: "open the Airbnb block from April to October for direct bookings".
You can sync multiple external calendars:
- Airbnb calendar
- Vrbo calendar
- Google Calendar
- Other iCal-compatible calendars
Each calendar is synced independently, and dates blocked in any calendar will be blocked in Haven.
Haven automatically syncs calendars:
- Regularly throughout the day
- When you manually trigger a sync
- Before displaying availability to guests
- Sync all platforms - Connect calendars from all platforms where you list
- Verify regularly - Check that sync is working correctly
- Keep URLs updated - Update calendar URLs if they change
- Test sync - Block a test date to verify sync works
If the row says Not syncing — check the link, open the link in a browser. An expired, private or mistyped feed URL is the usual cause: export a fresh link from Airbnb, Vrbo or the other platform, click Edit on the row to paste it, then click Re-check. Haven keeps retrying every 10 minutes on its own but does not email you about it, so the row is where you will see it.
- Verify the iCal URL is correct
- Check that the external calendar is publicly accessible
- Click Re-check to sync now
- Contact support if issues persist
- Ensure all external calendars are synced
- Check sync is working regularly
- Manually block dates if needed as backup
Calendar sync also runs the other way: every listing has its own iCal export feed that Airbnb, Vrbo, Google Calendar, or your PMS can pull so dates booked on Haven (and manual blocks) close there too. Manual blocks exist only on listings whose calendar Haven owns: when your PMS owns the listing's calendar (OwnerRez, for example), make blocks in the PMS, which closes every channel, and the Haven Assistant says so if you ask it. There is no single account-level feed — importers need one feed per calendar — so it is one URL per listing, in the form https://www.bookwithhaven.com/properties/<listing code>/calendar.ics.
- Open the Listings tab in your host dashboard
- Click the gear icon in the toolbar to open Property settings
- Find the iCal export links row and click View links
The dialog lists every listing with its feed URL. Use the Copy button on a row, Copy all to put every URL on your clipboard one per line, or Download CSV for a spreadsheet with the listing name, listing id, reference code, and feed URL — handy for a channel manager or PMS bulk import. Type in the search box to find a listing when you have many.
The same URL is in the listing editor: Edit listing → Preferences tab → iCal → Your Haven calendar URL, with a Copy button. Append ?includePending=true to also export short instant-book checkout holds (off by default, because OTA polling is slower than the hold lifetime).
You can also ask the AI assistant in your dashboard for "my iCal export links" or "the calendar feed for the Aqua Marine apartment" — it reads your listings and replies with the actual URLs.
- Haven bookings and manual blocks for that listing only
- Stays synced in from Airbnb or a PMS are never echoed back (that would re-block the channel they came from)
- Hidden listings keep a working feed
iCal is a calendar-only feed. It does not import listing content, photos, prices, or reservations.
If you already publish listings to Airbnb from a PMS, use Haven's direct Airbnb integration instead. Haven then imports listing content, photos, prices, availability, and reservations — the same inbound data the PMS already sends to Airbnb. The Haven iCal export is still required on that path so Haven bookings and manual blocks close dates: add it in your PMS (not only in Airbnb) so every channel closes together. See Lodgify, Hostfully, Hostaway, and Hostex.
Native two-way connectors (Hospitable, Guesty, OwnerRez, Lodgify, Hostfully, Track, theHostCo) write Haven bookings back through the PMS API, so they do not rely on iCal for outbound availability.
Use iCal import when you only need blocked dates from a calendar that is not on Airbnb or a native PMS — for example Google Calendar, or a channel with no other connection.
See PMS Integrations Overview.