{
    "specVersion": "1.0",
    "description": "Tools registered in the browser through navigator.modelContext on transitfleet.co.uk pages. Declarative form annotations are applied to the quote form.",
    "site": "https://transitfleet.co.uk/",
    "api": "navigator.modelContext",
    "tools": [
        {
            "name": "get_company_info",
            "description": "Get verified facts about Transit Fleet Ltd: what it does, address, phone, emails, coverage area and published performance claims.",
            "inputSchema": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
            },
            "annotations": {
                "readOnlyHint": true,
                "idempotentHint": true,
                "openWorldHint": false
            }
        },
        {
            "name": "list_services",
            "description": "List every service Transit Fleet offers (haulage, delivery, logistics, specialist) with a short summary and page URL.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "haulage",
                            "delivery",
                            "logistics",
                            "specialist"
                        ],
                        "description": "Optional category filter."
                    }
                },
                "additionalProperties": false
            },
            "annotations": {
                "readOnlyHint": true,
                "idempotentHint": true,
                "openWorldHint": false
            }
        },
        {
            "name": "get_service_details",
            "description": "Get the full published text and URL of one service page by its slug.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "slug": {
                        "type": "string",
                        "description": "Service slug from list_services.",
                        "enum": [
                            "traction-work",
                            "general-haulage",
                            "heavy-transport-hgv-services",
                            "shuttle-routes",
                            "backload-routes",
                            "frieght-distribution",
                            "consignment-transport",
                            "van-delivery-services",
                            "courier-parcel-delivery",
                            "specialist-courier-services",
                            "industry-specific-courier-services",
                            "medical-pharmaceutical-courier-services",
                            "temperature-controlled-food-logistics",
                            "warehousing-solutions",
                            "warehouse-waste-management",
                            "logistics-third-party-logistics-3pl-services",
                            "transport-vehicle-hire-services"
                        ]
                    }
                },
                "required": [
                    "slug"
                ],
                "additionalProperties": false
            },
            "annotations": {
                "readOnlyHint": true,
                "idempotentHint": true,
                "openWorldHint": false
            }
        },
        {
            "name": "search_site",
            "description": "Search published pages and blog posts on transitfleet.co.uk.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 120,
                        "description": "Search terms."
                    },
                    "limit": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 20,
                        "default": 8
                    }
                },
                "required": [
                    "query"
                ],
                "additionalProperties": false
            },
            "annotations": {
                "readOnlyHint": true,
                "idempotentHint": true,
                "openWorldHint": false
            }
        },
        {
            "name": "get_contact_details",
            "description": "Get phone numbers, emails, address and the links for requesting a quote.",
            "inputSchema": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
            },
            "annotations": {
                "readOnlyHint": true,
                "idempotentHint": true,
                "openWorldHint": false
            }
        },
        {
            "name": "fill_quote_form",
            "description": "Fill in the quote form on the page for the user to review. Does not submit it; the user must press the submit button themselves.",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 100,
                        "description": "Full name of the person requesting the quote."
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "description": "Contact email."
                    },
                    "phone": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 25,
                        "description": "Contact phone number."
                    },
                    "company": {
                        "type": "string",
                        "maxLength": 120,
                        "description": "Company name (optional)."
                    },
                    "pickup_postcode": {
                        "type": "string",
                        "maxLength": 10,
                        "description": "UK pick-up postcode."
                    },
                    "dropoff_postcode": {
                        "type": "string",
                        "maxLength": 10,
                        "description": "UK drop-off postcode."
                    },
                    "pickup_date": {
                        "type": "string",
                        "format": "date",
                        "description": "Pick-up date, YYYY-MM-DD."
                    },
                    "stops": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 5,
                        "default": 0,
                        "description": "Number of additional transit stops (5 = 5 or more)."
                    },
                    "miles": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 2000,
                        "description": "Approximate number of miles."
                    },
                    "services": {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                            "type": "string",
                            "enum": [
                                "Traction Work",
                                "General Haulage",
                                "Backload & Routes",
                                "Consignment Transport",
                                "Van Deliveries",
                                "Courier & Parcel Delivery"
                            ]
                        },
                        "description": "Service(s) required."
                    },
                    "message": {
                        "type": "string",
                        "maxLength": 1500,
                        "description": "Extra details: load type, pallets, weights, timings, access constraints."
                    }
                },
                "required": [],
                "additionalProperties": false
            },
            "annotations": {
                "readOnlyHint": false,
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false
            }
        }
    ],
    "declarativeForms": [
        {
            "selector": "#gform_2",
            "toolname": "request_haulage_quote",
            "tooldescription": "Request a quote from Transit Fleet for haulage, van delivery or courier work. Fills the form for the user to review and submit.",
            "autosubmit": false
        }
    ]
}