Service Object


The Service object represents the business offering that a business provides to its customers.

Properties
idstringRead-onlyformat GUID

Service ID.


typestring

Service type.


sortOrderintegerformat int32

Order of a service within a category.


namestringmaxLength 400minLength 1

descriptionstringmaxLength 7000

tagLinestringmaxLength 6000

defaultCapacityintegerminimum 1maximum 1000format int32

Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity.


mediaMedia

Media associated with the service.


hiddenboolean

Whether the service is hidden from the site.


categoryCategory

The category the service is associated with.


formForm

The form used when booking the service.


paymentPayment

Payment options for booking the service.


onlineBookingOnlineBooking

Online booking settings.


conferencingConferencing

Conferencing options for this service.


locationsArray <Location>maxItems 500

The locations this service is offered at. In case of multiple (more than 1) location, All locations must be of type BUSINESS. For courses only: Currently, only 1 location is supported, for all location types.


bookingPolicyBookingPolicy

Policy determining under what conditions this service can be booked. For example, whether the service can only be booked up to 30 minutes before it begins.


scheduleSchedule

The service's schedule, which can be used to manage the service's sessions.


staffMemberIdsArray <string>maxItems 220format GUID

IDs of the staff members providing the service. For appointments only.


supportedSlugsArray <Slug>Read-onlymaxItems 100

A slug is the last part of the URL address that serves as a unique identifier of the service. The list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner.


mainSlugMainSlugRead-only

The main slug for the service. mainSlug is either taken from the current service name or is a custom slug set by the business owner. mainSlug is used to construct the service's URLs.


urlsUrlsRead-only

URLs to various service-related pages, such as the calendar page and the booking page.


extendedFieldsExtendedFieldsRead-only

Extensions enabling users to save custom data related to the service.


seoDataSeoData

Custom SEO data for the service.


createdDatestringRead-onlyformat date-time

Date and time the service was created.


updatedDatestringRead-onlyformat date-time

Date and time the service was updated.


revisionintegerRead-onlyformat int64

Revision number, which increments by 1 each time the service is updated. To prevent conflicting changes, the existing revision must be used when updating a service.

Did this help?

POST

Create Service


Creates a new service.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/_api/bookings/v2/services

Body Params
serviceServiceRequired

Service to be created.

Response Object
serviceService

The created service.

