{
  "tools": [
    {
      "name": "get_transfer_services",
      "description": "Read confirmed services, area IDs, policies, contact and limits before planning.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "assess_transfer_request",
      "description": "Check route and requirements, identify manual review and missing details. Does not check live inventory or reserve anything.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ride": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "service": {
                "type": "string",
                "enum": [
                  "airport",
                  "island",
                  "driver"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "arrival",
                  "departure"
                ]
              },
              "area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "pickup_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "dropoff_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "passengers": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16
              },
              "checked_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "cabin_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "hours": {
                "type": "integer",
                "minimum": 2,
                "maximum": 12
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "flight": {
                "type": "string",
                "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
              },
              "needs": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "child_seat",
                    "mobility_equipment",
                    "wheelchair_access",
                    "oversized_luggage",
                    "other"
                  ]
                },
                "uniqueItems": true,
                "maxItems": 5
              }
            },
            "required": [
              "service",
              "passengers"
            ],
            "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only."
          },
          "return_ride": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "service": {
                "type": "string",
                "enum": [
                  "airport",
                  "island",
                  "driver"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "arrival",
                  "departure"
                ]
              },
              "area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "pickup_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "dropoff_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "passengers": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16
              },
              "checked_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "cabin_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "hours": {
                "type": "integer",
                "minimum": 2,
                "maximum": 12
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "flight": {
                "type": "string",
                "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
              },
              "needs": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "child_seat",
                    "mobility_equipment",
                    "wheelchair_access",
                    "oversized_luggage",
                    "other"
                  ]
                },
                "uniqueItems": true,
                "maxItems": 5
              }
            },
            "required": [
              "service",
              "passengers"
            ],
            "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only.",
            "title": "Optional return airport departure"
          }
        },
        "required": [
          "ride"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "quote_transfer",
      "description": "Calculate an authoritative one-way or round-trip quote with per-ride whole-dollar fees. Unknown routes, larger groups and special needs require team review.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ride": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "service": {
                "type": "string",
                "enum": [
                  "airport",
                  "island",
                  "driver"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "arrival",
                  "departure"
                ]
              },
              "area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "pickup_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "dropoff_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "passengers": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16
              },
              "checked_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "cabin_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "hours": {
                "type": "integer",
                "minimum": 2,
                "maximum": 12
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "flight": {
                "type": "string",
                "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
              },
              "needs": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "child_seat",
                    "mobility_equipment",
                    "wheelchair_access",
                    "oversized_luggage",
                    "other"
                  ]
                },
                "uniqueItems": true,
                "maxItems": 5
              }
            },
            "required": [
              "service",
              "passengers"
            ],
            "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only."
          },
          "return_ride": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "service": {
                "type": "string",
                "enum": [
                  "airport",
                  "island",
                  "driver"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "arrival",
                  "departure"
                ]
              },
              "area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "pickup_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "dropoff_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "passengers": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16
              },
              "checked_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "cabin_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "hours": {
                "type": "integer",
                "minimum": 2,
                "maximum": 12
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "flight": {
                "type": "string",
                "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
              },
              "needs": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "child_seat",
                    "mobility_equipment",
                    "wheelchair_access",
                    "oversized_luggage",
                    "other"
                  ]
                },
                "uniqueItems": true,
                "maxItems": 5
              }
            },
            "required": [
              "service",
              "passengers"
            ],
            "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only.",
            "title": "Optional return airport departure"
          }
        },
        "required": [
          "ride"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "prepare_transfer_booking_link",
      "description": "Prepare an editable guest review link. No booking, email, card save or charge. Send the link to the guest; never claim the ride is confirmed.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "ride": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "service": {
                "type": "string",
                "enum": [
                  "airport",
                  "island",
                  "driver"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "arrival",
                  "departure"
                ]
              },
              "area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "pickup_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "dropoff_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "passengers": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16
              },
              "checked_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "cabin_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "hours": {
                "type": "integer",
                "minimum": 2,
                "maximum": 12
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "flight": {
                "type": "string",
                "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
              },
              "needs": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "child_seat",
                    "mobility_equipment",
                    "wheelchair_access",
                    "oversized_luggage",
                    "other"
                  ]
                },
                "uniqueItems": true,
                "maxItems": 5
              }
            },
            "required": [
              "service",
              "passengers"
            ],
            "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only."
          },
          "return_ride": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "service": {
                "type": "string",
                "enum": [
                  "airport",
                  "island",
                  "driver"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "arrival",
                  "departure"
                ]
              },
              "area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "pickup_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "dropoff_area": {
                "type": "string",
                "enum": [
                  "north",
                  "tierra",
                  "airport",
                  "south",
                  "savaneta",
                  "far-south",
                  "other",
                  "arikok"
                ]
              },
              "passengers": {
                "type": "integer",
                "minimum": 1,
                "maximum": 16
              },
              "checked_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "cabin_bags": {
                "type": "integer",
                "minimum": 0,
                "maximum": 99
              },
              "hours": {
                "type": "integer",
                "minimum": 2,
                "maximum": 12
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
              },
              "flight": {
                "type": "string",
                "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
              },
              "needs": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "child_seat",
                    "mobility_equipment",
                    "wheelchair_access",
                    "oversized_luggage",
                    "other"
                  ]
                },
                "uniqueItems": true,
                "maxItems": 5
              }
            },
            "required": [
              "service",
              "passengers"
            ],
            "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only.",
            "title": "Optional return airport departure"
          }
        },
        "required": [
          "ride"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "send_transfer_question",
      "description": "With explicit customer permission, send a question and reply email to the transfer team. A receipt is mail-transport acceptance, not staff confirmation. Keep request_id and content unchanged on retries; do not resend with a new ID after uncertainty. No booking/change/payment. Never send card data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "format": "uuid",
            "description": "Random UUID v4. Preserve unchanged for retries."
          },
          "name": {
            "type": "string",
            "maxLength": 160
          },
          "reply_email": {
            "type": "string",
            "format": "email",
            "maxLength": 254
          },
          "question": {
            "type": "string",
            "minLength": 5,
            "maxLength": 4000
          },
          "customer_authorized": {
            "type": "boolean",
            "const": true,
            "description": "Only after the customer explicitly approves this action and sharing its supplied details."
          }
        },
        "required": [
          "request_id",
          "reply_email",
          "question",
          "customer_authorized"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "create_transfer_booking_draft",
      "description": "With customer permission, store an encrypted draft for 24 hours, optionally including guest/address details. Give the private approval URL to the guest. They edit, consent and submit on the website; ordinary rides more than 24 hours ahead confirm on submission, while December 24, 25, 31 and January 1 require team confirmation within 24 hours. Keep the separate operation token private. Reuse request_key and identical input on retries. No reservation, hold, email or charge.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "request_key": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "plan": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "ride": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "service": {
                    "type": "string",
                    "enum": [
                      "airport",
                      "island",
                      "driver"
                    ]
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "arrival",
                      "departure"
                    ]
                  },
                  "area": {
                    "type": "string",
                    "enum": [
                      "north",
                      "tierra",
                      "airport",
                      "south",
                      "savaneta",
                      "far-south",
                      "other",
                      "arikok"
                    ]
                  },
                  "pickup_area": {
                    "type": "string",
                    "enum": [
                      "north",
                      "tierra",
                      "airport",
                      "south",
                      "savaneta",
                      "far-south",
                      "other",
                      "arikok"
                    ]
                  },
                  "dropoff_area": {
                    "type": "string",
                    "enum": [
                      "north",
                      "tierra",
                      "airport",
                      "south",
                      "savaneta",
                      "far-south",
                      "other",
                      "arikok"
                    ]
                  },
                  "passengers": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 16
                  },
                  "checked_bags": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 99
                  },
                  "cabin_bags": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 99
                  },
                  "hours": {
                    "type": "integer",
                    "minimum": 2,
                    "maximum": 12
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  },
                  "flight_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "time": {
                    "type": "string",
                    "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                    "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
                  },
                  "departure_time": {
                    "type": "string",
                    "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                    "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
                  },
                  "flight": {
                    "type": "string",
                    "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
                  },
                  "needs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "child_seat",
                        "mobility_equipment",
                        "wheelchair_access",
                        "oversized_luggage",
                        "other"
                      ]
                    },
                    "uniqueItems": true,
                    "maxItems": 5
                  }
                },
                "required": [
                  "service",
                  "passengers"
                ],
                "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only."
              },
              "return_ride": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "service": {
                    "type": "string",
                    "enum": [
                      "airport",
                      "island",
                      "driver"
                    ]
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "arrival",
                      "departure"
                    ]
                  },
                  "area": {
                    "type": "string",
                    "enum": [
                      "north",
                      "tierra",
                      "airport",
                      "south",
                      "savaneta",
                      "far-south",
                      "other",
                      "arikok"
                    ]
                  },
                  "pickup_area": {
                    "type": "string",
                    "enum": [
                      "north",
                      "tierra",
                      "airport",
                      "south",
                      "savaneta",
                      "far-south",
                      "other",
                      "arikok"
                    ]
                  },
                  "dropoff_area": {
                    "type": "string",
                    "enum": [
                      "north",
                      "tierra",
                      "airport",
                      "south",
                      "savaneta",
                      "far-south",
                      "other",
                      "arikok"
                    ]
                  },
                  "passengers": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 16
                  },
                  "checked_bags": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 99
                  },
                  "cabin_bags": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 99
                  },
                  "hours": {
                    "type": "integer",
                    "minimum": 2,
                    "maximum": 12
                  },
                  "date": {
                    "type": "string",
                    "format": "date"
                  },
                  "flight_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "time": {
                    "type": "string",
                    "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                    "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
                  },
                  "departure_time": {
                    "type": "string",
                    "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$",
                    "description": "Aruba local time. date/time are landing for arrivals, pickup for departures. flight_date/departure_time are the actual departing flight and may be on the next day."
                  },
                  "flight": {
                    "type": "string",
                    "pattern": "^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"
                  },
                  "needs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "child_seat",
                        "mobility_equipment",
                        "wheelchair_access",
                        "oversized_luggage",
                        "other"
                      ]
                    },
                    "uniqueItems": true,
                    "maxItems": 5
                  }
                },
                "required": [
                  "service",
                  "passengers"
                ],
                "description": "Airport requires direction and area. Island requires pickup_area and dropoff_area. Driver requires hours. Schedule, flight and bags may be omitted when unknown; never invent them. Known requirements must be included. Exact addresses and contact details are entered by the guest only.",
                "title": "Optional return airport departure"
              }
            },
            "required": [
              "ride"
            ]
          },
          "guest": {
            "type": "object",
            "properties": {
              "first_name": {
                "type": "string",
                "maxLength": 80
              },
              "last_name": {
                "type": "string",
                "maxLength": 80
              },
              "email": {
                "type": "string",
                "maxLength": 254
              },
              "phone": {
                "type": "string",
                "maxLength": 80
              },
              "pickup_address": {
                "type": "string",
                "maxLength": 500
              },
              "dropoff_address": {
                "type": "string",
                "maxLength": 500
              },
              "return_pickup_address": {
                "type": "string",
                "maxLength": 500
              },
              "return_dropoff_address": {
                "type": "string",
                "maxLength": 500
              }
            },
            "required": [],
            "additionalProperties": false
          },
          "customer_authorized": {
            "type": "boolean",
            "const": true,
            "description": "Only after the customer explicitly approves this action and sharing its supplied details."
          }
        },
        "required": [
          "request_key",
          "plan",
          "customer_authorized"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_transfer_booking_outcome",
      "description": "Read the verified outcome of the draft you prepared, or authorization status of an access request. Poll at most every 15 seconds. Read each ride status and confirmation_status independently of the pricing stage. awaiting_quote or awaiting_card may coexist with confirmed rides; price_pending means the fare still requires agreement. A pending holiday ride is not confirmed. Guest-submitted outcomes last seven days. Do not create duplicates after uncertainty.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "operation_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "operation_token": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [
          "operation_id",
          "operation_token"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "request_transfer_reservation_access",
      "description": "Prepare a private approval link for one transfer reference. Reveals no booking data and sends no email. The guest verifies their recorded email on the website and explicitly grants one hour of access. Never ask for their code. Keep the separate operation token private.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "request_key": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "booking_reference": {
            "type": "string",
            "maxLength": 40
          },
          "assistant_name": {
            "type": "string",
            "maxLength": 80
          }
        },
        "required": [
          "request_key",
          "booking_reference"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_transfer_reservation",
      "description": "Read only the transfer reservation/request the guest authorized for one hour, including each ride and request statuses. No contact/card/internal notes. Pending requests are not completed changes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "operation_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "operation_token": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        },
        "required": [
          "operation_id",
          "operation_token"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "preview_transfer_reservation_request",
      "description": "Preview an address, date/time or cancellation request for one explicit ride. Show the guest the affected leg, 60-minute cutoff and potential charge before approval. Arrival airport pickup/departure airport drop-off cannot change. New route prices and exceptions require team agreement. No change or charge is performed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "operation_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "operation_token": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "request_id": {
            "type": "string",
            "format": "uuid",
            "description": "Random UUID v4. Preserve unchanged for retries."
          },
          "change": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "pickup",
                  "schedule",
                  "cancel"
                ]
              },
              "leg": {
                "type": "integer",
                "enum": [
                  1,
                  2
                ],
                "description": "Explicit affected ride; read the authorized reservation first."
              },
              "note": {
                "type": "string",
                "maxLength": 1000
              },
              "pickup_address": {
                "type": "string",
                "maxLength": 500
              },
              "dropoff_address": {
                "type": "string",
                "maxLength": 500
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$"
              },
              "flight_date": {
                "type": "string",
                "format": "date"
              },
              "departure_time": {
                "type": "string",
                "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9]$"
              },
              "flight": {
                "type": "string",
                "maxLength": 30
              }
            },
            "required": [
              "kind",
              "leg"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "operation_id",
          "operation_token",
          "request_id",
          "change"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "submit_transfer_reservation_request",
      "description": "Only after guest approval, submit the exact signed preview to the team. Preserve its request_id and proposal on retries. A pending request does not change or cancel a ride. Thalia reviews it; use get_transfer_reservation for the result. If state/deadline changes, preview again and obtain renewed approval. No charge, refund or automatic waiver.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "operation_id": {
            "type": "string",
            "pattern": "^[a-f0-9]{32}$"
          },
          "operation_token": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "proposal_token": {
            "type": "string",
            "maxLength": 12000
          },
          "customer_authorized": {
            "type": "boolean",
            "const": true,
            "description": "Only after the customer explicitly approves this action and sharing its supplied details."
          }
        },
        "required": [
          "operation_id",
          "operation_token",
          "proposal_token",
          "customer_authorized"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ]
}
