Carp fishing lakes in France: search venues, check availability, get week prices, book.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Quote one Angling Lines venue for one fixed 7-day week: give a venue name or slug, a Saturday arrival date (YYYY-MM-DD) and the party, and get the total price for the whole party for the whole week. Prices come from the live booking engine — the venue price plus the cheapest Channel crossing for the vehicles quoted — and are in GBP. Returns a structured "unavailable" result, not a price, when that week is not free for that party.
The Saturday arrival date of the 7-day week, as YYYY-MM-DD. Every stay runs Saturday to Saturday.
The venue to quote, by name or slug, e.g. "Beaurepaire".
Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5.
Number of cars travelling — crossing costs are per vehicle. Ask when unknown for a crossing quote; do not silently assume 1. Pass 0 for a van-only party. Defaults to 1 for older callers.
Number of vans travelling. Preserve the customer's count in all crossing and booking calls. Defaults to 0.
Chosen swim numbers from list_swims; omit for suitable available defaults. Requote after changing swims.
Quote the venue exclusively for this party. Some party sizes force exclusive use anyway.
Number of non-fishing guests. Defaults to 0.
Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL.
True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default.
Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically.
Quote one Angling Lines venue for one fixed 7-day week: give a venue name or slug, a Saturday arrival date (YYYY-MM-DD) and the party, and get the total price for the whole party for the whole week. Prices come from the live booking engine — the venue price plus the cheapest Channel crossing for the vehicles quoted — and are in GBP. Returns a structured "unavailable" result, not a price, when that week is not free for that party.
| Argument | Type | Description |
|---|---|---|
| cars | integer | Number of cars travelling — crossing costs are per vehicle. Ask when unknown for a crossing quote; do not silently assume 1. Pass 0 for a van-only party. Defaults to 1 for older callers. |
| date* | string | The Saturday arrival date of the 7-day week, as YYYY-MM-DD. Every stay runs Saturday to Saturday. |
| vans | integer | Number of vans travelling. Preserve the customer's count in all crossing and booking calls. Defaults to 0. |
| swims | array | Chosen swim numbers from list_swims; omit for suitable available defaults. Requote after changing swims. |
| venue* | string | The venue to quote, by name or slug, e.g. "Beaurepaire". |
| anglers* | integer | Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5. |
| exclusive | boolean | Quote the venue exclusively for this party. Some party sizes force exclusive use anyway. |
| non_anglers | integer | Number of non-fishing guests. Defaults to 0. |
| booking_option | integer | Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL. |
| include_crossing | boolean | True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default. |
| accommodation_ids | array | Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically. |
{
"type": "object",
"required": [
"venue",
"date",
"anglers"
],
"properties": {
"cars": {
"type": "integer",
"minimum": 0,
"description": "Number of cars travelling — crossing costs are per vehicle. Ask when unknown for a crossing quote; do not silently assume 1. Pass 0 for a van-only party. Defaults to 1 for older callers."
},
"date": {
"type": "string",
"description": "The Saturday arrival date of the 7-day week, as YYYY-MM-DD. Every stay runs Saturday to Saturday."
},
"vans": {
"type": "integer",
"minimum": 0,
"description": "Number of vans travelling. Preserve the customer's count in all crossing and booking calls. Defaults to 0."
},
"swims": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"description": "Chosen swim numbers from list_swims; omit for suitable available defaults. Requote after changing swims."
},
"venue": {
"type": "string",
"description": "The venue to quote, by name or slug, e.g. \"Beaurepaire\"."
},
"anglers": {
"type": "integer",
"minimum": 1,
"description": "Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5."
},
"exclusive": {
"type": "boolean",
"description": "Quote the venue exclusively for this party. Some party sizes force exclusive use anyway."
},
"non_anglers": {
"type": "integer",
"minimum": 0,
"description": "Number of non-fishing guests. Defaults to 0."
},
"booking_option": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL."
},
"include_crossing": {
"type": "boolean",
"description": "True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default."
},
"accommodation_ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"description": "Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically."
}
}
}List the Channel crossing choices for one trip — venue, Saturday arrival date (YYYY-MM-DD) and party — cheapest first. Each option gives the route, operator, ferry/tunnel type, crossing time, an overnight flag and the TOTAL holiday price with that crossing, plus the outbound/inbound route ids to pass to prepare_booking when the customer picks one. The cheapest option matches the get_quote price. Crossing choice is subject to sailing availability at checkout.
| Argument | Type | Description |
|---|---|---|
| cars | integer | Number of cars travelling. Use the same confirmed count as get_quote; crossing costs are per vehicle. Pass 0 for a van-only party. Defaults to 1 for older callers. |
| date* | string | The Saturday arrival date of the 7-day week, as YYYY-MM-DD. |
| vans | integer | Number of vans travelling. Use the same confirmed count as get_quote. Defaults to 0. |
| swims | array | Chosen swim numbers from list_swims; omit for suitable available defaults. Requote after changing swims. |
| venue* | string | The venue being booked, by name or slug, e.g. "Beaurepaire". |
| anglers* | integer | Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5. |
Check swim and accommodation availability for a venue on a specific Saturday date and actual party. Returns free/taken swim numbers, capacities, venue-specific rules and map URL. Golden Carp Lake sells four fixed booking_options, never individual swims: if asked for one swim, explain the full package and obtain customer acceptance before passing booking_option to get_quote, list_crossings or prepare_booking. Never silently expand a single-swim request or increase the party to package capacity. At other swim venues pass chosen swims and accommodation_ids, or allow suitable free defaults. Choices can affect price, so quote the final selection before confirming.
| Argument | Type | Description |
|---|---|---|
| date* | string | The Saturday arrival date of the 7-day week, as YYYY-MM-DD. |
| venue* | string | The venue, by name or slug, e.g. "Fullys Lake". |
| anglers | integer | Actual number of anglers, not package or swim capacity. Pass it so the tool can check which choices fit the party. |
| exclusive | boolean | Whether the customer wants the venue exclusively. |
| non_anglers | integer | Number of non-fishing guests. Defaults to 0. |
{
"type": "object",
"required": [
"venue",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "The Saturday arrival date of the 7-day week, as YYYY-MM-DD."
},
"venue": {
"type": "string",
"description": "The venue, by name or slug, e.g. \"Fullys Lake\"."
},
"anglers": {
"type": "integer",
"minimum": 1,
"description": "Actual number of anglers, not package or swim capacity. Pass it so the tool can check which choices fit the party."
},
"exclusive": {
"type": "boolean",
"description": "Whether the customer wants the venue exclusively."
},
"non_anglers": {
"type": "integer",
"minimum": 0,
"description": "Number of non-fishing guests. Defaults to 0."
}
}
}List every bookable Angling Lines carp fishing venue in France, with its headline facts (lake size, swims, capacity, lake record, accommodation), boolean feature flags (dogs_allowed, catfish, pool_or_hot_tub, …) and canonical URLs. The feature keys match the search_venues filter names, so prefer search_venues to filter server-side. Takes no arguments. This is the full catalogue, not an availability check.
No arguments.
{
"type": "object",
"properties": {}
}Prepare a confirmed trip, including selected swims, accommodation, Golden Carp Lake booking_option and crossing, for the Angling Lines review page. Returns a live total and signed prefill link; creates nothing until the customer opens it. Call after the customer confirms the venue, Saturday date, party and choices. Missing or unavailable choices return a reason to resolve IN CHAT with list_swims/list_crossings; GCL can be booked through chat. Nothing is held or booked until checkout is completed.
| Argument | Type | Description |
|---|---|---|
| cars | integer | Number of cars travelling. Pass the customer's confirmed count from get_quote/list_crossings unchanged, including 0 for a van-only party. Defaults to 1 for older callers. |
| date* | string | The Saturday arrival date of the 7-day week, as YYYY-MM-DD. Every stay runs Saturday to Saturday. |
| vans | integer | Number of vans travelling. Pass the customer's confirmed count from get_quote/list_crossings unchanged. Defaults to 0. |
| swims | array | Swim NUMBERS the customer chose (from list_swims), e.g. [1, 4]. Omit to auto-pick good free swims — the customer can change them on the review page. Ignored at venues without designated swims. |
| venue* | string | The venue to book, by name or slug, e.g. "Beaurepaire". |
| anglers |
Browse the curated venue categories Angling Lines maintains — themed collections such as big carp lakes, family-friendly lakes, lakes with a swimming pool, or lakes close to Calais. Called with no arguments it lists every category with its description and venue count; pass a category slug to get the bookable venues in that category. These lists are hand-picked by Angling Lines, so they cannot be reproduced by filtering on venue attributes.
| Argument | Type | Description |
|---|---|---|
| category | string | The category slug to open, e.g. "big-carp-lakes". Omit it to list every category. |
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "The category slug to open, e.g. \"big-carp-lakes\". Omit it to list every category."
}
}
}The tool for "find me a lake": search the Angling Lines catalogue by party size, features and availability, exactly the way the website search does. Every filter is optional — call it with nothing for the whole catalogue, or combine party size ("anglers", "non_anglers"), lake facts ("min_carp_lb", "min_lake_acres") and facilities ("accommodation", "all_inclusive", "meals", "pool_or_hot_tub", "tackle_hire", "catfish", "dogs_allowed", "campervans", "rowing_boats", "bait_boats", "bait_on_site"). Add a Saturday "date" (YYYY-MM-DD) to get real availability plus "alternatives" — venues that match everything but that week, each with the nearest earlier and later free Saturday — or "months" (["YYYY-MM"]) to scan whole months. Narrow to a curated theme with "category", whose slugs come from search_categories.
| Argument | Type | Description |
|---|---|---|
| date | string | A single Saturday arrival date as "YYYY-MM-DD", e.g. "2026-09-05". Give this to get real availability plus earlier/later alternatives. Stays run Saturday to Saturday, so any other weekday is rejected. |
| meals | boolean | Only venues where meals are available. |
| months | array | Whole months to scan, each as "YYYY-MM", e.g. ["2026-09", "2026-10"]. Use this OR "date". Returns venues with at least one free week in those months. |
| sleeps | integer | Only lakes whose accommodation sleeps at least this many. Applies with "accommodation". |
| anglers | integer | Number of anglers (fishing guests) in the party. Defaults to 1. |
Check which Angling Lines venues genuinely have space for a party, either on one specific Saturday or across a whole month. Stays are fixed 7-day weeks, so an arrival date must be a Saturday in "YYYY-MM-DD" form; pass "month" as "YYYY-MM" instead to scan a whole month (defaults to the current month). Returns only venues with real availability, each with its free arrival dates and remaining capacity. Use this — not list_venues — whenever the question is about what is free or bookable.
| Argument | Type | Description |
|---|---|---|
| date | string | A single Saturday arrival date as "YYYY-MM-DD", e.g. "2026-09-05". Use this OR "month". Stays run Saturday to Saturday, so any other weekday is rejected. |
| month | string | A whole month to scan as "YYYY-MM", e.g. "2026-09". Use this OR "date". Defaults to the current month when neither is given. |
| anglers* | integer | Number of anglers (fishers) in the party. |
| non_anglers | integer | Number of non-fishing guests travelling with the party. Defaults to 0. |
{
"type": "object",
"required": [
"anglers"
],
"properties": {
"date": {
"type": "string",
"description": "A single Saturday arrival date as \"YYYY-MM-DD\", e.g. \"2026-09-05\". Use this OR \"month\". Stays run Saturday to Saturday, so any other weekday is rejected."
},
"month": {
"type": "string",
"description": "A whole month to scan as \"YYYY-MM\", e.g. \"2026-09\". Use this OR \"date\". Defaults to the current month when neither is given."
},
"anglers": {
"type": "integer",
"minimum": 1,
"description": "Number of anglers (fishers) in the party."
},
"non_anglers": {
"type": "integer",
"minimum": 0,
"description": "Number of non-fishing guests travelling with the party. Defaults to 0."
}
}
}| exclusive | boolean | Whether the venue is being booked exclusively. |
| non_anglers | integer | Number of non-fishing guests. Defaults to 0. |
| booking_option | integer | Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL. |
| include_crossing | boolean | True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default. |
| accommodation_ids | array | Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically. |
{
"type": "object",
"required": [
"venue",
"date",
"anglers"
],
"properties": {
"cars": {
"type": "integer",
"minimum": 0,
"description": "Number of cars travelling. Use the same confirmed count as get_quote; crossing costs are per vehicle. Pass 0 for a van-only party. Defaults to 1 for older callers."
},
"date": {
"type": "string",
"description": "The Saturday arrival date of the 7-day week, as YYYY-MM-DD."
},
"vans": {
"type": "integer",
"minimum": 0,
"description": "Number of vans travelling. Use the same confirmed count as get_quote. Defaults to 0."
},
"swims": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"description": "Chosen swim numbers from list_swims; omit for suitable available defaults. Requote after changing swims."
},
"venue": {
"type": "string",
"description": "The venue being booked, by name or slug, e.g. \"Beaurepaire\"."
},
"anglers": {
"type": "integer",
"minimum": 1,
"description": "Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5."
},
"exclusive": {
"type": "boolean",
"description": "Whether the venue is being booked exclusively."
},
"non_anglers": {
"type": "integer",
"minimum": 0,
"description": "Number of non-fishing guests. Defaults to 0."
},
"booking_option": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL."
},
"include_crossing": {
"type": "boolean",
"description": "True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default."
},
"accommodation_ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"description": "Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically."
}
}
}| integer |
| Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5. |
| dog_info | string | Dog count and breed(s) supplied by the customer, e.g. "2 dogs: Labrador and Spaniel". Ask for missing count/breeds; do not invent them. Only for dog-friendly venues. Saved on the booking and review/edit pages; dog crossing fees are added on the review page, not included in this quote. |
| exclusive | boolean | Book the venue exclusively for this party. Some party sizes force exclusive use anyway. |
| non_anglers | integer | Number of non-fishing guests. Defaults to 0. |
| booking_option | integer | Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL. |
| inbound_route_id | integer | Inbound crossing route id from list_crossings. Must be given together with outbound_route_id. |
| include_crossing | boolean | True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default. |
| accommodation_ids | array | Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically. |
| outbound_route_id | integer | Outbound crossing route id from list_crossings. Omit (with inbound_route_id) to book the cheapest crossing. |
{
"type": "object",
"required": [
"venue",
"date",
"anglers"
],
"properties": {
"cars": {
"type": "integer",
"minimum": 0,
"description": "Number of cars travelling. Pass the customer's confirmed count from get_quote/list_crossings unchanged, including 0 for a van-only party. Defaults to 1 for older callers."
},
"date": {
"type": "string",
"description": "The Saturday arrival date of the 7-day week, as YYYY-MM-DD. Every stay runs Saturday to Saturday."
},
"vans": {
"type": "integer",
"minimum": 0,
"description": "Number of vans travelling. Pass the customer's confirmed count from get_quote/list_crossings unchanged. Defaults to 0."
},
"swims": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"description": "Swim NUMBERS the customer chose (from list_swims), e.g. [1, 4]. Omit to auto-pick good free swims — the customer can change them on the review page. Ignored at venues without designated swims."
},
"venue": {
"type": "string",
"description": "The venue to book, by name or slug, e.g. \"Beaurepaire\"."
},
"anglers": {
"type": "integer",
"minimum": 1,
"description": "Actual number of fishing guests supplied by the customer, never a package or swim capacity. Keep 2 guests as 2 even for a package with capacity 5."
},
"dog_info": {
"type": "string",
"maxLength": 100,
"description": "Dog count and breed(s) supplied by the customer, e.g. \"2 dogs: Labrador and Spaniel\". Ask for missing count/breeds; do not invent them. Only for dog-friendly venues. Saved on the booking and review/edit pages; dog crossing fees are added on the review page, not included in this quote."
},
"exclusive": {
"type": "boolean",
"description": "Book the venue exclusively for this party. Some party sizes force exclusive use anyway."
},
"non_anglers": {
"type": "integer",
"minimum": 0,
"description": "Number of non-fishing guests. Defaults to 0."
},
"booking_option": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Golden Carp Lake whole package explicitly chosen by the customer after seeing available list_swims options: 1 cabin & swim 1; 2 all of swims 2,3,4; 3 exclusive without cabin; 4 exclusive with cabin. Never infer a package from a single swim preference such as swim 4. Required for GCL."
},
"inbound_route_id": {
"type": "integer",
"minimum": 1,
"description": "Inbound crossing route id from list_crossings. Must be given together with outbound_route_id."
},
"include_crossing": {
"type": "boolean",
"description": "True when the customer wants a crossing, including cheapest crossing at a crossing-optional venue. False for venue-only. Omit to use the venue default."
},
"accommodation_ids": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
},
"description": "Selected accommodation IDs returned by list_swims for this date. GCL booking_option includes the matching cabin automatically."
},
"outbound_route_id": {
"type": "integer",
"minimum": 1,
"description": "Outbound crossing route id from list_crossings. Omit (with inbound_route_id) to book the cheapest crossing."
}
}
}| catfish | boolean | Only venues stocked with catfish. |
| category | string | Narrow to a curated search category by slug, e.g. "big-carp-lakes". Call search_categories for the slugs that exist. |
| bait_boats | boolean | Only venues where bait boats are allowed. |
| campervans | boolean | Only venues that take campervans and motorhomes. |
| min_carp_lb | integer | Only lakes whose carp record is at least this many pounds, e.g. 60. |
| non_anglers | integer | Number of non-fishing guests travelling with the party. Defaults to 0. |
| tackle_hire | boolean | Only venues where tackle can be hired. |
| bait_on_site | boolean | Only venues selling bait on site. |
| dogs_allowed | boolean | Only venues that accept dogs and other pets. |
| rowing_boats | boolean | Only venues with rowing boats. |
| accommodation | boolean | Only lakes with on-site accommodation, rather than bivvy fishing. |
| all_inclusive | boolean | Only all-inclusive venues. |
| min_lake_acres | number | Only lakes of at least this many acres, e.g. 10. |
| pool_or_hot_tub | boolean | Only venues with a swimming pool or a hot tub. |
| crossing_optional | boolean | Only venues bookable WITHOUT a Channel crossing — the holiday is priced venue-only and the customer arranges their own travel. |
| fish_from_accommodation | boolean | Only lakes where you can fish from the accommodation. Applies with "accommodation". |
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "A single Saturday arrival date as \"YYYY-MM-DD\", e.g. \"2026-09-05\". Give this to get real availability plus earlier/later alternatives. Stays run Saturday to Saturday, so any other weekday is rejected."
},
"meals": {
"type": "boolean",
"description": "Only venues where meals are available."
},
"months": {
"type": "array",
"items": {
"type": "string"
},
"description": "Whole months to scan, each as \"YYYY-MM\", e.g. [\"2026-09\", \"2026-10\"]. Use this OR \"date\". Returns venues with at least one free week in those months."
},
"sleeps": {
"type": "integer",
"minimum": 1,
"description": "Only lakes whose accommodation sleeps at least this many. Applies with \"accommodation\"."
},
"anglers": {
"type": "integer",
"minimum": 1,
"description": "Number of anglers (fishing guests) in the party. Defaults to 1."
},
"catfish": {
"type": "boolean",
"description": "Only venues stocked with catfish."
},
"category": {
"type": "string",
"description": "Narrow to a curated search category by slug, e.g. \"big-carp-lakes\". Call search_categories for the slugs that exist."
},
"bait_boats": {
"type": "boolean",
"description": "Only venues where bait boats are allowed."
},
"campervans": {
"type": "boolean",
"description": "Only venues that take campervans and motorhomes."
},
"min_carp_lb": {
"type": "integer",
"minimum": 0,
"description": "Only lakes whose carp record is at least this many pounds, e.g. 60."
},
"non_anglers": {
"type": "integer",
"minimum": 0,
"description": "Number of non-fishing guests travelling with the party. Defaults to 0."
},
"tackle_hire": {
"type": "boolean",
"description": "Only venues where tackle can be hired."
},
"bait_on_site": {
"type": "boolean",
"description": "Only venues selling bait on site."
},
"dogs_allowed": {
"type": "boolean",
"description": "Only venues that accept dogs and other pets."
},
"rowing_boats": {
"type": "boolean",
"description": "Only venues with rowing boats."
},
"accommodation": {
"type": "boolean",
"description": "Only lakes with on-site accommodation, rather than bivvy fishing."
},
"all_inclusive": {
"type": "boolean",
"description": "Only all-inclusive venues."
},
"min_lake_acres": {
"type": "number",
"minimum": 0,
"description": "Only lakes of at least this many acres, e.g. 10."
},
"pool_or_hot_tub": {
"type": "boolean",
"description": "Only venues with a swimming pool or a hot tub."
},
"crossing_optional": {
"type": "boolean",
"description": "Only venues bookable WITHOUT a Channel crossing — the holiday is priced venue-only and the customer arranges their own travel."
},
"fish_from_accommodation": {
"type": "boolean",
"description": "Only lakes where you can fish from the accommodation. Applies with \"accommodation\"."
}
}
}