{"tools":[{"name":"get_booking_services","description":"Get published booking services, service-area ZIPs and current fee disclosure. Use the returned service_id for availability.","inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":0,"maxLength":120}},"required":[],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"get_availability","description":"Get live available windows for a returned service_id and customer ZIP. Offers expire after ten minutes; availability is not a reservation.","inputSchema":{"type":"object","properties":{"service_id":{"type":"string","minLength":1,"maxLength":80},"zip":{"type":"string","minLength":5,"maxLength":5},"date":{"type":"string","minLength":0,"maxLength":10}},"required":["service_id","zip"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"request_booking","description":"Submit the customer-approved service request through the normal CRM booking form. Requires a live offer_token, complete contact\/address details and agreement to the disclosed fee. Creates a request for office confirmation, not a guaranteed appointment. Reuse request_id on retries.","inputSchema":{"type":"object","properties":{"request_id":{"type":"string","minLength":16,"maxLength":96},"name":{"type":"string","minLength":2,"maxLength":120},"phone":{"type":"string","minLength":0,"maxLength":24},"email":{"type":"string","minLength":0,"maxLength":254},"message":{"type":"string","minLength":2,"maxLength":4000},"user_confirmed":{"type":"boolean","const":true},"offer_token":{"type":"string","minLength":20,"maxLength":4096},"street":{"type":"string","minLength":3,"maxLength":200},"city":{"type":"string","minLength":2,"maxLength":100},"state":{"type":"string","minLength":2,"maxLength":2},"zip":{"type":"string","minLength":5,"maxLength":5},"fee_agreed":{"type":"boolean"}},"required":["request_id","name","phone","message","user_confirmed","offer_token","street","city","state","zip","fee_agreed"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}},{"name":"submit_contact","description":"Send a customer-approved message to the business through its normal CRM contact form. Provide a valid phone or email. Reuse request_id on retries.","inputSchema":{"type":"object","properties":{"request_id":{"type":"string","minLength":16,"maxLength":96},"name":{"type":"string","minLength":2,"maxLength":120},"phone":{"type":"string","minLength":0,"maxLength":24},"email":{"type":"string","minLength":0,"maxLength":254},"message":{"type":"string","minLength":2,"maxLength":4000},"user_confirmed":{"type":"boolean","const":true}},"required":["request_id","name","message","user_confirmed"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}}],"submission_mode":"public_crm","docs_url":"https:\/\/mtnmanplumbing.com\/?agentnet=docs"}