← WebMCP Directory

Tool tree

booking.windbirds.dev

Travel & EventsTools verified
Website
Choose available Wind Birds birdwatching and whale watching tours in Madeira and reserve your preferred time.
Explore capabilities
    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
      }
    }