By the end of this guide, you'll have your direct bookings showing up as blocked dates on every external platform you sell on — closing the loop on iCal sync so neither side double-books.
What you'll need
- A property under Your setup → Places
- Logins for whichever external platforms you want to push bookings out to
- ~5 minutes
- A copied subscription URL pointing at your direct bookings
- That URL pasted into one or more external platforms
- Direct reservations appearing as blocked on Airbnb / Booking.com / etc., within their own sync windows
Step 1: Open Connected calendars
Sidebar → Places → your property → Connected calendars (iCal) tab.
The very first row, labeled Direct, is your subscription URL. It looks like:
https://admin.cabintale.com/places/[a-very-long-token]/bookings.ics
The token is a UUID — long enough that no one can guess it.
Step 2: Copy the URL
Click Copy URL on the Direct row. You'll see "URL copied to clipboard!".
Treat this URL as a shared secret. Anyone with the URL can subscribe to your direct bookings — they can't change anything, but they can read your guest names and dates. Paste it into trusted systems only.
Step 3: Paste it into each external platform
Every platform consumes iCal slightly differently, but the gist is "tell the platform to subscribe to this URL."
| Platform | Where to paste |
|---|---|
| Airbnb | Calendar → Calendar settings → Import calendar → paste URL |
| Booking.com | Calendar → Sync calendars → Add new calendar → paste URL |
| Vrbo | Manage property → Calendar settings → Import a calendar → paste URL |
| Google Calendar | Settings → Add calendar → Subscribe to calendar → paste URL |
| Apple Calendar (macOS) | File → Subscribe to Calendar… → paste URL |
| Outlook | Calendar → Add calendar → From the internet → paste URL |
Each platform pulls the feed on its own schedule — typically every 1–24 hours, with no way for Cabintale to force it.
What's in the feed
Each direct booking shows up as one all-day event:
| Field | What it contains |
|---|---|
SUMMARY | Guest name (or "Guest" if the name isn't set) |
DTSTART | Check-in date |
DTEND | Check-out date (exclusive — iCal standard) |
DESCRIPTION | "Guests: 4" — just the number; no email, phone, notes, or total price |
STATUS | Always CONFIRMED |
UID | A stable Cabintale identifier so other platforms can match the booking across syncs |
What's not in the feed:
- iCal-imported bookings (so you don't accidentally feed Airbnb back to itself)
- Any time zone — events are floating dates only
- Any pricing or payment info
What gets included
- All direct bookings, past and future. There's no "future-only" option today; the entire history shows in the feed.
- The feed updates automatically as you create or edit bookings.
- The response is cached for 1 hour, so very rapid back-to-back changes may take that long to appear externally.
Token rotation
The token in your URL is generated when the property is created and doesn't rotate automatically. If your URL leaks (you posted it somewhere public), email us — token rotation is a manual operation today.
Services
Time-slot services don't have an iCal export today. If you need to share a service schedule, look at the Manifest feature instead (coming soon) — it's a PDF / shareable link rather than a calendar feed.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| External platform says the URL is invalid | URL was copied with extra characters (whitespace, line break) | Re-copy using the Copy URL button on the Direct row |
| External platform isn't showing my new direct booking | Their sync hasn't run yet (Airbnb is the slowest — up to 24h) | Wait, or trigger a manual refresh on their side if they offer one |
| Old direct bookings still appear after I deleted them | The feed has a 1-hour cache | Wait an hour, then refresh the external platform's subscription |
| Guest names look truncated on the external platform | Different platforms render SUMMARY differently | This is on the consumer's side. The full name is in the feed — Apple Calendar shows it; some other clients chop it |
| I'd rather not show guest names | The export currently always uses guest name in SUMMARY | Tell us — we can add a per-property toggle to fall back to "Booked" |
Related guides
- iCal import — iCal import (Connected calendars)
- Property basics — Property basics