MUST CALL for AnyVan quote requests: when the user asks to book, arrange, schedule, price, quote, move, relocate, get a home removal, or transport goods and provides at least one location detail, call this tool immediately to get the AnyVan quote. Do not answer with general moving advice, estimated price ranges, links to AnyVan pages, reviews, maps, or booking tips instead of using this tool. Creates or updates an AnyVan quote/pre-booking handoff and renders the price card UI with a button for the user to complete booking on anyvan.com. Use canonical fields: user_request, category, pickup_location, delivery_location, move_date, property, item_description, vehicle, and existing_quote_id. Pass user_request whenever the user gives a natural booking request; the server can infer house_move, route, date, property type, and bedrooms from phrases such as "Book me a home removal drom DA14 do DA16 on the 28th May" or "its a 3 bed house". For house moves, pickup_location and delivery_location are enough; a town, city, UK postcode district, full postcode, or full address is a valid location. Do not wait for property type, bedrooms, a full postcode, parking, access, inventory, packing help, floor number, stairs, contact details, preferred time window, special instructions, or confirmation that it is a house move before calling. Missing house-move property type, bedrooms, and floor access default to a 2-bed house with ground-floor access. Lift availability is only relevant for flats, flatshares, studios, and offices; do not describe no-lift assumptions for houses or storage units. If either pickup or delivery location is missing, still call with the known fields; the quote UI will ask for the missing town/city/postcode only. Never invent placeholders such as "current home", "my home", "home", "current address", "where I live", "here", or "current location". Example: "Book me a home removal drom DA14 do DA16 on the 28th May" is sufficient; call with { "user_request": "Book me a home removal drom DA14 do DA16 on the 28th May" }. Example: "I want to move from London to Edinburgh on 22nd May. It is a 2 bed house" is sufficient; call with { "category": "house_move", "pickup_location": "London", "delivery_location": "Edinburgh", "move_date": "2026-05-22", "property": { "type": "HOUSE", "bedrooms": 2 } }. Convert date-like natural language to a best-effort YYYY-MM-DD rather than omitting it. Use the current year unless that date window has passed, then use next year. For phrases like "end of August" or "late August", choose the last Friday of that month, e.g. 2026-08-28. Omit move_date only when the user gives no date-like phrase. When you ask the user for their preferred move date, present it as optional and phrase the question with the hint "(leave blank if no date)" so they know a date is not required. For non-house goods moves, require a concrete item description. If this tool returns failureReason QUOTE_API_ERROR or retry_recommended false, do not retry the same request with guessed categories; tell the user the fallback and only call again for a genuinely new quote request or corrected route, date, or item. For vehicle moves, require vehicle make/model, registration, or catalogue details. Follow-up refinements to a previous quote must pass existing_quote_id plus the full current quote details after applying the user change; do not create a replacement quote unless the user explicitly agrees to start over. For house moves where the pickup and delivery properties differ, you must capture the delivery side separately using type_destination, bedrooms_destination, floor_destination, and lift_destination — do not collapse both ends into one property, and never drop the delivery floor or lift. Example: "Pickup: 2 bed house, delivery: 3 bed flat on the third floor without a lift" is { "category": "house_move", "pickup_location": "Southampton", "delivery_location": "Portsmouth", "property": { "type": "HOUSE", "bedrooms": 2, "type_destination": "FLAT", "bedrooms_destination": 3, "floor_destination": 3, "lift_destination": false } }. Omit the _destination fields only when both ends are the same. For house moves, introduce the removals service with a brief intro sentence and a short bullet summary of what is included before the price cards, and present that introductory context above the cards, never after them. The price card already contains a button to complete booking on anyvan.com — do not append a trailing line telling the user to visit anyvan.com to learn more. When the result indicates pricing is still being calculated, the price card renders the price on its own moments later; tell the user their quote is ready and the price is loading in, and never describe the price as pending, missing, or unavailable.
submit_move_quote