Start a booking
request_bookingStart a booking with a Canopy-connected business. Canopy automatically routes to the correct flow based on the operator's booking mode: auto-confirm (booked right away in the business's calendar; the customer is emailed a confirmation), request-times (propose preferred times), or submission-only (callback request). Summarize the booking and get the customer's go-ahead before calling.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Extra details for the business (added to the customer notes). | |
| slot_id | No | Open slot from get_availability (instant-confirm businesses). | |
| customer | Yes | The customer the appointment or callback is for. | |
| service_id | No | Service to book (from get_availability). Needed for instant-confirm and preferred-times businesses. | |
| location_id | No | Location for multi-location businesses. | |
| operator_id | Yes | operator_id from canopy_check_bookable or resolve_business. | |
| customer_zip | No | Customer's ZIP code, if known. For a business with several locations, Canopy uses the location nearest to it unless location_id (or a slot or service tied to one location) decides. The result names the location used. | |
| idempotency_key | No | Optional. Reuse the same key when retrying so nothing is created twice. Derived automatically if omitted. | |
| preferred_times | No | 1 to 3 preferred time windows (businesses that review requests). | |
| agent_callback_url | No | Optional HTTPS URL that receives a webhook when the business responds. |