ServiceCreatedEventData
This is an object representing data for the service created event.
object objectrequired
A service represents a type of appointment.
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.
Whether advance notice is enabled.
The minimum duration of advance notice.
Possible values: Value must match regular expression ^PT(?:(\d+)H)?(?:(\d+)M)?$
Whether public booking is allowed for the service.
The message to display when public booking is disabled.
hold objectrequired
A policy for temporarily reserving a slot during the multi-step booking flow.
The duration of the hold.
Possible values: Value must match regular expression ^PT(?:(\d+)H)?(?:(\d+)M)?$
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.
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.
Whether advance notice is enabled.
The minimum duration of advance notice.
Possible values: Value must match regular expression ^PT(?:(\d+)H)?(?:(\d+)M)?$
Whether public cancellation is allowed for the service.
The message to display when public cancellation is disabled.
Displayed to clients in follow-up communication. Use this to explain any important rules about cancellations or rescheduling.
Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.When the service was created.
The duration of time slots in ISO-8601 duration format.
Possible values: Value must match regular expression ^PT(?:(\d+)H)?(?:(\d+)M)?$
`PT30M`Unique identifier for the object.
Possible values: Value must match regular expression ^srv_\w{12}$
An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name.
The name of the service.
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 email addresses that receive staff notification emails for this service.
Whether the assigned provider receives notification emails for this service.
types object[]required
Array of enabled staff notification types for the service.
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.
Whether advance notice is enabled.
The minimum duration of advance notice.
Possible values: Value must match regular expression ^PT(?:(\d+)H)?(?:(\d+)M)?$
Whether public rescheduling is allowed for the service.
The message to display when public rescheduling is disabled.
slot_rules object[]required
Array of slot rules for the service.
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.
The days of the week on which the recurrence occurs.
Possible values: Value must match regular expression (mo|tu|we|th|fr|sa|su)$
["mo","we","fr"]Number of occurrences at which to end the recurrence.
Possible values: >= 1
The frequency of the recurrence.
Possible values: [daily, weekly]
How often the recurrence rule repeats.
Possible values: >= 1
2Date at which to end the recurrence (in ISO-8601 format).
2024-01-02Array of start times for slots.
Possible values: Value must match regular expression ^\d{2}:\d{2}$
When the service was last updated.
The event type.
Possible values: [service.created]
{
"object": {
"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"
},
"type": "service.created"
}