Request a consult
request_bookingUse this when the user wants to book a local home-service appointment and has already chosen an open time. Confirms a free consult when the slot is open. Calling this again with the same details can create a second booking; if unsure, check get_booking_status first. Requires consent: before calling, show the user the consent text in the consent field and get their agreement. Also requires a name, a valid email, and a problem description. service_address is optional for a phone consult and required for an on-site visit. Disposable, reserved, and blocked email domains are rejected. job_summary falls back to problem. service_area is inferred from the address or city, otherwise the shop city. A phone consult accepts a street, a city and ZIP, or a PO Box. An on-site visit needs a street address. Shop-specific booking rules and emergency_phone come from get_business. offering is an id from get_business. start is an ISO-8601 timestamp, for example 2026-10-20T14:00:00-04:00. The start is at least 2 hours ahead and no more than 21 days ahead. A start outside that window names the field start. Returns status confirmed, a cancel link, and verify_url when the signed receipt is ready. The receipt page does not show the customer. An optional idempotency_key repeats the same result for that shop. Rate limited per IP and per shop, with a per-shop daily cap.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Customer name. Example: Ada Lovelace. | |
| Yes | Customer email on a real domain. Example: ada@gmail.com. Disposable and example.com addresses are rejected. | ||
| phone | No | Customer phone. Example: 3525550100. Optional. | |
| start | Yes | ISO-8601 timestamp with an offset. Example: 2026-10-20T14:00:00-04:00. At least 2 hours ahead and no more than 21 days ahead. | |
| consent | Yes | Required. Before you call this tool, show the user this exact text and get their agreement: "I agree to Booqer's Terms and Privacy Policy and consent to Booqer sharing my request with this shop so they can contact me about it." Terms: https://booqer.ai/terms. Privacy Policy: https://booqer.ai/privacy. Set true only after the user agrees. Without consent true the call is rejected and nothing is stored. | |
| problem | Yes | What is wrong, in the customer's words. Example: Gate will not close. | |
| shop_id | Yes | Enrolled shop id from search_businesses. Examples: florida-pole-barn, florida-security-concepts, booqer-demo-shop. | |
| offering | Yes | Service id from get_business. Example: project_consult. | |
| job_summary | No | Short job summary. Falls back to problem when omitted. | |
| service_area | No | City or county. Inferred from the address when omitted. Example: Clermont. | |
| idempotency_key | No | Optional key of 8 to 80 letters, numbers, dots, underscores, colons, or hyphens. A repeat with the same key and shop returns the first booking instead of creating another. | |
| service_address | No | Street, city and ZIP, or PO Box. Optional for a phone consult. Required for an on-site visit. Example: 100 Demo Drive, Clermont FL 34711. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||