Create a new service
Request
cURL
curl -X POST 'https://www.wixapis.com/bookings/v2/services' \ -H 'Authorization: <AUTH>' \ -d '{ "service": { "type": "APPOINTMENT", "name": "Personal Cat Hugging", "description": "Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will come to your home and provide your furry feline with the warmest and snuggliest hugs around.", "tagLine": "Get some purr therapy with our cat hugging service!", "defaultCapacity": 1, "media": { "items": [], "mainMedia": { "image": { "id": "fb5af50cdfee49a7b8d87f340c969e90.jpg", "height": 4000, "width": 6000 } } }, "hidden": false, "payment": { "rateType": "FIXED", "fixed": { "price": { "value": "25", "currency": "USD" } }, "pricingPlansIds": [], "options": { "online": true, "inPerson": false, "deposit": false, "pricingPlan": false } }, "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false }, "staffMemberIds": [ "76570209-101f-409b-af97-b445bdb63125" ], "locations": [ { "type": "CUSTOMER" } ] } }'
Response
JSON
{ "service": { "id": "d779a301-398d-4552-aa8c-3bef0b65cedb", "type": "APPOINTMENT", "sortOrder": 0, "name": "Personal Cat Hugging", "description": "Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will come to your home and provide your furry feline with the warmest and snuggliest hugs around.", "tagLine": "Get some purr therapy with our cat hugging service!", "defaultCapacity": 1, "media": { "items": [], "mainMedia": { "image": { "id": "fb5af50cdfee49a7b8d87f340c969e90.jpg", "height": 4000, "width": 6000 } } }, "hidden": false, "payment": { "rateType": "FIXED", "fixed": { "price": { "value": "25", "currency": "USD" } }, "options": { "online": true, "inPerson": false, "deposit": false, "pricingPlan": false }, "pricingPlanIds": [] }, "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false }, "locations": [ { "type": "CUSTOMER" } ], "bookingPolicy": { "id": "2a8cbc1b-7968-44e7-899a-d1df1ecbeefe", "revision": "3", "createdDate": "2023-04-11T08:51:43.025Z", "updatedDate": "2023-05-19T11:32:27.930Z", "name": "Default policy", "customPolicyDescription": { "enabled": false, "description": "" }, "default": true, "limitEarlyBookingPolicy": { "enabled": false, "earliestBookingInMinutes": 604800 }, "limitLateBookingPolicy": { "enabled": false, "latestBookingInMinutes": 1440 }, "bookAfterStartPolicy": { "enabled": false }, "cancellationPolicy": { "enabled": true, "limitLatestCancellation": false, "latestCancellationInMinutes": 1440 }, "reschedulePolicy": { "enabled": true, "limitLatestReschedule": false, "latestRescheduleInMinutes": 1440 }, "waitlistPolicy": { "enabled": false, "capacity": 10, "reservationTimeInMinutes": 10 }, "participantsPolicy": { "enabled": false, "maxParticipantsPerBooking": 1 }, "resourcesPolicy": { "enabled": false, "autoAssignAllowed": false } }, "schedule": { "id": "16e9e039-6437-4144-81a7-124ce6b369c4" }, "supportedSlugs": [ { "name": "personal-cat-hugging", "custom": false, "createdDate": "2023-07-20T07:48:06.900Z" } ], "mainSlug": { "name": "personal-cat-hugging", "custom": false, "createdDate": "2023-07-20T07:48:06.900Z" }, "urls": { "servicePage": { "relativePath": "/service-page-statics/personal-cat-hugging", "url": "https://example.com/services-2-test/service-page-statics/personal-cat-hugging" }, "bookingPage": { "relativePath": "/booking-form/personal-cat-hugging/book", "url": "https://example.com/services-2-test/booking-form/personal-cat-hugging/book" }, "calendarPage": { "relativePath": "/booking-calendar-statics/personal-cat-hugging", "url": "https://example.com/services-2-test/booking-calendar-statics/personal-cat-hugging" } }, "createdDate": "2023-07-20T07:48:07.319Z", "updatedDate": "2023-07-20T07:48:07.319Z", "revision": "1", "staffMemberIds": ["76570209-101f-409b-af97-b445bdb63125"] } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

GET

Get Service


Retrieves a service.

Permissions
Manage Bookings Services and Settings
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/_api/bookings/v2/services/{serviceId}

Path Params
serviceIdstringRequired

ID of the service to retrieve.

Response Object
serviceService

The retrieved service.

Retrieve a service
Request
cURL
curl -X GET 'https://www.wixapis.com/bookings/v2/services/353aa3b7-00ef-42bd-86ff-720d7ef60443' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "service": { "id": "353aa3b7-00ef-42bd-86ff-720d7ef60443", "type": "CLASS", "sortOrder": 0, "name": "Dog Yoga", "description": "Get ready to downward dog with your furry best friend! In this unique class, you and your pup will strike a pose and find your zen. With a mix of stretching, breathing exercises, and playtime, this class is sure to be a tail-waggin' good time. Whether you're a seasoned yogi or a pup-tastic beginner, this class is pawsitively perfect for all levels. Don't forget to bring your sense of humor, as there's sure to be a few doggy distractions and playful paw-terruptions along the way. Namaste!", "tagLine": "Unleash your zen with downward dog and a wagging tail in our pup-poseful yoga class!", "defaultCapacity": 50, "media": { "items": [], "mainMedia": { "image": { "id": "nsplsh_4d7639686a6e4555485234~mv2_d_3024_4032_s_4_2.jpg", "url": "nsplsh_4d7639686a6e4555485234~mv2_d_3024_4032_s_4_2.jpg", "height": 4032, "width": 3024, "filename": "nsplsh_4d7639686a6e4555485234~mv2_d_3024_4032_s_4_2.jpg" } } }, "hidden": false, "category": { "id": "7b5b9862-490f-491c-8477-d39baed078a1", "name": "Best for fun dogs", "sortOrder": 1 }, "form": { "id": "00000000-0000-0000-0000-000000000000" }, "payment": { "rateType": "FIXED", "fixed": { "price": { "value": "15", "currency": "USD" } }, "pricingPlansIds": [], "options": { "online": true, "inPerson": false, "deposit": false, "pricingPlan": false } }, "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false }, "staffMemberIds": [], "conferencing": { "enabled": true }, "locations": [ { "type": "BUSINESS" } ], "bookingPolicy": { "id": "2a8cbc1b-7968-44e7-899a-d1df1ecbeefe", "revision": "3", "createdDate": "2023-04-11T08:51:43.025Z", "updatedDate": "2023-05-19T11:32:27.930Z", "name": "Default policy", "customPolicyDescription": { "enabled": false, "description": "" }, "default": true, "limitEarlyBookingPolicy": { "enabled": false, "earliestBookingInMinutes": 604800 }, "limitLateBookingPolicy": { "enabled": false, "latestBookingInMinutes": 1440 }, "bookAfterStartPolicy": { "enabled": false }, "cancellationPolicy": { "enabled": true, "limitLatestCancellation": false, "latestCancellationInMinutes": 1440 }, "reschedulePolicy": { "enabled": true, "limitLatestReschedule": false, "latestRescheduleInMinutes": 1440 }, "waitlistPolicy": { "enabled": false, "capacity": 10, "reservationTimeInMinutes": 10 }, "participantsPolicy": { "enabled": false, "maxParticipantsPerBooking": 1 }, "resourcesPolicy": { "enabled": false, "autoAssignAllowed": false } }, "schedule": { "id": "8acb939f-34d1-4ac9-8564-b24c29e11ef7", "firstSessionStart": "2023-02-13T15:30:00Z" }, "supportedSlugs": [ { "name": "dog-yoga", "custom": false, "createdDate": "2023-02-09T16:40:45.267Z" } ], "mainSlug": { "name": "dog-yoga", "custom": false, "createdDate": "2023-02-09T16:40:45.267Z" }, "urls": { "servicePage": { "relativePath": "/service-page/dog-yoga", "url": "https://example.com/services-v2" }, "bookingPage": { "relativePath": "/book-online/dog-yoga/book", "url": "https://example.com/services-v2" }, "calendarPage": { "relativePath": "/booking-calendar/dog-yoga", "url": "https://example.com/services-v2" } } } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

DELETE

Delete Service


Deletes a service.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Learn more about app permissions.
Endpoint
DELETE
https://www.wixapis.com/_api/bookings/v2/services/{serviceId}

Path Params
serviceIdstringRequired

ID of the service to delete.

Query Params
preserveFutureSessionsWithParticipantsboolean

Whether to preserve future sessions with participants.

Default: false


participantNotification.notifyParticipantsboolean

Whether to send the message about the changes to the customer.

Default: false


participantNotification.messagestringmaxLength 2000

Custom message to send to the participants about the changes to the booking.

Response Object
Returns an empty object.
Delete a service
Request
cURL
curl -X DELETE 'https://www.wixapis.com/bookings/v2/services/d779a301-398d-4552-aa8c-3bef0b65cedb' \ -H 'Authorization: <AUTH>'
Response
JSON
{}
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

PATCH

Update Service


Updates a service.

Partial updates are supported.

Each time the service is updated, revision increments by 1. You must include the number of the existing revision when updating the service. This ensures you're working with the latest service information and prevents unintended overwrites.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Bookings - all permissions
Manage Bookings
Learn more about app permissions.
Endpoint
PATCH
https://www.wixapis.com/_api/bookings/v2/services/{service.id}

Path Params
service.idstringRequired

Service ID.

Body Params
serviceServiceRequired

Service to update. Partial updates are supported.

Response Object
serviceService

The updated service.

Update a service
Request
cURL
curl -X PATCH 'https://www.wixapis.com/bookings/v2/services/d779a301-398d-4552-aa8c-3bef0b65cedb' \ -H 'Authorization: <AUTH>' \ -d '{ "service": { "id": "d779a301-398d-4552-aa8c-3bef0b65cedb", "name": "Group Cat Hugging", "revision": "1" } }'
Response
JSON
{ "service": { "id": "d779a301-398d-4552-aa8c-3bef0b65cedb", "type": "APPOINTMENT", "sortOrder": 0, "name": "Group Cat Hugging", "description": "Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will come to your home and provide your furry feline with the warmest and snuggliest hugs around.", "tagLine": "Get some purr therapy with our cat hugging service!", "defaultCapacity": 1, "media": { "items": [], "mainMedia": { "image": { "id": "fb5af50cdfee49a7b8d87f340c969e90.jpg", "height": 4000, "width": 6000 } } }, "hidden": false, "payment": { "rateType": "FIXED", "fixed": { "price": { "value": "25", "currency": "USD" } }, "options": { "online": true, "inPerson": false, "deposit": false, "pricingPlan": false }, "pricingPlanIds": [] }, "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false }, "locations": [ { "type": "CUSTOMER" } ], "bookingPolicy": { "id": "2a8cbc1b-7968-44e7-899a-d1df1ecbeefe", "revision": "3", "createdDate": "2023-04-11T08:51:43.025Z", "updatedDate": "2023-05-19T11:32:27.930Z", "name": "Default policy", "customPolicyDescription": { "enabled": false, "description": "" }, "default": true, "limitEarlyBookingPolicy": { "enabled": false, "earliestBookingInMinutes": 604800 }, "limitLateBookingPolicy": { "enabled": false, "latestBookingInMinutes": 1440 }, "bookAfterStartPolicy": { "enabled": false }, "cancellationPolicy": { "enabled": true, "limitLatestCancellation": false, "latestCancellationInMinutes": 1440 }, "reschedulePolicy": { "enabled": true, "limitLatestReschedule": false, "latestRescheduleInMinutes": 1440 }, "waitlistPolicy": { "enabled": false, "capacity": 10, "reservationTimeInMinutes": 10 }, "participantsPolicy": { "enabled": false, "maxParticipantsPerBooking": 1 }, "resourcesPolicy": { "enabled": false, "autoAssignAllowed": false } }, "schedule": { "id": "16e9e039-6437-4144-81a7-124ce6b369c4" }, "supportedSlugs": [ { "name": "group-cat-hugging", "custom": false, "createdDate": "2023-07-20T07:57:40.325Z" }, { "name": "personal-cat-hugging", "custom": false, "createdDate": "2023-07-20T07:48:06.900Z" } ], "mainSlug": { "name": "group-cat-hugging", "custom": false, "createdDate": "2023-07-20T07:57:40.325Z" }, "urls": { "servicePage": { "relativePath": "/service-page-statics/group-cat-hugging", "url": "https://example.com/services-2-test/service-page-statics/group-cat-hugging" }, "bookingPage": { "relativePath": "/booking-form/group-cat-hugging/book", "url": "https://example.com/services-2-test/booking-form/group-cat-hugging/book" }, "calendarPage": { "relativePath": "/booking-calendar-statics/group-cat-hugging", "url": "https://example.com/services-2-test/booking-calendar-statics/group-cat-hugging" } }, "createdDate": "2023-07-20T07:48:07.319Z", "updatedDate": "2023-07-20T07:57:40.637Z", "revision": "2", "staffMemberIds": ["76570209-101f-409b-af97-b445bdb63125"] } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

POST

Query Services


Retrieves a list of up to 100 services, given the provided paging, filtering, and sorting.

Define queries using WQL - Wix Query Language. For field support for filters and sorting, see Supported Filters and Sorting.

To retrieve all services use an empty query:

Copy
{ "query": {} }

Query Services runs with these defaults, which you can override:

  • paging.limit is 100.
  • paging.offset is 0.

Notes:

  • Use UTC format when filtering with dates.
  • Only 1 use of each filter in the same query is supported. If a filter is defined more than once in a query, only the first occurrence is processed.
Permissions
Manage Bookings Services and Settings
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/_api/bookings/v2/services/query

Body Params
queryQueryRequired

WQL expression.

Response Object
servicesArray <Service>

The retrieved services.


pagingMetadataPagingMetadata

Paging metadata, including offset and count.

Query all services
Request
cURL
curl -X POST 'https://www.wixapis.com/bookings/v2/services/query' \ -H 'Authorization: <AUTH>' \ -d '{ "query": { "limit": 15, "filter": { "hidden": { "$eq": "false" } }, "fields": ["name", "type", "description"] } }'
Response
JSON
{ "services": [ { "id": "0f01e746-2943-4893-97a3-9d52d8e9e26e", "type": "APPOINTMENT", "sortOrder": 1, "name": "Personal Cat Hugging", "description": "Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will come to your home and provide your furry feline with the warmest and snuggliest hugs around.", "tagLine": "Get some purr therapy with our cat hugging service!", "defaultCapacity": 1, "media": { "items": [], "mainMedia": { "image": { "id": "fb5af50cdfee49a7b8d87f340c969e90.jpg", "url": "fb5af50cdfee49a7b8d87f340c969e90.jpg", "height": 4000, "width": 6000, "filename": "fb5af50cdfee49a7b8d87f340c969e90.jpg" } } }, "hidden": false, "category": { "id": "0c54fbd3-9de6-4d2f-8775-e58eac5f5921", "name": "Our Services", "sortOrder": 0 }, "form": { "id": "00000000-0000-0000-0000-000000000000" }, "payment": { "rateType": "FIXED", "fixed": { "price": { "value": "25", "currency": "USD" } }, "pricingPlansIds": [], "options": { "online": true, "inPerson": false, "deposit": false, "pricingPlan": false } }, "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false }, "staffMemberIds": ["76570209-101f-409b-af97-b445bdb63125"], "conferencing": { "enabled": false }, "locations": [ { "type": "CUSTOMER" } ], "bookingPolicy": { "id": "2a8cbc1b-7968-44e7-899a-d1df1ecbeefe", "revision": "3", "createdDate": "2023-04-11T08:51:43.025Z", "updatedDate": "2023-05-19T11:32:27.930Z", "name": "Default policy", "customPolicyDescription": { "enabled": false, "description": "" }, "default": true, "limitEarlyBookingPolicy": { "enabled": false, "earliestBookingInMinutes": 604800 }, "limitLateBookingPolicy": { "enabled": false, "latestBookingInMinutes": 1440 }, "bookAfterStartPolicy": { "enabled": false }, "cancellationPolicy": { "enabled": true, "limitLatestCancellation": false, "latestCancellationInMinutes": 1440 }, "reschedulePolicy": { "enabled": true, "limitLatestReschedule": false, "latestRescheduleInMinutes": 1440 }, "waitlistPolicy": { "enabled": false, "capacity": 10, "reservationTimeInMinutes": 10 }, "participantsPolicy": { "enabled": false, "maxParticipantsPerBooking": 1 }, "resourcesPolicy": { "enabled": false, "autoAssignAllowed": false } }, "schedule": { "id": "f986bc0e-ced0-48a7-8557-eb5c75c256cd", "availabilityConstraints": { "sessionDurations": [60], "timeBetweenSessions": 0 } }, "supportedSlugs": [ { "name": "personal-cat-hugging", "custom": false, "createdDate": "2023-02-15T14:40:47.408Z" }, { "name": "initial-in-home-consultation", "custom": false, "createdDate": "2023-02-15T11:58:20.313Z" } ], "mainSlug": { "name": "personal-cat-hugging", "custom": false, "createdDate": "2023-02-15T14:40:47.408Z" }, "urls": { "servicePage": { "relativePath": "/service-page/personal-cat-hugging", "url": "https://example.com/services-v2" }, "bookingPage": { "relativePath": "/book-online/personal-cat-hugging/book", "url": "https://example.com/services-v2" }, "calendarPage": { "relativePath": "/booking-calendar/personal-cat-hugging", "url": "https://example.com/services-v2" } } }, { "id": "353aa3b7-00ef-42bd-86ff-720d7ef60443", "type": "CLASS", "sortOrder": 0, "name": "Dog Yoga", "description": "Get ready to downward dog with your furry best friend! In this unique class, you and your pup will strike a pose and find your zen. With a mix of stretching, breathing exercises, and playtime, this class is sure to be a tail-waggin' good time. Whether you're a seasoned yogi or a pup-tastic beginner, this class is pawsitively perfect for all levels. Don't forget to bring your sense of humor, as there's sure to be a few doggy distractions and playful paw-terruptions along the way. Namaste!", "tagLine": "Unleash your zen with downward dog and a wagging tail in our pup-poseful yoga class!", "defaultCapacity": 50, "media": { "items": [], "mainMedia": { "image": { "id": "nsplsh_4d7639686a6e4555485234~mv2_d_3024_4032_s_4_2.jpg", "url": "nsplsh_4d7639686a6e4555485234~mv2_d_3024_4032_s_4_2.jpg", "height": 4032, "width": 3024, "filename": "nsplsh_4d7639686a6e4555485234~mv2_d_3024_4032_s_4_2.jpg" } } }, "hidden": false, "category": { "id": "7b5b9862-490f-491c-8477-d39baed078a1", "name": "Best for fun dogs", "sortOrder": 1 }, "form": { "id": "00000000-0000-0000-0000-000000000000" }, "payment": { "rateType": "FIXED", "fixed": { "price": { "value": "15", "currency": "USD" } }, "pricingPlansIds": [], "options": { "online": true, "inPerson": false, "deposit": false, "pricingPlan": false } }, "onlineBooking": { "enabled": true, "requireManualApproval": false, "allowMultipleRequests": false }, "staffMemberIds": [], "conferencing": { "enabled": true }, "locations": [ { "type": "BUSINESS" } ], "bookingPolicy": { "id": "2a8cbc1b-7968-44e7-899a-d1df1ecbeefe", "revision": "3", "createdDate": "2023-04-11T08:51:43.025Z", "updatedDate": "2023-05-19T11:32:27.930Z", "name": "Default policy", "customPolicyDescription": { "enabled": false, "description": "" }, "default": true, "limitEarlyBookingPolicy": { "enabled": false, "earliestBookingInMinutes": 604800 }, "limitLateBookingPolicy": { "enabled": false, "latestBookingInMinutes": 1440 }, "bookAfterStartPolicy": { "enabled": false }, "cancellationPolicy": { "enabled": true, "limitLatestCancellation": false, "latestCancellationInMinutes": 1440 }, "reschedulePolicy": { "enabled": true, "limitLatestReschedule": false, "latestRescheduleInMinutes": 1440 }, "waitlistPolicy": { "enabled": false, "capacity": 10, "reservationTimeInMinutes": 10 }, "participantsPolicy": { "enabled": false, "maxParticipantsPerBooking": 1 }, "resourcesPolicy": { "enabled": false, "autoAssignAllowed": false } }, "schedule": { "id": "8acb939f-34d1-4ac9-8564-b24c29e11ef7", "firstSessionStart": "2023-02-13T15:30:00Z" }, "supportedSlugs": [ { "name": "dog-yoga", "custom": false, "createdDate": "2023-02-09T16:40:45.267Z" } ], "mainSlug": { "name": "dog-yoga", "custom": false, "createdDate": "2023-02-09T16:40:45.267Z" }, "urls": { "servicePage": { "relativePath": "/service-page/dog-yoga", "url": "https://example.com/services-v2" }, "bookingPage": { "relativePath": "/book-online/dog-yoga/book", "url": "https://example.com/services-v2" }, "calendarPage": { "relativePath": "/booking-calendar/dog-yoga", "url": "https://example.com/services-v2" } } } ], "pagingMetadata": { "count": 2, "cursors": {} } }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

POST

Count Services


Counts services according to given criteria. Use WQL filter to define the criteria.

Permissions
Manage Bookings Services and Settings
Manage Bookings - all permissions
Read Bookings - all read permissions
Manage Bookings
Read Bookings - Public Data
Read Bookings - Including Participants
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/_api/bookings/v2/services/count

Body Params
filterstruct

The filters for performing the count.

Response Object
countinteger

The number of services matching the given filter.

Count services based on a filter
Request
cURL
curl -X POST 'https://www.wixapis.com/bookings/v2/services/count' \ -H 'Authorization: <AUTH>' \ -d '{ "query": { "filter": { "hidden": { "$eq": "false" } } } }'
Response
JSON
{ "count": 2 }
Errors

This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.

Did this help?

Service Created


Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.bookings.services.v2.service.


slugstring

Event name. Expected created.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


createdEventCreatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.bookings.services.v2.service_created", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }
Did this help?

Service Updated


Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.bookings.services.v2.service.


slugstring

Event name. Expected updated.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


updatedEventUpdatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.bookings.services.v2.service_updated", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }
Did this help?

Service Deleted


Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.bookings.services.v2.service.


slugstring

Event name. Expected deleted.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


deletedEventstruct

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.bookings.services.v2.service_deleted", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }
Did this help?