Skip to content

Channel sync

If you also list on Airbnb or Booking.com, channel sync keeps all your calendars agreeing: their reservations block your calendar, and your bookings block theirs.

Sync runs over iCal, the calendar-feed standard both OTAs support. It’s two links per channel, per property:

  • Import: paste the property’s Airbnb (or Booking.com) calendar link into ShortletBox. Their reservations appear on your calendar as OTA blocks.
  • Export: paste ShortletBox’s export link into the OTA. Your direct bookings and manual blocks make those dates unavailable there.

Set it up in the property form’s Channels & iCal section. Each channel gets its own export link, and each one deliberately omits that channel’s own reservations, so Airbnb never re-imports its own booking as a ghost block. Feeds have a configurable poll interval (default 20 minutes) and an optional buffer of blocked days around each reservation.

Airbnb and Booking.com expose calendars per listing, not per account, so each property connects each channel individually.

An iCal feed carries dates only. No guest details, no money. So OTA reservations appear as blocks, not bookings: they hold the nights, appear dashed on the calendar, and clear when the reservation does. A consequence to know: revenue reports cover your direct business, and channel rows show a dash, never a made-up zero.

  • A failed fetch never frees nights. If a channel’s feed goes dark, its existing blocks stay put until a successful sync says otherwise.
  • Conflicts are shown, never auto-resolved. If a direct booking and an OTA block ever claim the same nights (typically from a sync gap), the calendar raises a banner and the dashboard’s action queue lists it, because auto-cancelling a paid guest is worse than asking a human.
  • Feed health is visible. The calendar’s Channel sources card shows each feed’s status with an inline retry, failed syncs surface in the action queue, and owners get a digest email when feeds fail or conflicts appear.

Adding a feed syncs immediately, so a mistyped link fails right in front of you instead of silently never working. A link already connected to another property is refused by name.

Did this page get you unstuck?