Skip to main content

BookingIntentCompletedEventData

This is an object representing data for the booking intent completed event.

object objectrequired

A booking intent that tracks the lifecycle of a booking attempt.

abandoned_atstring<date-time>nullable

When the intent was abandoned

appointment objectnullable

The linked appointment (set when completed)

anyOf
appointment_typestringrequired

The type of appointment.

Possible values: [in_person, virtual]

cancellation_events object[]required
  • Array [
  • actorstringnullablerequired

    The actor that initiated the cancellation (user ID or bearer token ID).

    cancellation_reason objectnullablerequired

    The cancellation reason.

    anyOf
    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^cr_\w{12}$

    namestringrequired

    The name of the cancellation reason.

    objectstringrequired

    String representing the object's type.

    Possible values: [cancellation_reason]

    sort_orderintegerrequired

    The sort order of the cancellation reason.

    custom_reason_textstringnullablerequired

    Custom reason text for the cancellation.

    initiated_bystringrequired

    The entity that initiated the cancellation.

    Possible values: [user, client]

    objectstringrequired

    Possible values: [cancellation_event]

    occurred_atstring<datetime>required

    The time at which the cancellation occurred (ISO-8601 format).

    sourcestringrequired

    The source of the cancellation event.

    Possible values: [client_ui, dashboard, api]

  • ]
  • client objectrequired

    This is an object representing a client.

    created_atstring<date-time>required

    Time at which the object was created.

    emailstring<email>nullable

    The client's email address. This field will be null unless include_sensitive is true.

    first_namestringnullable

    The client's first name. This field will be null unless include_sensitive is true.

    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^clnt_\w{12}$

    last_namestringnullable

    The client's last name. This field will be null unless include_sensitive is true.

    localestringrequired

    The locale of the client.

    Example: en-US
    objectstringrequired

    String representing the object's type.

    Possible values: [client]

    phonestringnullable

    The client's phone number (E.164 format). This field will be null unless include_sensitive is true.

    reference_idstringnullablerequired

    External reference identifier for the client.

    time_zonestringrequired

    The client's time zone (IANA format).

    Example: America/Chicago
    updated_atstring<date-time>required

    Time at which the object was last updated.

    client_data objectrequired

    Client data provided while creating the appointment. Some fields will be null unless include_sensitive is true.

    emailstring<email>nullable

    The client's email address. This field will be null unless include_sensitive is true.

    first_namestringnullable

    The client's first name. This field will be null unless include_sensitive is true.

    last_namestringnullable

    The client's last name. This field will be null unless include_sensitive is true.

    localestringnullablerequired

    The locale of the client booking the appointment.

    Example: en-US
    phonestringnullable

    The client's phone number (E.164 format). This field will be null unless include_sensitive is true.

    reference_idstringnullablerequired

    The client's external reference identifier.

    time_zonestringrequired

    The client's time zone (IANA format).

    Example: America/Chicago
    client_localestringnullabledeprecated

    Use client_data.locale instead.

    Example: en-US
    client_reference_idstringnullabledeprecated

    Use client_data.reference_id instead.

    client_time_zonestringdeprecated

    Use client_data.time_zone instead.

    Example: America/Chicago
    confirmation_events object[]required
  • Array [
  • actorstringnullablerequired

    The actor that initiated the confirmation (user ID or bearer token ID).

    end_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    initiated_bystringrequired

    The entity that initiated the confirmation.

    Possible values: [user, client]

    objectstringrequired

    Possible values: [confirmation_event]

    occurred_atstring<datetime>required

    The time at which the confirmation occurred (ISO-8601 format).

    sourcestringrequired

    The source of the confirmation event.

    Possible values: [client_ui, dashboard, api]

    start_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
  • ]
  • confirmed_atstring<date-time>nullablerequired

    Time at which the object was confirmed.

    created_atstring<date-time>required

    Time at which the object was created.

    end_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    fields objectrequireddeprecated

    Use client_data instead.

    emailstring<email>nullable

    The client's email address. This field will be null unless include_sensitive is true.

    first_namestringnullable

    The client's first name. This field will be null unless include_sensitive is true.

    last_namestringnullable

    The client's last name. This field will be null unless include_sensitive is true.

    phonestringnullable

    The client's phone number (E.164 format). This field will be null unless include_sensitive is true.

    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^appt_\w{12}$

    objectstringrequired

    String representing the object's type.

    Possible values: [appointment]

    provider objectrequired

    A provider represents a staff member who can provide services to clients.

    created_atstring<date-time>required

    Time at which the object was created.

    display_namestringrequired

    The provider's display name.

    first_namestringrequired

    The provider's first name.

    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^prov_\w{12}$

    last_namestringrequired

    The provider's last name.

    metadata object

    Set of key-value pairs attached to this provider. Maximum size is 16 KB.

    property name*any

    Set of key-value pairs attached to this provider. Maximum size is 16 KB.

    objectstringrequired

    String representing the object's type.

    Possible values: [provider]

    updated_atstring<date-time>required

    Time at which the object was last updated.

    reschedule_events object[]required
  • Array [
  • actorstringnullablerequired
    initiated_bystringrequired

    Possible values: [user, client]

    new_end_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    new_start_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    objectstringrequired

    Possible values: [reschedule_event]

    occurred_atstring<datetime>required

    The time at which the reschedule occurred (ISO-8601 format).

    previous_end_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    previous_start_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    sourcestringrequired

    Possible values: [client_ui, dashboard, api]

  • ]
  • service objectrequired

    A service represents a type of appointment.

    appointment_typestringrequired

    The type of appointment.

    Possible values: [in_person, virtual]

    booking_policy objectrequired

    A booking policy defines the rules for booking a service from public booking interfaces.

    advance_notice objectrequired

    A policy for requiring minimum advance notice.

    enabledbooleanrequired

    Whether advance notice is enabled.

    minimum_durationstringnullablerequired

    The minimum duration of advance notice.

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

    allow_bookingbooleanrequired

    Whether public booking is allowed for the service.

    disabled_messagestringnullablerequired

    The message to display when public booking is disabled.

    hold objectrequired

    A policy for temporarily reserving a slot during the multi-step booking flow.

    durationstringnullablerequired

    The duration of the hold.

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

    enabledbooleanrequired

    Whether slot holds are enabled for the service.

    maximize_utilization objectrequired

    Avoid presenting overlapping time slots for service providers to eliminate gaps in the schedule.

    enabledbooleanrequired

    Whether maximize utilization is enabled for the service.

    cancellation_policy objectrequired

    A cancellation policy defines the rules for canceling a service from public booking interfaces.

    advance_notice objectrequired

    A policy for requiring minimum advance notice.

    enabledbooleanrequired

    Whether advance notice is enabled.

    minimum_durationstringnullablerequired

    The minimum duration of advance notice.

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

    allow_cancellationbooleanrequired

    Whether public cancellation is allowed for the service.

    disabled_messagestringnullablerequired

    The message to display when public cancellation is disabled.

    change_policy_textstringrequired

    Displayed to clients in follow-up communication. Use this to explain any important rules about cancellations or rescheduling.

    Example: Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.
    created_atstring<datetime>required

    When the service was created.

    durationstringrequired

    The duration of time slots in ISO-8601 duration format.

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

    Example: `PT30M`
    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^srv_\w{12}$

    internal_namestringnullable

    An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name.

    namestringrequired

    The name of the service.

    objectstringrequired

    String representing the object's type.

    Possible values: [service]

    provider_notifications objectrequired

    Configuration for staff notification emails on a service, including which notification types are enabled and who receives them.

    additional_recipientsstring<email>[]required

    Additional email addresses that receive staff notification emails for this service.

    notify_providerbooleanrequired

    Whether the assigned provider receives notification emails for this service.

    types object[]required

    Array of enabled staff notification types for the service.

  • Array [
  • typestringrequired

    The notification type.

    Possible values: [new_appointment, rescheduled, canceled]

  • ]
  • rescheduling_policy objectrequired

    A rescheduling policy defines the rules for rescheduling a service from public booking interfaces.

    advance_notice objectrequired

    A policy for requiring minimum advance notice.

    enabledbooleanrequired

    Whether advance notice is enabled.

    minimum_durationstringnullablerequired

    The minimum duration of advance notice.

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

    allow_reschedulingbooleanrequired

    Whether public rescheduling is allowed for the service.

    disabled_messagestringnullablerequired

    The message to display when public rescheduling is disabled.

    slot_rules object[]required

    Array of slot rules for the service.

  • Array [
  • recurrence_rule objectrequired

    A recurrence rule describes a repeating pattern of times. Recurrences rules in SavvyCal are modeled after the conventions of iCalendar recurrence rules (RRULE), but are a subset of the full specification.

    bydaystring[]

    The days of the week on which the recurrence occurs.

    Possible values: Value must match regular expression (mo|tu|we|th|fr|sa|su)$

    Example: ["mo","we","fr"]
    countintegernullable

    Number of occurrences at which to end the recurrence.

    Possible values: >= 1

    freqstringrequired

    The frequency of the recurrence.

    Possible values: [daily, weekly]

    intervalinteger

    How often the recurrence rule repeats.

    Possible values: >= 1

    Example: 2
    untildatenullable

    Date at which to end the recurrence (in ISO-8601 format).

    Example: 2024-01-02
    start_timesstring[]required

    Array of start times for slots.

    Possible values: Value must match regular expression ^\d{2}:\d{2}$

  • ]
  • updated_atstring<datetime>required

    When the service was last updated.

    start_at objectrequired

    An object describing a date/time in local time and in UTC.

    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    statusstringrequired

    The status of the appointment.

    Possible values: [scheduled, canceled]

    updated_atstring<date-time>

    Time at which the object was last updated.

    urls object

    URLs for this appointment.

    add_to_calendarstring<uri>[]

    URLs for the client to use to add this appointment to their calendar.

    add_to_google_calendarstring<uri>[]required

    URLs for the client to use to add this appointment to Google Calendar.

    cancelstring<uri>[]required

    URLs for the client to use to cancel this appointment.

    confirmstring<uri>[]required

    URLs for the client to use to confirm this appointment.

    icsstring<uri>[]required

    URLs for the client to use to download an iCal file for this appointment.

    joinstring<uri>[]required

    URLs for the client to use to join this appointment.

    reschedulestring<uri>[]required

    URLs for the client to use to reschedule this appointment.

    client objectnullable

    The linked client

    anyOf
    created_atstring<date-time>required

    Time at which the object was created.

    emailstring<email>nullable

    The client's email address. This field will be null unless include_sensitive is true.

    first_namestringnullable

    The client's first name. This field will be null unless include_sensitive is true.

    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^clnt_\w{12}$

    last_namestringnullable

    The client's last name. This field will be null unless include_sensitive is true.

    localestringrequired

    The locale of the client.

    Example: en-US
    objectstringrequired

    String representing the object's type.

    Possible values: [client]

    phonestringnullable

    The client's phone number (E.164 format). This field will be null unless include_sensitive is true.

    reference_idstringnullablerequired

    External reference identifier for the client.

    time_zonestringrequired

    The client's time zone (IANA format).

    Example: America/Chicago
    updated_atstring<date-time>required

    Time at which the object was last updated.

    client_data objectnullable

    Progressive client data collected during the booking flow. Sensitive fields (first_name, last_name, email, phone) are redacted unless include_sensitive is true.

    emailstringnullable
    first_namestringnullable
    last_namestringnullable
    localestringnullable
    phonestringnullable
    reference_idstringnullable
    time_zonestringnullable
    completed_atstring<date-time>nullable

    When the intent was completed

    created_atstring<date-time>required

    When the intent was created

    end_at objectnullable

    The end time of the selected slot

    anyOf
    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    hold_durationstringnullable

    The hold duration as an ISO 8601 duration string (e.g., PT10M)

    hold_enabledbooleanrequired

    Whether slot holding is enabled

    hold_untilstring<date-time>nullable

    When the hold expires (UTC)

    idstringrequired

    The booking intent ID

    Possible values: Value must match regular expression ^bi_\w{24}$

    locked_fieldsstring[]

    Fields that are locked and cannot be updated via the public API. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data.

    metadata object

    Custom metadata key-value pairs

    property name*any

    Custom metadata key-value pairs

    objectstringrequired

    The object type

    Possible values: [booking_intent]

    provider objectnullable

    The assigned provider

    anyOf
    created_atstring<date-time>required

    Time at which the object was created.

    display_namestringrequired

    The provider's display name.

    first_namestringrequired

    The provider's first name.

    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^prov_\w{12}$

    last_namestringrequired

    The provider's last name.

    metadata object

    Set of key-value pairs attached to this provider. Maximum size is 16 KB.

    property name*any

    Set of key-value pairs attached to this provider. Maximum size is 16 KB.

    objectstringrequired

    String representing the object's type.

    Possible values: [provider]

    updated_atstring<date-time>required

    Time at which the object was last updated.

    service objectnullable

    The selected service

    anyOf
    appointment_typestringrequired

    The type of appointment.

    Possible values: [in_person, virtual]

    booking_policy objectrequired

    A booking policy defines the rules for booking a service from public booking interfaces.

    advance_notice objectrequired

    A policy for requiring minimum advance notice.

    enabledbooleanrequired

    Whether advance notice is enabled.

    minimum_durationstringnullablerequired

    The minimum duration of advance notice.

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

    allow_bookingbooleanrequired

    Whether public booking is allowed for the service.

    disabled_messagestringnullablerequired

    The message to display when public booking is disabled.

    hold objectrequired

    A policy for temporarily reserving a slot during the multi-step booking flow.

    durationstringnullablerequired

    The duration of the hold.

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

    enabledbooleanrequired

    Whether slot holds are enabled for the service.

    maximize_utilization objectrequired

    Avoid presenting overlapping time slots for service providers to eliminate gaps in the schedule.

    enabledbooleanrequired

    Whether maximize utilization is enabled for the service.

    cancellation_policy objectrequired

    A cancellation policy defines the rules for canceling a service from public booking interfaces.

    advance_notice objectrequired

    A policy for requiring minimum advance notice.

    enabledbooleanrequired

    Whether advance notice is enabled.

    minimum_durationstringnullablerequired

    The minimum duration of advance notice.

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

    allow_cancellationbooleanrequired

    Whether public cancellation is allowed for the service.

    disabled_messagestringnullablerequired

    The message to display when public cancellation is disabled.

    change_policy_textstringrequired

    Displayed to clients in follow-up communication. Use this to explain any important rules about cancellations or rescheduling.

    Example: Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.
    created_atstring<datetime>required

    When the service was created.

    durationstringrequired

    The duration of time slots in ISO-8601 duration format.

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

    Example: `PT30M`
    idstringrequired

    Unique identifier for the object.

    Possible values: Value must match regular expression ^srv_\w{12}$

    internal_namestringnullable

    An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name.

    namestringrequired

    The name of the service.

    objectstringrequired

    String representing the object's type.

    Possible values: [service]

    provider_notifications objectrequired

    Configuration for staff notification emails on a service, including which notification types are enabled and who receives them.

    additional_recipientsstring<email>[]required

    Additional email addresses that receive staff notification emails for this service.

    notify_providerbooleanrequired

    Whether the assigned provider receives notification emails for this service.

    types object[]required

    Array of enabled staff notification types for the service.

  • Array [
  • typestringrequired

    The notification type.

    Possible values: [new_appointment, rescheduled, canceled]

  • ]
  • rescheduling_policy objectrequired

    A rescheduling policy defines the rules for rescheduling a service from public booking interfaces.

    advance_notice objectrequired

    A policy for requiring minimum advance notice.

    enabledbooleanrequired

    Whether advance notice is enabled.

    minimum_durationstringnullablerequired

    The minimum duration of advance notice.

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

    allow_reschedulingbooleanrequired

    Whether public rescheduling is allowed for the service.

    disabled_messagestringnullablerequired

    The message to display when public rescheduling is disabled.

    slot_rules object[]required

    Array of slot rules for the service.

  • Array [
  • recurrence_rule objectrequired

    A recurrence rule describes a repeating pattern of times. Recurrences rules in SavvyCal are modeled after the conventions of iCalendar recurrence rules (RRULE), but are a subset of the full specification.

    bydaystring[]

    The days of the week on which the recurrence occurs.

    Possible values: Value must match regular expression (mo|tu|we|th|fr|sa|su)$

    Example: ["mo","we","fr"]
    countintegernullable

    Number of occurrences at which to end the recurrence.

    Possible values: >= 1

    freqstringrequired

    The frequency of the recurrence.

    Possible values: [daily, weekly]

    intervalinteger

    How often the recurrence rule repeats.

    Possible values: >= 1

    Example: 2
    untildatenullable

    Date at which to end the recurrence (in ISO-8601 format).

    Example: 2024-01-02
    start_timesstring[]required

    Array of start times for slots.

    Possible values: Value must match regular expression ^\d{2}:\d{2}$

  • ]
  • updated_atstring<datetime>required

    When the service was last updated.

    slot_prevalidatedboolean

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

    start_at objectnullable

    The start time of the selected slot

    anyOf
    localstring<date-time>required

    The local date/time in ISO-8601 format, including the UTC offset (e.g., 2025-03-01T10:00:00-05:00).

    Example: 2025-03-01T10:00:00-05:00
    objectstringrequired

    String representing the object's type.

    Possible values: [zoned_date_time]

    time_zonestringrequired

    The time zone of the local time (IANA format).

    Example: America/New_York
    unix_tsintegerrequired

    The UTC date/time in Unix timestamp format (seconds).

    Example: 1736461200
    utcstring<date-time>required

    The UTC date/time in ISO-8601 format (with time zone information).

    Example: 2025-03-01T03:00:00Z
    statusstringrequired

    The current status of the booking intent

    Possible values: [pending, slot_selected, completed, abandoned]

    updated_atstring<date-time>required

    When the intent was last updated

    typestringrequired

    The event type.

    Possible values: [booking_intent.completed]

    BookingIntentCompletedEventData
    {
    "object": {
    "abandoned_at": null,
    "appointment": null,
    "client": null,
    "client_data": {
    "email": "jane@example.com",
    "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"
    },
    "hold_duration": "PT10M",
    "hold_enabled": true,
    "hold_until": "2026-02-22T10:10:00Z",
    "id": "bi_abc123def456abc123def456",
    "locked_fields": [
    "provider_id",
    "start_at",
    "end_at",
    "time_zone"
    ],
    "metadata": {
    "source": "web"
    },
    "object": "booking_intent",
    "provider": {
    "created_at": "2017-09-12T12:34:55Z",
    "display_name": "John Smith",
    "first_name": "John",
    "id": "prov_d025a96ac0c6",
    "last_name": "Smith",
    "metadata": {
    "external_id": "123"
    },
    "object": "provider",
    "updated_at": "2017-09-13T10:11:12Z"
    },
    "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
    }
    },
    "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",
    "id": "srv_d025a96ac0c6",
    "internal_name": null,
    "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",
    "updated_at": "2026-02-22T10:00:00Z"
    },
    "type": "booking_intent.completed"
    }