Charter Boats API
Calendar

Export iCal

Export boat calendar as iCal feed

GET/calendar/:boatId/export.ics

Get 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

ParameterTypeDescription
boatIdstringBoat ID (UUID)

Request

curl https://charter.boats/api/calendar/550e8400-e29b-41d4-a716-446655440000/export.ics

Response

Returns an iCal file with text/calendar; charset=utf-8 content type and a Content-Disposition header for download.

BEGIN:VCALENDAR
PRODID:-//Charter Boats//Calendar//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:Luxury Catamaran - Charter Boats
BEGIN:VEVENT
UID:booking-a1b2c3d4@charter.boats
DTSTAMP:20260308T120000Z
DTSTART:20260315T090000Z
DTEND:20260322T090000Z
SUMMARY:Booked - Charter Boats
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:booking-e5f6a7b8@charter.boats
DTSTAMP:20260308T120000Z
DTSTART:20260401T090000Z
DTEND:20260405T090000Z
SUMMARY:Pending - Charter Boats
STATUS:TENTATIVE
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:block-c9d0e1f2@charter.boats
DTSTAMP:20260308T120000Z
DTSTART:20260501T000000Z
DTEND:20260503T000000Z
SUMMARY:Maintenance
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

Calendar Contents

The feed includes future events only (events whose end date is after the current time):

SourceSummaryStatus
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 titleTENTATIVE

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

  1. Copy the iCal URL: https://charter.boats/api/calendar/{boatId}/export.ics
  2. In Google Calendar, click + next to "Other calendars"
  3. Select "From URL"
  4. Paste the URL and click "Add calendar"

Subscribe in Apple Calendar

  1. Copy the iCal URL
  2. In Calendar app, go to File > New Calendar Subscription
  3. 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

StatusMessage
400Boat ID is required
404Boat not found

On this page