List services
Deprecation Notice
This endpoint has been replaced with Query Service Catalog and will be removed on March 31, 2022. If your app uses this endpoint, we recommend updating your code as soon as possible.
Retrieves a list of services, given the provided filtering. Returns a list of enriched services; Based on the invoker permissions and the request query. Query object support:
- filter: supports
service.id
- query for a specific service. Example:"filter { string_value: "{ "service.id": "46ce4cd4-46ff-4aa7-9cc0-02fd4f0f3209" }" }"
.category.id
- query for all services that belongs to the category. Example:"filter { string_value: "{ "category.id": "55ce4cd4-46ff-4aa7-9cc0-01fd4f0f3209" }" }"
.service.info.name
- query for all services with given name. Example:"filter { string_value: "{ "service.info.name": "haircut" }" }"
.service.info.tagLine
- query for all services with given tag line. Example:"filter { string_value: "{ "service.info.tagLine": "short haircut" }" }"
.service.policy.isBookOnlineAllowed
- query for all services that can be booked online. Example:"filter { string_value: "{ "service.policy.isBookOnlineAllowed": true }" }"
.category.name
- query for all services that belongs to categories with given name. Example:"filter { string_value: "{ "categoty.name": "hair services" }" }"
.service.customProperties.tag
- query for all services that has given tag. Example:"filter { string_value: "{ "service.customProperties.tag": "hair services" }" }"
.service.paymentOptions.wixPayOnline
- query for all services that can be payed Online with Wix Pay. Example:"filter { string_value: "{ "service.paymentOptions.wixPayOnline": true }" }"
.service.paymentOptions.wixPayInPerson
- query for all services that be payed Offline with Wix Pay.. Example:"filter { string_value: "{ "service.paymentOptions.wixPayInPerson": true }" }"
.service.paymentOptions.wixPaidPlan
- query for all services that can be booked using a paid plan. Example:"filter { string_value: "{ "service.paymentOptions.wixPaidPlan": true }" }"
.service.paymentOptions.custom
- query for all services that has a custom payment method. Example:"filter { string_value: "{ "service.paymentOptions.custom": true }" }"
.slugs.name
- query for service with given slug. Example:"filter { string_value: "{ "slugs.name": "woman-hair-cut" }" }"
.schedules.tags
- query for all services that has a schedule with given tag and statusCREATED
. Example:"filter { string_value: "{ "schedules.tags": "Group" }" }"
.resources.id
- query for all services that are given by a given resource, taking into account only ACTIVE status service schedule. Example:"filter { string_value: "{ "resources.id": "46ce4cd4-46ff-4aa7-9cc0-02fd4f0f3209" }" }"
.service.policy.bookingsApprovalPolicy.isBusinessApprovalRequired
- query for all services that require business approval. Example:"filter { string_value: "{ "service.policy.bookingsApprovalPolicy.isBusinessApprovalRequired": true }" }"
.service.schedules.availability.locations.businessLocation.ids
- Not supported. Query for all services that have at least one of the specified locations. Example:"filter { string_value: "{ "service.schedules.availability.locations.businessLocation.ids": ["66a2674c-9267-4600-826e-f463957b9446", "66a2674c-9267-4600-826e-f463957b9447"] }" }"
.
- paging: Supported. Limit Example: "query { paging { limit { value: 10 } } }". Offset Example: "query { paging { offset { value: 10 } } }". Default paging: "query { paging { offset { value: 0 } limit { value: 25 } } }"
- fieldsets: not supported.
- fields: any projection is supported. Example: query { fields ["service.id", "service.status", "service.info.name"] }
Important: Calling List without any filter, will return all non deleted services.
- All results are for one specific business, resolved from the request context.
Permissions
This endpoint requires the Read Bookings - Public Data, the Read Bookings - Including Participants or the Manage Bookings permissions scope
Syntax
function Listservices(query.filter: ref, query.sort: array<_wix_common_Sorting>, query.paging: ref, query.fields: array<string>, query.fieldsets: array<string>, includeDeleted: boolean): List<_com_wixpress_bookings_services_catalog_api_v1_service_ListServicesResponse>
List services Parameters
NAME
TYPE
DESCRIPTION
Filter object in the following format:"filter" : {
"fieldName1": "value1",
"fieldName2":{"$operator":"value2"}
}
Example of operators: $eq
, $ne
, $lt
, $lte
, $gt
, $gte
, $in
, $hasSome
, $hasAll
, $startsWith
, $contains
Sort object in the following format:[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]
Paging options to limit and skip the number of items.
Array of projected fields. A list of specific field names to return. If fieldsets
are also specified, the union of fieldsets
and fields
is returned.
Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple fieldsets
will return the union of fields from all sets. If fields
are also specified, the union of fieldsets
and fields
is returned.
Returns
A list of catalog service response.
Return Type:
NAME
TYPE
DESCRIPTION
Supported values: CONSISTENT
, EVENTUALLY_CONSISTENT
.
Was this helpful?
Returns all the catalog services in the site.
Request
curl
1curl -X GET \2 'https://www.wixapis.com/bookings/v1/catalog/services' \3 -H 'Authorization: <AUTH>'
Response
json
1{2 "services": [3 {4 "service": {5 "id": "4c0bae61-4599-4d02-a2f4-25e9222df416",6 "info": {7 "name": "Haircut",8 "description": "A regular short haircut",9 "images": [ {10 "id": "bd10eec5-564a-47b7-8638-ff005f18261d",11 "url": "bd10eec5564a47b78638ff005f18261d.jpg",12 "height": 4912,13 "width": 736014 }],15 "tagLine": "A regular Haircut"16 },17 "policy": {18 "maxParticipantsPerBooking": 1,19 "bookUpToXMinutesBefore": 1440,20 "cancelRescheduleUpToXMinutesBefore": 61,21 "isBookOnlineAllowed": true,22 "isCancelAllowed": true,23 "isRescheduleAllowed": true,24 "futureBookingsPolicy": {25 "shouldLimit": false,26 "limitXMinutesToTheFuture": 144027 },28 "waitingListPolicy": {29 "isEnabled": false,30 "capacity": 10,31 "timeWindowMinutes": 1032 },33 "bookingsApprovalPolicy": {34 "isBusinessApprovalRequired": false,35 "requestsAffectsAvailability": true36 }37 },38 "paymentOptions": {39 "wixPayOnline": true,40 "wixPayInPerson": false,41 "custom": false,42 "wixPaidPlan": false43 },44 "categoryId": "442d101a-37b1-4769-81e5-4e7f809585e8",45 "bookingFormId": "00000000-0000-0000-0000-000000000000",46 "scheduleIds": ["a93abaf4-c776-46d2-aba0-c986c40ae8c1"],47 "customProperties": {48 "uouHidden": "false",49 "order": "10"50 },51 "status": "CREATED",52 "sortOrder": 1053 },54 "pricingPlans": [],55 "resources": [ {56 "id": "b48faa02-2f23-4253-85e2-55cd27deef97",57 "name": "Staff Member #1",58 "email": "8115080@gmail.com",59 "tags": [60 "staff",61 "defaultStaff"62 ],63 "images": [],64 "schedules": [ {65 "id": "71286e3b-8391-47ed-a78b-cf3be0e4db1b",66 "scheduleOwnerId": "b48faa02-2f23-4253-85e2-55cd27deef97",67 "intervals": [],68 "tags": [],69 "availability": {70 "start": "2019-05-14T12:44:53.205Z",71 "linkedSchedules": [ {72 "scheduleId": "5af18541-2183-4483-8ced-b94e41250d31",73 "transparency": "FREE",74 "scheduleOwnerId": "30994d2a-80f8-47c4-8e04-ba72c6083d9d"75 }]76 },77 "totalNumberOfParticipants": 0,78 "participants": [],79 "status": "CREATED",80 "version": 081 }],82 "status": "UNDEFINED"83 }],84 "form": {85 "id": "00000000-0000-0000-0000-000000000000",86 "header": {87 "description": "Tell us a bit about yourself",88 "title": "Add Your Info",89 "isDescriptionHidden": false90 },91 "actionLabels": {92 "offlinePaymentLabel": "Book It",93 "onlinePaymentLabel": "Pay Now",94 "bookingRequestApprovalLabel": "Request To Book"95 },96 "name": {97 "fieldId": "00000000-0000-0000-0000-000000000001",98 "valueType": "SHORT_TEXT",99 "label": "Name",100 "userConstraints": {"required": true},101 "additionalLabels": []102 },103 "email": {104 "fieldId": "00000000-0000-0000-0000-000000000002",105 "valueType": "SHORT_TEXT",106 "label": "Email",107 "userConstraints": {"required": true},108 "additionalLabels": []109 },110 "phone": {111 "fieldId": "00000000-0000-0000-0000-000000000003",112 "valueType": "SHORT_TEXT",113 "label": "Phone Number",114 "userConstraints": {"required": false},115 "additionalLabels": []116 },117 "numberOfParticipants": {118 "fieldId": "00000000-0000-0000-0000-000000000007",119 "valueType": "SHORT_TEXT",120 "label": "Number of Participants",121 "userConstraints": {"required": true},122 "additionalLabels": []123 },124 "address": {125 "street": {126 "fieldId": "00000000-0000-0000-0000-000000000004",127 "valueType": "SHORT_TEXT",128 "label": "Street",129 "userConstraints": {"required": true},130 "additionalLabels": []131 },132 "city": {133 "fieldId": "00000000-0000-0000-0000-000000000005",134 "valueType": "SHORT_TEXT",135 "label": "City",136 "userConstraints": {"required": true},137 "additionalLabels": []138 },139 "floorNumber": {140 "fieldId": "00000000-0000-0000-0000-000000000006",141 "valueType": "SHORT_TEXT",142 "label": "Apt. / Floor No.",143 "userConstraints": {"required": false},144 "additionalLabels": []145 },146 "state": {147 "fieldId": "00000000-0000-0000-0000-000000000009",148 "valueType": "SHORT_TEXT",149 "label": "State",150 "userConstraints": {"required": false},151 "additionalLabels": []152 }153 },154 "customFields": [ {155 "fieldId": "00000000-0000-0000-0000-000000000008",156 "valueType": "LONG_TEXT",157 "label": "Add Your Message",158 "userConstraints": {"required": false},159 "additionalLabels": []160 }]161 },162 "schedules": [ {163 "id": "a93abaf4-c776-46d2-aba0-c986c40ae8c1",164 "scheduleOwnerId": "4c0bae61-4599-4d02-a2f4-25e9222df416",165 "intervals": [],166 "title": "Haircut",167 "tags": ["INDIVIDUAL"],168 "location": {"locationType": "OWNER_BUSINESS"},169 "capacity": 1,170 "rate": {"labeledPriceOptions": {"general": {171 "amount": "21",172 "currency": "ILS",173 "downPayAmount": "0"174 }}},175 "availability": {176 "start": "2020-02-13T06:24:31.520Z",177 "linkedSchedules": [ {178 "scheduleId": "71286e3b-8391-47ed-a78b-cf3be0e4db1b",179 "transparency": "BUSY",180 "scheduleOwnerId": "b48faa02-2f23-4253-85e2-55cd27deef97"181 }],182 "constraints": {183 "slotDurations": [60],184 "timeBetweenSlots": 10185 }186 },187 "totalNumberOfParticipants": 0,188 "participants": [],189 "status": "CREATED",190 "version": 0191 }],192 "category": {193 "id": "442d101a-37b1-4769-81e5-4e7f809585e8",194 "name": "categ2",195 "customProperties": {"order": "1"},196 "status": "CREATED",197 "sortOrder": 1198 },199 "urls": {200 "servicePageUrl": {201 "base": "https://www.dimawix.com",202 "path": "/bookonline/haircut-1"203 },204 "bookingPageUrl": {205 "base": "https://www.dimawix.com",206 "path": "/bookonline/haircut-1/book"207 }208 },209 "slugs": [210 {211 "name": "haircut-1",212 "createdAt": "2020-02-13T06:26:12.881Z"213 },214 {215 "name": "haircur-1",216 "createdAt": "2020-02-13T06:26:12.478Z"217 },218 {219 "name": "haircut",220 "createdAt": "2020-02-13T06:26:12.110Z"221 },222 {223 "name": "haircur",224 "createdAt": "2020-02-13T06:25:40.336Z"225 }226 ],227 "status": "ACTIVE"228 },229 {230 "service": {231 "id": "5228133b-f86b-453c-a400-ffe7f80e1996",232 "info": {233 "name": "Beard Trimming",234 "description": "A description here...",235 "images": [ {236 "id": "97e41887-1440-4474-8ae9-8d8d7b60abb6",237 "url": "97e41887144044748ae98d8d7b60abb6.jpg",238 "height": 1086,239 "width": 1920240 }],241 "tagLine": "Trim Your Beard"242 },243 "policy": {244 "maxParticipantsPerBooking": 1,245 "bookUpToXMinutesBefore": 1440,246 "cancelRescheduleUpToXMinutesBefore": 61,247 "isBookOnlineAllowed": true,248 "isCancelAllowed": true,249 "isRescheduleAllowed": true,250 "futureBookingsPolicy": {251 "shouldLimit": false,252 "limitXMinutesToTheFuture": 1440253 },254 "waitingListPolicy": {255 "isEnabled": false,256 "capacity": 10,257 "timeWindowMinutes": 10258 },259 "bookingsApprovalPolicy": {260 "isBusinessApprovalRequired": false,261 "requestsAffectsAvailability": true262 }263 },264 "paymentOptions": {265 "wixPayOnline": true,266 "wixPayInPerson": false,267 "custom": false,268 "wixPaidPlan": false269 },270 "categoryId": "442d101a-37b1-4769-81e5-4e7f809585e8",271 "bookingFormId": "00000000-0000-0000-0000-000000000000",272 "scheduleIds": ["4f5a5370-6756-4004-bd9c-ba021fc8e8a7"],273 "customProperties": {274 "uouHidden": "false",275 "order": "11"276 },277 "status": "CREATED",278 "sortOrder": 11279 },280 "pricingPlans": [],281 "resources": [ {282 "id": "b48faa02-2f23-4253-85e2-55cd27deef97",283 "name": "Staff Member #1",284 "email": "8115080@gmail.com",285 "tags": [286 "staff",287 "defaultStaff"288 ],289 "images": [],290 "schedules": [ {291 "id": "71286e3b-8391-47ed-a78b-cf3be0e4db1b",292 "scheduleOwnerId": "b48faa02-2f23-4253-85e2-55cd27deef97",293 "intervals": [],294 "tags": [],295 "availability": {296 "start": "2019-05-14T12:44:53.205Z",297 "linkedSchedules": [ {298 "scheduleId": "5af18541-2183-4483-8ced-b94e41250d31",299 "transparency": "FREE",300 "scheduleOwnerId": "30994d2a-80f8-47c4-8e04-ba72c6083d9d"301 }]302 },303 "totalNumberOfParticipants": 0,304 "participants": [],305 "status": "CREATED",306 "version": 0307 }],308 "status": "UNDEFINED"309 }],310 "form": {311 "id": "00000000-0000-0000-0000-000000000000",312 "header": {313 "description": "Tell us a bit about yourself",314 "title": "Add Your Info",315 "isDescriptionHidden": false316 },317 "actionLabels": {318 "offlinePaymentLabel": "Book It",319 "onlinePaymentLabel": "Pay Now",320 "bookingRequestApprovalLabel": "Request To Book"321 },322 "name": {323 "fieldId": "00000000-0000-0000-0000-000000000001",324 "valueType": "SHORT_TEXT",325 "label": "Name",326 "userConstraints": {"required": true},327 "additionalLabels": []328 },329 "email": {330 "fieldId": "00000000-0000-0000-0000-000000000002",331 "valueType": "SHORT_TEXT",332 "label": "Email",333 "userConstraints": {"required": true},334 "additionalLabels": []335 },336 "phone": {337 "fieldId": "00000000-0000-0000-0000-000000000003",338 "valueType": "SHORT_TEXT",339 "label": "Phone Number",340 "userConstraints": {"required": false},341 "additionalLabels": []342 },343 "numberOfParticipants": {344 "fieldId": "00000000-0000-0000-0000-000000000007",345 "valueType": "SHORT_TEXT",346 "label": "Number of Participants",347 "userConstraints": {"required": true},348 "additionalLabels": []349 },350 "address": {351 "street": {352 "fieldId": "00000000-0000-0000-0000-000000000004",353 "valueType": "SHORT_TEXT",354 "label": "Street",355 "userConstraints": {"required": true},356 "additionalLabels": []357 },358 "city": {359 "fieldId": "00000000-0000-0000-0000-000000000005",360 "valueType": "SHORT_TEXT",361 "label": "City",362 "userConstraints": {"required": true},363 "additionalLabels": []364 },365 "floorNumber": {366 "fieldId": "00000000-0000-0000-0000-000000000006",367 "valueType": "SHORT_TEXT",368 "label": "Apt. / Floor No.",369 "userConstraints": {"required": false},370 "additionalLabels": []371 },372 "state": {373 "fieldId": "00000000-0000-0000-0000-000000000009",374 "valueType": "SHORT_TEXT",375 "label": "State",376 "userConstraints": {"required": false},377 "additionalLabels": []378 }379 },380 "customFields": [ {381 "fieldId": "00000000-0000-0000-0000-000000000008",382 "valueType": "LONG_TEXT",383 "label": "Add Your Message",384 "userConstraints": {"required": false},385 "additionalLabels": []386 }]387 },388 "schedules": [ {389 "id": "4f5a5370-6756-4004-bd9c-ba021fc8e8a7",390 "scheduleOwnerId": "5228133b-f86b-453c-a400-ffe7f80e1996",391 "intervals": [],392 "title": "Beard Trimming",393 "tags": ["INDIVIDUAL"],394 "location": {"locationType": "OWNER_BUSINESS"},395 "capacity": 1,396 "rate": {"labeledPriceOptions": {"general": {397 "amount": "49.99",398 "currency": "ILS",399 "downPayAmount": "0"400 }}},401 "availability": {402 "start": "2020-02-13T07:58:39.577Z",403 "linkedSchedules": [ {404 "scheduleId": "71286e3b-8391-47ed-a78b-cf3be0e4db1b",405 "transparency": "BUSY",406 "scheduleOwnerId": "b48faa02-2f23-4253-85e2-55cd27deef97"407 }],408 "constraints": {409 "slotDurations": [15],410 "timeBetweenSlots": 0411 }412 },413 "totalNumberOfParticipants": 0,414 "participants": [],415 "status": "CREATED",416 "version": 0417 }],418 "category": {419 "id": "442d101a-37b1-4769-81e5-4e7f809585e8",420 "name": "categ2",421 "customProperties": {"order": "1"},422 "status": "CREATED",423 "sortOrder": 1424 },425 "urls": {426 "servicePageUrl": {427 "base": "https://www.dimawix.com",428 "path": "/bookonline/beard-trimming"429 },430 "bookingPageUrl": {431 "base": "https://www.dimawix.com",432 "path": "/bookonline/beard-trimming/book"433 }434 },435 "slugs": [ {436 "name": "beard-trimming",437 "createdAt": "2020-02-13T07:59:18.587Z"438 }],439 "status": "ACTIVE"440 }441 ],442 "metadata": {443 "items": 2,444 "offset": 0,445 "totalCount": 2446 }447}