Skip to main content

CreateBookingIntentRequest

Request schema for creating a booking intent

auto_assign_providerbooleannullable

When true, automatically assigns an available provider for the selected time slot if no provider_id is specified.

booking_policy objectnullable

Policy overrides for this booking intent. When omitted, falls back to the service's policies.

hold objectnullable

Hold policy overrides.

durationstringnullable

The duration of the hold as an ISO 8601 duration string.

Possible values: Value must match regular expression ^PT(?:(\d+)H)?(?:(\d+)M)?$

enabledboolean

Whether slot holds are enabled.

client_data objectnullable

Progressive client data to collect during the booking flow.

anyOf
emailemailnullable

The client's email address.

fields objectnullable

A map of custom field values to set on the client, keyed by field slug. Each key must correspond to a Client Field that has been defined in the account; arbitrary key-value pairs are not accepted.

property name*anynullable

A map of custom field values to set on the client, keyed by field slug. Each key must correspond to a Client Field that has been defined in the account; arbitrary key-value pairs are not accepted.

first_namestringnullable

The client's first name.

last_namestringnullable

The client's last name.

localestringnullable

The locale of the client booking the appointment.

Example: en-US
phonestringnullable

The client's phone number (E.164 format).

Example: +1234567890
reference_idstringnullable

External reference identifier for the client.

time_zonestringnullable

The client's time zone (IANA format).

Example: America/New_York
client_idstringnullable

The ID of an existing client to link.

end_atdate-timenullable

The end time of the slot as an ISO-8601 datetime string with a timezone offset.

locked_fieldsstring[]nullable

Fields to lock from public API updates.

Possible values: [service_id, provider_id, slot, client_data, submissions]

metadata objectnullable

Custom metadata key-value pairs.

property name*anynullable

Custom metadata key-value pairs.

provider_idstringnullable

The ID of the provider to assign.

secondary_providers object[]nullable

Secondary providers to include in the appointment.

  • Array [
  • idstringrequired

    ID of the secondary provider.

  • ]
  • service_idstringnullable

    The ID of the service for this booking intent.

    slot_prevalidatedboolean

    Whether the slot has been prevalidated. When true, public completion skips slot validation.

    Default value: false
    start_atdate-timenullable

    The start time of the slot as an ISO-8601 datetime string with a timezone offset.

    submissions object[]nullable

    Form submissions to attach to this booking intent. Each entry contains a form_id and responses map.

  • Array [
  • form_idstringrequired

    The ID of the form to submit responses for.

    responses object

    A map of response data keyed by field key. Values depend on field type.

    property name*any

    A map of response data keyed by field key. Values depend on field type.

    Default value: {}
  • ]
  • time_zonestringnullable

    The local time zone for the slot (IANA format).

    CreateBookingIntentRequest
    {
    "booking_policy": {
    "hold": {
    "duration": "PT10M",
    "enabled": true
    }
    },
    "metadata": {
    "source": "web"
    },
    "service_id": "srv_1234567890"
    }