RYC yacht charter deals
Live discounted yacht charters in 11 destinations: search, price checks, trip cost, routes.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"deals": {
"url": "https://www.rycrentals.com/mcp"
}
}
}远程端点
https://www.rycrentals.com/mcpstreamable-http它能做什么
工具清单
工具(15)
🟢list_destinations
All destinations with the number of discounted boats departing in the next three months, the biggest and median discount, the cheapest week, catamaran/monohull split and the destination page.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"price_unit": {
"type": "string"
},
"destinations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"page": {
"type": "string"
},
"indexed": {
"type": "boolean"
},
"discounted_boats": {
"type": "number"
},
"yacht_models": {
"type": "number"
},
"max_discount_pct": {
"type": "number"
},
"median_discount_pct": {
"type": "number"
},
"cheapest_week_eur": {
"type": [
"number",
"null"
]
},
"departure_months": {
"type": "array",
"items": {
"type": "string"
}
},
"by_type": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"boats": {
"type": "number"
},
"max_discount_pct": {
"type": "number"
},
"cheapest_week_eur": {
"type": [
"number",
"null"
]
},
"page": {
"type": "string"
}
},
"required": [
"type",
"boats",
"max_discount_pct",
"cheapest_week_eur",
"page"
]
}
}
},
"required": [
"slug",
"name",
"page",
"indexed",
"discounted_boats",
"yacht_models",
"max_discount_pct",
"median_discount_pct",
"cheapest_week_eur",
"departure_months",
"by_type"
]
}
}
},
"required": [
"as_of",
"price_unit",
"destinations"
]
}🟢search_deals(country, month, departure_from, departure_to, boat_type, ...)
Discounted boats (one row per boat and week) filtered by destination, departure month or date window, boat type, cabins, group size (berths), minimum discount and maximum whole-boat price. Sorted by discount, whole-boat price or price per berth. With any filter beyond destination/month/type/cabins every matching boat is considered, `matching` says how many there are and `next_offset` pages through them. Without a month or date window each boat appears once (its best week). Returns dates, whole-boat price, list price, discount, per-berth price, photo, source, when the price was checked and the boat page.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"croatia",
"greece",
"italy",
"turkey",
"spain",
"montenegro",
"seychelles",
"france",
"caribbean",
"thailand",
"canaries"
],
"description": "Destination slug"
},
"month": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Departure month, YYYY-MM (the next three months are covered)"
},
"departure_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest departure date, YYYY-MM-DD (e.g. a flexible week: 2026-11-01 to 2026-11-15)"
},
"departure_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest departure date, YYYY-MM-DD"
},
"boat_type": {
"type": "string",
"enum": [
"catamaran",
"monohull"
]
},
"cabins": {
"type": "integer",
"enum": [
2,
3,
4,
5,
6
],
"description": "Guest cabins; 6 means 6 or more"
},
"people": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "People sleeping aboard: only boats with at least this many berths"
},
"min_discount_pct": {
"type": "number",
"minimum": 0,
"maximum": 95,
"description": "Only boats at least this much off the list price, %"
},
"max_price_eur": {
"type": "number",
"minimum": 0,
"description": "Maximum whole-boat price for the week, EUR"
},
"sort": {
"type": "string",
"enum": [
"discount",
"price",
"per_berth"
],
"default": "discount",
"description": "discount — biggest first; price — cheapest whole boat; per_berth — cheapest per berth (best for a full boat)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 1000,
"default": 0,
"description": "Skip this many results: pass next_offset from the previous call"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"filter": {
"type": "object",
"properties": {},
"required": []
},
"count": {
"type": "integer"
},
"matching": {
"type": "integer"
},
"more": {
"type": "boolean"
},
"next_offset": {
"type": [
"integer",
"null"
]
},
"price_unit": {
"type": "string"
},
"deals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"departure": {
"type": "string"
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": "number"
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"source": {
"type": "string"
},
"price_checked_at": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"model",
"year",
"boat_type",
"country",
"base",
"cabins",
"berths",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"source",
"price_checked_at",
"page"
]
}
}
},
"required": [
"filter",
"count",
"more",
"next_offset",
"price_unit",
"deals"
]
}🟢get_boat(id, url)
Everything known about one discounted boat-week: dates, whole-boat price, list price, discount, per-berth price, price history, specs (length, beam, draft, heads, engine, tanks, sails, charter type), equipment, mandatory and optional extras with prices, photos and the boat's other discounted weeks. Pass the id from search_deals (the number at the end of its page URL) or the page URL itself.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Boat-week id: the number at the end of the page URL, e.g. 1131 for /en/deals/turkey/1131"
},
"url": {
"type": "string",
"description": "Boat page URL from search_deals, e.g. https://www.rycrentals.com/en/deals/turkey/1131"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"page": {
"type": [
"string",
"null"
]
},
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"country_slug": {
"type": [
"string",
"null"
]
},
"base": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"cabins_total": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"departure": {
"type": [
"string",
"null"
]
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": [
"number",
"null"
]
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"previous_price_eur": {
"type": [
"number",
"null"
]
},
"price_cut_at": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
},
"price_checked_at": {
"type": [
"string",
"null"
]
},
"first_seen_at": {
"type": [
"string",
"null"
]
},
"specs": {
"type": [
"object",
"null"
],
"properties": {
"length_m": {
"type": [
"number",
"null"
]
},
"beam_m": {
"type": [
"number",
"null"
]
},
"draft_m": {
"type": [
"number",
"null"
]
},
"heads": {
"type": [
"number",
"null"
]
},
"engine": {
"type": [
"string",
"null"
]
},
"charter_type": {
"type": [
"string",
"null"
]
},
"equipment": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"equipment"
]
},
"extras": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"unit": {
"type": "string"
},
"mandatory": {
"type": "boolean"
}
},
"required": [
"name",
"price_eur",
"unit",
"mandatory"
]
}
},
"mandatory_per_booking_eur": {
"type": [
"number",
"null"
]
},
"photos": {
"type": "array",
"items": {
"type": "string"
}
},
"other_weeks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"departure": {
"type": [
"string",
"null"
]
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": [
"number",
"null"
]
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"page"
]
}
},
"booking": {
"type": "string"
}
},
"required": [
"id",
"page",
"model",
"year",
"boat_type",
"country",
"country_slug",
"base",
"cabins",
"cabins_total",
"berths",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"previous_price_eur",
"price_cut_at",
"source",
"price_checked_at",
"first_seen_at",
"specs",
"extras",
"mandatory_per_booking_eur",
"photos",
"other_weeks",
"booking"
]
}🟢prices_by_month(country)
Price per berth per week (median, lower and upper quartile), median whole-boat week, share of boats 20%+ off and boats checked, by destination, month and boat type, from the agent's market scans.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"croatia",
"greece",
"italy",
"turkey",
"spain",
"montenegro",
"seychelles",
"france",
"caribbean",
"thailand",
"canaries"
],
"description": "Destination slug; omit for all"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"unit": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"month": {
"type": "string"
},
"boat_type": {
"type": "string"
},
"median_per_berth_eur": {
"type": [
"number",
"null"
]
},
"p25_per_berth_eur": {
"type": [
"number",
"null"
]
},
"p75_per_berth_eur": {
"type": [
"number",
"null"
]
},
"median_week_eur": {
"type": [
"number",
"null"
]
},
"share_20pct_off": {
"type": [
"number",
"null"
]
},
"boats_checked": {
"type": [
"number",
"null"
]
},
"checked": {
"type": [
"string",
"null"
]
}
},
"required": [
"country",
"month",
"boat_type",
"median_per_berth_eur",
"p25_per_berth_eur",
"p75_per_berth_eur",
"median_week_eur",
"share_20pct_off",
"boats_checked",
"checked"
]
}
}
},
"required": [
"unit",
"rows"
]
}🟢list_routes(country, lang)
One-week sailing routes that start and end at a charter base: title, destination, route label, number of days, total nautical miles, start port, overnight stops in order, a short description and the route page. Use get_route for the day-by-day plan.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"turkey",
"greece",
"croatia",
"montenegro",
"italy",
"france",
"spain",
"canaries",
"portugal",
"seychelles",
"thailand",
"maldives",
"caribbean"
],
"description": "Destination slug; omit for all routes"
},
"lang": {
"type": "string",
"enum": [
"ru",
"en",
"de",
"es"
],
"default": "en",
"description": "Language of titles, texts and stop names"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"miles_unit": {
"type": "string"
},
"routes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"title": {
"type": "string"
},
"route": {
"type": "string"
},
"days": {
"type": "integer"
},
"total_miles": {
"type": "number"
},
"start": {
"type": "string"
},
"overnight_stops": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"slug",
"country",
"country_name",
"title",
"route",
"days",
"total_miles",
"start",
"overnight_stops",
"description",
"url"
]
}
}
},
"required": [
"count",
"miles_unit",
"routes"
]
}🟢get_route(country, slug, url, lang)
Full one-week sailing route: description, day-by-day plan (leg, nautical miles, what to expect), each day's stops with latitude/longitude (decimal degrees, harbour or bay level), other marinas, town quays and mooring-buoy bays near each day's leg with coordinates, practical notes on wind, berths and formalities, total miles, the route page, up to five discounted boats departing from the route's start port and the page of all discounted boats in that destination. Pass country and slug from list_routes, or the route page URL.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"turkey",
"greece",
"croatia",
"montenegro",
"italy",
"france",
"spain",
"canaries",
"portugal",
"seychelles",
"thailand",
"maldives",
"caribbean"
],
"description": "Destination slug, e.g. turkey"
},
"slug": {
"type": "string",
"enum": [
"marmaris-week",
"bozburun-week",
"loryma-week",
"gocek-week",
"fethiye-kekova-week",
"fethiye-bodrum-week",
"gocek-bozburun-week",
"gocek-marmaris-one-way",
"oludeniz-marmaris-one-way",
"saronic-week",
"lefkada-week",
"corfu-week",
"dodecanese-rhodes-week",
"dodecanese-patmos-week",
"aegina-thessaloniki-one-way",
"cyclades-10-days",
"kea-kythnos-week",
"lefkas-south-week",
"milos-week",
"thasos-week",
"split-week",
"pula-week",
"dubrovnik-week",
"kornati-week",
"zadar-week",
"trogir-week",
"dalmatia-two-weeks",
"krka-week",
"zadar-kvarner-two-weeks",
"boka-week",
"budva-week",
"bar-week",
"maddalena-week",
"corsica-week",
"tuscany-corsica-week",
"naples-week",
"aeolian-week",
"amalfi-week",
"aeolian-portorosa-week",
"aeolian-seven-islands-week",
"capri-4-days",
"cilento-week",
"elba-corsica-two-weeks",
"elba-giglio-week",
"ponza-week",
"venice-two-weeks",
"riviera-week",
"hyeres-week",
"ajaccio-week",
"palma-week",
"costa-brava-week",
"menorca-week",
"alicante-week",
"valencia-week",
"balearics-two-weeks",
"costa-brava-france-week",
"mallorca-week",
"tenerife-week",
"lanzarote-week",
"gran-canaria-week",
"algarve-week",
"azores-week",
"lisbon-week",
"la-digue-week",
"silhouette-week",
"praslin-week",
"phang-nga-week",
"phi-phi-week",
"similan-week",
"langkawi-one-way",
"male-ari-week",
"bvi-week",
"grenadines-week",
"antigua-week",
"st-martin-week",
"abaco-week",
"cuba-cayo-largo-week",
"cuba-cayos-week",
"cuba-juventud-11-days",
"guadeloupe-week",
"st-martin-martinique-two-weeks",
"st-martin-tortola-one-way"
],
"description": "Route slug from list_routes, e.g. marmaris-week"
},
"url": {
"type": "string",
"description": "Route page URL, e.g. https://www.rycrentals.com/en/deals/turkey/marmaris-week"
},
"lang": {
"type": "string",
"enum": [
"ru",
"en",
"de",
"es"
],
"default": "en",
"description": "Language of titles, texts and stop names"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"title": {
"type": "string"
},
"route": {
"type": "string"
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "integer"
},
"leg": {
"type": "string"
},
"miles": {
"type": [
"string",
"null"
]
},
"text": {
"type": "string"
},
"stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string"
},
"overnight": {
"type": "boolean"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"coordinates": {
"type": "string"
}
},
"required": [
"name",
"kind",
"overnight",
"lat",
"lon",
"coordinates"
]
}
},
"other_stops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"coordinates": {
"type": "string"
}
},
"required": [
"name",
"type",
"lat",
"lon",
"coordinates"
]
}
}
},
"required": [
"day",
"leg",
"miles",
"text",
"stops",
"other_stops"
]
}
},
"total_miles": {
"type": "number"
},
"start": {
"type": "string"
},
"overnight_stops": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
},
"url": {
"type": "string"
},
"intro": {
"type": "string"
},
"updated": {
"type": "string"
},
"practical": {
"type": "array",
"items": {
"type": "string"
}
},
"coordinates_note": {
"type": "string"
},
"boats_url": {
"type": "string"
},
"boats_from_start": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"departure": {
"type": "string"
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": "number"
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"source": {
"type": "string"
},
"price_checked_at": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"model",
"year",
"boat_type",
"country",
"base",
"cabins",
"berths",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"source",
"price_checked_at",
"page"
]
}
},
"boats_note": {
"type": "string"
}
},
"required": [
"slug",
"country",
"country_name",
"title",
"route",
"days",
"total_miles",
"start",
"overnight_stops",
"description",
"url",
"intro",
"updated",
"practical",
"coordinates_note",
"boats_url",
"boats_from_start",
"boats_note"
]
}🟢request_availability(id, url, lang)
A link the person opens to ask an RYC manager to check and book one discounted boat-week. The link opens the boat page with the request form already open; the person signs in by email and presses Send — the assistant cannot send the request itself. The manager replies on the site's Messages page, by notification or email, within an hour from 10:00 to 20:00 Moscow time. Pass the id or page URL from search_deals or get_boat.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Boat-week id: the number at the end of the page URL"
},
"url": {
"type": "string",
"description": "Boat page URL from search_deals or get_boat"
},
"lang": {
"type": "string",
"enum": [
"ru",
"en",
"de",
"es"
],
"default": "en",
"description": "Site language for the link"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"boat": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"model": {
"type": "string"
},
"price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
}
},
"required": [
"id",
"model"
]
},
"next_steps": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"url",
"boat",
"next_steps"
]
}🟢create_deal_alert(country, month, boat_type, cabins, max_price_eur, ...)
A link to set up an alert on the site when nothing current fits the person's dates or budget. The answers given here are filled in; the site asks only what is missing. After the person signs in by email, the RYC agent searches charter portals and booking sites at once, repeats the search every week and sends only new discounted boats to the Messages page, by notification or email.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"croatia",
"greece",
"italy",
"turkey",
"spain",
"montenegro",
"seychelles",
"france",
"caribbean",
"thailand",
"canaries"
],
"description": "Destination slug"
},
"month": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Departure month, YYYY-MM; this month or later"
},
"boat_type": {
"type": "string",
"enum": [
"catamaran",
"monohull"
]
},
"cabins": {
"type": "integer",
"enum": [
2,
3,
4,
5
],
"description": "Guest cabins, exactly (2–5)"
},
"max_price_eur": {
"type": "number",
"minimum": 0,
"description": "Budget for the whole boat per week, EUR; rounded up to the site's bands (2500, 5000, 8000, 10000; above the top band — any price)"
},
"lang": {
"type": "string",
"enum": [
"ru",
"en",
"de",
"es"
],
"default": "en",
"description": "Site language for the link"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"filled": {
"type": "object",
"properties": {
"country": {
"type": [
"string",
"null"
]
},
"month": {
"type": [
"string",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"budget_max_eur": {
"type": [
"number",
"string",
"null"
]
}
},
"required": [
"country",
"month",
"boat_type",
"cabins",
"budget_max_eur"
]
},
"still_to_answer": {
"type": "array",
"items": {
"type": "string"
}
},
"next_steps": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"url",
"filled",
"still_to_answer",
"next_steps"
]
}🟢is_good_deal(id, url)
Compares one boat-week's price with the market for the same destination, departure month and boat type (the agent's scans of hundreds of boats): verdict excellent / good / fair / expensive, percent above or below the median price per berth, the market quartiles, a recent price cut and cheaper weeks of the same boat. Use it before recommending a boat or when the person asks whether a price is good.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Boat-week id: the number at the end of the page URL, e.g. 1131 for /en/deals/turkey/1131"
},
"url": {
"type": "string",
"description": "Boat page URL from search_deals, e.g. https://www.rycrentals.com/en/deals/turkey/1131"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"boat": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"departure": {
"type": [
"string",
"null"
]
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": [
"number",
"null"
]
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"model",
"year",
"boat_type",
"country",
"base",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"cabins",
"berths",
"page"
]
},
"verdict": {
"type": "string",
"enum": [
"excellent",
"good",
"fair",
"expensive",
"no_market_data"
]
},
"summary": {
"type": "string"
},
"vs_median_pct": {
"type": [
"number",
"null"
]
},
"compared_on": {
"type": [
"string",
"null"
],
"enum": [
"per_berth",
"whole_boat",
null
]
},
"market": {
"type": [
"object",
"null"
],
"properties": {
"month": {
"type": "string"
},
"boat_type": {
"type": "string"
},
"per_berth_eur": {
"type": [
"object",
"null"
],
"properties": {
"p25": {
"type": "number"
},
"median": {
"type": "number"
},
"p75": {
"type": "number"
}
},
"required": [
"p25",
"median",
"p75"
]
},
"whole_boat_week_eur": {
"type": [
"object",
"null"
],
"properties": {
"p25": {
"type": "number"
},
"median": {
"type": "number"
},
"p75": {
"type": "number"
}
},
"required": [
"p25",
"median",
"p75"
]
},
"share_20pct_off": {
"type": [
"number",
"null"
]
},
"boats_checked": {
"type": [
"number",
"null"
]
},
"checked": {
"type": [
"string",
"null"
]
},
"median_understated": {
"type": "boolean"
}
},
"required": [
"month",
"boat_type",
"per_berth_eur",
"whole_boat_week_eur",
"share_20pct_off",
"boats_checked",
"checked",
"median_understated"
]
},
"price_drop": {
"type": [
"object",
"null"
],
"properties": {
"previous_price_eur": {
"type": "number"
},
"price_cut_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"previous_price_eur",
"price_cut_at"
]
},
"cheaper_weeks_of_same_boat": {
"type": "array",
"items": {
"type": "object",
"properties": {
"departure": {
"type": [
"string",
"null"
]
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"departure",
"return",
"price_eur",
"discount_pct",
"page"
]
}
},
"price_checked_at": {
"type": [
"string",
"null"
]
}
},
"required": [
"boat",
"verdict",
"summary",
"vs_median_pct",
"compared_on",
"market",
"price_drop",
"cheaper_weeks_of_same_boat",
"price_checked_at"
]
}🟢trip_cost(id, url, people, skipper, extras)
What one boat-week really costs a group: boat price plus mandatory extras (charter pack, transit log, cleaning, tourist tax…) priced by their unit (per booking, per night, per person), plus a skipper and other optional extras on request; total and per person, with what is not included (deposit, fuel, marinas, food).
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Boat-week id: the number at the end of the page URL, e.g. 1131 for /en/deals/turkey/1131"
},
"url": {
"type": "string",
"description": "Boat page URL from search_deals, e.g. https://www.rycrentals.com/en/deals/turkey/1131"
},
"people": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "People aboard; defaults to the boat's berths"
},
"skipper": {
"type": "boolean",
"default": false,
"description": "Add a skipper, if the source lists a price"
},
"extras": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 10,
"description": "Optional extras to add, by name, e.g. [\"SUP\", \"outboard\", \"bed linen\"]"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"boat": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"departure": {
"type": [
"string",
"null"
]
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": [
"number",
"null"
]
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"model",
"year",
"boat_type",
"country",
"base",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"cabins",
"berths",
"page"
]
},
"people": {
"type": "integer"
},
"nights": {
"type": "integer"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"mandatory": {
"type": "boolean"
},
"unit": {
"type": "string"
},
"unit_price_eur": {
"type": "number"
},
"quantity": {
"type": "number"
},
"total_eur": {
"type": "number"
}
},
"required": [
"item",
"mandatory",
"unit",
"unit_price_eur",
"quantity",
"total_eur"
]
}
},
"total_eur": {
"type": "number"
},
"per_person_eur": {
"type": "number"
},
"not_counted": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"item",
"reason"
]
}
},
"not_found": {
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"boat",
"people",
"nights",
"lines",
"total_eur",
"per_person_eur",
"not_counted",
"not_found",
"notes"
]
}🟢compare_boats(ids, urls)
2–5 discounted boat-weeks side by side: dates, base, whole-boat price, price per berth, discount, price with per-booking mandatory extras, verdict against the market, cabins, berths, year, length and heads, plus which one is cheapest, biggest discount, newest and largest. Pass ids or page URLs from search_deals.
输入模式
{
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"maxItems": 5,
"description": "Boat-week ids"
},
"urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"description": "Boat page URLs"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"boats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"departure": {
"type": [
"string",
"null"
]
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": [
"number",
"null"
]
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
},
"heads": {
"type": [
"number",
"null"
]
},
"length_m": {
"type": [
"number",
"null"
]
},
"mandatory_per_booking_eur": {
"type": [
"number",
"null"
]
},
"price_with_mandatory_eur": {
"type": [
"number",
"null"
]
},
"verdict": {
"type": "string"
},
"vs_median_pct": {
"type": [
"number",
"null"
]
}
},
"required": [
"id",
"model",
"year",
"boat_type",
"country",
"base",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"cabins",
"berths",
"page",
"heads",
"length_m",
"mandatory_per_booking_eur",
"price_with_mandatory_eur",
"verdict",
"vs_median_pct"
]
}
},
"highlights": {
"type": "object",
"properties": {},
"required": []
},
"not_found": {
"type": "array",
"items": {
"type": "integer"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"boats",
"highlights",
"not_found",
"notes"
]
}🟢get_destination(country, lang)
One destination in depth: the sailing area, bases and winds, the season month by month (peak, shoulder, off season, monsoon, hurricanes), live discounted boats and the five best deals, market prices by month, one-week routes from its bases and the site pages.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"enum": [
"croatia",
"greece",
"italy",
"turkey",
"spain",
"montenegro",
"seychelles",
"france",
"caribbean",
"thailand",
"canaries"
],
"description": "Destination slug"
},
"lang": {
"type": "string",
"enum": [
"ru",
"en",
"de",
"es"
],
"default": "en",
"description": "Language of titles, texts and stop names"
}
},
"required": [
"country"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"about": {
"type": "string"
},
"season": {
"type": "string"
},
"months": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"season": {
"type": "string"
}
},
"required": [
"month",
"season"
]
}
},
"live": {
"type": [
"object",
"null"
],
"properties": {
"discounted_boats": {
"type": "number"
},
"max_discount_pct": {
"type": "number"
},
"median_discount_pct": {
"type": "number"
},
"cheapest_week_eur": {
"type": [
"number",
"null"
]
},
"as_of": {
"type": [
"string",
"null"
]
}
},
"required": [
"discounted_boats"
]
},
"top_deals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"departure": {
"type": "string"
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": "number"
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"source": {
"type": "string"
},
"price_checked_at": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"model",
"year",
"boat_type",
"country",
"base",
"cabins",
"berths",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"source",
"price_checked_at",
"page"
]
}
},
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"boat_type": {
"type": "string"
},
"median_per_berth_eur": {
"type": [
"number",
"null"
]
},
"median_week_eur": {
"type": [
"number",
"null"
]
},
"share_20pct_off": {
"type": [
"number",
"null"
]
}
},
"required": [
"month",
"boat_type",
"median_per_berth_eur",
"median_week_eur",
"share_20pct_off"
]
}
},
"routes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"start": {
"type": "string"
},
"total_miles": {
"type": "number"
},
"url": {
"type": "string"
}
},
"required": [
"slug",
"title",
"start",
"total_miles",
"url"
]
}
},
"pages": {
"type": "object",
"properties": {
"deals": {
"type": "string"
},
"prices": {
"type": "string"
},
"faq": {
"type": "string"
}
},
"required": [
"deals",
"prices",
"faq"
]
}
},
"required": [
"slug",
"name",
"about",
"season",
"months",
"live",
"top_deals",
"prices",
"routes",
"pages"
]
}🟢search_guides(query, lang, limit)
Searches the site's own answers: FAQ (licences and documents, skipper, payment and deposit, what is included, cancellation, alerts), destination guides and seasons, and one-week routes. Returns the best-matching passages with their page URLs to quote. Ask in the language you pass as lang.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "The question or keywords, e.g. «do I need a licence in Croatia»"
},
"lang": {
"type": "string",
"enum": [
"ru",
"en",
"de",
"es"
],
"default": "en",
"description": "Language of titles, texts and stop names"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5
}
},
"required": [
"query"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"score": {
"type": "number"
}
},
"required": [
"kind",
"title",
"text",
"url",
"score"
]
}
},
"hint": {
"type": [
"string",
"null"
]
}
},
"required": [
"query",
"count",
"results",
"hint"
]
}🟢list_yacht_models(boat_type, country, min_cabins, limit)
Yacht models (Lagoon 42, Bali 4.2, Oceanis 46.1…) that have discounted weeks now: boats and weeks, destinations, lowest whole-boat and per-berth price, biggest and median discount, cabins, berths, build years and the model page. Filter by boat type, destination and minimum cabins.
输入模式
{
"type": "object",
"properties": {
"boat_type": {
"type": "string",
"enum": [
"catamaran",
"monohull"
]
},
"country": {
"type": "string",
"enum": [
"croatia",
"greece",
"italy",
"turkey",
"spain",
"montenegro",
"seychelles",
"france",
"caribbean",
"thailand",
"canaries"
],
"description": "Only models with discounted boats in this destination"
},
"min_cabins": {
"type": "integer",
"minimum": 1,
"maximum": 8
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"matching": {
"type": "integer"
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"slug": {
"type": "string"
},
"boat_type": {
"type": [
"string",
"null"
]
},
"boats": {
"type": "number"
},
"weeks": {
"type": "number"
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"from_price_eur": {
"type": "number"
},
"from_per_berth_eur": {
"type": [
"number",
"null"
]
},
"max_discount_pct": {
"type": "number"
},
"median_discount_pct": {
"type": "number"
},
"cabins": {
"type": "object",
"properties": {
"min": {
"type": [
"number",
"null"
]
},
"max": {
"type": [
"number",
"null"
]
}
},
"required": [
"min",
"max"
]
},
"berths_max": {
"type": [
"number",
"null"
]
},
"years": {
"type": "object",
"properties": {
"min": {
"type": [
"number",
"null"
]
},
"max": {
"type": [
"number",
"null"
]
}
},
"required": [
"min",
"max"
]
},
"page": {
"type": "string"
}
},
"required": [
"model",
"slug",
"boat_type",
"boats",
"weeks",
"countries",
"from_price_eur",
"from_per_berth_eur",
"max_discount_pct",
"median_discount_pct",
"cabins",
"berths_max",
"years",
"page"
]
}
},
"models_page": {
"type": "string"
}
},
"required": [
"count",
"matching",
"models",
"models_page"
]
}🟢get_yacht_model(model, url)
One yacht model in depth: its numbers across all discounted weeks, where it is available and from what price, the ten cheapest weeks, the five biggest discounts and similar models. Pass the model name (e.g. Lagoon 42) or its page URL.
输入模式
{
"type": "object",
"properties": {
"model": {
"type": "string",
"maxLength": 80,
"description": "Model name, e.g. Lagoon 42 or Bali 4.6"
},
"url": {
"type": "string",
"description": "Model page URL, e.g. https://www.rycrentals.com/en/yachts/lagoon-42"
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"model": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"slug": {
"type": "string"
},
"boat_type": {
"type": [
"string",
"null"
]
},
"boats": {
"type": "number"
},
"weeks": {
"type": "number"
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"from_price_eur": {
"type": "number"
},
"from_per_berth_eur": {
"type": [
"number",
"null"
]
},
"max_discount_pct": {
"type": "number"
},
"median_discount_pct": {
"type": "number"
},
"cabins": {
"type": "object",
"properties": {
"min": {
"type": [
"number",
"null"
]
},
"max": {
"type": [
"number",
"null"
]
}
},
"required": [
"min",
"max"
]
},
"berths_max": {
"type": [
"number",
"null"
]
},
"years": {
"type": "object",
"properties": {
"min": {
"type": [
"number",
"null"
]
},
"max": {
"type": [
"number",
"null"
]
}
},
"required": [
"min",
"max"
]
},
"page": {
"type": "string"
}
},
"required": [
"model",
"slug",
"boat_type",
"boats",
"weeks",
"countries",
"from_price_eur",
"from_per_berth_eur",
"max_discount_pct",
"median_discount_pct",
"cabins",
"berths_max",
"years",
"page"
]
},
"by_destination": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"boats": {
"type": "number"
},
"from_price_eur": {
"type": "number"
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"country",
"boats",
"from_price_eur",
"page"
]
}
},
"cheapest_weeks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"departure": {
"type": "string"
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": "number"
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"source": {
"type": "string"
},
"price_checked_at": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"model",
"year",
"boat_type",
"country",
"base",
"cabins",
"berths",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"source",
"price_checked_at",
"page"
]
}
},
"best_discounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"year": {
"type": [
"number",
"null"
]
},
"boat_type": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"base": {
"type": [
"string",
"null"
]
},
"cabins": {
"type": [
"number",
"null"
]
},
"berths": {
"type": [
"number",
"null"
]
},
"departure": {
"type": "string"
},
"return": {
"type": [
"string",
"null"
]
},
"price_eur": {
"type": "number"
},
"list_price_eur": {
"type": [
"number",
"null"
]
},
"discount_pct": {
"type": [
"number",
"null"
]
},
"per_berth_eur": {
"type": [
"number",
"null"
]
},
"source": {
"type": "string"
},
"price_checked_at": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"string",
"null"
]
}
},
"required": [
"model",
"year",
"boat_type",
"country",
"base",
"cabins",
"berths",
"departure",
"return",
"price_eur",
"list_price_eur",
"discount_pct",
"per_berth_eur",
"source",
"price_checked_at",
"page"
]
}
},
"similar_models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"boats": {
"type": "number"
},
"from_price_eur": {
"type": "number"
},
"page": {
"type": "string"
}
},
"required": [
"model",
"boats",
"from_price_eur",
"page"
]
}
}
},
"required": [
"model",
"by_destination",
"cheapest_weeks",
"best_discounts",
"similar_models"
]
}社区
证据