Tool tree
Choose available Wind Birds birdwatching and whale watching tours in Madeira and reserve your preferred time.
Implementation
gradeNot graded
gradeNot graded
search_departuresAnswer
Search the current Madeira tour inventory without changing the page filters or cart. Results are availability information, not reservations.
View tool JSON
{
"name": "search_departures",
"kind": "answer",
"impl": "imperative",
"description": "Search the current Madeira tour inventory without changing the page filters or cart. Results are availability information, not reservations.",
"inputSchema": {
"type": "object",
"properties": {
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First Madeira-local departure date to include, in YYYY-MM-DD format."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last Madeira-local departure date to include, in YYYY-MM-DD format."
},
"tour_codes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"hd",
"ne",
"dw"
]
},
"minItems": 1,
"maxItems": 3,
"uniqueItems": true,
"description": "Optional tour-code filter."
},
"party_size": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Number of guests who must fit on each returned departure."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 5,
"description": "Maximum number of chronological departures to return."
},
"locale": {
"type": "string",
"enum": [
"en-GB"
],
"default": "en-GB",
"description": "Response locale. Version 1 supports en-GB only."
}
},
"additionalProperties": false
}
}get_departureAnswer
Force-refresh inventory and return one exact Madeira tour departure with current capacity and pricing. This does not change or reserve the cart.
View tool JSON
{
"name": "get_departure",
"kind": "answer",
"impl": "imperative",
"description": "Force-refresh inventory and return one exact Madeira tour departure with current capacity and pricing. This does not change or reserve the cart.",
"inputSchema": {
"type": "object",
"properties": {
"departure_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Exact departure identifier returned by search_departures."
},
"party_size": {
"type": "integer",
"minimum": 1,
"default": 1,
"description": "Number of guests to check against fresh capacity."
},
"locale": {
"type": "string",
"enum": [
"en-GB"
],
"default": "en-GB",
"description": "Response locale. Version 1 supports en-GB only."
}
},
"required": [
"departure_id"
],
"additionalProperties": false
}
}prepare_bookingSensitive Action
Force-refresh capacity, then atomically replace the visible cart with one to five departures. This does not reserve, collect contact details, authorize payment, or confirm a booking. The customer must review and continue in the page.
View tool JSON
{
"name": "prepare_booking",
"kind": "transact",
"impl": "imperative",
"description": "Force-refresh capacity, then atomically replace the visible cart with one to five departures. This does not reserve, collect contact details, authorize payment, or confirm a booking. The customer must review and continue in the page.",
"inputSchema": {
"type": "object",
"properties": {
"selections": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"type": "object",
"properties": {
"departure_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S",
"description": "Exact departure identifier returned by search_departures."
},
"party_size": {
"type": "integer",
"minimum": 1,
"description": "Number of guests for this departure."
},
"transfer_selected": {
"type": "boolean",
"description": "Whether to add the optional Machico transfer when available."
}
},
"required": [
"departure_id",
"party_size",
"transfer_selected"
],
"additionalProperties": false
},
"description": "The complete cart. A successful call replaces the visible cart atomically."
}
},
"required": [
"selections"
],
"additionalProperties": false
}
}get_booking_summaryAnswer
Return the visible cart lines, totals, editability, and required next customer action. This does not change, reserve, pay for, or confirm a booking.
View tool JSON
{
"name": "get_booking_summary",
"kind": "answer",
"impl": "imperative",
"description": "Return the visible cart lines, totals, editability, and required next customer action. This does not change, reserve, pay for, or confirm a booking.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}