Export iCal
Export boat calendar as iCal feed
/calendar/:boatId/export.icsGet an iCal (.ics) feed for a boat's calendar. This is a public endpoint -- no authentication required. The feed can be subscribed to by Google Calendar, Apple Calendar, and other booking platforms.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
boatId | string | Boat ID (UUID) |
Request
Response
Returns an iCal file with text/calendar; charset=utf-8 content type and a Content-Disposition header for download.
Calendar Contents
The feed includes future events only (events whose end date is after the current time):
| Source | Summary | Status |
|---|---|---|
| Confirmed bookings | "Booked - Charter Boats" | CONFIRMED |
| Pending bookings | "Pending - Charter Boats" | TENTATIVE |
| Owner blocks | "Maintenance", "Buffer Time", or "Blocked" | CONFIRMED |
| External events (confirmed) | Original event title or "Busy" | CONFIRMED |
| External events (options) | Original event title | TENTATIVE |
Event UIDs
Events use stable UIDs scoped to charter.boats:
- Bookings:
booking-{id}@charter.boats - Blocks:
block-{id}@charter.boats - External events:
external-{id}@charter.boats
Option Events
External events that represent temporary holds (options) are exported as TENTATIVE with TRANSP:TRANSPARENT so they don't block time in receiving calendars. The description includes the option expiry date when available.
Usage Examples
Subscribe in Google Calendar
- Copy the iCal URL:
https://charter.boats/api/calendar/{boatId}/export.ics - In Google Calendar, click
+next to "Other calendars" - Select "From URL"
- Paste the URL and click "Add calendar"
Subscribe in Apple Calendar
- Copy the iCal URL
- In Calendar app, go to File > New Calendar Subscription
- Paste the URL and click Subscribe
Sync with Other Platforms
Most charter platforms allow adding external iCal URLs. Add this export URL as an external calendar in their sync settings. Combined with importing their iCal feed into Charter Boats, this provides two-way calendar sync.
Errors
| Status | Message |
|---|---|
400 | Boat ID is required |
404 | Boat not found |