AI Integrations
Search Trips (AI)
Find curated multi-day sailing itineraries with day-by-day plans
GET
/ai/tripsSearch community-created and AI-generated sailing itineraries. Useful for trip planning -- includes duration, distance, activities, and ratings. Only public itineraries are returned.
Authentication
No authentication required. Rate limited to 60 requests per 10 minutes.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
location | string | No | Destination name (fuzzy matched). Finds trips whose route passes through this area. |
location_id | string | No | Exact location ID |
q | string | No | Free-text match against the trip title. |
boat_type | string | No | Filter by boat type used in the itinerary |
min_days | integer | No | Minimum trip duration in days |
max_days | integer | No | Maximum trip duration in days |
activities | string | No | Comma-separated activity filters. Matches trips that include any of these activities. Examples: swimming,snorkeling, nightlife,local_cuisine |
limit | integer | No | Max results (default: 5, max: 20) |
Request
Response
When no trips match (or no public itineraries are linked to the requested area), the response is { "trips": [] }.
Response Fields
| Field | Type | Description |
|---|---|---|
trips | array | Matching itineraries sorted by rating then favorites |
trips[].id | string | Trip UUID |
trips[].title | string | Trip title |
trips[].start_location | string | Starting location name (free text) |
trips[].location | string | Resolved location name (marina, city, country). Falls back to start_location. |
trips[].duration_days | integer | Trip duration in days |
trips[].distance_nm | number|null | Total distance in nautical miles (total_distance_nm) |
trips[].boat_type | string|null | Recommended boat type |
trips[].activities | array | Activities included in the itinerary |
trips[].rating | number|null | Average rating |
trips[].review_count | integer | Number of reviews (0 if none) |
trips[].favorite_count | integer | Number of users who favorited this trip (0 if none) |
trips[].url | string | Link to trip page on charter.boats |
Trip Details
GET
/ai/trips/{id}Full detail for a single public itinerary, including a condensed day-by-day plan. The {id} must be a trip UUID. Only public trips are accessible to external callers.
Request
Response
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Trip UUID |
title | string | Trip title |
start_location | string | Starting location name (free text) |
location | string | Resolved location (marina, city, country). Falls back to start_location. |
start_date | string|null | Planned start date |
end_date | string|null | Planned end date |
duration_days | integer | Trip duration in days |
total_distance_nm | number|null | Total distance in nautical miles |
boat_type | string|null | Recommended boat type |
activities | array | Activities included |
highlights | array | Up to 6 trip highlights |
rating | number|null | Average rating |
review_count | integer | Number of reviews (0 if none) |
favorite_count | integer | Number of favorites (0 if none) |
total_sailing_hours | number|null | Total sailing hours across the trip |
days | array | Condensed day-by-day plan |
days[].day | integer | Day number |
days[].date | string|null | Date for this day |
days[].from | string|null | Start marina/location |
days[].to | string|null | End marina/location |
days[].distance_nm | number|null | Distance sailed this day |
days[].stops | array | Up to 6 stops with name, activity, duration, notes |
days[].notes | string|null | Day notes (trimmed to ~200 chars) |
days[].recap | string|null | Day recap (trimmed to ~200 chars) |
url | string | Link to trip page on charter.boats |
Errors
| Status | Message |
|---|---|
400 | Valid trip UUID required |
404 | Trip not found (or not public) |