Appointment Events

When subscribed to the Appointment events webhook, the following event data will be received:

event object

Field nameDescriptionJSON TypeData Type
idThe unique ID of the event. May be used to ensure that an event is not processed twice in the case of a webhook that is re-tried due to an error or timeout.string
createdDateA timestamp signifying when the event was generated.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
typeEvent type:
appointment
string
actionEvent action:
created
updated
deleted
string
payloadThe payload of the event. The contents of this object depend on the type of event.objectpayload

payload object

Field nameDescriptionJSON TypeData Type
appointmentIdThe unique appointment idstring
startTimeThe date/time the appointment will begin at.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
endTimeThe date/time the appointment will end at.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
bookingStatusThe current status of the appointment:
Accepted
Awaiting Confirmation
Cancel
Confirmed
Deleted
Denied
Need Acceptance
No Show
PersonalOff
Ready to Start
Service Complete
Service In Progress
Show
string
serviceTitleThe service title of the appointmentstring
serviceIdThe unique service idstring
calendarEventIdThe event ID if the appointment is booked in a calendar event, otherwise nullstring
amountAmount for the appointmentnumericcurrency
eventTypeAn event type for the appointment/class
Appointment
Class
string
onlineVsInhouseFrom where is the appointment/class booked
Online: if appointment/class booked from business pages/my site/yelp
Inhouse: if appointment/class booked from calendar
string
appointmentTypeCodeThe appointment type code:
NR
NNR
RR
RNR
string
appointmentTypeNameThe appointment type name:
New Request
New Non Request
Return Request
Return Non Request
string
customerIdThe customer Id associated with this appointmentstring
bookingSourceAppointment booking source
Vagaro Marketplace
Vagaro Daily Deal
Vagaro Featured
Vagaro Text/Email Marketing
Booked on Instagram
Booked on Facebook
Booked on Yelp
Booked on Apple Maps
Booked on Google
Booked Inhouse
string
serviceProviderIdThe service provider Id performing the servicestring
businessIdThe business Id performing the servicestring
businessAliasThe alias (nickname) of the businessstring
businessGroupIdThe unique identifier for a multilocation group.string
serviceCategoryThe parent service name of the booked service.string
createdDateThe date/time the appointment was created.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
createdByThe user that created the appointmentstring
modifiedDateThe date/time the appointment was modified.
Format: YYYY-MM-DDThh:mm:ss[.SSS]Z
Note: millisecond is denoted as optional [.SSS]
stringdatetime
modifiedByThe user that updated/deleted the appointmentstring
formResponseIdsAn array of form response ids if there are forms submitted upon appointment bookingarraystring

Example

{
	"id": "254FA623-D2B0-4785-A07D-A1A7059C74FF",
	"createdDate": "2024-02-15T00:00:00Z",
	"type": "appointment",
	"action": "created",
	"payload": {
		"appointmentId": "2dwfErtmMAFxe6hoCnQStw==",
		"startTime": "2024-02-15T05:25:00Z",
		"endTime": "2024-02-15T06:25:00Z",
		"bookingStatus": "Confirmed",
		"serviceTitle": "Color & Haircut",
		"serviceId": "PqiJDBWJ4tHFpnSHPZpy~w==",
		"calendarEventId": null,
		"appointmentCount": 1,
		"amount": 0.0,
		"customerId": "2dwfErtmMAFxe6hoCnQStw==",
		"eventType": "Service",
		"onlineVsInhouse": "Online",
		"appointmentTypeCode": "NR",
		"appointmentTypeName": "New Request",
		"bookingSource": "Vagaro Marketplace",
		"serviceProviderId": "2dwfErtmMAFxe6hoCnQStw==",
		"businessId": "U2FsdGVkX18zRbwyUxRZaHNTYGwjKCpDdAkKP4eUDsE=",
		"businessAlias": "Vagaro Salon Studios",
		"businessGroupId": "tYKEZF-L445YEDnCx0TIfA==",
		"serviceCategory": "Hair Care",
		"createdDate": "2023-07-10T08:50:00Z",
		"createdBy": "GVkX18zRbwyUxRZaHNTYGwjK",
		"modifiedDate": null,
		"modifiedBy": null,
		"formResponseIds": [
			"Tkhj89234jadkjal23rnjlasfdsakjlewtewt234fw4="
		]
	}
}

What’s Next