API ReferenceSchemas
BookingIntentResponse
Response schema for a single booking intent
Response schema for a single booking intent
Example
{ "data": { "abandoned_at": null, "appointment": null, "booking_policy": { "hold": { "duration": "PT10M", "enabled": true } }, "client": null, "client_data": { "email": "jane@example.com", "fields": { "age": 30 }, "first_name": "Jane", "last_name": "Doe", "locale": "en", "phone": "+15551234567", "reference_id": "ext_123", "time_zone": "America/New_York" }, "completed_at": null, "created_at": "2026-02-22T10:00:00Z", "end_at": { "local": "2026-02-23T10:30:00-05:00", "object": "zoned_date_time", "time_zone": "America/New_York", "unix_ts": 1771947000, "utc": "2026-02-23T15:30:00Z" }, "errors": null, "hold_until": "2026-02-22T10:10:00Z", "id": "bi_abc123def456abc123def456", "locked_fields": [ "provider_id", "slot" ], "metadata": { "source": "web" }, "object": "booking_intent", "provider": { "created_at": "2017-09-12T12:34:55Z", "display_name": "John Smith", "email": "john@example.com", "first_name": "John", "id": "prov_d025a96ac0c6", "last_name": "Smith", "metadata": { "external_id": "123" }, "object": "provider", "time_zone": "America/New_York", "updated_at": "2017-09-13T10:11:12Z" }, "requirements": { "booking": { "complete": true }, "info": { "complete": false }, "submissions": [ { "complete": false, "form_id": "frm_abc123def456" } ] }, "service": { "appointment_type": "in_person", "booking_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_booking": true, "disabled_message": "Booking is disabled for this service.", "hold": { "duration": "PT10M", "enabled": true }, "maximize_utilization": { "enabled": true } }, "buffer_policy": { "after_duration": "PT1H", "before_duration": "PT15M", "enabled": true }, "cancellation_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_cancellation": true, "disabled_message": "Cancellation is disabled for this service." }, "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.", "created_at": "2025-02-17T17:49:19Z", "duration": "PT1H30M", "forms": [ { "created_at": "2025-02-17T17:49:19Z", "form_id": "frm_d025a96ac0c6", "form_name": "Intake Form", "id": "sf_d025a96ac0c6", "object": "service_form", "sort_order": 1, "updated_at": "2025-02-17T17:49:19Z" } ], "id": "srv_d025a96ac0c6", "internal_name": null, "metadata": { "external_id": "123" }, "name": "Initial Consult", "object": "service", "provider_notifications": { "additional_recipients": [ "admin@example.com" ], "notify_provider": true, "types": [ { "type": "new_appointment" } ] }, "rescheduling_policy": { "advance_notice": { "enabled": true, "minimum_duration": "PT1H" }, "allow_rescheduling": true, "disabled_message": "Rescheduling is disabled for this service." }, "slot_rules": [ { "recurrence_rule": { "byday": [ "mo", "we", "fr" ], "freq": "weekly" }, "start_times": [ "09:00", "10:00" ] } ], "updated_at": "2025-02-17T17:49:19Z" }, "start_at": { "local": "2026-02-23T10:00:00-05:00", "object": "zoned_date_time", "time_zone": "America/New_York", "unix_ts": 1771945200, "utc": "2026-02-23T15:00:00Z" }, "status": "slot_selected", "submissions": [], "updated_at": "2026-02-22T10:00:00Z", "workflow": { "available_steps": [ "booking", "info", "form:frm_abc123def456" ], "can_change_slot": true, "can_complete": false, "defunct_reason": null, "is_defunct": false, "resume_step": "info" } }}BookingIntentRequirements
Per-section completeness status for a booking intent. Provides boolean signals for whether each section of the booking flow has enough data to proceed, enabling the frontend to make navigation decisions without parsing error pointers.
BookingIntentsResponse
Response schema for multiple booking intents