Skip to main content

CreatePublicAppointmentRequest

Request schema for creating an appointment via a public interface.

client_data objectrequired

Information about the client booking the appointment. You can either provide an id or reference_id for an existing client, or provide a new client's details.

emailstring<email>nullable

The client's email address. Required if no existing client is provided.

first_namestringnullable

The client's first name. Required if no existing client is provided.

idstringnullable

The ID of an existing client to attach to the appointment. If not provided, a new client will be created if the reference_id does not correspond to an existing client. If there does exist a client with the reference_id provided, the existing client will be attached to the appointment.

last_namestringnullable

The client's last name. Required if no existing client is provided.

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_zonestringrequired

The client's time zone (IANA format). This field will be used to represent the appointment time slot in the client's local time zone (in the event that it differs from the appointment's local time zone).

Example: America/New_York
end_atstringrequired

The end time of the appointment in local time (in naive ISO-8601 format, without time zone information). The time zone for the appointment is specified in the time_zone field.

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

Example: 2025-03-01T11:00:00
provider_idstringnullable

The ID of the provider to assign to the appointment. If not provided, an available provider will be randomly assigned.

service_idstringrequired

The ID of the service for this appointment.

start_atstringrequired

The start time of the appointment in local time (in naive ISO-8601 format, without time zone information). The time zone for the appointment is specified in the time_zone field.

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

Example: 2025-03-01T10:00:00
time_zonestringrequired

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

Example: America/New_York
CreatePublicAppointmentRequest
{
"client_data": {
"email": "john.doe@example.com",
"first_name": "John",
"last_name": "Doe",
"locale": "en-US",
"phone": "+15551234567",
"reference_id": "1234567890",
"time_zone": "America/New_York"
},
"end_at": "2025-03-01T11:00:00",
"service_id": "srv_1234567890",
"start_at": "2025-03-01T10:00:00",
"time_zone": "America/New_York"
}