diff --git a/wix-bookings-v2/wix-bookings-v2.service.json b/wix-bookings-v2/wix-bookings-v2.service.json index 8b8fb192a3..07e3a20d26 100644 --- a/wix-bookings-v2/wix-bookings-v2.service.json +++ b/wix-bookings-v2/wix-bookings-v2.service.json @@ -8,6 +8,21 @@ "docs": {}, "relatedGuides": [], "properties": [ + { + "name": "attendance", + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance" + } + ], + "docs": { + "summary": "", + "links": [], + "examples": [], + "extra": {} + }, + "hidden": true + }, { "name": "availabilityCalendar", "type": [ @@ -23,6 +38,21 @@ }, "hidden": true }, + { + "name": "availabilityTimeSlots", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots" + } + ], + "docs": { + "summary": "", + "links": [], + "examples": [], + "extra": {} + }, + "hidden": true + }, { "name": "bookings", "type": [ @@ -38,6 +68,21 @@ }, "hidden": true }, + { + "name": "eventTimeSlots", + "type": [ + { + "referenceType": "wix-bookings-v2.EventTimeSlots" + } + ], + "docs": { + "summary": "", + "links": [], + "examples": [], + "extra": {} + }, + "hidden": true + }, { "name": "extendedBookings", "type": [ @@ -68,6 +113,21 @@ }, "hidden": true }, + { + "name": "multiServiceAvailabilityTimeSlots", + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots" + } + ], + "docs": { + "summary": "", + "links": [], + "examples": [], + "extra": {} + }, + "hidden": true + }, { "name": "pricing", "type": [ @@ -83,6 +143,36 @@ }, "hidden": true }, + { + "name": "serviceAvailability", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability" + } + ], + "docs": { + "summary": "", + "links": [], + "examples": [], + "extra": {} + }, + "hidden": true + }, + { + "name": "serviceOptionsAndVariants", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants" + } + ], + "docs": { + "summary": "", + "links": [], + "examples": [], + "extra": {} + }, + "hidden": true + }, { "name": "services", "type": [ @@ -99,10 +189,10 @@ "hidden": true }, { - "name": "sessions", + "name": "staffMembers", "type": [ { - "referenceType": "wix-bookings-v2.Sessions" + "referenceType": "wix-bookings-v2.StaffMembers" } ], "docs": { diff --git a/wix-bookings-v2/wix-bookings-v2/Attendance.service.json b/wix-bookings-v2/wix-bookings-v2/Attendance.service.json index c26911f1bd..8568fad77e 100644 --- a/wix-bookings-v2/wix-bookings-v2/Attendance.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Attendance.service.json @@ -49,18 +49,38 @@ "title": "getAttendance example", "body": [ "import { attendance } from 'wix-bookings.v2';", - " ", - " async function getAttendance(attendanceId) {", - " try {", - " const result = await attendance.getAttendance(attendanceId);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function getAttendance(attendanceId) {", + " try {", + " const result = await attendance.getAttendance(attendanceId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "getAttendance example for exporting from backend code", + "body": [ + "import { attendance } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const getAttendance = webMethod(", + " Permissions.Anyone,", + " async (attendanceId) => {", + " try {", + " const result = await attendance.getAttendance(attendanceId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -106,33 +126,56 @@ "- `id` sorted in `ASC` order", "- `cursorPaging.limit` is `50`", "", - "For field support, see [supported filters](https://dev.wix.com/api/rest/wix-bookings/bookings-attendance-v2/supported-filters).", + "For field support, see [supported filters](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).", "", "> __Notes__:", - "> + Another way to retrieve attendance information is to call Bookings Reader V2's [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) with `withBookingAttendanceInfo` set to `true`.", + "> + Another way to retrieve attendance information is to call Bookings Reader V2's [Query Extended Bookings](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings) with `withBookingAttendanceDetails` as `true`.", "> + Up to 100 results can be returned per request.", "> + Only 1 filter is supported per query. If you define multiple filters in the same query, only the first is processed.", "", "To learn about working with query endpoints, see", "[API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).", + "", + "", "|PROPERTY\t|SUPPORTED FILTERS & SORTING\t", "|:---:|:---:|", - "|`_id`|[`eq()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ascending)|", - "|`bookingId`|[`eq()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ascending)|", - "|`sessionId`|[`eq()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ascending)|", - "|`status`|[`eq()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ascending)|", - "|`numberOfAttendees`|[`eq()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#in),[`lt()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#lt),[`le()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#le),[`gt()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#gt),[`ge()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ge),[`ascending()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#ascending),[`descending()`](wix-bookings-v2.Attendances.AttendancesQueryBuilder#descending)|" + "|`_id`|[`eq()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ascending)|", + "|`bookingId`|[`eq()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ascending)|", + "|`sessionId`|[`eq()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ascending)|", + "|`status`|[`eq()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#in),[`ascending()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ascending)|", + "|`numberOfAttendees`|[`eq()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ne),[`in()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#in),[`lt()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#lt),[`le()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#le),[`gt()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#gt),[`ge()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ge),[`ascending()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#ascending),[`descending()`](wix-bookings-v2.Attendance.AttendancesQueryBuilder#descending)|" ], "examples": [ { "title": "queryAttendance example", "body": [ "import { attendance } from 'wix-bookings.v2';", - " ", - " async function queryAttendance() {", - " const { items } = attendance.queryAttendance().find();", - " }", - " " + "", + "async function queryAttendance() {", + " const { items } = attendance.queryAttendance().find();", + "}", + "" + ] + }, + { + "title": "queryAttendance example for exporting from backend code", + "body": [ + "import { attendance } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const queryAttendance = webMethod(", + " Permissions.Anyone,", + " async (query) => {", + " try {", + " const result = await attendance.queryAttendance(query);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -157,12 +200,21 @@ ], "doc": "The attendance information for a booked session that you want to create or update.", "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.SetAttendanceOptions" + } + ], + "doc": "", + "required": false } ], "requiredFields": [ "attendance", "attendance.bookingId", - "attendance.sessionId", "attendance.status" ], "ret": { @@ -187,21 +239,44 @@ ], "examples": [ { - "title": "setAttendance example", + "title": "setAttendance example for dashboard page code", + "body": [ + "import { attendance } from 'wix-bookings.v2';", + "", + "async function setAttendance(attendance, options) {", + " try {", + " const result = await attendance.setAttendance(attendance, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "setAttendance example for exporting from backend code", "body": [ "import { attendance } from 'wix-bookings.v2';", - " ", - " async function setAttendance(attendance) {", - " try {", - " const result = await attendance.setAttendance(attendance);", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "const elevatedSetAttendance = elevate(attendance.setAttendance);", + "", + "export const setAttendance = webMethod(", + " Permissions.Anyone,", + " async (attendance, options) => {", + " try {", + " const result = await elevatedSetAttendance(attendance, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -217,6 +292,66 @@ } ], "messages": [ + { + "name": "ActionEvent", + "members": [ + { + "name": "bodyAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ApplicationError", + "members": [ + { + "name": "code", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Error code." + }, + { + "name": "data", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Data related to the error." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Description of the error." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "Attendance", "members": [ @@ -269,7 +404,7 @@ "nativeType": "string" } ], - "doc": "Status indicating if any particpants attended the session:\n\n+ `NOT_SET`: There is no available attendance information.\n+ `ATTENDED`: At least a single participant attended the session.\n+ `NOT_ATTENDED`: No participants attended the session.\n" + "doc": "Status indicating if any participants attended the session:\n\n+ `NOT_SET`: There is no available attendance information.\n+ `ATTENDED`: At least a single participant attended the session.\n+ `NOT_ATTENDED`: No participants attended the session.\n" } ], "docs": { @@ -279,27 +414,27 @@ } }, { - "name": "CursorPaging", + "name": "AttendanceDetails", "members": [ { - "name": "cursor", + "name": "attendance", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Attendance.Attendance" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\n\nNot relevant for the first request.\n" + "doc": "The created or updated attendance information for the booked session." }, { - "name": "limit", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Attendance.ParticipantNotification" } ], - "doc": "Number of `Attendance` objects to return.\n\nDefault: `50`\nMaximum: `1000`\n" + "doc": "Information about whether to send a message to a customer after their attendance was set." } ], "docs": { @@ -309,76 +444,67 @@ } }, { - "name": "CursorPagingMetadata", + "name": "AttendanceMarkedAsNotAttended", "members": [ { - "name": "cursors", + "name": "attendance", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Attendance.Cursors" + "referenceType": "wix-bookings-v2.Attendance.Attendance" } ], - "doc": "Use these cursors to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." + "doc": "The attendance information for a booked session that you want to create or update." }, { - "name": "hasNext", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Attendance.ParticipantNotification" } ], - "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + "doc": "Information about whether to send a message to a customer after their attendance was set." } ], "docs": { "description": [ - "This is the preferred message for cursor-paging enabled services" + "" ] } }, { - "name": "Cursors", + "name": "BulkActionMetadata", "members": [ { - "name": "next", + "name": "totalFailures", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Number of items that couldn't be processed." }, { - "name": "prev", + "name": "totalSuccesses", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Cursor pointing to previous page in the list of results." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "GetAttendanceRequest", - "members": [ + "doc": "Number of items that were successfully processed." + }, { - "name": "attendanceId", + "name": "undetailedFailures", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of the object that contains the attendance information that you want to retrieve." + "doc": "Number of failures without details because detailed failure threshold was exceeded." } ], "docs": { @@ -388,17 +514,27 @@ } }, { - "name": "GetAttendanceResponse", + "name": "BulkAttendanceResult", "members": [ { - "name": "attendance", + "name": "item", "optional": true, "type": [ { "referenceType": "wix-bookings-v2.Attendance.Attendance" } ], - "doc": "The retrieved attendance information for the booked session." + "doc": "" + }, + { + "name": "itemMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.ItemMetadata" + } + ], + "doc": "" } ], "docs": { @@ -408,46 +544,52 @@ } }, { - "name": "Paging", + "name": "BulkSetAttendanceOptions", "members": [ { - "name": "limit", + "name": "attendanceDetails", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Attendance.AttendanceDetails" + } + ] + } } ], - "doc": "Number of items to load." + "doc": "The attendance information for a booked sessions that you want to create or update. Min size 1." }, { - "name": "offset", + "name": "attendanceList", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Attendance.Attendance" + } + ] + } } ], - "doc": "Number of items to skip in the current sort order." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "QueryAttendanceRequest", - "members": [ + "doc": "The attendance information for a booked sessions that you want to create or update. Min size 1.\nDeprecated. use `attendance_details`." + }, { - "name": "query", + "name": "returnFullEntity", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Attendance.QueryV2" + "nativeType": "boolean" } ], - "doc": "Query options." + "doc": "" } ], "docs": { @@ -457,10 +599,28 @@ } }, { - "name": "QueryAttendanceResponse", + "name": "BulkSetAttendanceRequest", "members": [ { - "name": "attendances", + "name": "attendanceDetails", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Attendance.AttendanceDetails" + } + ] + } + } + ], + "doc": "The attendance information for a booked sessions that you want to create or update. Min size 1." + }, + { + "name": "attendanceList", + "readOnly": false, "optional": true, "type": [ { @@ -474,50 +634,40 @@ } } ], - "doc": "List of objects that contain attendance information for a booked session." + "doc": "The attendance information for a booked sessions that you want to create or update. Min size 1.\nDeprecated. use `attendance_details`." }, { - "name": "pagingMetadata", + "name": "returnFullEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Attendance.CursorPagingMetadata" + "nativeType": "boolean" } ], - "doc": "Details on the paged set of results returned." + "doc": "" } ], "docs": { "description": [ - "List of objects that contain attendance information." + "" ] } }, { - "name": "QueryV2", + "name": "BulkSetAttendanceResponse", "members": [ { - "name": "cursorPaging", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Attendance.CursorPaging" - } - ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`." - }, - { - "name": "filter", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "Object" + "referenceType": "wix-bookings-v2.Attendance.BulkActionMetadata" } ], - "doc": "Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n\nFor a detailed list of supported fields and operators, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supportedfilters).\n\nMax: 1 filter\n" + "doc": "Total successes and failures of the bulk set attendance action." }, { - "name": "sort", + "name": "results", "optional": true, "type": [ { @@ -525,26 +675,15 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Attendance.Sorting" + "referenceType": "wix-bookings-v2.Attendance.BulkAttendanceResult" } ] } } ], - "doc": "Sort object in the following format:\n`[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n\nFor details about sorting, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supportedfilters).\n" + "doc": "The created or updated attendance information for the booked sessions." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfQueryV2PagingMethodOneOf", - "members": [ - "cursorPaging", - "paging" - ] - } - ] - }, "docs": { "description": [ "" @@ -552,17 +691,27 @@ } }, { - "name": "QueryV2PagingMethodOneOf", + "name": "CursorPaging", "members": [ { - "name": "cursorPaging", + "name": "cursor", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Attendance.CursorPaging" + "nativeType": "string" } ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`." + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\n\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of `Attendance` objects to return.\n\nDefault: `50`\nMaximum: `1000`\n" } ], "docs": { @@ -572,16 +721,816 @@ } }, { - "name": "SetAttendanceRequest", + "name": "CursorPagingMetadata", "members": [ { - "name": "attendance", + "name": "cursors", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Attendance.Attendance" + "referenceType": "wix-bookings-v2.Attendance.Cursors" } ], - "doc": "The attendance information for a booked session that you want to create or update." + "doc": "Use these cursors to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "This is the preferred message for cursor-paging enabled services" + ] + } + }, + { + "name": "Cursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DomainEvent", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." + }, + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + }, + { + "name": "entityFqdn", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" + }, + { + "name": "entityId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the entity associated with the event." + }, + { + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Event timestamp." + }, + { + "name": "originatedFrom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "If present, indicates the action that triggered the event." + }, + { + "name": "slug", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DomainEventBodyOneOf", + "members": [ + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntityCreatedEvent", + "members": [ + { + "name": "entityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntityDeletedEvent", + "members": [ + { + "name": "deletedEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Entity that was deleted" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntityUpdatedEvent", + "members": [ + { + "name": "currentEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAttendanceRequest", + "members": [ + { + "name": "attendanceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the object that contains the attendance information that you want to retrieve." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAttendanceResponse", + "members": [ + { + "name": "attendance", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.Attendance" + } + ], + "doc": "The retrieved attendance information for the booked session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "IdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "identityType", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "IdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ItemMetadata", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." + }, + { + "name": "error", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.ApplicationError" + } + ], + "doc": "Details about the error in case of failure." + }, + { + "name": "originalIndex", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Index of the item within the request array. Allows for correlation between request and response items." + }, + { + "name": "success", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MessageEnvelope", + "members": [ + { + "name": "data", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Stringify payload." + }, + { + "name": "eventType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "identity", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.IdentificationData" + } + ], + "doc": "The identification type and identity data." + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "App instance ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Paging", + "members": [ + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to skip in the current sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ParticipantNotification", + "members": [ + { + "name": "message", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Optional custom message to send to the participants about the changes to the booking." + }, + { + "name": "notifyParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send the message about the changes to the customer.\nDefault is false." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryAttendanceRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.QueryV2" + } + ], + "doc": "Query options." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryAttendanceResponse", + "members": [ + { + "name": "attendances", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Attendance.Attendance" + } + ] + } + } + ], + "doc": "List of objects that contain attendance information for a booked session." + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.CursorPagingMetadata" + } + ], + "doc": "Details on the paged set of results returned." + } + ], + "docs": { + "description": [ + "List of objects that contain attendance information." + ] + } + }, + { + "name": "QueryV2", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.CursorPaging" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`." + }, + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n\nFor a detailed list of supported fields and operators, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n\nMax: 1 filter\n" + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Attendance.Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n\nFor details about sorting, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryV2PagingMethodOneOf", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.CursorPaging" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetAttendanceOptions", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.ParticipantNotification" + } + ], + "doc": "Information about whether to send a message to a customer after their attendance was set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetAttendanceRequest", + "members": [ + { + "name": "attendance", + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.Attendance" + } + ], + "doc": "The attendance information for a booked session that you want to create or update." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Attendance.ParticipantNotification" + } + ], + "doc": "Information about whether to send a message to a customer after their attendance was set." } ], "docs": { diff --git a/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar.service.json b/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar.service.json index 2f4d96761a..27e96eede5 100644 --- a/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar.service.json +++ b/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar.service.json @@ -29,7 +29,7 @@ "referenceType": "wix-bookings-v2.AvailabilityCalendar.QueryAvailabilityOptions" } ], - "doc": "Additional options for performing the query.\n", + "doc": "Additional options for performing the query.", "required": false } ], @@ -55,25 +55,110 @@ "docs": { "summary": "Retrieves the availability for sessions\nthat match the provided query criteria (paging, filtering, and sorting).", "description": [ - "The Availability Calendar APIs calculate the availability of sessions for\nappointments and classes, but not\nfor courses.\n\nThe entire list of slots is returned in case you want to display both\navailable and non-available slots in the calendar for your customers.\nUsing the `bookable` property, you can limit the display to available\nslots only.\n\nWhen querying, you must enter a start date and an end date. This avoids very large\nresults that can impact performance.\n\n#### Calculating availability\n\nThe availability is determined\nby checking:\n+ **The sessions' open slots**. A slot is considered open if the session's\ncapacity is greater than number of participants.\n+ **Booking policies**. Policies that affect whether a slot is considered\navailable include `tooEarlyToBook`, `tooLateToBook`, and `bookOnlineDisabled`.\n\nLocked sessions do not impact session availability and `bookable` can\nbe `true` even if `locked` is `true`. For example, if a session has a waitlist and a\nplace frees up, the slot is offered to the customers on the waitlist, one by one. The\nsession remains locked because there is still a waitlist, but for a period of time\nthere is availability, until a customer on the waitlist takes the slot. Locking\nprevents customers who are not yet on the waitlist from grabbing the slot.\n\n#### Handling Daylight Savings Time (DST) for local time zones\n\nBecause of DST, there are cases where certain times either do not exist\nor exist twice for a local time zone.\nFor example, the tine `00:05` on September 5th 2021 might not exist in Santiago, Chile,\nbecause at `00:00` the clock moved\n1 hour forward to `01:00`.\n\nIn this case, the Availability Calendar APIs take this\ninto account and mediate the time gaps automatically. The non-existent local time is\nautomatically moved forward 1 hour to match local DST. Local times that exist do not change.\nSo if the `queryAvailability()` function is called with a `startDate` of `2021-09-05T00:00:01.000`\nand an `endDate` of `2021-09-06T00:00:02.000`, `2021-09-05T01:00:01.000` is used in the query\ninstead. The start time shifts one hour forward and the end time remains the same.\n\nThis function is not a universal function and runs only on the backend." + "The Availability Calendar APIs calculate the availability of sessions for\nappointments and classes, but not\nfor courses.\n\nThe entire list of slots is returned in case you want to display both\navailable and non-available slots in the calendar for your customers.\nUsing the `bookable` property, you can limit the display to available\nslots only.\n\nWhen querying, you must enter a start date and an end date. This avoids very large\nresults that can impact performance.\n\n#### Calculating availability\n\nThe availability is determined\nby checking:\n+ **The sessions' open slots**. A slot is considered open if the session's\ncapacity is greater than number of participants.\n+ **Booking policies**. Policies that affect whether a slot is considered\navailable include `tooEarlyToBook`, `tooLateToBook`, and `bookOnlineDisabled`.\n\nLocked sessions do not impact session availability and `bookable` can\nbe `true` even if `locked` is `true`. For example, if a session has a waitlist and a\nplace frees up, the slot is offered to the customers on the waitlist, one by one. The\nsession remains locked because there is still a waitlist, but for a period of time\nthere is availability, until a customer on the waitlist takes the slot. Locking\nprevents customers who are not yet on the waitlist from grabbing the slot.\n\n#### Handling Daylight Savings Time (DST) for local time zones\n\nBecause of DST, there are cases where certain times either do not exist\nor exist twice for a local time zone.\nFor example, the tine `00:05` on September 5th 2021 might not exist in Santiago, Chile,\nbecause at `00:00` the clock moved\n1 hour forward to `01:00`.\n\nIn this case, the Availability Calendar APIs take this\ninto account and mediate the time gaps automatically. The non-existent local time is\nautomatically moved forward 1 hour to match local DST. Local times that exist do not change.\nSo if the `queryAvailability()` function is called with a `startDate` of `2021-09-05T00:00:01.000`\nand an `endDate` of `2021-09-06T00:00:02.000`, `2021-09-05T01:00:01.000` is used in the query\ninstead. The start time shifts one hour forward and the end time remains the same." ], "examples": [ { - "title": "queryAvailability example", + "title": "Retrieve available slots for an appointment service.", "body": [ - "import { availabilityCalendar } from 'wix-bookings.v2';", - " ", - " async function queryAvailability(query, options) {", - " try {", - " const result = await availabilityCalendar.queryAvailability(query, options);", + "/*****************************************", + " * Backend code - my-backend-file.web.js *", + " ****************************************/", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", + " import { availabilityCalendar } from 'wix-bookings.v2';", + " import { webMethod, Permissions } from 'wix-web-module';", + " ", + " export const myQueryAvailability = webMethod(", + " Permissions.Anyone,", + " async (query, options) => {", + " try {", + " const availableSlots = await availabilityCalendar.queryAvailability(query, options);", + " return availableSlots;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", " }", - " }", - " " + " );", + "", + "/*************", + " * Page code *", + " ************/", + "", + " import { myQueryAvailability } from 'backend/my-backend-file.web.js';", + "", + " $w.onReady(() => {", + " // set query time range to 1 week from now", + " const today = new Date();", + " const endRange = new Date();", + " endRange.setDate(today.getDate() + 7);", + " ", + " const query = {", + " \"filter\" : { ", + " \"serviceId\": \"036d51c9-d9fd-4459-be7a-a05e882f3e93\",", + " \"startDate\": today.toISOString(),", + " \"endDate\": endRange.toISOString()", + " }", + " };", + " const options = {", + " \"slotsPerDay\" : \"1\"", + " }", + " ", + " $w('#submitButton').onClick(async () => {", + " try {", + " const availability = await myQueryAvailability(query, options);", + " // Handle the fulfilled response", + " console.log('Availability', availability)", + " } catch (error) {", + " // Handle the error", + " console.error(error); ", + " }", + " });", + " });", + "", + "/* Promise resolves to:", + " *{", + " * \"availabilityEntries\": [", + " * {", + " * \"slot\": {", + " * \"sessionId\": \"193ZPR9ppP9emJUCLevcLf6orynNEIDt5nc0520xjGQILnPPaF5s62yK3BWz7ExgIRM1UZAV13fLX2gNLq4sCQwIdZIpxI6tDJxatWo81RhW6mQLgcnnO6ONJkvJH5ZYZEwHOIPMbmhqD5t41JnX3cUcIi0QOtrQjuZmfUCJFaA6fTnI97I4b9OD9AbOfkGsYnZW5UL0Yoc0amYhtACJPhRRe3qJSC5Qxp0aHl0j0ExBDV5ZTajTM1L6QktIUelYWU4Fq45KPYFvqc1UXeLTURzcOG4wsATMD47b5XfFqC9Myj02MJFRmz5nBS47v7586qsxgmQTYw6MVp\",", + " * \"serviceId\": \"036d51c9-d9fd-4459-be7a-a05e882f3e93\",", + " * \"scheduleId\": \"c0cf791e-fbc0-44e7-8db3-4c2eb7aa9253\",", + " * \"startDate\": \"2024-04-11T12:30:00.000Z\",", + " * \"endDate\": \"2024-04-11T13:30:00.000Z\",", + " * \"timezone\": \"UTC\",", + " * \"resource\": {", + " * \"name\": \"Barber Simon\",", + " * \"scheduleId\": \"f0212cd6-8437-4f2f-bdb0-019bc407bd84\",", + " * \"_id\": \"76570209-101f-409b-af97-b445bdb63125\"", + " * },", + " * \"location\": {", + " * \"name\": \"East 45th Street\",", + " * \"formattedAddress\": \"United Nations Headquarters, East 45th Street, New York, NY, USA\",", + " * \"locationType\": \"OWNER_BUSINESS\",", + " * \"_id\": \"03b3ef52-5700-406d-aa70-1b7f0bc5b067\"", + " * }", + " * },", + " * \"bookable\": true,", + " * \"totalSpots\": 5,", + " * \"openSpots\": 5,", + " * \"waitingList\": {},", + " * \"bookingPolicyViolations\": {", + " * \"tooEarlyToBook\": false,", + " * \"tooLateToBook\": false,", + " * \"bookOnlineDisabled\": false", + " * },", + " * \"locked\": false,", + " * \"isFromV2\": false,", + " * \"nestedSlots\": []", + " * }", + " * ],", + " * \"pagingMetadata\": {", + " * \"count\": 1,", + " * \"cursors\": {}", + " * }", + " *}", + " */" ] } ] @@ -89,6 +174,54 @@ } ], "messages": [ + { + "name": "AvailableResources", + "members": [ + { + "name": "hasMoreAvailableResources", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more available resources for the slot that are not listed in `resources` due to size limitations." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + }, + { + "name": "resources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Resource" + } + ] + } + } + ], + "doc": "Available resources for the time slot.\n\n+ When returned from `ListAvailabilityTimeSlots`, empty by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains __up__ to 10 available resources out of those provided.\n\n+ When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains all of the available resources out of those provided.\n\n\n> + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains __up__ to 10 available resources out of those provided.\n\n> + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains all of the available resources out of those provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "BookingPolicySettings", "members": [ @@ -150,145 +283,104 @@ } }, { - "name": "CursorPaging", + "name": "CalculateMultiSlotAvailabilityOptions", "members": [ { - "name": "cursor", + "name": "bookable", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006" }, { - "name": "limit", + "name": "bookingPolicyViolations", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicyViolations" } ], - "doc": "Number of items to load." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Cursors", - "members": [ + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, { - "name": "next", + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.CursorPaging" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "" }, { - "name": "prev", + "name": "from", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Cursor pointing to previous page in the list of results." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "GetScheduleAvailabilityOptions", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "GetScheduleAvailabilityRequest", - "members": [ + "doc": "" + }, { - "name": "scheduleId", + "name": "location", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Location" } ], - "doc": "The schedule ID for which availability is being checked." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "GetScheduleAvailabilityResponse", - "members": [ + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored\nmust be set, and must have locationType. If locationType is `OWNER_BUSINESS`, must have location_id" + }, { - "name": "availability", + "name": "slots", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.ScheduleAvailability" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.RuleBasedConstraints" + } + ] + } } ], "doc": "" }, { - "name": "bookingPolicySettings", + "name": "slotsPerDay", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicySettings" + "nativeType": "number" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "GetSlotAvailabilityOptions", - "members": [ + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, { - "name": "slot", + "name": "timeZone", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.Slot" + "nativeType": "string" } ], - "doc": "The slot for which the availability is checked." + "doc": "" }, { - "name": "timezone", + "name": "to", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + "doc": "" } ], "docs": { @@ -298,107 +390,104 @@ } }, { - "name": "GetSlotAvailabilityRequest", + "name": "CalculateMultiSlotAvailabilityRequest", "members": [ { - "name": "slot", + "name": "bookable", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.Slot" + "nativeType": "boolean" } ], - "doc": "The slot for which the availability is checked." + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006" }, { - "name": "timezone", + "name": "bookingPolicyViolations", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicyViolations" } ], - "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "GetSlotAvailabilityResponse", - "members": [ + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, { - "name": "availability", + "name": "cursorPaging", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.SlotAvailability" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.CursorPaging" } ], "doc": "" }, { - "name": "bookingPolicySettings", + "name": "from", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicySettings" + "nativeType": "string" } ], "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Location", - "members": [ + }, { - "name": "_id", + "name": "location", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Location" } ], - "doc": "Business location ID. Available only for locations that are business locations,\nmeaning the `location_type` is `\"OWNER_BUSINESS\"`." + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored\nmust be set, and must have locationType. If locationType is `OWNER_BUSINESS`, must have location_id" }, { - "name": "formattedAddress", + "name": "slots", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.RuleBasedConstraints" + } + ] + } } ], - "doc": "The full address of this location." + "doc": "" }, { - "name": "locationType", + "name": "slotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type.\n\n- `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n- `\"CUSTOM\"`: The address as set for the individual session.\n" + "doc": "" }, { - "name": "name", + "name": "to", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location name." + "doc": "" } ], "docs": { @@ -408,47 +497,692 @@ } }, { - "name": "PagingMetadataV2", + "name": "CalculateMultiSlotAvailabilityResponse", "members": [ { - "name": "count", + "name": "cursorPagingMetadata", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.CursorPagingMetadata" } ], - "doc": "Number of items returned in the response." + "doc": "" }, { - "name": "cursors", + "name": "slots", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.Cursors" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.SlotAvailability" + } + ] + } } ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPaging", + "members": [ { - "name": "offset", + "name": "cursor", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Offset that was requested." + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" }, { - "name": "tooManyToCount", + "name": "limit", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Flag that indicates the server failed to calculate the `total` field." + "doc": "Maximum number of items to return in the results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPagingMetadata", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Cursors" + } + ], + "doc": "Cursor strings that point to the next page, previous page, or both." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more pages to retrieve following the current page.\n\n+ `true`: Another page of results can be retrieved.\n+ `false`: This is the last page.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Cursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor string pointing to the next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to the previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CustomerChoices", + "members": [ + { + "name": "durationInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The selected customer duration in minutes.\nMin: `1 minute`\nMax: `44639 minutes` (30 days, 23 hours, and 59 minutes)" + } + ], + "docs": { + "description": [ + "Selected customer choices.\nThese choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties." + ] + } + }, + { + "name": "EventInfo", + "members": [], + "docs": { + "description": [ + "relevant for event based slots, and not for availability based slots" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotOptions", + "members": [ + { + "name": "fromV2", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.TimeSlotLocation" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotRequest", + "members": [ + { + "name": "fromV2", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.TimeSlotLocation" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the time slot.\nCurrently supported only for services of type `APPOINTMENT`." + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetScheduleAvailabilityOptions", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetScheduleAvailabilityRequest", + "members": [ + { + "name": "scheduleId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The schedule ID for which availability is being checked." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetScheduleAvailabilityResponse", + "members": [ + { + "name": "availability", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.ScheduleAvailability" + } + ], + "doc": "" + }, + { + "name": "bookingPolicySettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicySettings" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetSlotAvailabilityOptions", + "members": [ + { + "name": "slot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Slot" + } + ], + "doc": "The slot for which the availability is checked." + }, + { + "name": "timezone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetSlotAvailabilityRequest", + "members": [ + { + "name": "slot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Slot" + } + ], + "doc": "The slot for which the availability is checked." + }, + { + "name": "timezone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetSlotAvailabilityResponse", + "members": [ + { + "name": "availability", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.SlotAvailability" + } + ], + "doc": "" + }, + { + "name": "bookingPolicySettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicySettings" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Location", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business location ID. Available only for locations that are business locations,\nmeaning the `location_type` is `\"OWNER_BUSINESS\"`." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The full address of this location." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\n\n- `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n- `\"CUSTOM\"`: The address as set for the individual session.\n" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedTimeSlot", + "members": [ + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "resource", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.SlotResource" + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PagingMetadataV2", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Cursors" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "tooManyToCount", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag that indicates the server failed to calculate the `total` field." }, { "name": "total", @@ -481,14 +1215,263 @@ "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" }, { - "name": "timezone", + "name": "timezone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryAvailabilityRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.QueryV2" + } + ], + "doc": "Query options." + }, + { + "name": "slotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timezone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryAvailabilityResponse", + "members": [ + { + "name": "availabilityEntries", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.SlotAvailability" + } + ] + } + } + ], + "doc": "List of slots that potentially can be booked." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryV2", + "members": [ + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object. You must include `serviceId`, `startDate` and `endDate` in the filter. This avoids large results that can impact performance." + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Sorting" + } + ] + } + } + ], + "doc": "Currently, only sorting by `startDate` is supported." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryV2PagingMethodOneOf", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Resource", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourcesFilter", + "members": [ + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RuleBasedConstraints", + "members": [ + { + "name": "resourcesFilter", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.ResourcesFilter" + } + ], + "doc": "" + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleAvailability", + "members": [ + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicyViolations" + } + ], + "doc": "Booking policy violations for the schedule." + }, + { + "name": "openSpots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of open spots defined for the schedule." + }, + { + "name": "totalSpots", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + "doc": "The total number of spots defined for the schedule, including\nboth open and non-available spots." } ], "docs": { @@ -498,36 +1481,37 @@ } }, { - "name": "QueryAvailabilityRequest", + "name": "Service_availabilityBookingPolicyViolations", "members": [ { - "name": "query", + "name": "bookOnlineDisabled", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.QueryV2" + "nativeType": "boolean" } ], - "doc": "Query options." + "doc": "Bookings policy violation. Online booking is disabled for the `TimeSlot` service." }, { - "name": "slotsPerDay", + "name": "tooEarlyToBook", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + "doc": "Bookings policy violation. Too early to book this slot." }, { - "name": "timezone", + "name": "tooLateToBook", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The timezone for which slot availability is to be calculated. If specified,\ndates are based on the local date/time, meaning that the timezone offset\nin the date's format is ignored." + "doc": "Bookings policy violation. Too late to book this slot." } ], "docs": { @@ -537,10 +1521,10 @@ } }, { - "name": "QueryAvailabilityResponse", + "name": "Service_availabilityNestedTimeSlot", "members": [ { - "name": "availabilityEntries", + "name": "availableResources", "optional": true, "type": [ { @@ -548,88 +1532,45 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.SlotAvailability" + "referenceType": "wix-bookings-v2.AvailabilityCalendar.AvailableResources" } ] } } ], - "doc": "List of slots that potentially can be booked." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "QueryV2", - "members": [ + "doc": "List of `AvailableResources` for the nested time slot.\nEach `AvailableResources` contains information about available resources of the same type." + }, { - "name": "fields", + "name": "localEndDate", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "List of projected fields to return. All fields are supported." + "doc": "Local end date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." }, { - "name": "filter", + "name": "localStartDate", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "Filter object. You must include the `startDate` and `endDate` in the filter. This avoids large results that can impact performance." + "doc": "Local start date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." }, { - "name": "sort", + "name": "serviceId", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.Sorting" - } - ] - } + "nativeType": "string" } ], - "doc": "Currently, only sorting by `startDate` is supported." + "doc": "Service ID of the nested time slot." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfQueryV2PagingMethodOneOf", - "members": [ - "cursorPaging" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "QueryV2PagingMethodOneOf", - "members": [], "docs": { "description": [ "" @@ -637,37 +1578,27 @@ } }, { - "name": "ScheduleAvailability", + "name": "Service_availabilityWaitingList", "members": [ { - "name": "bookingPolicyViolations", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.AvailabilityCalendar.BookingPolicyViolations" - } - ], - "doc": "Booking policy violations for the schedule." - }, - { - "name": "openSpots", + "name": "remainingCapacity", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "The number of open spots defined for the schedule." + "doc": "Number of remaining spots for this wait list.\nFor example, a Yoga event with 10 waitList spots and 3 registered\non the waitList has 10 `total_capacity` and 7 `remaining_capacity`." }, { - "name": "totalSpots", + "name": "totalCapacity", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "The total number of spots defined for the schedule, including\nboth open and non-available spots." + "doc": "Total number of spots in this wait list." } ], "docs": { @@ -789,6 +1720,16 @@ ], "doc": "Booking policy violations for the slot." }, + { + "name": "isFromV2", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, { "name": "locked", "optional": true, @@ -907,6 +1848,180 @@ ] } }, + { + "name": "TimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the time slot.\nEach `AvailableResources` contains information about available resources of the same type.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own available resources.\n" + }, + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the slot is bookable according to the service's booking policies.\n\nIf booking this time slot does not violates any of the service's booking policies,\nthe returned value is `true`. Otherwise, returns `false`.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Service_availabilityBookingPolicyViolations" + } + ], + "doc": "Indicators for booking policy violations for the slot.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.TimeSlotLocation" + } + ], + "doc": "The geographic location of the slot." + }, + { + "name": "nestedTimeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityCalendar.Service_availabilityNestedTimeSlot" + } + ] + } + } + ], + "doc": "> Nested time slots.\n> Returned only from `MultiServiceAvailabilityTimeSlots` API calls." + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Remaining number of spots for the slot.\nFor example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own serviceId.\n" + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots for the slot." + } + ], + "docs": { + "description": [ + "The `TimeSlot` object represents the availability information\nfor an `Appointment` service's specific slot, including:" + ] + } + }, + { + "name": "TimeSlotLocation", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business Location ID. Present only if the location is a business location." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representation for the full address of the location." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n- `CUSTOMER`: The location is determined by the customer and is not set up beforehand." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The location name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "WaitingList", "members": [ diff --git a/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar/guides/Supported Filters and Sorting.md b/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar/guides/Supported Filters and Sorting.md index e95e53df1f..93e034f8e3 100644 --- a/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar/guides/Supported Filters and Sorting.md +++ b/wix-bookings-v2/wix-bookings-v2/AvailabilityCalendar/guides/Supported Filters and Sorting.md @@ -26,26 +26,24 @@ Specify the `filter` object in the following format: The following table shows field support for filtering with the `slotAvailability` object: -| Field | Required | Filterable | Sortable | Notes | -| -------------------- | ------------ | ------------- | -------- | ----- | -| `slot` | | Not filterable | | | -| `slot.startDate` | Required | Not filterable | Sortable | Returns slots that start at, or after, this date. If `timezone` is specified, the `slot.startDate` for the query is according to the local date and time, which means that the timezone offset in the format is ignored. | -| `slot.endDate` | Required | | | Returns slots that end at, or before, this date. If the `timezone` is specified, the `slot.endDate` for the query is according to the local date and time, which means that the timezone offset in the format is ignored. | -| `slot.serviceId` | | | | Supports multiple values. Returned if `slot` is provided. | -| `slot.resourceId` | | | | | -| `slot.scheduleId` | | Not filterable | | Returned if `slot` is provided. | -| `slot.sessionId` | | Not filterable | | | -| `slot.timezone` | | Not filterable | | | -| `slot.resource` | | Not filterable | | | -| `slot.location` | | Not filterable | | | -| `bookable` | | | | When filtered by `true`, returns only available slots. Otherwise, returns both available and non-available slots. This field is always returned. | -| `bookingPolicyViolations.tooEarlyToBook` | | | | -| `bookingPolicyViolations.tooLateToBook` | | | | -| `location.businessLocation.id` | | | Supports multiple values. | -| `openSpots` | | | Returns slots with at least this number of open spots. | -| `totalSpots` | | Not filterable | | | -| `waitingList` | | Not filterable | | | -| `bookingPolicyViolations` | | Not filterable | | | +| Field | Required | Filterable | Sortable | Notes | +| -------------------------------------- | -------- | -------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `startDate` | Required | Not filterable | Sortable | Returns slots that start at, or after, this date. If `timezone` is specified, the `startDate` for the query is according to the local date and time, which means that the timezone offset in the format is ignored. | +| `endDate` | Required | | | Returns slots that end at, or before, this date. If the `timezone` is specified, the `endDate` for the query is according to the local date and time, which means that the timezone offset in the format is ignored. | +| `serviceId` | | | | Supports multiple values, returned if slot is provided. | +| `resourceId` | | | | | +| `scheduleId` | | Not filterable | | Returned if `slot` is provided. | +| `sessionId` | | Not filterable | | | +| `timezone` | | Not filterable | | | +| `resource` | | Not filterable | | | +| `bookable` | | | | When filtered by `true`, returns only available slots. Otherwise, returns both available and non-available slots. This field is always returned. | +| `bookingPolicyViolations.tooEarlyToBook` | | | | | +| `bookingPolicyViolations.tooLateToBook` | | | | | +| `location.businessLocation.id` | | | | Supports multiple values. | +| `openSpots` | | | | Returns slots with at least this number of open spots. | +| `totalSpots` | | Not filterable | | | +| `waitingList` | | Not filterable | | | +| `bookingPolicyViolations` | | Not filterable | | | ## Sorting diff --git a/wix-bookings-v2/wix-bookings-v2/AvailabilityTimeSlots.service.json b/wix-bookings-v2/wix-bookings-v2/AvailabilityTimeSlots.service.json new file mode 100644 index 0000000000..e655f790e2 --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/AvailabilityTimeSlots.service.json @@ -0,0 +1,2073 @@ +{ + "name": "AvailabilityTimeSlots", + "memberOf": "wix-bookings-v2", + "mixes": [], + "callbacks": [], + "extra": {}, + "clientId": "wix-bookings.v2-time_slot-availabilityTimeSlots", + "docs": {}, + "relatedGuides": [], + "properties": [], + "operations": [ + { + "name": "getAvailabilityTimeSlot", + "params": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the time slot.\nCurrently supported only for services of type `APPOINTMENT`.", + "required": true + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".", + "required": true + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".", + "required": true + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.", + "required": true + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
", + "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.GetAvailabilityTimeSlotOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [ + "localEndDate", + "localStartDate", + "location", + "serviceId", + "timeZone" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.GetAvailabilityTimeSlotResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves an available `TimeSlot` that match the provided filters.", + "description": [ + "Throws `SlotNotFound` if there is no such available time slot.\n\n
\n

Important:
\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nBy default,\nif you don't provide `includeResourceTypeIds` or `resourceIds` in request,\nwe return all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\nthe service within the time slot.\n\nIf you specify `includeResourceTypeIds` or `resourceIds` in request,\nthe returned `TimeSlot` will contain only `AvailableResources` with at least one available resource\nwhich match the given resources filters,\neach contains all available resources out of those requested.\n\n\n
\n

Tip:
\nUse this API in order to get the availability of a specific TimeSlot out of those returned from ListAvailabilityTimeSlots API.

\n
" + ], + "examples": [ + { + "title": "GetAvailabilityTimeSlot ", + "body": [ + "import {availabilityTimeSlots} from 'wix-bookings.v2';", + "", + "async function getAvailabilityTimeSlot() {", + " let serviceId = \"c9390064-c0ee-4f4e-89db-9f59a8f49928\"", + " let localStartDate = \"2023-12-27T11:00:00.00\"", + " let localEndDate = \"2023-12-27T12:00:00.00\"", + " let timeZone = \"Europe/Dublin\"", + " let location = {", + " locationId: \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " locationType: availabilityTimeSlots.LocationType.BUSINESS", + " }", + "", + " try {", + " const result = await availabilityTimeSlots.getAvailabilityTimeSlot(serviceId, localStartDate, localEndDate, timeZone, location, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "Get the availability of a specific `TimeSlot`, for a specific service, location and time." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "getAvailabilityTimeSlot" + }, + { + "name": "listAvailabilityTimeSlots", + "params": [ + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.ListAvailabilityTimeSlotsOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.ListAvailabilityTimeSlotsResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves a list of `TimeSlot`s that match the provided filters.", + "description": [ + "
\n

Important:\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nThe request body __must__ include either:\n+ All of the following filters: `serviceId`, `fromLocalDate`, `toLocalDate`, and `timeZone`.\nYou may add additional filters as you wish.\n+ A `cursorPaging` with a valid `cursor` from previous response.\n\n\nEach [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\nrepresents the availability of the service in a specific location,\nand has a `localStartDate` within the range of the provided `fromLocalDate` and `toLocalDate` exclusive.\nThe `localEndDate` of a `TimeSlot` is calculated as the sum of the `TimeSlot`'s `localStartDate` and the duration of the service.\n\nBy default,\nthe response contains at most 1000 results.\nIf there are more than 1000 results, we return a `cursorPagingMetadata` with\na cursor for the next page of results, regardless of whether a `cursorPaging`\nwas provided in request.\n\n### AvailableResources in response\nThe `TimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\nwithin the time slot. Each `AvailableResources` contains information about available resources of the same type.\n\n
\n

Important:
\nBy default,\nif you don't specify includeResourceTypeIds\nor resourceIds filters in request,\nwe return TimeSlots with an empty AvailableResources.\n
Note:
Not specifying resources filters can be handy in case you want to avoid large response in flows that only\ninterested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-the-selected-service-is-available-for)\nis an example for such flow.\n

\n
\n\nIf you wish to get a list of available resources for each `TimeSlot` you should either:\n+ provide `resourceIds` in request.\n+ provide `includeResourceTypeIds` in request.\n\n__Notes:__\n+ In both cases the returned TimeSlots contains __up__ to 10 `AvailableResources` that match the provided filters.\nEach `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n+ If an `AvailableResources` has more available resources which are not listed within it,\nwe return `AvailableResources`.`hasMoreAvailableResources` as true.\n> __Note:__\n> If you wish to get the full available resources list for a specific `TimeSlot`,\n> you should call [GetAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/get-availability-time-slot).\n\n\n### Availability VS Bookability\nAn `available` time slot is not necessarily `bookable`.\nThe `bookable` field of a `TimeSlot` indicates whether a customer can book the service within the given time slot,\nat a specific period of time.\nRead more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/introduction#all-apis_wix-service-availability_service-availability-time-slots_introduction_availability-vs-bookability).\n\nBy default,\n+ The response does not contains `unavailable` TimeSlots.\nFor example,\nif there are no available resources to provide the service from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`,\nwe don't return TimeSlots with `localStartDate` within this range.\n+ The response contains both `bookable` and `un-bookable` TimeSlots.\nFor example,\nif the service has a booking policy which enforces booking the service up to 10 minutes before the session starts,\nwe return TimeSlots with the violating `localStartDate` with `bookable` as false.\nIf you wish to list only available __bookable__ TimeSlots you should pass `bookable` filter as true.\n\n
\n

Important:\nBecause of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\nRead more about DST Handling

\n
\n\n\n### ListAvailabilityTimeSlots runs with the following defaults\n+ `localStartDate` is sorted in `ASC` order\n+ `cursorPaging`.`limit` is `1000`" + ], + "examples": [ + { + "title": "List Available, bookable `TimeSlots` ", + "body": [ + "import {availabilityTimeSlots} from 'wix-bookings.v2';", + " ", + "async function listAvailabilityTimeSlots() {", + " let options = {", + " \"serviceId\": \"c9390064-c0ee-4f4e-89db-9f59a8f49928\",", + " \"fromLocalDate\": \"2024-12-27T11:00:00.000\",", + " \"toLocalDate\": \"2024-12-27T16:00:00.000\",", + " \"timeZone\": \"Europe/Dublin\",", + " \"bookable\": true,", + " \"locations\": [", + " {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": availabilityTimeSlots.LocationType.BUSINESS", + " }", + " ]", + " }", + " try {", + " const result = await", + " availabilityTimeSlots.listAvailabilityTimeSlots(options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "List all available slots for a given service within a given range of time, which does not violates any of the service's booking policies." + } + }, + { + "title": "List Available Time Slots with `cursorPaging` ", + "body": [ + "import {availabilityTimeSlots} from 'wix-bookings.v2';", + "", + "async function listAvailabilityTimeSlots() {", + " let cursorPaging = {", + " \"limit\": 10, ", + " \"cursor\": ", + "\"JWE.eyJhbGciOiJBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2Iiwia2lkIjoiSGp3NWZDbWcifQ.lwg3prEu2td7rzWGWb3bFCWANd2WcvHPvTFL_5zn9eXjESIfk6UD7A.Tsk0-1CITKFgLGFtkIdIsQ.quqmsGQ9aqYKfL_nVLs5irscqoUK-3d31O82FA2iJKZp8Jq9UnUhj6mFPDJVrnbZktOTjvKGm_bSOZvdpu3_6KiaR9_lZ8sMaHPfBSIAmB0RPv7WDtOdK_MIvqCmq8KRxcyG8sFr-mrW03FFuVhGmChOzLmhZOO9DnNVtg9-zhoIxIx70S_EbHckCexySiqWfCe5bTZL6XYvzdF-LXjol2A9H0C-afG8Ws0l7KXZjhGxbzhoh8PwapwlPzoKDUL4Eyy9bt7KhqA0BTRCgWJAXLJ4fA92S4DE1YLkZcigVVKfr2xWsC4d2tUtNDPvfCXFdGUs_xWK0GEPgpgZ-awOyT851KoJuXJXlA_XaQHVpawR5eg8H8p7VhuXokGsfu1SYOl90aLWU-15wwMgKor5KmwxoKzxaGpE6tOf81TZ8nc.ixEsiI_PvSXUkeUmrbQprw\"}", + "", + " let options = {", + " \"cursorPaging\": cursorPaging", + " }", + "", + " try {", + " const result = await availabilityTimeSlots.listAvailabilityTimeSlots(options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "List all available `TimeSlots` of the next page of results with the returned `cursorPagingMetadata`.`cursors`.`next` of previous call." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "listAvailabilityTimeSlots" + } + ], + "messages": [ + { + "name": "AvailableResources", + "members": [ + { + "name": "hasMoreAvailableResources", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more available resources for the slot that are not listed in `resources` due to size limitations." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + }, + { + "name": "resources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Resource" + } + ] + } + } + ], + "doc": "Available resources for the time slot.\n\n+ When returned from `ListAvailabilityTimeSlots`, empty by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains __up__ to 10 available resources out of those provided.\n\n+ When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains all of the available resources out of those provided.\n\n\n> + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains __up__ to 10 available resources out of those provided.\n\n> + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains all of the available resources out of those provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingPolicyViolations", + "members": [ + { + "name": "bookOnlineDisabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Online booking is disabled for the `TimeSlot` service." + }, + { + "name": "tooEarlyToBook", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Too early to book this slot." + }, + { + "name": "tooLateToBook", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Too late to book this slot." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\nTODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\nAliza's suggestion to consider locks in bookable" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "from", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "openSpots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with openSpots >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "serviceIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "slotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "to", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CursorPagingMetadata" + } + ], + "doc": "" + }, + { + "name": "slots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of results to load.\n\nDefault: `1000`.\nMax: `1000`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursorPagingMetadata", + "members": [ + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CommonCursors" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of items to return in the results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPagingMetadata", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Cursors" + } + ], + "doc": "Cursor strings that point to the next page, previous page, or both." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more pages to retrieve following the current page.\n\n+ `true`: Another page of results can be retrieved.\n+ `false`: This is the last page.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Cursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor string pointing to the next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to the previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CustomerChoices", + "members": [ + { + "name": "durationInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The selected customer duration in minutes.\nMin: `1 minute`\nMax: `44639 minutes` (30 days, 23 hours, and 59 minutes)" + } + ], + "docs": { + "description": [ + "Selected customer choices.\nThese choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties." + ] + } + }, + { + "name": "EventInfo", + "members": [], + "docs": { + "description": [ + "relevant for event based slots, and not for availability based slots" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotOptions", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotRequest", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the time slot.\nCurrently supported only for services of type `APPOINTMENT`." + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotRequest", + "members": [ + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "services", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService TimeSlots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: 2.\nMaxSize: 8.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsOptions", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to the service's booking policies.\n\nIf booking this `TimeSlot` does not violates any of the service's booking policies,\nreturns as `true`. Otherwise, returns as `false`.\n\n> __Note:__\n> A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n> while a time slot with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch results in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\na `cursorPaging`.`limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains __up__ to 10 available resources of this type.\n" + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "Locations to include in response.\n\nBy default,\nif no locations are provided,\nthe response contains TimeSlots for all locations where the service is available.\n\nYou can specify locations or location types for which the time slots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\nOtherwise, the returned TimeSlots returns with an empty `AvailableResources`." + }, + { + "name": "resourceTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.ResourceType" + } + ] + } + } + ], + "doc": "resources filter\nIf specified, only time slots with these resources will be returned." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID for which the time slots are being returned for.\nCurrently supported only for services of type `APPOINTMENT`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to the service's booking policies.\n\nIf booking this `TimeSlot` does not violates any of the service's booking policies,\nreturns as `true`. Otherwise, returns as `false`.\n\n> __Note:__\n> A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n> while a time slot with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch results in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\na `cursorPaging`.`limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains __up__ to 10 available resources of this type.\n" + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "Locations to include in response.\n\nBy default,\nif no locations are provided,\nthe response contains TimeSlots for all locations where the service is available.\n\nYou can specify locations or location types for which the time slots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\nOtherwise, the returned TimeSlots returns with an empty `AvailableResources`." + }, + { + "name": "resourceTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.ResourceType" + } + ] + } + } + ], + "doc": "resources filter\nIf specified, only time slots with these resources will be returned." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID for which the time slots are being returned for.\nCurrently supported only for services of type `APPOINTMENT`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CommonCursorPagingMetadata" + } + ], + "doc": "CursorPagingMetaData.\nContains information about the next page of results.\n\nBy default,\nif there are more than 1000 results,\nthe response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n\n
\n

Important:
\ncount is not supported.

\n
\n" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "Time slots." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\nShared for all TimeSlots in response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "fromLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with remainingCapacity >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default?" + }, + { + "name": "serviceIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The services for which the time slots are being returned." + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format.\nDefault is the Wix Business time zone." + }, + { + "name": "toLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CursorPagingMetadata" + } + ], + "doc": "" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "TODO: maxsize" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to all of the services booking policies.\n\nIf booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\nreturns as `false`. Otherwise, returns as `true`.\n\n> __Note:__\n> A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n> while a `TimeSlot` with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\nhas a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\nthe other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n\nEach nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch TimeSlots in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\nthe `cursorPaging`.`limit`. You may pass a different `limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ], + "doc": "Location for which the multiService TimeSlots are being returned for.\n\nYou can specify location or location type for which the TimeSlots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService time slots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: `2`.\nMaxSize: `8`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.CommonCursorPagingMetadata" + } + ], + "doc": "CursorPagingMetaData.\nContains information about the next page of results.\n\nBy default,\nif there are more than 1000 results,\nthe response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n\n
\n

Important:
\ncount is not supported.

\n
\n" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "Time slots." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\nShared for all TimeSlots in response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Location", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business Location ID. Present only if the location is a business location." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representation for the full address of the location." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n- `CUSTOMER`: The location is determined by the customer and is not set up beforehand." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The location name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedTimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the nested time slot.\nEach `AvailableResources` contains information about available resources of the same type." + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the nested time slot." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Resource", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourceType", + "members": [ + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource IDs.\nThe response will contain only slots that have at least one of the specified resources." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Service", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The resource type ID's to include in returned time slots.\nThis is in addition to the specifically requested resources.\n\n
\nCurrently supported only for Staff Member resource type.\nStaff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the time slot.\nEach `AvailableResources` contains information about available resources of the same type.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own available resources.\n" + }, + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the slot is bookable according to the service's booking policies.\n\nIf booking this time slot does not violates any of the service's booking policies,\nthe returned value is `true`. Otherwise, returns `false`.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for booking policy violations for the slot.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.Location" + } + ], + "doc": "The geographic location of the slot." + }, + { + "name": "nestedTimeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.AvailabilityTimeSlots.NestedTimeSlot" + } + ] + } + } + ], + "doc": "> Nested time slots.\n> Returned only from `MultiServiceAvailabilityTimeSlots` API calls." + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Remaining number of spots for the slot.\nFor example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own serviceId.\n" + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots for the slot." + } + ], + "docs": { + "description": [ + "The `TimeSlot` object represents the availability information\nfor an `Appointment` service's specific slot, including:" + ] + } + }, + { + "name": "WaitingList", + "members": [ + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of remaining spots for this wait list.\nFor example, a Yoga event with 10 waitList spots and 3 registered\non the waitList has 10 `total_capacity` and 7 `remaining_capacity`." + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots in this wait list." + } + ], + "docs": { + "description": [ + "" + ] + } + } + ] +} diff --git a/wix-bookings-v2/wix-bookings-v2/Bookings.service.json b/wix-bookings-v2/wix-bookings-v2/Bookings.service.json index a3f1d8ccf1..462da4f356 100644 --- a/wix-bookings-v2/wix-bookings-v2/Bookings.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Bookings.service.json @@ -71,18 +71,38 @@ "title": "bulkCreateBooking example", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function bulkCreateBooking(createBookingsInfo, options) {", - " try {", - " const result = await bookings.bulkCreateBooking(createBookingsInfo, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function bulkCreateBooking(createBookingsInfo, options) {", + " try {", + " const result = await bookings.bulkCreateBooking(createBookingsInfo, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "bulkCreateBooking example for exporting from backend code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const bulkCreateBooking = webMethod(", + " Permissions.Anyone,", + " async (createBookingsInfo, options) => {", + " try {", + " const result = await bookings.bulkCreateBooking(createBookingsInfo, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -115,13 +135,12 @@ "referenceType": "wix-bookings-v2.Bookings.CancelBookingOptions" } ], - "doc": "An object representing the available options for canceling a booking.\n", - "required": true + "doc": "An object representing the available options for canceling a booking.", + "required": false } ], "requiredFields": [ "bookingId", - "options", "options.revision" ], "ret": { @@ -142,25 +161,45 @@ "docs": { "summary": "Cancels a booking.", "description": [ - "The booking status changes to `CANCELED`.\n\nIf the booking was for an appointment, the corresponding session is\ndeleted from the business calendar.\n\nIf the booking was for a class or course, the participants are removed\nfrom the class session or the course. But the course or class session\nremains on the business calendar.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe cancelation. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nIn case you want to cancel a booking on behalf of a customer, we recommend\nto pass `flowControlSettings.ignoreCancellationPolicy` as `false`. This\nensures that the cancelation is validated against the service's cancelation\npolicy.\n\nThis function is not a universal function and runs only on the backend." + "The booking status changes to `CANCELED`.\n\nIf the booking was for an appointment, the corresponding session is\ndeleted from the business calendar.\n\nIf the booking was for a class or course, the participants are removed\nfrom the class session or the course. But the course or class session\nremains on the business calendar.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe cancelation. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nIn case you want to cancel a booking on behalf of a customer, we recommend\nto pass `flowControlSettings.ignoreCancellationPolicy` as `false`. This\nensures that the cancelation is validated against the service's cancelation\npolicy." ], "examples": [ { "title": "cancelBooking example", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function cancelBooking(bookingId, options) {", - " try {", - " const result = await bookings.cancelBooking(bookingId, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function cancelBooking(bookingId, options) {", + " try {", + " const result = await bookings.cancelBooking(bookingId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "cancelBooking example for exporting from backend code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const cancelBooking = webMethod(", + " Permissions.Anyone,", + " async (bookingId, options) => {", + " try {", + " const result = await bookings.cancelBooking(bookingId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -204,7 +243,7 @@ "referenceType": "wix-bookings-v2.Bookings.ConfirmBookingOptions" } ], - "doc": "An object representing the available options for canceling a booking.\n", + "doc": "An object representing the available options for canceling a booking.", "required": false } ], @@ -230,25 +269,48 @@ "docs": { "summary": "Confirms a booking request and changes the booking status to `CONFIRMED`.", "description": [ - "Calling this method doesn't check whether a slot or schedule is still\navailable at this time.\n\nYou can only confirm bookings for services that require the owner's manual\napproval for bookings and that have a status of `PENDING`.\n\nFor appointment services the slot may become unavailable, depending on the\n[service's](https://support.wix.com/en/article/creating-the-right-booking-service-for-your-business)\n`policy.bookingApprovalPolicy.requestsAffectsAvailability`.\n\nCalling this method also changes the\n[session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n`participants.approvalStatus` to `APPROVED`.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe confirmation. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nBookings are automatically confirmed when the\nservice is configured to automatically confirm\nbookings and the [eCommerce order](https://www.wix.com/velo/reference/wix-ecom-backend/orders)\nhas been approved. The slot's or schedule's availability is checked just\nbefore confirming the booking as part of the automatic flow.\n\nThis function is not a universal function and runs only on the backend." + "Calling this method doesn't check whether a slot or schedule is still\navailable at this time.\n\nYou can only confirm bookings for services that require the owner's manual\napproval for bookings and that have a status of `PENDING`.\n\nFor appointment services the slot may become unavailable, depending on the\n[service's](https://support.wix.com/en/article/creating-the-right-booking-service-for-your-business)\n`policy.bookingApprovalPolicy.requestsAffectsAvailability`.\n\nCalling this method also changes the\n[session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n`participants.approvalStatus` to `APPROVED`.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe confirmation. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nBookings are automatically confirmed when the\nservice is configured to automatically confirm\nbookings and the [eCommerce order](https://www.wix.com/velo/reference/wix-ecom-backend/orders)\nhas been approved. The slot's or schedule's availability is checked just\nbefore confirming the booking as part of the automatic flow." ], "examples": [ { - "title": "confirmBooking example", + "title": "confirmBooking example for dashboard page code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "", + "async function confirmBooking(bookingId, revision, options) {", + " try {", + " const result = await bookings.confirmBooking(bookingId, revision, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "confirmBooking example for exporting from backend code", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function confirmBooking(bookingId, revision, options) {", - " try {", - " const result = await bookings.confirmBooking(bookingId, revision, options);", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedConfirmBooking = elevate(bookings.confirmBooking);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "export const confirmBooking = webMethod(", + " Permissions.Anyone,", + " async (bookingId, revision, options) => {", + " try {", + " const result = await elevatedConfirmBooking(bookingId, revision, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -311,21 +373,44 @@ ], "examples": [ { - "title": "confirmOrDeclineBooking example", + "title": "confirmOrDeclineBooking example for dashboard page code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "", + "async function confirmOrDeclineBooking(bookingId, options) {", + " try {", + " const result = await bookings.confirmOrDeclineBooking(bookingId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "confirmOrDeclineBooking example for exporting from backend code", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function confirmOrDeclineBooking(bookingId, options) {", - " try {", - " const result = await bookings.confirmOrDeclineBooking(bookingId, options);", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "const elevatedConfirmOrDeclineBooking = elevate(bookings.confirmOrDeclineBooking);", + "", + "export const confirmOrDeclineBooking = webMethod(", + " Permissions.Anyone,", + " async (bookingId, options) => {", + " try {", + " const result = await elevatedConfirmOrDeclineBooking(bookingId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -386,25 +471,100 @@ "docs": { "summary": "Creates a booking.", "description": [ - "To create a booking for an appointment or a session of a class, pass a booking with the relevant `slot`.\n\nTo create a booking for the entire course, pass a booking with the relevant `schedule`.\nYou can use the [Query Availability](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability) endpoint to check the availability beforehand.\n\nIf you create a booking for an existing session, we recommend that you only pass `slot.sessionId`.\nThen, any specified slot details are calculated.\n\nIf you create a booking for a new session, we recommend to call\n[Query Availability](https://dev.wix.com/api/rest/wix-bookings/availability-calendar/query-availability)\nfirst.\nThen, pass the retrieved `availability.slot` object as the BookedEntity.Slot of the booking in the request.\n\nBookings are created with a status of `CREATED`.\n`CREATED` bookings don't appear on the business calendar and don't affect a related schedule's availability.\n\nTo create a booking with a given status, pass a booking with the wanted status.\nThis is only permitted for site Owners.\n\nYou can pass a `participantNotification.message` to notify the customer of the booking with a message.\nIt's also necessary to pass `participantNotification.notifyParticipants`as `true` to send the message.\n\nYou can pass `sendSmsReminder` as `true`, if you want an SMS reminder to be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n\nWhen creating a booking you must pass either `participantsChoices` or `totalParticipants`. If you pass `participantsChoices`, all the\nprovided choices must exist for the service, otherwise the call returns an `INVALID_SERVICE_CHOICES` error.\n\nWhen creating a booking, you can pass `selectedPaymentOption`.\nThis specifies which payment method the customer plans to use.\nBut it's possible for them to later use another supported payment method.\n\nYou can skip the checkout and payment flow if you call [Confirm Or Decline Booking ](https://dev.wix.com/api/rest/wix-bookings/confirmation/confirm-or-decline-booking) otherwise, after you create the booking, you can use the\nWix eCommerce APIs (coming soon) for the checkout and payment flow or use a different service for checkout." + "To create a booking for an appointment or a session of a class, pass a booking with the relevant `slot`.\n\nTo create a booking for the entire course, pass a booking with the relevant `schedule`.\nYou can use Query Availability to check the availability beforehand.\n\nIf you create a booking for an existing session, we recommend that you only pass `slot.sessionId`.\nThen, any specified slot details are calculated.\n\nIf you create a booking for a new session, we recommend to call Query Availability first.\nThen, pass the retrieved `availability.slot` object as the BookedEntity.Slot of the booking in the request.\n\nBookings are created with a status of `CREATED`.\n`CREATED` bookings don't appear on the business calendar and don't affect a related schedule's availability.\n\nTo create a booking with a given status, pass a booking with the wanted status.\nThis is only permitted for site Owners.\n\nYou can pass a `participantNotification.message` to notify the customer of the booking with a message.\nIt's also necessary to pass `participantNotification.notifyParticipants`as `true` to send the message.\n\nYou can pass `sendSmsReminder` as `true`, if you want an SMS reminder to be sent to the phone number specified in the ContactDetails, 24 hours before the session starts.\n\nWhen creating a booking you must pass either `participantsChoices` or `totalParticipants`. If you pass `participantsChoices`, all the\nprovided choices must exist for the service, otherwise the call returns an `INVALID_SERVICE_CHOICES` error.\n\nWhen creating a booking, you can pass `selectedPaymentOption`.\nThis specifies which payment method the customer plans to use.\nBut it's possible for them to later use another supported payment method.\n\nYou can skip the checkout and payment flow if you call Confirm Or Decline Booking otherwise, after you create the booking, you can use the\nWix eCommerce APIs (coming soon) for the checkout and payment flow or use a different service for checkout." ], "examples": [ { - "title": "createBooking example", + "title": "Create a booking for a class session. ", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function createBooking(booking, options) {", - " try {", - " const result = await bookings.createBooking(booking, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "/* Sample booking value:", + " * {", + " * totalParticipants: 1,", + " * contactDetails: {", + " * firstName: 'Aditi',", + " * lastName: 'Naidu',", + " * email: 'aditi.naidu765@example.com'", + " * },", + " * bookedEntity: {", + " * slot: {", + " *\t\t sessionId: '193ZPR9ppP9emJUCLevcLf6orynNEIDt5nc0520xjGQILnPPaF5s62yK3BWz7ExgIRM1UZAV13fLX2gNLq4sCQwIdZIpxI6tDJxatWo81RhW6mQLgcnnO6ONJkvJH5ZYZEwHOIPMbmhqD5t41JnX3cUcIi0QOtrQjuZmfUCJFaA6fTnI97I4b9OD9AbOfkGsYnZW5UL0Yoc0amYhtACJPhRRe3qJSC5Qxp0aHl0j0ExBDV5ZTajTM1L6QktIUelYWU4Fq45KPYFvqc1UXeLTURzcOG4wsATMD47b5XfFqC9Myj02MJFRmz5nBS47v7586qsxgmQTYw6MVp'", + " * }", + " * }", + " * }", + " */", + "", + "bookings.createBooking(booking, options)", + " .then((newSessionBooking) => {", + " const id = newSessionBooking._id;", + " const status = newSessionBooking.status;", + " console.log('Success! Created a new booking:', newSessionBooking);", + " return newSessionBooking;", + "", + " .catch((error) => {", + " console.error(error);", + " // Handle the error", + " });", + "", + "/* Promise resolves to:", + " * {", + " * \"bookedEntity\": {", + " * \"slot\": {", + " * \"sessionId\": \"193ZPR9ppP9emJUCLevcLf6orynNEIDt5nc0520xjGQILnPPaF5s62yK3BWz7ExgIRM1UZAV13fLX2gNLq4sCQwIdZIpxI6tDJxatWo81RhW6mQLgcnnO6ONJkvJH5ZYZEwHOIPMbmhqD5t41JnX3cUcIi0QOtrQjuZmfUCJFaA6fTnI97I4b9OD9AbOfkGsYnZW5UL0Yoc0amYhtACJPhRRe3qJSC5Qxp0aHl0j0ExBDV5ZTajTM1L6QktIUelYWU4Fq45KPYFvqc1UXeLTURzcOG4wsATMD47b5XfFqC9Myj02MJFRmz5nBS47v7586qsxgmQTYw6MVp\",", + " * \"serviceId\": \"036d51c9-d9fd-4459-be7a-a05e882f3e93\",", + " * \"scheduleId\": \"c0cf791e-fbc0-44e7-8db3-4c2eb7aa9253\",", + " * \"eventId\": \"11bhnkliQkhMrXr0AM2tX25A7AobX7raOYBkACbOPXIaluO3YHF3CH2Lge0zoU8BZOWKrWh8POSBCjnlWYlbHRIaiVY6X73ys6EnBfO5NOmQi9FxjIApGtM\",", + " * \"startDate\": \"2024-04-11T13:30:00.000+01:00\",", + " * \"endDate\": \"2024-04-11T14:30:00.000+01:00\",", + " * \"timezone\": \"Europe/Madrid\",", + " * \"resource\": {", + " * \"name\": \"Sandra\",", + " * \"email\": \"info@mysite.com\",", + " * \"scheduleId\": \"f0212cd6-8437-4f2f-bdb0-019bc407bd84\",", + " * \"explicitlyRequested\": true,", + " * \"_id\": \"76570209-101f-409b-af97-b445bdb63125\"", + " * },", + " * \"location\": {", + " * \"locationType\": \"OWNER_BUSINESS\"", + " * }", + " * },", + " * \"title\": \"Crossfit Beginners\",", + " * \"tags\": [", + " * \"GROUP\"", + " * ]", + " * },", + " * \"contactDetails\": {", + " * \"firstName\": \"Aditi\",", + " * \"lastName\": \"Naidu\",", + " * \"email\": \"aditi.naidu765@example.com\"", + " * },", + " * \"additionalFields\": [],", + " * \"numberOfParticipants\": 1,", + " * \"status\": \"CREATED\",", + " * \"paymentStatus\": \"UNDEFINED\",", + " * \"selectedPaymentOption\": \"UNDEFINED\",", + " * \"revision\": \"1\",", + " * \"createdBy\": {", + " * \"identityType\": \"UNKNOWN\",", + " * \"memberId\": \"c0e1854d-efd1-4c10-a079-bcb922dea639\"", + " * },", + " * \"startDate\": \"2024-04-11T12:30:00.000Z\",", + " * \"endDate\": \"2024-04-11T13:30:00.000Z\",", + " * \"flowControlSettings\": {", + " * \"ignoreBookingWindow\": false,", + " * \"skipAvailabilityValidation\": false,", + " * \"skipBusinessConfirmation\": false,", + " * \"skipSelectedPaymentOptionValidation\": false,", + " * \"withRefund\": false", + " * },", + " * \"totalParticipants\": 1,", + " * \"v2Availability\": false,", + " * \"_id\": \"df846146-51e7-4bcb-b09c-04c4b0f787f4\",", + " * \"_createdDate\": \"2024-02-18T14:35:31.987Z\",", + " * \"_updatedDate\": \"2024-02-18T14:35:31.987Z\"", + " * }", + " */" ] } ] @@ -447,7 +607,7 @@ "referenceType": "wix-bookings-v2.Bookings.DeclineBookingOptions" } ], - "doc": "An object representing the available options for declining a booking.\n", + "doc": "An object representing the available options for declining a booking.", "required": false } ], @@ -473,25 +633,48 @@ "docs": { "summary": "Declines a `PENDING` booking request and changes the booking status to\n`DECLINED`.", "description": [ - "Calling this method also changes the\n[session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n`participants.approvalStatus` to `DECLINED`.\n\nYou can only decline bookings for services that require the owner's manual\napproval for bookings and that have a status of `PENDING`.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe decline. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nThis function is not a universal function and runs only on the backend." + "Calling this method also changes the\n[session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n`participants.approvalStatus` to `DECLINED`.\n\nYou can only decline bookings for services that require the owner's manual\napproval for bookings and that have a status of `PENDING`.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe decline. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message." ], "examples": [ { - "title": "declineBooking example", + "title": "declineBooking example for dashboard page code", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function declineBooking(bookingId, revision, options) {", - " try {", - " const result = await bookings.declineBooking(bookingId, revision, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function declineBooking(bookingId, revision, options) {", + " try {", + " const result = await bookings.declineBooking(bookingId, revision, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "declineBooking example for exporting from backend code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedDeclineBooking = elevate(bookings.declineBooking);", + "", + "export const declineBooking = webMethod(", + " Permissions.Anyone,", + " async (bookingId, revision, options) => {", + " try {", + " const result = await elevatedDeclineBooking(bookingId, revision, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -535,13 +718,12 @@ "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingOptions" } ], - "doc": "An object representing the available options for rescheduling a booking.\n", - "required": true + "doc": "An object representing the available options for rescheduling a booking.", + "required": false } ], "requiredFields": [ "bookingId", - "options", "options.revision", "slot" ], @@ -563,25 +745,45 @@ "docs": { "summary": "Reschedules a booking to a different slot or session.", "description": [ - "You can only reschedule bookings for appointments or classes, you can't\nreschedule course bookings.\n\nThe old session is removed from the calendar and the new session is\nadded.\n\nIf you reschedule a booking for a class session the new session must be an\nexisting session for the same class.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe rescheduling. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nIn case the service has\nvariants, you can call this endpoint to update the booking's `totalParticipants` or `participantsChoices`.\nIf you provide `participantsChoices`, all of the provided choices must exist for\nthe service. Otherwise, the call returns an `INVALID_SERVICE_CHOICES` error.\nIf you omit `participantsChoices` in the request, the existing choices are\nkept and not replaced with an empty object.\n\n\n\nIn case you want to reschedule a booking on behalf of a customer, we recommend\nto pass `flowControlSettings.ignoreReschedulePolicy` as `false`. This\nensures that the rescheduling is validated against the service's rescheduling\npolicy.\n\nThis function is not a universal function and runs only on the backend." + "You can only reschedule bookings for appointments or classes, you can't\nreschedule course bookings.\n\nThe old session is removed from the calendar and the new session is\nadded.\n\nIf you reschedule a booking for a class session the new session must be an\nexisting session for the same class.\n\nYou can pass a `participantNotification.message` to notify the customer of\nthe rescheduling. You also need to pass `participantNotification.notifyParticipants`\nas `true` to actually send the message.\n\nIn case the service has\nvariants, you can call this endpoint to update the booking's `totalParticipants` or `participantsChoices`.\nIf you provide `participantsChoices`, all of the provided choices must exist for\nthe service. Otherwise, the call returns an `INVALID_SERVICE_CHOICES` error.\nIf you omit `participantsChoices` in the request, the existing choices are\nkept and not replaced with an empty object.\n\n\n\nIn case you want to reschedule a booking on behalf of a customer, we recommend\nto pass `flowControlSettings.ignoreReschedulePolicy` as `false`. This\nensures that the rescheduling is validated against the service's rescheduling\npolicy." ], "examples": [ { "title": "rescheduleBooking example", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function rescheduleBooking(bookingId, slot, options) {", - " try {", - " const result = await bookings.rescheduleBooking(bookingId, slot, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function rescheduleBooking(bookingId, slot, options) {", + " try {", + " const result = await bookings.rescheduleBooking(bookingId, slot, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "rescheduleBooking example for exporting from backend code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const rescheduleBooking = webMethod(", + " Permissions.Anyone,", + " async (bookingId, slot, options) => {", + " try {", + " const result = await bookings.rescheduleBooking(bookingId, slot, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -595,6 +797,119 @@ "syntaxName": "rescheduleBooking", "isAdminMethod": true }, + { + "name": "updateExtendedFields", + "params": [ + { + "name": "_id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the entity to update.", + "required": true + }, + { + "name": "namespace", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Identifier for the app whose extended fields are being updated.", + "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.UpdateExtendedFieldsOptions" + } + ], + "doc": "", + "required": true + } + ], + "requiredFields": [ + "_id", + "namespace", + "options", + "options.namespaceData" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.UpdateExtendedFieldsResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Updates the extended fields for a booking.", + "description": [ + "Extended fields must first be configured in the Wix Developers Center.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)." + ], + "examples": [ + { + "title": "updateExtendedFields example for dashboard page code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "", + "async function updateExtendedFields(id, namespace, options) {", + " try {", + " const result = await bookings.updateExtendedFields(id, namespace, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "updateExtendedFields example for exporting from backend code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedUpdateExtendedFields = elevate(bookings.updateExtendedFields);", + "", + "export const updateExtendedFields = webMethod(", + " Permissions.Anyone,", + " async (id, namespace, options) => {", + " try {", + " const result = await elevatedUpdateExtendedFields(id, namespace, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "updateExtendedFields", + "isAdminMethod": true + }, { "name": "updateNumberOfParticipants", "params": [ @@ -616,12 +931,11 @@ } ], "doc": "", - "required": true + "required": false } ], "requiredFields": [ "bookingId", - "options", "options.revision" ], "ret": { @@ -642,25 +956,48 @@ "docs": { "summary": "Updates the number of participants for a booking.", "description": [ - "You can only update the number of participants for class and course\nbookings, you can't update it for appointment bookings.\n\nCalling this method also changes the\n[session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n`totalNumberOfParticipants`.\n\nWhen updating the number of participants for a booking you must pass either\n`participantsChoices` or `totalParticipants`. If you pass `participantsChoices`\nfor services that have variants,\nall of the provided choices must exist for the service. Otherwise, the\ncall returns an `INVALID_SERVICE_CHOICES` error.\n\nThis function is not a universal function and runs only on the backend." + "You can only update the number of participants for class and course\nbookings, you can't update it for appointment bookings.\n\nCalling this method also changes the\n[session's](https://www.wix.com/velo/reference/wix-bookings-backend/sessions/getsession)\n`totalNumberOfParticipants`.\n\nWhen updating the number of participants for a booking you must pass either\n`participantsChoices` or `totalParticipants`. If you pass `participantsChoices`\nfor services that have variants,\nall of the provided choices must exist for the service. Otherwise, the\ncall returns an `INVALID_SERVICE_CHOICES` error." ], "examples": [ { - "title": "updateNumberOfParticipants example", + "title": "updateNumberOfParticipants example for dashboard page code", + "body": [ + "import { bookings } from 'wix-bookings.v2';", + "", + "async function updateNumberOfParticipants(bookingId, options) {", + " try {", + " const result = await bookings.updateNumberOfParticipants(bookingId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "updateNumberOfParticipants example for exporting from backend code", "body": [ "import { bookings } from 'wix-bookings.v2';", - " ", - " async function updateNumberOfParticipants(bookingId, options) {", - " try {", - " const result = await bookings.updateNumberOfParticipants(bookingId, options);", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedUpdateNumberOfParticipants = elevate(bookings.updateNumberOfParticipants);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "export const updateNumberOfParticipants = webMethod(", + " Permissions.Anyone,", + " async (bookingId, options) => {", + " try {", + " const result = await elevatedUpdateNumberOfParticipants(bookingId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -676,6 +1013,134 @@ } ], "messages": [ + { + "name": "ActionEvent", + "members": [ + { + "name": "bodyAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AddBookingsToMultiServiceBookingOptions", + "members": [ + { + "name": "bookings", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingIdAndRevision" + } + ] + } + } + ], + "doc": "List of bookings ids and their revisions to add to the multi service booking." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AddBookingsToMultiServiceBookingRequest", + "members": [ + { + "name": "bookings", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingIdAndRevision" + } + ] + } + } + ], + "doc": "List of bookings ids and their revisions to add to the multi service booking." + }, + { + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AddBookingsToMultiServiceBookingResponse", + "members": [ + { + "name": "bookings", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingResult" + } + ] + } + } + ], + "doc": "The bookings that were added to the multi service booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "Address", "members": [ @@ -955,14 +1420,51 @@ } }, { - "name": "BookedEntity", + "name": "AvailableResources", "members": [ { - "name": "schedule", + "name": "resourceIds", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BookedSchedule" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Available resources for the slot.\nmaxSize defined by 135 staff members + 3 resource types and 50 resources per type.\nAvailability-2 currently have no maxSize defined." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookedEntity", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookedSchedule" } ], "doc": "The booked schedule. The booking is automatically assigned to the schedule's sessions." @@ -996,13 +1498,14 @@ }, { "name": "title", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session title at the time of booking." + "doc": "Session title at the time of booking.\nIf session doesn't exist at the time of the booking, service name is used." } ], "extra": { @@ -1188,6 +1691,16 @@ ], "doc": "The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." }, + { + "name": "eventId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Calendar 3 event ID\nIf not empty, on all write flows (create / update) gets priority over session_id.\nso if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\nOtherwise, if event_id is empty on write flow," + }, { "name": "location", "optional": true, @@ -1206,7 +1719,7 @@ "referenceType": "wix-bookings-v2.Bookings.BookedResource" } ], - "doc": "The resource assigned to the slot." + "doc": "The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\nWhen populated, the given resource will be booked according to it's availability.\nWhen empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\notherwise one of the service resources will be assigned to the slot randomly upon confirmation.\nThis resource is the slot primary resource." }, { "name": "scheduleId", @@ -1379,7 +1892,7 @@ "referenceType": "wix-bookings-v2.Bookings.ExtendedFields" } ], - "doc": "Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n\nEmpty fields are not returned.\n" + "doc": "Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls." }, { "name": "externalUserId", @@ -1481,26 +1994,6 @@ ] } }, - { - "name": "BookingAlreadySetPayload", - "members": [ - { - "name": "currentBookingStatus", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Supported values:\n- `'CANCELED'`\n- `'CONFIRMED'`\n- `'CREATED'`\n- `'DECLINED'`\n- `'PENDING'`\n- `'WAITING_LIST'`" - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "BookingCanceled", "members": [ @@ -1515,24 +2008,24 @@ "doc": "The canceled booking object." }, { - "name": "canceledBy", + "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.IdentificationData" + "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" } ], - "doc": "ID of the cancelation initiator." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." }, { - "name": "flowControlSettings", + "name": "initiatedBy", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + "referenceType": "wix-bookings-v2.Bookings.IdentificationData" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + "doc": "ID of the cancelation initiator." }, { "name": "participantNotification", @@ -1605,24 +2098,24 @@ "doc": "The confirmed booking object." }, { - "name": "confirmedBy", + "name": "doubleBooked", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.IdentificationData" + "nativeType": "boolean" } ], - "doc": "ID of the confirmation initiator." + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "doubleBooked", + "name": "initiatedBy", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Bookings.IdentificationData" } ], - "doc": "Whether this booking overlaps another existing confirmed booking." + "doc": "ID of the confirmation initiator." }, { "name": "participantNotification", @@ -1644,6 +2137,16 @@ ], "doc": "The previous payment status of the booking." }, + { + "name": "previousStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The previous status of the booking." + }, { "name": "sendSmsReminder", "optional": true, @@ -1662,27 +2165,67 @@ } }, { - "name": "BookingDetails", + "name": "BookingDeclined", "members": [ { - "name": "_id", + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "The declined booking object." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "initiatedBy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.IdentificationData" + } + ], + "doc": "ID of the decline initiator." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and the message to send." + }, + { + "name": "previousPaymentStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the bookings to be updated." + "doc": "The previous payment status of the booking." }, { - "name": "revision", + "name": "previousStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "The previous status of the booking." } ], "docs": { @@ -1692,27 +2235,27 @@ } }, { - "name": "BookingParticipantsInfoOneOf", + "name": "BookingDetails", "members": [ { - "name": "participantsChoices", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" + "nativeType": "string" } ], - "doc": "Information about the booked service choices and participants.\nAvailable only when the booking includes multiple service variants." + "doc": "ID of the bookings to be updated." }, { - "name": "totalParticipants", + "name": "revision", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Total number of participants. Available only when the booking includes a single service variant." + "doc": "" } ], "docs": { @@ -1722,17 +2265,27 @@ } }, { - "name": "BookingPolicySettings", + "name": "BookingIdAndRevision", "members": [ { - "name": "maxParticipantsPerBooking", + "name": "bookingId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Booking policy settings for a given Slot/Schedule" + "doc": "ID of the booking." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { @@ -1742,37 +2295,37 @@ } }, { - "name": "BookingPolicyViolations", + "name": "BookingInfo", "members": [ { - "name": "bookOnlineDisabled", + "name": "bookingId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Bookings policy violation. Online booking is disabled for this slot." + "doc": "ID of the booking." }, { - "name": "tooEarlyToBook", + "name": "paymentStatus", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Bookings policy violation. Too early to book this slot." + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." }, { - "name": "tooLateToBook", + "name": "revision", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Bookings policy violation. Too late to book this slot." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { @@ -1782,7 +2335,7 @@ } }, { - "name": "BookingRescheduled", + "name": "BookingMarkedAsPending", "members": [ { "name": "booking", @@ -1792,57 +2345,47 @@ "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "The rescheduled booking object." - }, - { - "name": "flowControlSettings", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingFlowControlSettings" - } - ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." + "doc": "The booking object that was marked as pending." }, { - "name": "participantNotification", + "name": "doubleBooked", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about whether to notify the customer about the rescheduling and the message to send." + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "previousBookedEntity", + "name": "initiatedBy", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BookedEntity" + "referenceType": "wix-bookings-v2.Bookings.IdentificationData" } ], - "doc": "An object describing the previous slot or schedule of the booking." + "doc": "ID of the mark as pending initiator." }, { - "name": "previousEndDate", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "The previous end date of the booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session." + "doc": "Information about whether to notify the customer upon manual confirmation of the pending booking and the message to send." }, { - "name": "previousStartDate", + "name": "previousPaymentStatus", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The previous start date of the booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session." + "doc": "The previous payment status of the booking." }, { "name": "previousStatus", @@ -1855,14 +2398,14 @@ "doc": "The previous status of the booking." }, { - "name": "rescheduledBy", + "name": "sendSmsReminder", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.IdentificationData" + "nativeType": "boolean" } ], - "doc": "ID of the rescheduling initiator." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -1872,49 +2415,47 @@ } }, { - "name": "BookingSource", + "name": "BookingParticipantsInfoOneOf", "members": [ { - "name": "actor", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Actor that created this booking.\n" - }, - { - "name": "appDefId", - "readOnly": true, + "name": "participantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "Wix site ID of the application that created the booking." + "doc": "Information about the booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "appName", - "readOnly": true, + "name": "totalParticipants", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Name of the application that created the booking, as saved in Wix Developers Center at the time of booking." - }, + "doc": "Total number of participants. Available only when the booking includes a single service variant." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingPolicySettings", + "members": [ { - "name": "platform", + "name": "maxParticipantsPerBooking", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Platform from which a booking was created\n" + "doc": "Booking policy settings for a given Slot/Schedule" } ], "docs": { @@ -1924,46 +2465,37 @@ } }, { - "name": "BookingsGatewayCancelBookingOptions", + "name": "BookingPolicyViolations", "members": [ { - "name": "participantNotification", + "name": "bookOnlineDisabled", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." + "doc": "Bookings policy violation. Online booking is disabled for this slot." }, { - "name": "revision", + "name": "tooEarlyToBook", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BookingsGatewayConfirmBookingOptions", - "members": [ + "doc": "Bookings policy violation. Too early to book this slot." + }, { - "name": "participantNotification", + "name": "tooLateToBook", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + "doc": "Bookings policy violation. Too late to book this slot." } ], "docs": { @@ -1973,160 +2505,116 @@ } }, { - "name": "BookingsGatewayCreateBookingOptions", + "name": "BookingRescheduled", "members": [ { - "name": "additionalFields", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.CustomFormField" - } - ] - } - } - ], - "doc": "Additional custom fields of the booking form. The customer must provide\ninformation for each field when booking the service. For example, that they\nbring their own towels or whether they use a wheelchair.\n\nMax: 100 fields\n" - }, - { - "name": "bookingSource", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.BookingSource" - } - ], - "doc": "Identifies the source (platform, actor and app) that created this booking.\nThis property of the booking cannot be changed.\nThe app_def_id and app_name will be resolved automatically.\nTODO GAP See if we need this - might be able to get this data from the headers?" - }, - { - "name": "contactDetails", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.ContactDetails" - } - ], - "doc": "Contact details of the customer booking the service." - }, - { - "name": "externalUserId", + "name": "booking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "A user identifier of an external application user that initiated the book request.\nAllows an external application to later identify its own bookings and correlate to its own internal users" + "doc": "The rescheduled booking object." }, { "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CreateBookingRequestFlowControlSettings" + "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingFlowControlSettings" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "internalBusinessNote", + "name": "initiatedBy", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.IdentificationData" } ], - "doc": "Internal business note. Not visible to the customer.\n\nMax: 200 characters\n" + "doc": "ID of the rescheduling initiator." }, { - "name": "numberOfParticipants", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "Total number of participants. Available only when the service doesn't have\n[variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n\nMax: `20`\n" + "doc": "Information about whether to notify the customer about the rescheduling and the message to send." }, { - "name": "participantNotification", + "name": "previousBookedEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.BookedEntity" } ], - "doc": "Information about a message to send to the customer." + "doc": "An object describing the previous slot or schedule of the booking." }, { - "name": "schedule", + "name": "previousEndDate", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BookedSchedule" + "nativeType": "Date" } ], - "doc": "Information about the schedule to create a booking for." + "doc": "The previous end date of the booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session." }, { - "name": "selectedPaymentOption", + "name": "previousParticipantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "Payment option the customer intends to use.\nMust be one of the payment options defined for the service, unless\nyou pass `flowControlSettings.skipSelectedPaymentOptionValidation` as `true`." + "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "sendSmsReminder", + "name": "previousStartDate", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "Date" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\n\nDefault: `true`.\n" + "doc": "The previous start date of the booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session." }, { - "name": "slot", + "name": "previousStatus", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Slot" + "nativeType": "string" } ], - "doc": "Information about the slot to create a booking for.\nIf you set `slot.location.locationType` to `CUSTOM`, the created slot's\nlocation is set to `slot.location.formattedAddress` when provided.\nOtherwise it's set to `contactDetails.fullAddress.formattedAddress`." + "doc": "The previous status of the booking." }, { - "name": "status", + "name": "previousTotalParticipants", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Booking status.\nOne of:\n- `\"CREATED\"` - The booking was created.\n- `\"UPDATED\"` - The booking was updated.\n- `\"CONFIRMED\"` - The booking has been confirmed and appears on the bookings calendar.\nBooking can be manually confirmed using the Set As Confirmed endpoint.\nBooking can be automatically confirmed when the following requirements are met:\n+ The service is configured as automatically confirmed.\n+ Invoking eCommerce checkout API and an order has been created.\n- `\"CANCELED\"` - The booking has been canceled and synced to bookings calendar.\nThe booking can be canceled using cancel API.\n- `\"PENDING\"` - The booking waiting to be confirmed or declined buy the owner and is synced to bookings calendar.\nBookings can be manually set as pending using setAsPending API, requires manage booking status permissions.\nBooking can be automatically set as pending when the following requirements are met:\n+ The Service is configured as manually confirmed.\n+ Invoking the eCommerce checkout API and an order has been created.\n- `\"WAITING_LIST\"` - The booking is pending on a waiting list.\nBooking can be created with this status when invoking waiting list join API.\n- `\"DECLINED\"` - The booking was declined by the owner and synced to bookings calendar.\nBooking can be manually declined using decline API and requires manage booking permissions.\nBooking can be automatically declined when the following requirements are met:\n+ Invoking eCommerce checkout API and the order declined event has been sent.\n+ Invoking eCommerce checkout API and order approved event has been sent, but the booking is offline and the booking causes a double booking." + "doc": "The previous total number of participants. Available only when the booking includes a single service variant." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfV2CreateBookingRequestBookableItemOneOf", - "members": [ - "schedule", - "slot" - ] - }, - { - "name": "oneOfV2CreateBookingRequestParticipantsInfoOneOf", + "name": "oneOfBookingRescheduledPreviousParticipantsInfoOneOf", "members": [ - "participantsChoices", - "totalParticipants" + "previousParticipantsChoices", + "previousTotalParticipants" ] } ] @@ -2138,17 +2626,27 @@ } }, { - "name": "BookingsGatewayDeclineBookingOptions", + "name": "BookingRescheduledPreviousParticipantsInfoOneOf", "members": [ { - "name": "participantNotification", + "name": "previousParticipantsChoices", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "Information about whether to notify the customer about the decline and\nthe message to send." + "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." + }, + { + "name": "previousTotalParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The previous total number of participants. Available only when the booking includes a single service variant." } ], "docs": { @@ -2158,39 +2656,29 @@ } }, { - "name": "BookingsGatewayRescheduleBookingOptions", + "name": "BookingResult", "members": [ { - "name": "participantNotification", + "name": "booking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." + "doc": "Booking entity." }, { - "name": "revision", + "name": "bookingId", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + "doc": "Booking ID." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfV2RescheduleBookingRequestParticipantsInfoOneOf", - "members": [ - "participantsChoices", - "totalParticipants" - ] - } - ] - }, "docs": { "description": [ "" @@ -2198,77 +2686,49 @@ } }, { - "name": "BookingsGatewayUpdateNumberOfParticipantsOptions", + "name": "BookingSource", "members": [ { - "name": "numberOfParticipants", + "name": "actor", "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Updated number of participants." - }, - { - "name": "revision", "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfV2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf", - "members": [ - "participantsChoices", - "totalParticipants" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkActionMetadata", - "members": [ + "doc": "Actor that created this booking." + }, { - "name": "totalFailures", + "name": "appDefId", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items that couldn't be processed." + "doc": "Wix site ID of the application that created the booking." }, { - "name": "totalSuccesses", + "name": "appName", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items that were successfully processed." + "doc": "Name of the application that created the booking, as saved in Wix Developers Center at the time of booking." }, { - "name": "undetailedFailures", + "name": "platform", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of failures without details because detailed failure threshold was exceeded." + "doc": "Platform from which a booking was created" } ], "docs": { @@ -2278,27 +2738,26 @@ } }, { - "name": "BulkBookingResult", + "name": "BookingsGatewayCancelBookingOptions", "members": [ { - "name": "item", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "" + "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." }, { - "name": "itemMetadata", - "optional": true, + "name": "revision", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + "nativeType": "string" } ], - "doc": "" + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." } ], "docs": { @@ -2308,23 +2767,17 @@ } }, { - "name": "BulkCalculateAllowedActionsRequest", + "name": "BookingsGatewayConfirmBookingOptions", "members": [ { - "name": "bookingIds", + "name": "participantNotification", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "The booking id's that we want to calculate the allowedActions for" + "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." } ], "docs": { @@ -2334,34 +2787,2502 @@ } }, { - "name": "BulkCalculateAllowedActionsResponse", + "name": "BookingsGatewayCreateBookingOptions", "members": [ { - "name": "bulkActionMetadata", + "name": "additionalFields", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.CustomFormField" + } + ] + } + } + ], + "doc": "Additional custom fields of the booking form. The customer must provide\ninformation for each field when booking the service. For example, that they\nbring their own towels or whether they use a wheelchair.\n\nMax: 100 fields\n" + }, + { + "name": "bookingSource", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingSource" + } + ], + "doc": "Identifies the source (platform, actor and app) that created this booking.\nThis property of the booking cannot be changed.\nThe app_def_id and app_name will be resolved automatically.\nTODO GAP See if we need this - might be able to get this data from the headers?" + }, + { + "name": "contactDetails", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ContactDetails" + } + ], + "doc": "Contact details of the customer booking the service." + }, + { + "name": "externalUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A user identifier of an external application user that initiated the book request.\nAllows an external application to later identify its own bookings and correlate to its own internal users" + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingRequestFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, + { + "name": "internalBusinessNote", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Internal business note. Not visible to the customer.\n\nMax: 200 characters\n" + }, + { + "name": "numberOfParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of participants. Available only when the service doesn't have\n[variants](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/introduction).\n\nMax: `20`\n" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about a message to send to the customer." + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookedSchedule" + } + ], + "doc": "Information about the schedule to create a booking for." + }, + { + "name": "selectedPaymentOption", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Payment option the customer intends to use.\nMust be one of the payment options defined for the service, unless\nyou pass `flowControlSettings.skipSelectedPaymentOptionValidation` as `true`." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\n\nDefault: `true`.\n" + }, + { + "name": "slot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Slot" + } + ], + "doc": "Information about the slot to create a booking for.\nIf you set `slot.location.locationType` to `CUSTOM`, the created slot's\nlocation is set to `slot.location.formattedAddress` when provided.\nOtherwise it's set to `contactDetails.fullAddress.formattedAddress`." + }, + { + "name": "status", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Booking status.\nOne of:\n- `\"CREATED\"` - The booking was created.\n- `\"UPDATED\"` - The booking was updated.\n- `\"CONFIRMED\"` - The booking has been confirmed and appears on the bookings calendar.\nBooking can be manually confirmed using the Set As Confirmed endpoint.\nBooking can be automatically confirmed when the following requirements are met:\n+ The service is configured as automatically confirmed.\n+ Invoking eCommerce checkout API and an order has been created.\n- `\"CANCELED\"` - The booking has been canceled and synced to bookings calendar.\nThe booking can be canceled using cancel API.\n- `\"PENDING\"` - The booking waiting to be confirmed or declined buy the owner and is synced to bookings calendar.\nBookings can be manually set as pending using setAsPending API, requires manage booking status permissions.\nBooking can be automatically set as pending when the following requirements are met:\n+ The Service is configured as manually confirmed.\n+ Invoking the eCommerce checkout API and an order has been created.\n- `\"WAITING_LIST\"` - The booking is pending on a waiting list.\nBooking can be created with this status when invoking waiting list join API.\n- `\"DECLINED\"` - The booking was declined by the owner and synced to bookings calendar.\nBooking can be manually declined using decline API and requires manage booking permissions.\nBooking can be automatically declined when the following requirements are met:\n+ Invoking eCommerce checkout API and the order declined event has been sent.\n+ Invoking eCommerce checkout API and order approved event has been sent, but the booking is offline and the booking causes a double booking." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfV2CreateBookingRequestBookableItemOneOf", + "members": [ + "schedule", + "slot" + ] + }, + { + "name": "oneOfV2CreateBookingRequestParticipantsInfoOneOf", + "members": [ + "participantsChoices", + "totalParticipants" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingsGatewayDeclineBookingOptions", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and\nthe message to send." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingsGatewayRescheduleBookingOptions", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfV2RescheduleBookingRequestParticipantsInfoOneOf", + "members": [ + "participantsChoices", + "totalParticipants" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingsGatewayUpdateNumberOfParticipantsOptions", + "members": [ + { + "name": "numberOfParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Updated number of participants." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfV2UpdateNumberOfParticipantsRequestParticipantsInfoOneOf", + "members": [ + "participantsChoices", + "totalParticipants" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkActionMetadata", + "members": [ + { + "name": "totalFailures", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items that couldn't be processed." + }, + { + "name": "totalSuccesses", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items that were successfully processed." + }, + { + "name": "undetailedFailures", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of failures without details because detailed failure threshold was exceeded." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkBookingResult", + "members": [ + { + "name": "item", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "" + }, + { + "name": "itemMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCalculateAllowedActionsRequest", + "members": [ + { + "name": "bookingIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The booking id's that we want to calculate the allowedActions for" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCalculateAllowedActionsResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + } + ], + "doc": "" + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkCalculateAllowedActionsResult" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCalculateAllowedActionsResult", + "members": [ + { + "name": "item", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.AllowedActions" + } + ], + "doc": "" + }, + { + "name": "itemMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + } + ], + "doc": "(id, indexInGivenSeq, isSuccessful, error)" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkConfirmOrDeclineBookingOptions", + "members": [ + { + "name": "returnEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the confirmed or declined bookings entities.\nNot supported yet, currently the entity is not returned." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkConfirmOrDeclineBookingRequest", + "members": [ + { + "name": "details", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkConfirmOrDeclineBookingRequestBookingDetails" + } + ] + } + } + ], + "doc": "The bookings to confirm or decline." + }, + { + "name": "returnEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the confirmed or declined bookings entities.\nNot supported yet, currently the entity is not returned." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkConfirmOrDeclineBookingRequestBookingDetails", + "members": [ + { + "name": "bookingId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to confirm or decline." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Current payment status of the booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkConfirmOrDeclineBookingResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + } + ], + "doc": "Total successes and failures of the bulk confirm or decline action." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkBookingResult" + } + ] + } + } + ], + "doc": "The bulk confirm or decline results.\nFor each booking, the results contain the metadata of the confirm or decline action." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCreateBookingOptions", + "members": [ + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the created bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCreateBookingRequest", + "members": [ + { + "name": "createBookingsInfo", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingInfo" + } + ] + } + } + ], + "doc": "Bookings to create.\nMax: 8 bookings." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the created bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCreateBookingResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + } + ], + "doc": "Total successes and failures of the bulk create booking action." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkBookingResult" + } + ] + } + } + ], + "doc": "Bulk create booking results.\nWhether it successfully created each booking, providing the corresponding error message if a failure occurred, and includes the created booking entity if the `returnFullEntity` is `true`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkGetMultiServiceBookingAllowedActionsRequest", + "members": [ + { + "name": "multiServiceBookingIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The multi service booking ids to get the allowedActions for." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkGetMultiServiceBookingAllowedActionsResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + } + ], + "doc": "" + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkCalculateAllowedActionsResult" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkRescheduleBookingOptions", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkRescheduleBookingRequest", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "slotsBookings", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.SlotBookings" + } + ] + } + } + ], + "doc": "Reschedule multiple bookings to multiple slots." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkRescheduleBookingRequestBooking", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the bookings to be rescheduled." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkRescheduleBookingResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + } + ], + "doc": "Total successes and failures of the bulk reschedule action." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + } + ] + } + } + ], + "doc": "The bulk reschedule results. For each booking, the results contain the metadata of the reschedule action." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkUpdateBookedScheduleOptions", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message." + }, + { + "name": "scheduleId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the schedule to be updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkUpdateBookedScheduleRequest", + "members": [ + { + "name": "bookings", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingDetails" + } + ] + } + } + ], + "doc": "The bookings whose booked schedule is to be updated to the given schedule." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message." + }, + { + "name": "scheduleId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the schedule to be updated." + } + ], + "docs": { + "description": [ + "Update the booked schedule of multiple bookings to the given schedule." + ] + } + }, + { + "name": "BulkUpdateBookedScheduleResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + } + ], + "doc": "Total successes and failures of the bulk update action." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + } + ] + } + } + ], + "doc": "The bulk update results. For each booking, the results contain the metadata of the update action." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkUpdateBookingRequest", + "members": [ + { + "name": "bookings", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.MaskedBooking" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "The `fieldMask` for each booking should not include both the `numberOfParticipants` and `participantsInfo` paths. Including both results\nin an error. `participantsInfo` is preferred over `numberOfParticipants`." + ] + } + }, + { + "name": "BulkUpdateBookingResponse", + "members": [ + { + "name": "bulkActionMetadata", "optional": true, "type": [ { "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" } ], - "doc": "" + "doc": "" + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateAllowedActionsRequest", + "members": [ + { + "name": "bookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The booking id that we want to calculate the allowedActions for" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateAllowedActionsResponse", + "members": [ + { + "name": "allowedActions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.AllowedActions" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelBookingFlowControlSettings", + "members": [ + { + "name": "ignoreCancellationPolicy", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it.\nDefault: `false`." + }, + { + "name": "withRefund", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to issue a refund when canceling the booking.\nThe refund will be issued only if the booking is refundable.\nCurrently, booking is considered refundable when it was paid by membership.\nIf passing `true`, the booking flow control settings will be set with refund,\notherwise, either if `false` is passed or the field remains empty,\nthe booking flow control settings will be set with no refund.\nDefault: `false`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelBookingOptions", + "members": [ + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelBookingRequest", + "members": [ + { + "name": "bookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to cancel." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelBookingResponse", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "Canceled booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelMultiServiceBookingOptions", + "members": [ + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the cancelation and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the canceled bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelMultiServiceBookingRequest", + "members": [ + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + }, + { + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking to cancel it's related bookings." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the cancelation and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the canceled bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CancelMultiServiceBookingResponse", + "members": [ + { + "name": "multiServiceBooking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" + } + ], + "doc": "Canceled multi service booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Clash", + "members": [ + { + "name": "bookingId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "contactName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "msid", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "resourceName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "sessionId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonIdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "contactId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCommonIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonIdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmBookingFlowControlSettings", + "members": [ + { + "name": "checkAvailabilityValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "todo: docs any-resource flow behavior\nWhether the availability is checked before confirming the booking.\nWhen passing `false` a booking is only being updated with status CONFIRMED\nDefault: `false`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmBookingOptions", + "members": [ + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ConfirmBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before confirming the booking." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmBookingRequest", + "members": [ + { + "name": "bookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to confirm." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ConfirmBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before confirming the booking." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmBookingResponse", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmMultiServiceBookingOptions", + "members": [ + { + "name": "confirmBookingsInfo", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingInfo" + } + ] + } + } + ], + "doc": "Bookings to confirm." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ConfirmBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\nconfirmation flow are changed. For example, whether the availability is\nchecked before confirming the booking." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the confirmation and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the confirmed bookings entities." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmMultiServiceBookingRequest", + "members": [ + { + "name": "confirmBookingsInfo", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingInfo" + } + ] + } + } + ], + "doc": "Bookings to confirm." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ConfirmBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\nconfirmation flow are changed. For example, whether the availability is\nchecked before confirming the booking." + }, + { + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking to confirm it's related bookings." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the confirmation and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the confirmed bookings entities." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmMultiServiceBookingResponse", + "members": [ + { + "name": "multiServiceBooking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" + } + ], + "doc": "Confirmed multi service booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmOrDeclineBookingOptions", + "members": [ + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Current payment status of the booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmOrDeclineBookingRequest", + "members": [ + { + "name": "bookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to confirm or decline." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Current payment status of the booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmOrDeclineBookingResponse", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmRequest", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to be confirmed." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Whether to notify the participants about the booking confirmation, and an optional custom message." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConfirmResponse", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "Confirmed booking." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConsistentQueryBookingsRequest", + "members": [ + { + "name": "query", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.QueryV2" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConsistentQueryBookingsResponse", + "members": [ + { + "name": "bookings", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.PagingMetadataV2" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConsistentQueryOptions", + "members": [ + { + "name": "query", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.QueryV2" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ContactDetails", + "members": [ + { + "name": "contactId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's ID." + }, + { + "name": "countryCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's email, used to create a new contact or get existing one from the [Contacts API](https://www.wix.com/velo/reference/wix-crm/contacts/introduction). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet)." + }, + { + "name": "firstName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field." + }, + { + "name": "fullAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Address" + } + ], + "doc": "Contact's full address." + }, + { + "name": "lastName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's last name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's phone number." + }, + { + "name": "timeZone", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact's time zone." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateBookingFlowControlSettings", + "members": [ + { + "name": "skipAvailabilityValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable.\nDefault: `false`." + }, + { + "name": "skipBusinessConfirmation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\nDefault: `false`." + }, + { + "name": "skipSelectedPaymentOptionValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\nDefault: `false`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateBookingInfo", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "The booking to create" + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about a message to send to the customer." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateBookingOptions", + "members": [ + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about a message to send to the customer." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateBookingRequest", + "members": [ + { + "name": "booking", + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "The booking to create." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about a message to send to the customer." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateBookingRequestFlowControlSettings", + "members": [ + { + "name": "skipAvailabilityValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" + }, + { + "name": "skipBusinessConfirmation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\n\nDefault: `false`.\n" + }, + { + "name": "skipSelectedPaymentOptionValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\n\nDefault: `false`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateBookingResponse", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "Created booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateMultiServiceBookingOptions", + "members": [ + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, + { + "name": "multiServiceBookingType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Multi service booking type.\nOne of:\n- `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n- `\"SEPARATE_BOOKINGS\"` Not supported yet.\n- `\"PARALLEL_BOOKINGS\"` Not supported yet." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about a message to send to the customer." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the created bookings entities." }, { - "name": "results", - "optional": true, + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateMultiServiceBookingRequest", + "members": [ + { + "name": "bookings", "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Bookings.BulkCalculateAllowedActionsResult" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ] } } ], - "doc": "" + "doc": "The bookings to create as multi service booking." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, + { + "name": "multiServiceBookingType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Multi service booking type.\nOne of:\n- `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n- `\"SEPARATE_BOOKINGS\"` Not supported yet.\n- `\"PARALLEL_BOOKINGS\"` Not supported yet." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about a message to send to the customer." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the created bookings entities." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." } ], "docs": { @@ -2371,27 +5292,226 @@ } }, { - "name": "BulkCalculateAllowedActionsResult", + "name": "CreateMultiServiceBookingResponse", "members": [ { - "name": "item", + "name": "multiServiceBooking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" + } + ], + "doc": "Created multi service booking.\nContains the booking results on the same order as passed on the request." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of items to return in the results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Cursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor string pointing to the next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to the previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CustomFormField", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the form field as defined in the form." + }, + { + "name": "label", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Form field's label at the time of submission." + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Value that was submitted for this field." + }, + { + "name": "valueType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'CHECK_BOX'`\n- `'LONG_TEXT'`\n- `'SHORT_TEXT'`" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DeclineBookingOptions", + "members": [ + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and\nthe message to send." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Payment status to set on the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DeclineBookingRequest", + "members": [ + { + "name": "bookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to decline." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and\nthe message to send." + }, + { + "name": "paymentStatus", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.AllowedActions" + "nativeType": "string" } ], - "doc": "" + "doc": "Payment status to set on the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." }, { - "name": "itemMetadata", - "optional": true, + "name": "revision", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" + "nativeType": "string" } ], - "doc": "(id, indexInGivenSeq, isSuccessful, error)" + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { @@ -2401,17 +5521,17 @@ } }, { - "name": "BulkCreateBookingOptions", + "name": "DeclineBookingResponse", "members": [ { - "name": "returnFullEntity", + "name": "booking", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "Whether to return the created bookings entities." + "doc": "eclined booking" } ], "docs": { @@ -2421,23 +5541,44 @@ } }, { - "name": "BulkCreateBookingRequest", + "name": "DeclineMultiServiceBookingOptions", "members": [ { - "name": "createBookingsInfo", + "name": "declineBookingsInfo", + "optional": true, "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Bookings.CreateBookingInfo" + "referenceType": "wix-bookings-v2.Bookings.BookingInfo" } ] } } ], - "doc": "Bookings to create.\nMax: 8 bookings." + "doc": "Bookings to decline." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and the message to send." }, { "name": "returnFullEntity", @@ -2447,7 +5588,7 @@ "nativeType": "boolean" } ], - "doc": "Whether to return the created bookings entities." + "doc": "Whether to return the declined bookings entities." } ], "docs": { @@ -2457,20 +5598,10 @@ } }, { - "name": "BulkCreateBookingResponse", + "name": "DeclineMultiServiceBookingRequest", "members": [ { - "name": "bulkActionMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" - } - ], - "doc": "Total successes and failures of the bulk create booking action." - }, - { - "name": "results", + "name": "declineBookingsInfo", "optional": true, "type": [ { @@ -2478,13 +5609,52 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Bookings.BulkBookingResult" + "referenceType": "wix-bookings-v2.Bookings.BookingInfo" } ] } } ], - "doc": "Bulk create booking results.\nWhether it successfully created each booking, providing the corresponding error message if a failure occurred, and includes the created booking entity if the `returnFullEntity` is `true`." + "doc": "Bookings to decline." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking to decline it's related bookings." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the declined bookings entities." } ], "docs": { @@ -2494,17 +5664,17 @@ } }, { - "name": "BulkRescheduleBookingOptions", + "name": "DeclineMultiServiceBookingResponse", "members": [ { - "name": "participantNotification", + "name": "multiServiceBooking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Declined multi service booking." } ], "docs": { @@ -2514,211 +5684,190 @@ } }, { - "name": "BulkRescheduleBookingRequest", + "name": "DomainEvent", "members": [ { - "name": "participantNotification", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." }, { - "name": "slotsBookings", + "name": "actionEvent", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.SlotBookings" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.ActionEvent" } ], - "doc": "Reschedule multiple bookings to multiple slots." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkRescheduleBookingRequestBooking", - "members": [ + "doc": "" + }, { - "name": "_id", + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.EntityCreatedEvent" } ], - "doc": "ID of the bookings to be rescheduled." + "doc": "" }, { - "name": "revision", + "name": "deletedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.EntityDeletedEvent" } ], "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkRescheduleBookingResponse", - "members": [ + }, { - "name": "bulkActionMetadata", + "name": "entityEventSequence", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + "nativeType": "string" } ], - "doc": "Total successes and failures of the bulk reschedule action." + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." }, { - "name": "results", + "name": "entityFqdn", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" - } - ] - } + "nativeType": "string" } ], - "doc": "The bulk reschedule results. For each booking contains the metadata of the reschedule action." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkUpdateBookedScheduleOptions", - "members": [ + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" + }, { - "name": "participantNotification", + "name": "entityId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "ID of the entity associated with the event." }, { - "name": "scheduleId", + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Event timestamp." + }, + { + "name": "originatedFrom", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The ID of the schedule to be updated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkUpdateBookedScheduleRequest", - "members": [ + "doc": "If present, indicates the action that triggered the event." + }, { - "name": "bookings", + "name": "slug", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.BookingDetails" - } - ] - } + "nativeType": "string" } ], - "doc": "The bookings whose booked schedule is to be updated to the given schedule." + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" }, { - "name": "participantNotification", + "name": "triggeredByAnonymizeRequest", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." }, { - "name": "scheduleId", + "name": "updatedEvent", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.EntityUpdatedEvent" } ], - "doc": "The id of the schedule to which the bookings booked schedule is to be updated." + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, "docs": { "description": [ - "Update the booked schedule of multiple bookings to the given schedule." + "" ] } }, { - "name": "BulkUpdateBookedScheduleResponse", + "name": "DomainEventBodyOneOf", "members": [ { - "name": "bulkActionMetadata", + "name": "actionEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" + "referenceType": "wix-bookings-v2.Bookings.ActionEvent" } ], - "doc": "Total successes and failures of the bulk update action." + "doc": "" }, { - "name": "results", + "name": "createdEvent", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.EntityUpdatedEvent" } ], - "doc": "The bulk update results. For each booking contains the metadata of the update action." + "doc": "" } ], "docs": { @@ -2728,20 +5877,14 @@ } }, { - "name": "BulkUpdateBookingRequest", + "name": "EntityCreatedEvent", "members": [ { - "name": "bookings", + "name": "entityAsJson", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.MaskedBooking" - } - ] - } + "nativeType": "string" } ], "doc": "" @@ -2749,39 +5892,22 @@ ], "docs": { "description": [ - "The fieldMask for each booking should not include both the \"numberOfParticipants\" and \"participantsInfo\" paths, doing so will result\nin an error. \"participantsInfo\" should be preferred over \"numberOfParticipants\"" + "" ] } }, { - "name": "BulkUpdateBookingResponse", + "name": "EntityDeletedEvent", "members": [ { - "name": "bulkActionMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.BulkActionMetadata" - } - ], - "doc": "" - }, - { - "name": "results", + "name": "deletedEntityAsJson", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.ItemMetadata" - } - ] - } + "nativeType": "string" } ], - "doc": "" + "doc": "Entity that was deleted" } ], "docs": { @@ -2791,16 +5917,17 @@ } }, { - "name": "CalculateAllowedActionsRequest", + "name": "EntityUpdatedEvent", "members": [ { - "name": "bookingId", + "name": "currentEntityAsJson", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The booking id that we want to calculate the allowedActions for" + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." } ], "docs": { @@ -2810,17 +5937,27 @@ } }, { - "name": "CalculateAllowedActionsResponse", + "name": "ExtendedFields", "members": [ { - "name": "allowedActions", + "name": "namespaces", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.AllowedActions" + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "nativeType": "Object" + } + ] + } } ], - "doc": "" + "doc": "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n" } ], "docs": { @@ -2830,66 +5967,66 @@ } }, { - "name": "CancelBookingFlowControlSettings", + "name": "FlowControlSettings", "members": [ { - "name": "ignoreCancellationPolicy", + "name": "skipAvailabilityValidation", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it.\nDefault: `false`.\n" + "doc": "When true, skips availability checking and allows booking.\nRequires BOOKINGS.OVERRIDE_AVAILABILITY permissions." }, { - "name": "withRefund", + "name": "skipBusinessConfirmation", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to issue a refund when canceling the booking.\nThe refund will be issued only if the booking is refundable.\nCurrently, booking is considered refundable when it was paid by membership.\nIf passing `true`, the booking flow control settings will be set with refund,\notherwise, either if `false` is passed or the field remains empty,\nthe booking flow control settings will be set with no refund.\nDefault: `false`." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CancelBookingOptions", - "members": [ + "doc": "When true, allows booking a confirmation-required service without requiring confirmation.\nRequires BOOKINGS.IGNORE_BOOKING_POLICY permissions." + }, { - "name": "flowControlSettings", + "name": "skipSelectedPaymentOptionValidation", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + "nativeType": "boolean" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + "doc": "When true, skips selected payment option checking as defined in `selectedPaymentOption` field\nand allows booking.\nRequires BOOKINGS.MANAGE_PAYMENTS permissions." }, { - "name": "participantNotification", + "name": "withRefund", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." - }, + "doc": "When true, refunds the booking's payment when the booking is canceled." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceBookingAvailabilityRequest", + "members": [ { - "name": "revision", + "name": "multiServiceBookingId", "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." + "doc": "" } ], "docs": { @@ -2899,45 +6036,74 @@ } }, { - "name": "CancelBookingRequest", + "name": "GetMultiServiceBookingAvailabilityResponse", "members": [ { - "name": "bookingId", + "name": "bookable", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the booking to cancel." + "doc": "Whether these bookings are bookable." }, { - "name": "flowControlSettings", + "name": "multiServiceBookingInfo", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CancelBookingFlowControlSettings" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.GetMultiServiceBookingAvailabilityResponseBookingInfo" + } + ] + } } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + "doc": "Info of the bookings this availability was calculated for." }, { - "name": "participantNotification", + "name": "policySettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.BookingPolicySettings" } ], - "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." + "doc": "Multi service booking policy settings" }, { - "name": "revision", + "name": "policyViolations", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.BookingPolicyViolations" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." + "doc": "Indicators for policy violations of the multi service booking." + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of open spots for this availability." + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots for this availability." } ], "docs": { @@ -2947,17 +6113,17 @@ } }, { - "name": "CancelBookingResponse", + "name": "GetMultiServiceBookingAvailabilityResponseBookingInfo", "members": [ { - "name": "booking", + "name": "bookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "string" } ], - "doc": "Canceled booking." + "doc": "Booking id" } ], "docs": { @@ -2967,72 +6133,97 @@ } }, { - "name": "CommonIdentificationData", + "name": "GetMultiServiceBookingRequest", "members": [ { - "name": "anonymousVisitorId", - "optional": true, + "name": "multiServiceBookingId", "type": [ { "nativeType": "string" } ], - "doc": "ID of a site visitor that has not logged in to the site." - }, + "doc": "Multi service booking ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceBookingResponse", + "members": [ { - "name": "appId", + "name": "metadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBookingMetadata" } ], - "doc": "ID of an app." + "doc": "" }, { - "name": "contactId", + "name": "multiServiceBooking", "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" + } + ], + "doc": "Multi service booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetScheduleAvailabilityRequest", + "members": [ + { + "name": "scheduleId", "type": [ { "nativeType": "string" } ], - "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." - }, + "doc": "The schedule ID for which availability is checked." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetScheduleAvailabilityResponse", + "members": [ { - "name": "memberId", + "name": "availability", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.ScheduleAvailability" } ], - "doc": "ID of a site visitor that has logged in to the site." + "doc": "" }, { - "name": "wixUserId", + "name": "bookingPolicySettings", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.BookingPolicySettings" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfCommonIdentificationDataIdOneOf", - "members": [ - "anonymousVisitorId", - "appId", - "memberId", - "wixUserId" - ] - } - ] - }, "docs": { "description": [ "" @@ -3040,47 +6231,57 @@ } }, { - "name": "CommonIdentificationDataIdOneOf", + "name": "GetSlotAvailabilityOptions", "members": [ { - "name": "anonymousVisitorId", + "name": "slot", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.V2Slot" } ], - "doc": "ID of a site visitor that has not logged in to the site." + "doc": "The slot for which the availability is checked." }, { - "name": "appId", + "name": "timezone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of an app." - }, + "doc": "The timezone for which availability is to be calculated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetSlotAvailabilityRequest", + "members": [ { - "name": "memberId", + "name": "slot", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.V2Slot" } ], - "doc": "ID of a site visitor that has logged in to the site." + "doc": "The slot for which the availability is checked." }, { - "name": "wixUserId", + "name": "timezone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "The timezone for which availability is to be calculated." } ], "docs": { @@ -3090,17 +6291,27 @@ } }, { - "name": "ConfirmBookingOptions", + "name": "GetSlotAvailabilityResponse", "members": [ { - "name": "participantNotification", + "name": "availability", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.SlotAvailability" } ], - "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + "doc": "" + }, + { + "name": "bookingPolicySettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingPolicySettings" + } + ], + "doc": "" } ], "docs": { @@ -3110,77 +6321,73 @@ } }, { - "name": "ConfirmBookingRequest", + "name": "IdentificationData", "members": [ { - "name": "bookingId", + "name": "anonymousVisitorId", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the booking to confirm." + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "participantNotification", + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + "doc": "ID of an app." }, { - "name": "revision", + "name": "contactId", + "readOnly": true, + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ConfirmBookingResponse", - "members": [ + "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." + }, { - "name": "booking", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ConfirmOrDeclineBookingOptions", - "members": [ + "doc": "ID of a site visitor that has logged in to the site." + }, { - "name": "paymentStatus", + "name": "wixUserId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Current payment status of the booking." + "doc": "ID of a Wix user (site owner, contributor, etc.)." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, "docs": { "description": [ "" @@ -3188,46 +6395,47 @@ } }, { - "name": "ConfirmOrDeclineBookingRequest", + "name": "IdentificationDataIdOneOf", "members": [ { - "name": "bookingId", + "name": "anonymousVisitorId", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the booking to confirm or decline." + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "paymentStatus", + "name": "appId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Current payment status of the booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ConfirmOrDeclineBookingResponse", - "members": [ + "doc": "ID of an app." + }, { - "name": "booking", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "string" } ], - "doc": "" + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." } ], "docs": { @@ -3237,7 +6445,7 @@ } }, { - "name": "ConfirmRequest", + "name": "ItemMetadata", "members": [ { "name": "_id", @@ -3247,57 +6455,37 @@ "nativeType": "string" } ], - "doc": "ID of the booking to be confirmed." + "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." }, { - "name": "participantNotification", + "name": "error", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.ApplicationError" } ], - "doc": "Whether to notify the participants about the booking confirmation, and an optional custom message." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ConfirmResponse", - "members": [ + "doc": "Details about the error in case of failure." + }, { - "name": "booking", + "name": "originalIndex", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "number" } ], - "doc": "Confirmed booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ConsistentQueryBookingsRequest", - "members": [ + "doc": "Index of the item within the request array. Allows for correlation between request and response items." + }, { - "name": "query", + "name": "success", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.QueryV2" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." } ], "docs": { @@ -3307,31 +6495,13 @@ } }, { - "name": "ConsistentQueryBookingsResponse", + "name": "LegacyCreateBookingRequest", "members": [ { - "name": "bookings", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.Booking" - } - ] - } - } - ], - "doc": "" - }, - { - "name": "pagingMetadata", - "optional": true, + "name": "booking", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.PagingMetadataV2" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], "doc": "" @@ -3344,14 +6514,14 @@ } }, { - "name": "ConsistentQueryOptions", + "name": "LegacyCreateBookingResponse", "members": [ { - "name": "query", + "name": "booking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.QueryV2" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], "doc": "" @@ -3364,87 +6534,47 @@ } }, { - "name": "ContactDetails", + "name": "Location", "members": [ { - "name": "contactId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Contact's ID." - }, - { - "name": "countryCode", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." - }, - { - "name": "email", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Contact's email, used to create a new contact or get existing one from the [Contacts API](https://www.wix.com/velo/reference/wix-crm/contacts/introduction). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet)." - }, - { - "name": "firstName", + "name": "_id", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field." - }, - { - "name": "fullAddress", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.Address" - } - ], - "doc": "Contact's full address." + "doc": "Business location ID. Available only for locations that are business locations,\nmeaning the `location_type` is `\"OWNER_BUSINESS\"`." }, { - "name": "lastName", + "name": "formattedAddress", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Contact's last name." + "doc": "The full address of this location." }, { - "name": "phone", + "name": "locationType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Contact's phone number." + "doc": "Location type.\n\n- `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n- `\"CUSTOM\"`: The address as set for the individual session.\n" }, { - "name": "timeZone", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Contact's time zone." + "doc": "Location name." } ], "docs": { @@ -3454,37 +6584,53 @@ } }, { - "name": "CreateBookingFlowControlSettings", + "name": "MarkAsMultiServiceBookingOptions", "members": [ { - "name": "skipAvailabilityValidation", + "name": "multiServiceBookingType", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable.\nDefault: `false`." - }, + "doc": "Multi service booking type.\nOne of:\n- `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n- `\"SEPARATE_BOOKINGS\"` Not supported yet.\n- `\"PARALLEL_BOOKINGS\"` Not supported yet." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MarkAsMultiServiceBookingRequest", + "members": [ { - "name": "skipBusinessConfirmation", - "optional": true, + "name": "bookingIds", "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\nDefault: `false`." + "doc": "IDs of the bookings to mark as multi service booking." }, { - "name": "skipSelectedPaymentOptionValidation", + "name": "multiServiceBookingType", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\nDefault: `false`." + "doc": "Multi service booking type.\nOne of:\n- `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n- `\"SEPARATE_BOOKINGS\"` Not supported yet.\n- `\"PARALLEL_BOOKINGS\"` Not supported yet." } ], "docs": { @@ -3494,47 +6640,47 @@ } }, { - "name": "CreateBookingInfo", + "name": "MarkAsMultiServiceBookingResponse", "members": [ { - "name": "booking", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.Booking" - } - ], - "doc": "The booking to create" - }, - { - "name": "flowControlSettings", + "name": "multiServiceBookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + "nativeType": "string" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." - }, + "doc": "Multi service booking ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MarkBookingAsPendingFlowControlSettings", + "members": [ { - "name": "participantNotification", + "name": "checkAvailabilityValidation", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about a message to send to the customer." + "doc": "Whether should check for double bookings before updating the booking as pending.\nWhen passing `false` a booking is only being updated with status PENDING\nDefault: `false`." }, { - "name": "sendSmsReminder", + "name": "skipPendingApprovalServiceValidation", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + "doc": "Whether should validate that the given booking to be marked as pending, has a booking.slot.serviceId\nof a pending approval service.\nDefault: `false`." } ], "docs": { @@ -3544,17 +6690,27 @@ } }, { - "name": "CreateBookingOptions", + "name": "MarkBookingAsPendingOptions", "members": [ + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, { "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + "referenceType": "wix-bookings-v2.Bookings.MarkBookingAsPendingFlowControlSettings" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before updating the booking's status." }, { "name": "participantNotification", @@ -3564,7 +6720,17 @@ "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "Information about a message to send to the customer." + "doc": "Information about whether to notify the customer and\nthe message to send." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." }, { "name": "sendSmsReminder", @@ -3574,7 +6740,7 @@ "nativeType": "boolean" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -3584,86 +6750,75 @@ } }, { - "name": "CreateBookingRequest", + "name": "MarkBookingAsPendingRequest", "members": [ { - "name": "booking", + "name": "bookingId", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "string" } ], - "doc": "The booking to create." + "doc": "ID of the booking to mark as PENDING." }, { - "name": "flowControlSettings", + "name": "doubleBooked", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CreateBookingFlowControlSettings" + "nativeType": "boolean" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "participantNotification", + "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "referenceType": "wix-bookings-v2.Bookings.MarkBookingAsPendingFlowControlSettings" } ], - "doc": "Information about a message to send to the customer." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before updating the booking's status." }, { - "name": "sendSmsReminder", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CreateBookingRequestFlowControlSettings", - "members": [ + "doc": "Information about whether to notify the customer and\nthe message to send." + }, { - "name": "skipAvailabilityValidation", + "name": "paymentStatus", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." }, { - "name": "skipBusinessConfirmation", - "optional": true, + "name": "revision", "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\n\nDefault: `false`.\n" + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." }, { - "name": "skipSelectedPaymentOptionValidation", + "name": "sendSmsReminder", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\n\nDefault: `false`.\n" + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -3673,7 +6828,7 @@ } }, { - "name": "CreateBookingResponse", + "name": "MarkBookingAsPendingResponse", "members": [ { "name": "booking", @@ -3683,7 +6838,7 @@ "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "Created booking." + "doc": "The updated booking" } ], "docs": { @@ -3693,57 +6848,74 @@ } }, { - "name": "CursorPaging", + "name": "MarkMultiServiceBookingAsPendingOptions", "members": [ { - "name": "cursor", + "name": "doubleBooked", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "limit", + "name": "flowControlSettings", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Bookings.MarkBookingAsPendingFlowControlSettings" } ], - "doc": "Number of items to load." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Cursors", - "members": [ + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before updating the booking." + }, { - "name": "next", + "name": "markAsPendingBookingsInfo", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingInfo" + } + ] + } } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Bookings to mark as pending." }, { - "name": "prev", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer upon manual confirmation and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the pending bookings entities." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -3753,59 +6925,54 @@ } }, { - "name": "CustomFormField", + "name": "MarkMultiServiceBookingAsPendingRequest", "members": [ { - "name": "_id", + "name": "doubleBooked", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the form field as defined in the form." + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "label", - "readOnly": true, + "name": "flowControlSettings", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.MarkBookingAsPendingFlowControlSettings" } ], - "doc": "Form field's label at the time of submission." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before updating the booking." }, { - "name": "value", + "name": "markAsPendingBookingsInfo", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingInfo" + } + ] + } } ], - "doc": "Value that was submitted for this field." + "doc": "Bookings to mark as pending." }, { - "name": "valueType", - "optional": true, + "name": "multiServiceBookingId", "type": [ { "nativeType": "string" } ], - "doc": "One of:\n- `\"SHORT_TEXT\"`\n- `\"LONG_TEXT\"`\n- `\"CHECK_BOX\"`" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DeclineBookingOptions", - "members": [ + "doc": "ID of the multi service booking to mark as pending it's related bookings." + }, { "name": "participantNotification", "optional": true, @@ -3814,45 +6981,27 @@ "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "Information about whether to notify the customer about the decline and\nthe message to send." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DeclineBookingRequest", - "members": [ - { - "name": "bookingId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the booking to decline." + "doc": "Information about whether to notify the customer upon manual confirmation and the message to send." }, { - "name": "participantNotification", + "name": "returnFullEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about whether to notify the customer about the decline and\nthe message to send." + "doc": "Whether to return the pending bookings entities." }, { - "name": "revision", + "name": "sendSmsReminder", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -3862,17 +7011,17 @@ } }, { - "name": "DeclineBookingResponse", + "name": "MarkMultiServiceBookingAsPendingResponse", "members": [ { - "name": "booking", + "name": "multiServiceBooking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" } ], - "doc": "eclined booking" + "doc": "Pending multi service booking." } ], "docs": { @@ -3882,27 +7031,17 @@ } }, { - "name": "ExtendedFields", + "name": "MaskedBooking", "members": [ { - "name": "namespaces", + "name": "booking", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "nativeType": "Object" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format" + "doc": "" } ], "docs": { @@ -3912,47 +7051,47 @@ } }, { - "name": "FlowControlSettings", + "name": "MessageEnvelope", "members": [ { - "name": "skipAvailabilityValidation", + "name": "data", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "When true, skips availability checking and allows booking.\nRequires BOOKINGS.OVERRIDE_AVAILABILITY permissions." + "doc": "Stringify payload." }, { - "name": "skipBusinessConfirmation", + "name": "eventType", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "When true, allows booking a confirmation-required service without requiring confirmation.\nRequires BOOKINGS.IGNORE_BOOKING_POLICY permissions." + "doc": "Event type." }, { - "name": "skipSelectedPaymentOptionValidation", + "name": "identity", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Bookings.WebhooksIdentificationData" } ], - "doc": "When true, skips selected payment option checking as defined in `selectedPaymentOption` field\nand allows booking.\nRequires BOOKINGS.MANAGE_PAYMENTS permissions." + "doc": "The identification type and identity data." }, { - "name": "withRefund", + "name": "instanceId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "When true, refunds the booking's payment when the booking is canceled." + "doc": "App instance ID." } ], "docs": { @@ -3962,16 +7101,24 @@ } }, { - "name": "GetScheduleAvailabilityRequest", + "name": "MigrationCheckIfClashesWithBlockedTimeRequest", "members": [ { - "name": "scheduleId", + "name": "msidAndBookingIds", + "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.MsidAndBookingId" + } + ] + } } ], - "doc": "The schedule ID for which availability is checked." + "doc": "" } ], "docs": { @@ -3981,24 +7128,21 @@ } }, { - "name": "GetScheduleAvailabilityResponse", + "name": "MigrationCheckIfClashesWithBlockedTimeResponse", "members": [ { - "name": "availability", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.ScheduleAvailability" - } - ], - "doc": "" - }, - { - "name": "bookingPolicySettings", + "name": "clashes", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BookingPolicySettings" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.Clash" + } + ] + } } ], "doc": "" @@ -4011,27 +7155,27 @@ } }, { - "name": "GetSlotAvailabilityOptions", + "name": "MsidAndBookingId", "members": [ { - "name": "slot", + "name": "bookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.V2Slot" + "nativeType": "string" } ], - "doc": "The slot for which the availability is checked." + "doc": "" }, { - "name": "timezone", + "name": "msid", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The timezone for which availability is to be calculated." + "doc": "" } ], "docs": { @@ -4041,27 +7185,34 @@ } }, { - "name": "GetSlotAvailabilityRequest", + "name": "MultiServiceBooking", "members": [ { - "name": "slot", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.V2Slot" + "nativeType": "string" } ], - "doc": "The slot for which the availability is checked." + "doc": "Multi service booking ID." }, { - "name": "timezone", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingResult" + } + ] + } } ], - "doc": "The timezone for which availability is to be calculated." + "doc": "The created bookings which are part of the multi service booking" } ], "docs": { @@ -4071,27 +7222,28 @@ } }, { - "name": "GetSlotAvailabilityResponse", + "name": "MultiServiceBookingInfo", "members": [ { - "name": "availability", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.SlotAvailability" + "nativeType": "string" } ], - "doc": "" + "doc": "Multi service booking ID." }, { - "name": "bookingPolicySettings", + "name": "type", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.BookingPolicySettings" + "nativeType": "string" } ], - "doc": "" + "doc": "Multi service booking type." } ], "docs": { @@ -4101,69 +7253,76 @@ } }, { - "name": "IdentificationData", + "name": "MultiServiceBookingMetadata", "members": [ { - "name": "anonymousVisitorId", + "name": "totalNumberOfScheduledBookings", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of a site visitor that has not logged in to the site." - }, + "doc": "Total number of the scheduled bookings within the multi service booking, including bookings which were not retrieved due to lack of read permissions.\nScheduled bookings are bookings with status CONFIRMED or PENDING." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NumberOfParticipantsUpdated", + "members": [ { - "name": "appId", + "name": "booking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.Booking" } ], - "doc": "ID of an app." + "doc": "The updated booking object." }, { - "name": "contactId", - "readOnly": true, + "name": "initiatedBy", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.IdentificationData" } ], - "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." + "doc": "ID of the participant number update initiator." }, { - "name": "memberId", + "name": "previousParticipantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "ID of a site visitor that has logged in to the site." + "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "wixUserId", + "name": "previousTotalParticipants", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "The previous total number of participants. Available only when the booking includes a single service variant." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfIdentificationDataIdOneOf", + "name": "oneOfNumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf", "members": [ - "anonymousVisitorId", - "appId", - "memberId", - "wixUserId" + "previousParticipantsChoices", + "previousTotalParticipants" ] } ] @@ -4175,47 +7334,57 @@ } }, { - "name": "IdentificationDataIdOneOf", + "name": "NumberOfParticipantsUpdatedPreviousParticipantsInfoOneOf", "members": [ { - "name": "anonymousVisitorId", + "name": "previousParticipantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "ID of a site visitor that has not logged in to the site." + "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "appId", + "name": "previousTotalParticipants", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of an app." - }, + "doc": "The previous total number of participants. Available only when the booking includes a single service variant." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Paging", + "members": [ { - "name": "memberId", + "name": "limit", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of a site visitor that has logged in to the site." + "doc": "Number of items to load." }, { - "name": "wixUserId", + "name": "offset", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "Number of items to skip in the current sort order." } ], "docs": { @@ -4225,47 +7394,114 @@ } }, { - "name": "ItemMetadata", + "name": "PagingMetadataV2", "members": [ { - "name": "_id", + "name": "count", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." + "doc": "Number of items returned in the response." }, { - "name": "error", + "name": "cursors", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ApplicationError" + "referenceType": "wix-bookings-v2.Bookings.Cursors" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "tooManyToCount", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag that indicates the server failed to calculate the `total` field." + }, + { + "name": "total", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ParticipantChoices", + "members": [ + { + "name": "serviceChoices", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.ServiceChoices" + } + ] + } } ], - "doc": "Details about the error in case of failure." - }, + "doc": "Information about the booked service choices. Includes the number of participants." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ParticipantNotification", + "members": [ { - "name": "originalIndex", + "name": "message", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Index of the item within the request array. Allows for correlation between request and response items." + "doc": "Custom message to send to the participants about the changes to the booking." }, { - "name": "success", + "name": "notifyParticipants", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" } ], "docs": { @@ -4275,38 +7511,40 @@ } }, { - "name": "LegacyCreateBookingRequest", + "name": "PartySizeOptions", "members": [ { - "name": "booking", + "name": "scheduleId", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "string" } ], "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "LegacyCreateBookingResponse", - "members": [ + }, { - "name": "booking", + "name": "sessionId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "string" } ], "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfPartySizeRequestPartySizeForOneOf", + "members": [ + "scheduleId", + "sessionId" + ] + } + ] + }, "docs": { "description": [ "" @@ -4314,47 +7552,68 @@ } }, { - "name": "Location", + "name": "PartySizeRequest", "members": [ { - "name": "_id", + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Business location ID. Available only for locations that are business locations,\nmeaning the `location_type` is `\"OWNER_BUSINESS\"`." + "doc": "" }, { - "name": "formattedAddress", + "name": "sessionId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The full address of this location." - }, + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfPartySizeRequestPartySizeForOneOf", + "members": [ + "scheduleId", + "sessionId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PartySizeRequestPartySizeForOneOf", + "members": [ { - "name": "locationType", + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type.\n\n- `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n- `\"CUSTOM\"`: The address as set for the individual session.\n" + "doc": "" }, { - "name": "name", + "name": "sessionId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location name." + "doc": "" } ], "docs": { @@ -4364,31 +7623,33 @@ } }, { - "name": "MaskedBooking", + "name": "PartySizeResponse", "members": [ { - "name": "booking", + "name": "partySize", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "nativeType": "number" } ], "doc": "" - }, + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryBookingsRequest", + "members": [ { - "name": "mask", - "optional": true, + "name": "query", "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.QueryV2" } ], "doc": "" @@ -4401,27 +7662,34 @@ } }, { - "name": "Paging", + "name": "QueryBookingsResponse", "members": [ { - "name": "limit", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ] + } } ], - "doc": "Number of items to load." + "doc": "" }, { - "name": "offset", + "name": "pagingMetadata", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Bookings.PagingMetadataV2" } ], - "doc": "Number of items to skip in the current sort order." + "doc": "" } ], "docs": { @@ -4431,59 +7699,110 @@ } }, { - "name": "PagingMetadataV2", + "name": "QueryOptions", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryV2", "members": [ { - "name": "count", + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Bookings.CursorPaging" } ], - "doc": "Number of items returned in the response." + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." }, { - "name": "cursors", + "name": "fields", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Cursors" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." + "doc": "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." }, { - "name": "offset", + "name": "fieldsets", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Offset that was requested." + "doc": "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." }, { - "name": "tooManyToCount", + "name": "filter", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "Object" } ], - "doc": "Flag that indicates the server failed to calculate the `total` field." + "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" }, { - "name": "total", + "name": "paging", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Bookings.Paging" } ], - "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + "doc": "Paging options to limit and skip the number of items." + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, "docs": { "description": [ "" @@ -4491,24 +7810,27 @@ } }, { - "name": "ParticipantChoices", + "name": "QueryV2PagingMethodOneOf", "members": [ { - "name": "serviceChoices", + "name": "cursorPaging", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.ServiceChoices" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.CursorPaging" + } + ], + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + }, + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.Paging" } ], - "doc": "Information about the booked service choices. Includes the number of participants." + "doc": "Paging options to limit and skip the number of items." } ], "docs": { @@ -4518,27 +7840,34 @@ } }, { - "name": "ParticipantNotification", + "name": "RemoveBookingsFromMultiServiceBookingOptions", "members": [ { - "name": "message", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingIdAndRevision" + } + ] + } } ], - "doc": "Custom message to send to the participants about the changes to the booking." + "doc": "List of bookings ids and their revisions to remove from the multi service booking." }, { - "name": "notifyParticipants", + "name": "returnFullEntity", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + "doc": "Whether to return the bookings entities." } ], "docs": { @@ -4548,40 +7877,45 @@ } }, { - "name": "PartySizeOptions", + "name": "RemoveBookingsFromMultiServiceBookingRequest", "members": [ { - "name": "scheduleId", + "name": "bookings", "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingIdAndRevision" + } + ] + } + } + ], + "doc": "List of bookings ids and their revisions to remove from the multi service booking." + }, + { + "name": "multiServiceBookingId", "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "ID of the multi service booking." }, { - "name": "sessionId", + "name": "returnFullEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether to return the bookings entities." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfPartySizeRequestPartySizeForOneOf", - "members": [ - "scheduleId", - "sessionId" - ] - } - ] - }, "docs": { "description": [ "" @@ -4589,40 +7923,26 @@ } }, { - "name": "PartySizeRequest", + "name": "RemoveBookingsFromMultiServiceBookingResponse", "members": [ { - "name": "scheduleId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "" - }, - { - "name": "sessionId", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.BookingResult" + } + ] + } } ], - "doc": "" + "doc": "The bookings that were removed from the multi service booking." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfPartySizeRequestPartySizeForOneOf", - "members": [ - "scheduleId", - "sessionId" - ] - } - ] - }, "docs": { "description": [ "" @@ -4630,47 +7950,37 @@ } }, { - "name": "PartySizeRequestPartySizeForOneOf", + "name": "RescheduleBookingFlowControlSettings", "members": [ { - "name": "scheduleId", + "name": "ignoreReschedulePolicy", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it.\nDefault: `false`." }, { - "name": "sessionId", + "name": "skipAvailabilityValidation", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "PartySizeResponse", - "members": [ + "doc": "Whether the availability is checked before rescheduling the booking.\nWhen passing `false` a booking is only created when the slot or\nschedule is available.\nDefault: `false`." + }, { - "name": "partySize", + "name": "skipBusinessConfirmation", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the rescheduled booking's status is automatically set to\n`CONFIRMED` for services that normally require the owner's manual\nconfirmation.\nDefault: `false`." } ], "docs": { @@ -4680,64 +7990,69 @@ } }, { - "name": "QueryBookingsRequest", + "name": "RescheduleBookingOptions", "members": [ { - "name": "query", + "name": "flowControlSettings", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.QueryV2" + "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingFlowControlSettings" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "QueryBookingsResponse", - "members": [ + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." + }, { - "name": "bookings", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.Booking" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "" + "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." }, { - "name": "pagingMetadata", + "name": "participantsChoices", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.PagingMetadataV2" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "" + "doc": "Information about the service choices to book. Available only for services with\nvariants.\nPass when not all participants book the same variant." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + }, + { + "name": "totalParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of participants. Available only for services with\nvariants.\nPass when all participants book the same variant." } ], - "docs": { - "description": [ - "" + "extra": { + "oneOfGroups": [ + { + "name": "oneOfRescheduleBookingRequestParticipantsInfoOneOf", + "members": [ + "participantsChoices", + "totalParticipants" + ] + } ] - } - }, - { - "name": "QueryOptions", - "members": [], + }, "docs": { "description": [ "" @@ -4745,97 +8060,83 @@ } }, { - "name": "QueryV2", + "name": "RescheduleBookingRequest", "members": [ { - "name": "cursorPaging", - "optional": true, + "name": "bookingId", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CursorPaging" + "nativeType": "string" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + "doc": "ID of the booking to reschedule." }, { - "name": "fields", + "name": "flowControlSettings", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingFlowControlSettings" } ], - "doc": "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." + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "fieldsets", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "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." + "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." }, { - "name": "filter", + "name": "participantsChoices", "optional": true, "type": [ { - "nativeType": "Object" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" + "doc": "Information about the service choices to book. Available only for services with\nvariants.\nPass when not all participants book the same variant." }, { - "name": "paging", - "optional": true, + "name": "revision", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Paging" + "nativeType": "string" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." }, { - "name": "sort", - "optional": true, + "name": "slot", "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Bookings.Sorting" - } - ] - } + "referenceType": "wix-bookings-v2.Bookings.V2Slot" + } + ], + "doc": "Information about the new slot." + }, + { + "name": "totalParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" } ], - "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + "doc": "Total number of participants. Available only for services with\nvariants.\nPass when all participants book the same variant." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfQueryV2PagingMethodOneOf", + "name": "oneOfRescheduleBookingRequestParticipantsInfoOneOf", "members": [ - "cursorPaging", - "paging" + "participantsChoices", + "totalParticipants" ] } ] @@ -4847,27 +8148,27 @@ } }, { - "name": "QueryV2PagingMethodOneOf", + "name": "RescheduleBookingRequestParticipantsInfoOneOf", "members": [ { - "name": "cursorPaging", + "name": "participantsChoices", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.CursorPaging" + "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + "doc": "Information about the service choices to book. Available only for services with\nvariants.\nPass when not all participants book the same variant." }, { - "name": "paging", + "name": "totalParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Paging" + "nativeType": "number" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "Total number of participants. Available only for services with\nvariants.\nPass when all participants book the same variant." } ], "docs": { @@ -4877,37 +8178,57 @@ } }, { - "name": "RescheduleBookingFlowControlSettings", + "name": "RescheduleBookingResponse", "members": [ { - "name": "ignoreReschedulePolicy", + "name": "booking", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Bookings.Booking" + } + ], + "doc": "Rescheduled booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RescheduleMultiServiceBookingOptions", + "members": [ + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingFlowControlSettings" } ], - "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it.\nDefault: `false`.\n" + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "skipAvailabilityValidation", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "Whether the availability is checked before rescheduling the booking.\nWhen passing `false` a booking is only created when the slot or\nschedule is available.\nDefault: `false`." + "doc": "Information about whether to notify the customer about the rescheduling and the message to send." }, { - "name": "skipBusinessConfirmation", + "name": "returnFullEntity", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether the rescheduled booking's status is automatically set to\n`CONFIRMED` for services that normally require the owner's manual\nconfirmation.\nDefault: `false`." + "doc": "Whether to return the rescheduled bookings entities." } ], "docs": { @@ -4917,7 +8238,7 @@ } }, { - "name": "RescheduleBookingOptions", + "name": "RescheduleMultiServiceBookingRequest", "members": [ { "name": "flowControlSettings", @@ -4930,56 +8251,51 @@ "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "participantNotification", - "optional": true, + "name": "multiServiceBookingId", "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." + "doc": "ID of the multi service booking to reschedule it's related bookings." }, { - "name": "participantsChoices", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.ParticipantChoices" + "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" } ], - "doc": "Information about the service choices to book. Available only for services with\nvariants.\nPass when not all participants book the same variant." + "doc": "Information about whether to notify the customer about the rescheduling and the message to send." }, { - "name": "revision", + "name": "rescheduleBookingsInfo", "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Bookings.RescheduleMultiServiceBookingRequestRescheduleBookingInfo" + } + ] + } } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + "doc": "Bookings to reschedule." }, { - "name": "totalParticipants", + "name": "returnFullEntity", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Total number of participants. Available only for services with\nvariants.\nPass when all participants book the same variant." + "doc": "Whether to return the rescheduled bookings entities." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfRescheduleBookingRequestParticipantsInfoOneOf", - "members": [ - "participantsChoices", - "totalParticipants" - ] - } - ] - }, "docs": { "description": [ "" @@ -4987,10 +8303,11 @@ } }, { - "name": "RescheduleBookingRequest", + "name": "RescheduleMultiServiceBookingRequestRescheduleBookingInfo", "members": [ { "name": "bookingId", + "optional": true, "type": [ { "nativeType": "string" @@ -4998,26 +8315,6 @@ ], "doc": "ID of the booking to reschedule." }, - { - "name": "flowControlSettings", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.RescheduleBookingFlowControlSettings" - } - ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." - }, - { - "name": "participantNotification", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Bookings.ParticipantNotification" - } - ], - "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." - }, { "name": "participantsChoices", "optional": true, @@ -5030,6 +8327,7 @@ }, { "name": "revision", + "optional": true, "type": [ { "nativeType": "string" @@ -5039,6 +8337,7 @@ }, { "name": "slot", + "optional": true, "type": [ { "referenceType": "wix-bookings-v2.Bookings.V2Slot" @@ -5060,7 +8359,7 @@ "extra": { "oneOfGroups": [ { - "name": "oneOfRescheduleBookingRequestParticipantsInfoOneOf", + "name": "oneOfRescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf", "members": [ "participantsChoices", "totalParticipants" @@ -5075,7 +8374,7 @@ } }, { - "name": "RescheduleBookingRequestParticipantsInfoOneOf", + "name": "RescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf", "members": [ { "name": "participantsChoices", @@ -5105,17 +8404,17 @@ } }, { - "name": "RescheduleBookingResponse", + "name": "RescheduleMultiServiceBookingResponse", "members": [ { - "name": "booking", + "name": "multiServiceBooking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Bookings.Booking" + "referenceType": "wix-bookings-v2.Bookings.MultiServiceBooking" } ], - "doc": "Rescheduled booking." + "doc": "Rescheduled multi service booking." } ], "docs": { @@ -5528,7 +8827,7 @@ "referenceType": "wix-bookings-v2.Bookings.BookedSlot" } ], - "doc": "The slot to which the bookings was rescheduled\nThis bookings will automatically be assigned to the session if given, or will create a new one if not." + "doc": "The slot to which the bookings were rescheduled.\nThis bookings are automatically assigned to the session, if given. Otherwise, a new session is created." } ], "docs": { @@ -5863,7 +9162,7 @@ "referenceType": "wix-bookings-v2.Bookings.ExtendedFields" } ], - "doc": "Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n\nEmpty fields are not returned.\n" + "doc": "Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls." }, { "name": "externalUserId", @@ -5978,7 +9277,7 @@ ], "docs": { "description": [ - "The fieldMask should not include both the \"numberOfParticipants\" and \"participantsInfo\" paths, doing so will result\nin an error. \"participantsInfo\" should be preferred over \"numberOfParticipants\"" + "The `fieldMask` should not include both the `numberOfParticipants` and `participantsInfo` paths. Including both results\nin an error. `participantsInfo` is preferred over `numberOfParticipants`." ] } }, @@ -6012,7 +9311,7 @@ "nativeType": "Object" } ], - "doc": "" + "doc": "Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured." } ], "docs": { @@ -6031,7 +9330,7 @@ "nativeType": "string" } ], - "doc": "entity_id" + "doc": "ID of the entity to update." }, { "name": "namespace", @@ -6040,7 +9339,7 @@ "nativeType": "string" } ], - "doc": "" + "doc": "Identifier for the app whose extended fields are being updated." }, { "name": "namespaceData", @@ -6049,7 +9348,7 @@ "nativeType": "Object" } ], - "doc": "" + "doc": "Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured." } ], "docs": { @@ -6069,7 +9368,7 @@ "nativeType": "string" } ], - "doc": "" + "doc": "Identifier for the app whose extended field data was updated." }, { "name": "namespaceData", @@ -6079,7 +9378,7 @@ "nativeType": "Object" } ], - "doc": "only data from UpdateExtendedFieldsRequest namespace_data" + "doc": "Updated data." } ], "docs": { @@ -6296,7 +9595,7 @@ "nativeType": "boolean" } ], - "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n\n\n" + "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n" }, { "name": "withRefund", @@ -6744,7 +10043,7 @@ "nativeType": "boolean" } ], - "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n\n\n" + "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n" }, { "name": "skipAvailabilityValidation", @@ -6813,7 +10112,7 @@ "nativeType": "string" } ], - "doc": "The end time of this Slot (formatted according to RFC3339). Required." + "doc": "The end time of this Slot (formatted according to RFC3339)." }, { "name": "location", @@ -6833,7 +10132,7 @@ "referenceType": "wix-bookings-v2.Bookings.SlotSlotResource" } ], - "doc": "The resource required for this slot. Currently, in Bookings, this is the relevant staff. Required." + "doc": "The resource required for this slot.\nWhen populated, the given resource will be assigned to the slot upon confirmation according to it's availability.\nWhen empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\notherwise one of the service resources will be assigned to the slot randomly upon confirmation." }, { "name": "scheduleId", @@ -6863,7 +10162,7 @@ "nativeType": "string" } ], - "doc": "Identifier for underlying session when session is a single session or generated from a recurring session. Required." + "doc": "Identifier for underlying session when session is a single session or generated from a recurring session." }, { "name": "startDate", @@ -6873,7 +10172,7 @@ "nativeType": "string" } ], - "doc": "The start time of this Slot (formatted according to RFC3339). Required." + "doc": "The start time of this Slot (formatted according to RFC3339)." }, { "name": "timezone", @@ -6999,6 +10298,130 @@ "" ] } + }, + { + "name": "WebhooksIdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "identityType", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfWebhooksIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "WebhooksIdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } } ] } diff --git a/wix-bookings-v2/wix-bookings-v2/Categories.service.json b/wix-bookings-v2/wix-bookings-v2/Categories.service.json new file mode 100644 index 0000000000..110544d728 --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/Categories.service.json @@ -0,0 +1,802 @@ +{ + "name": "Categories", + "memberOf": "wix-bookings-v2", + "mixes": [], + "callbacks": [], + "extra": {}, + "clientId": "wix-bookings.v2-category", + "docs": {}, + "relatedGuides": [], + "properties": [], + "operations": [ + { + "name": "create", + "params": [ + { + "name": "category", + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ], + "doc": "Category information.", + "required": true + } + ], + "requiredFields": [ + "category", + "category.name" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.CreateCategoryResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Creates a new category.", + "description": [], + "examples": [ + { + "title": "create example", + "body": [ + "import { categories } from 'wix-bookings.v2';", + " ", + " async function create(category) {", + " try {", + " const result = await categories.create(category);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "create" + }, + { + "name": "delete", + "params": [ + { + "name": "_id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category ID.", + "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.DeleteOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [ + "_id" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.DeleteCategoryResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Deletes a category.", + "description": [], + "examples": [ + { + "title": "delete example", + "body": [ + "import { categories } from 'wix-bookings.v2';", + " ", + " async function delete(id, options) {", + " try {", + " const result = await categories.delete(id, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "delete" + }, + { + "name": "list", + "params": [], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.ListCategoryResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Lists all categories.", + "description": [ + "> **Permissions**\n> This endpoint requires the Read Bookings - Public Data or the Read Bookings - Including Participants permissions scope" + ], + "examples": [ + { + "title": "list example", + "body": [ + "import { categories } from 'wix-bookings.v2';", + " ", + " async function list(options) {", + " try {", + " const result = await categories.list(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "list" + }, + { + "name": "update", + "params": [ + { + "name": "_id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category ID. Read-only.", + "required": true + }, + { + "name": "category", + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.UpdateCategory" + } + ], + "doc": "", + "required": true + } + ], + "requiredFields": [ + "_id", + "category" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.UpdateCategoryResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Updates an existing category.", + "description": [], + "examples": [ + { + "title": "update example", + "body": [ + "import { categories } from 'wix-bookings.v2';", + " ", + " async function update(id, category) {", + " try {", + " const result = await categories.update(id, category);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "update" + } + ], + "messages": [ + { + "name": "BatchCreateCategoryRequest", + "members": [ + { + "name": "categories", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ] + } + } + ], + "doc": "Category information." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchCreateCategoryResponse", + "members": [ + { + "name": "categories", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ] + } + } + ], + "doc": "Category information." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchCreateOptions", + "members": [ + { + "name": "categories", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ] + } + } + ], + "doc": "Category information." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchDeleteCategoryRequest", + "members": [ + { + "name": "ids", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Category ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchDeleteCategoryResponse", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchUpdateCategoryRequest", + "members": [ + { + "name": "categories", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ] + } + } + ], + "doc": "List of categories to be updated." + }, + { + "name": "fieldMask", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Field mask of fields to update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchUpdateCategoryResponse", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BatchUpdateOptions", + "members": [ + { + "name": "categories", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ] + } + } + ], + "doc": "List of categories to be updated." + }, + { + "name": "fieldMask", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Field mask of fields to update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Category", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category ID. Read-only." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category name." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category status Read-only." + } + ], + "docs": { + "description": [ + "Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI." + ] + } + }, + { + "name": "CategoryNotification", + "members": [ + { + "name": "category", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ], + "doc": "" + }, + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'Created'`\n- `'Deleted'`\n- `'Updated'`" + } + ], + "docs": { + "description": [ + "An event sent every time a category entity is changed." + ] + } + }, + { + "name": "CreateCategoryRequest", + "members": [ + { + "name": "category", + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ], + "doc": "Category information." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CreateCategoryResponse", + "members": [ + { + "name": "category", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ], + "doc": "Category information." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DeleteCategoryRequest", + "members": [ + { + "name": "_id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category ID." + }, + { + "name": "deleteServices", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Cascade delete all the services in this category. Defaults to false (when false, the services will still exist but will not be accessible in the Wix Business Manager)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DeleteCategoryResponse", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Deleted Category ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DeleteOptions", + "members": [ + { + "name": "deleteServices", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Cascade delete all the services in this category. Defaults to false (when false, the services will still exist but will not be accessible in the Wix Business Manager)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListCategoryRequest", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListCategoryResponse", + "members": [ + { + "name": "categories", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ] + } + } + ], + "doc": "Category information." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListOptions", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "UpdateCategory", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category ID. Read-only." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category name." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category status Read-only." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "UpdateCategoryRequest", + "members": [ + { + "name": "category", + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "UpdateCategoryResponse", + "members": [ + { + "name": "category", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Categories.Category" + } + ], + "doc": "The updated category." + } + ], + "docs": { + "description": [ + "" + ] + } + } + ] +} diff --git a/wix-bookings-v2/wix-bookings-v2/Events.service.json b/wix-bookings-v2/wix-bookings-v2/Events.service.json index bee35e4362..43d0669bf8 100644 --- a/wix-bookings-v2/wix-bookings-v2/Events.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Events.service.json @@ -20,7 +20,7 @@ "displayName": "BookingCanceledEvent" } ], - "doc": "", + "doc": "Information about the booking that was canceled and metadata for the event.\n", "required": false } ], @@ -34,14 +34,16 @@ "doc": null }, "docs": { - "summary": "Triggered when a booking is canceled.", - "description": [], + "summary": "An event that's triggered when a booking is canceled.", + "description": [ + "The `onBookingCanceled()` event handler runs when a booking is canceled. The received `BookingCanceledEvent` object contains information about the booking that was canceled and metadata for the event.\n\n> **Note:** Backend events don't work when previewing your site." + ], "examples": [ { "title": "onBookingCanceled example", "body": [ "", - " export function wixBookings_onBookingCanceled(event) {", + " export function wixBookingsV2_onBookingCanceled(event) {", " const eventId = event.metadata.id", " const entityId = event.data.booking._id;", " }", @@ -57,7 +59,7 @@ "id": "maturity-beta" } ], - "syntaxName": "wixBookings_onBookingCanceled" + "syntaxName": "wixBookingsV2_onBookingCanceled" }, { "name": "onBookingConfirmed", @@ -70,7 +72,7 @@ "displayName": "BookingConfirmedEvent" } ], - "doc": "", + "doc": "Information about the booking that was confirmed and metadata for the event.\n", "required": false } ], @@ -84,14 +86,16 @@ "doc": null }, "docs": { - "summary": "Triggered when a booking is confirmed.", - "description": [], + "summary": "An event that's triggered when a booking is confirmed.", + "description": [ + "The `onBookingConfirmed()` event handler runs when a booking is confirmed. The received `BookingConfirmedEvent` object contains information about the booking that was confirmed and metadata for the event.\n\n> **Note:** Backend events don't work when previewing your site." + ], "examples": [ { "title": "onBookingConfirmed example", "body": [ "", - " export function wixBookings_onBookingConfirmed(event) {", + " export function wixBookingsV2_onBookingConfirmed(event) {", " const eventId = event.metadata.id", " const entityId = event.data.booking._id;", " }", @@ -107,7 +111,7 @@ "id": "maturity-beta" } ], - "syntaxName": "wixBookings_onBookingConfirmed" + "syntaxName": "wixBookingsV2_onBookingConfirmed" }, { "name": "onBookingCreated", @@ -120,7 +124,7 @@ "displayName": "BookingCreated" } ], - "doc": "", + "doc": "Information about the booking that was created and metadata for the event.\n", "required": false } ], @@ -134,8 +138,10 @@ "doc": null }, "docs": { - "summary": "Triggered when a booking is created.", - "description": [], + "summary": "An event that's triggered when a booking is created.", + "description": [ + "The `onBookingCreated()` event handler runs when a booking is created. The received `BookingCreatedEvent` object contains information about the booking that was created and metadata for the event.\n\n> **Note:** Backend events don't work when previewing your site." + ], "examples": [ { "title": "onBookingCreated example", @@ -170,7 +176,7 @@ "displayName": "BookingDeclinedEvent" } ], - "doc": "", + "doc": "Information about the booking that was declined and metadata for the event.\n", "required": false } ], @@ -184,14 +190,16 @@ "doc": null }, "docs": { - "summary": "Triggered when a booking is declined.", - "description": [], + "summary": "An event that's triggered when a booking is declined.", + "description": [ + "The `onBookingDeclined()` event handler runs when a booking is declined. The received `BookingDeclinedEvent` object contains information about the booking that was declined and metadata for the event.\n\n> **Note:** Backend events don't work when previewing your site." + ], "examples": [ { "title": "onBookingDeclined example", "body": [ "", - " export function wixBookings_onBookingDeclined(event) {", + " export function wixBookingsV2_onBookingDeclined(event) {", " const eventId = event.metadata.id", " const entityId = event.data.booking._id;", " }", @@ -207,7 +215,7 @@ "id": "maturity-beta" } ], - "syntaxName": "wixBookings_onBookingDeclined" + "syntaxName": "wixBookingsV2_onBookingDeclined" }, { "name": "onBookingNumberOfParticipantsUpdated", @@ -220,7 +228,7 @@ "displayName": "BookingNumberOfParticipantsUpdated" } ], - "doc": "", + "doc": "Information about the booking whose number of participants was updated and metadata for the event.\n", "required": false } ], @@ -234,8 +242,10 @@ "doc": null }, "docs": { - "summary": "Triggered when the number of participants is updated.", - "description": [], + "summary": "An event that's triggered when the number of participants for a booking is updated.", + "description": [ + "The `onBookingNumberOfParticipantsUpdated()` event handler runs when the number of participants for a booking is updated. The received `BookingNumberOfParticipantsUpdatedEvent` object contains information about the booking whose number of participants were updated and metadata for the event.\n\n> **Note:** Backend events don't work when previewing your site." + ], "examples": [ { "title": "onBookingNumberOfParticipantsUpdated example", @@ -270,7 +280,7 @@ "displayName": "BookingRescheduledEvent" } ], - "doc": "", + "doc": "Information about the booking that was rescheduled and metadata for the event.\n", "required": false } ], @@ -284,8 +294,10 @@ "doc": null }, "docs": { - "summary": "Triggered when a booking is rescheduled.", - "description": [], + "summary": "An event that's triggered when a booking is rescheduled.", + "description": [ + "The `onBookingRescheduled()` event handler runs when a booking is rescheduled. The received `BookingRescheduledEvent` object contains information about the booking that was rescheduled and metadata for the event.\n\n> **Note:** Backend events don't work when previewing your site." + ], "examples": [ { "title": "onBookingRescheduled example", @@ -309,6 +321,153 @@ ], "syntaxName": "wixBookings_onBookingRescheduled" }, + { + "name": "onBookingUpdated", + "params": [ + { + "name": "event", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingUpdated", + "displayName": "BookingUpdated" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "nativeType": "void" + } + ], + "doc": null + }, + "docs": { + "description": [], + "examples": [ + { + "title": "onBookingUpdated example", + "body": [ + "", + " export function wixBookingsV2_onBookingUpdated(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", + "", + " " + ] + } + ] + }, + "isVeloEvent": true, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "wixBookingsV2_onBookingUpdated" + }, + { + "name": "onServiceCreated", + "params": [ + { + "name": "event", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceServiceCreated", + "displayName": "ServiceCreated" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "nativeType": "void" + } + ], + "doc": null + }, + "docs": { + "description": [], + "examples": [ + { + "title": "onServiceCreated example", + "body": [ + "", + " export function wixBookingsServices_onServiceCreated(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", + "", + " " + ] + } + ] + }, + "isVeloEvent": true, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "wixBookingsServices_onServiceCreated" + }, + { + "name": "onServiceDeleted", + "params": [ + { + "name": "event", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceServiceDeleted", + "displayName": "ServiceDeleted" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "nativeType": "void" + } + ], + "doc": null + }, + "docs": { + "description": [], + "examples": [ + { + "title": "onServiceDeleted example", + "body": [ + "", + " export function wixBookingsServices_onServiceDeleted(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", + "", + " " + ] + } + ] + }, + "isVeloEvent": true, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "wixBookingsServices_onServiceDeleted" + }, { "name": "onServiceOptionsAndVariantsCreated", "params": [ @@ -334,7 +493,7 @@ "doc": null }, "docs": { - "summary": "Triggered when a `serviceOptionsAndVariants` object is created.", + "summary": "Triggered when a `serviceOptionsAndVariants` object is created by cloning from the source object.", "description": [], "examples": [ { @@ -458,54 +617,222 @@ } ], "syntaxName": "wixBookingsCatalog_onServiceOptionsAndVariantsUpdated" - } - ], - "messages": [ + }, { - "name": "bookingsCalendarV2SessionViewAddress", - "members": [ + "name": "onServiceUpdated", + "params": [ { - "name": "addressLine", - "optional": true, + "name": "event", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceServiceUpdated", + "displayName": "ServiceUpdated" } ], - "doc": "Main address line, usually street and number, as free text." - }, + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "nativeType": "void" + } + ], + "doc": null + }, + "docs": { + "description": [], + "examples": [ + { + "title": "onServiceUpdated example", + "body": [ + "", + " export function wixBookingsServices_onServiceUpdated(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", + "", + " " + ] + } + ] + }, + "isVeloEvent": true, + "customLabels": [ { - "name": "addressLine2", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." - }, + "id": "maturity-beta" + } + ], + "syntaxName": "wixBookingsServices_onServiceUpdated" + }, + { + "name": "onSessionViewExtended", + "params": [ { - "name": "city", - "optional": true, + "name": "event", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionViewExtendedEvent", + "displayName": "SessionViewExtendedEvent" } ], - "doc": "City name." - }, + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "nativeType": "void" + } + ], + "doc": null + }, + "docs": { + "description": [], + "examples": [ + { + "title": "Event that occurs when the session view is extended", + "body": [ + "export function wixBookingsCalendar_onSessionViewExtended(event) {", + " const {extendedSessionViewEndDate} = event.data", + " console.log('extendedSessionViewEndDate', extendedSessionViewEndDate)", + "}" + ] + } + ] + }, + "isVeloEvent": true, + "customLabels": [ { - "name": "country", - "optional": true, + "id": "maturity-beta" + } + ], + "syntaxName": "wixBookingsCalendar_onSessionViewExtended" + }, + { + "name": "onSessionViewUpdated", + "params": [ + { + "name": "event", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionViewUpdatedEvent", + "displayName": "SessionViewUpdatedEvent" } ], - "doc": "Country code." - }, - { - "name": "countryFullname", + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "nativeType": "void" + } + ], + "doc": null + }, + "docs": { + "description": [], + "examples": [ + { + "title": "Event that occurs when a session is added, updated or removed from the view", + "body": [ + "export function wixBookingsCalendar_onSessionViewUpdated(event) {", + " const sessionAddedOrUpdated = event.data.sessionAddedOrUpdated", + " if (sessionAddedOrUpdated) {", + " console.log('sessionAddedOrUpdated', sessionAddedOrUpdated)", + " }", + "", + " const sessionRemoved = event.data.sessionRemoved", + " if (sessionRemoved) {", + " console.log('sessionRemoved', sessionRemoved)", + " }", + "}" + ] + } + ] + }, + "isVeloEvent": true, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "wixBookingsCalendar_onSessionViewUpdated" + } + ], + "messages": [ + { + "name": "bookingsCalendarV2SessionViewActionEvent", + "members": [ + { + "name": "bodyAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewAddress", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number, as free text." + }, + { + "name": "addressLine2", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." + }, + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Country code." + }, + { + "name": "countryFullname", "optional": true, "type": [ { @@ -1106,151 +1433,142 @@ } }, { - "name": "bookingsCalendarV2SessionViewEmpty", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewExtendSessionViewRequest", + "name": "bookingsCalendarV2SessionViewDomainEvent", "members": [ { - "name": "futureDurationInDays", + "name": "_id", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The number of days the view lasts into the future.\nMust be greater than the current value." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewExtendSessionViewResponse", - "members": [ + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." + }, { - "name": "sessionView", + "name": "actionEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionView", - "displayName": "SessionView" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewActionEvent", + "displayName": "ActionEvent" } ], - "doc": "The updated sessions view." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewExternalCalendarInfo", - "members": [ + "doc": "" + }, { - "name": "calendarType", + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewEntityCreatedEvent", + "displayName": "EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewEntityDeletedEvent", + "displayName": "EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewExternalCalendarOverrides", - "members": [ + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + }, { - "name": "description", + "name": "entityFqdn", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Synced description of the external calendar event." + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" }, { - "name": "title", + "name": "entityId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Synced title of the external calendar event." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewFeedEvent", - "members": [ + "doc": "ID of the entity associated with the event." + }, { - "name": "sessionAddedOrUpdated", + "name": "eventTime", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", - "displayName": "SessionAddedOrUpdated" + "nativeType": "Date" } ], - "doc": "Session has been added or updated within the feed window." + "doc": "Event timestamp." }, { - "name": "sessionRemoved", + "name": "originatedFrom", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", - "displayName": "SessionRemoved" + "nativeType": "string" } ], - "doc": "Session has been removed from the feed." + "doc": "If present, indicates the action that triggered the event." }, { - "name": "windowExtended", + "name": "slug", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewWindowExtended", - "displayName": "WindowExtended" + "nativeType": "string" } ], - "doc": "The feed window has been extended." + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" + } + ], + "doc": "" } ], "extra": { "oneOfGroups": [ { - "name": "oneOfFeedEventTypeOneOf", + "name": "oneOfDomainEventBodyOneOf", "members": [ - "sessionAddedOrUpdated", - "sessionRemoved", - "windowExtended", - "windowMoved" + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" ] } ] @@ -1262,40 +1580,51 @@ } }, { - "name": "bookingsCalendarV2SessionViewFeedEventTypeOneOf", + "name": "bookingsCalendarV2SessionViewDomainEventBodyOneOf", "members": [ { - "name": "sessionAddedOrUpdated", + "name": "actionEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", - "displayName": "SessionAddedOrUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewActionEvent", + "displayName": "ActionEvent" } ], - "doc": "Session has been added or updated within the feed window." + "doc": "" }, { - "name": "sessionRemoved", + "name": "createdEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", - "displayName": "SessionRemoved" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewEntityCreatedEvent", + "displayName": "EntityCreatedEvent" } ], - "doc": "Session has been removed from the feed." + "doc": "" }, { - "name": "windowExtended", + "name": "deletedEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewWindowExtended", - "displayName": "WindowExtended" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewEntityDeletedEvent", + "displayName": "EntityDeletedEvent" } ], - "doc": "The feed window has been extended." + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" + } + ], + "doc": "" } ], "docs": { @@ -1305,21 +1634,19 @@ } }, { - "name": "bookingsCalendarV2SessionViewFeedReplayEvent", + "name": "bookingsCalendarV2SessionViewEmpty", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewEntityCreatedEvent", "members": [ { - "name": "replayCompleted", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReplayCompleted", - "displayName": "ReplayCompleted" - } - ], - "doc": "Sessions replay completed." - }, - { - "name": "replayId", + "name": "entityAsJson", "optional": true, "type": [ { @@ -1327,30 +1654,8 @@ } ], "doc": "" - }, - { - "name": "sessionAdded", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAdded", - "displayName": "SessionAdded" - } - ], - "doc": "Session has been added within the feed window." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfFeedReplayEventTypeOneOf", - "members": [ - "replayCompleted", - "sessionAdded" - ] - } - ] - }, "docs": { "description": [ "" @@ -1358,29 +1663,17 @@ } }, { - "name": "bookingsCalendarV2SessionViewFeedReplayEventTypeOneOf", + "name": "bookingsCalendarV2SessionViewEntityDeletedEvent", "members": [ { - "name": "replayCompleted", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReplayCompleted", - "displayName": "ReplayCompleted" - } - ], - "doc": "Sessions replay completed." - }, - { - "name": "sessionAdded", + "name": "deletedEntityAsJson", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAdded", - "displayName": "SessionAdded" + "nativeType": "string" } ], - "doc": "Session has been added within the feed window." + "doc": "Entity that was deleted" } ], "docs": { @@ -1390,17 +1683,17 @@ } }, { - "name": "bookingsCalendarV2SessionViewFrequency", + "name": "bookingsCalendarV2SessionViewEntityUpdatedEvent", "members": [ { - "name": "repetition", + "name": "currentEntityAsJson", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." } ], "docs": { @@ -1410,8 +1703,19 @@ } }, { - "name": "bookingsCalendarV2SessionViewGetSessionViewRequest", - "members": [], + "name": "bookingsCalendarV2SessionViewExtendSessionViewRequest", + "members": [ + { + "name": "futureDurationInDays", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of days the view lasts into the future.\nMust be greater than the current value." + } + ], "docs": { "description": [ "" @@ -1419,7 +1723,7 @@ } }, { - "name": "bookingsCalendarV2SessionViewGetSessionViewResponse", + "name": "bookingsCalendarV2SessionViewExtendSessionViewResponse", "members": [ { "name": "sessionView", @@ -1430,7 +1734,7 @@ "displayName": "SessionView" } ], - "doc": "The sessions view." + "doc": "The updated sessions view." } ], "docs": { @@ -1440,47 +1744,47 @@ } }, { - "name": "bookingsCalendarV2SessionViewInterval", + "name": "bookingsCalendarV2SessionViewExternalCalendarInfo", "members": [ { - "name": "daysOfWeek", + "name": "calendarType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." - }, - { - "name": "duration", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400." - }, + "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewExternalCalendarOverrides", + "members": [ { - "name": "hourOfDay", + "name": "description", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." + "doc": "Synced description of the external calendar event." }, { - "name": "minuteOfHour", + "name": "title", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." + "doc": "Synced title of the external calendar event." } ], "docs": { @@ -1490,57 +1794,55 @@ } }, { - "name": "bookingsCalendarV2SessionViewIntervalSplit", + "name": "bookingsCalendarV2SessionViewFeedEvent", "members": [ { - "name": "intervals", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringInterval", - "displayName": "RecurringInterval" - } - ] - } - } - ], - "doc": "" - }, - { - "name": "newScheduleVersion", + "name": "sessionAddedOrUpdated", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", + "displayName": "SessionAddedOrUpdated" } ], - "doc": "" + "doc": "Session has been added or updated within the feed window." }, { - "name": "oldScheduleVersion", + "name": "sessionRemoved", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", + "displayName": "SessionRemoved" } ], - "doc": "" + "doc": "Session has been removed from the feed." }, { - "name": "scheduleId", + "name": "windowExtended", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewWindowExtended", + "displayName": "WindowExtended" } ], - "doc": "" + "doc": "The feed window has been extended." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfFeedEventTypeOneOf", + "members": [ + "sessionAddedOrUpdated", + "sessionRemoved", + "windowExtended", + "windowMoved" + ] + } + ] + }, "docs": { "description": [ "" @@ -1548,38 +1850,40 @@ } }, { - "name": "bookingsCalendarV2SessionViewLinkedSchedule", + "name": "bookingsCalendarV2SessionViewFeedEventTypeOneOf", "members": [ { - "name": "scheduleId", + "name": "sessionAddedOrUpdated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", + "displayName": "SessionAddedOrUpdated" } ], - "doc": "Schedule ID." + "doc": "Session has been added or updated within the feed window." }, { - "name": "scheduleOwnerId", - "readOnly": true, + "name": "sessionRemoved", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", + "displayName": "SessionRemoved" } ], - "doc": "Owner ID, of the linked schedule." + "doc": "Session has been removed from the feed." }, { - "name": "transparency", + "name": "windowExtended", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewWindowExtended", + "displayName": "WindowExtended" } ], - "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + "doc": "The feed window has been extended." } ], "docs": { @@ -1589,59 +1893,52 @@ } }, { - "name": "bookingsCalendarV2SessionViewLocalDateTime", + "name": "bookingsCalendarV2SessionViewFeedReplayEvent", "members": [ { - "name": "dayOfMonth", + "name": "replayCompleted", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReplayCompleted", + "displayName": "ReplayCompleted" } ], - "doc": "Day of the month, from 1-31." + "doc": "Sessions replay completed." }, { - "name": "hourOfDay", + "name": "replayId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Hour of the day in 24-hour format, from 0-23." + "doc": "" }, { - "name": "minutesOfHour", + "name": "sessionAdded", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAdded", + "displayName": "SessionAdded" } ], - "doc": "Minute, from 0-59." - }, - { - "name": "monthOfYear", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Month number, from 1-12." - }, - { - "name": "year", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Year. 4-digit format." + "doc": "Session has been added within the feed window." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfFeedReplayEventTypeOneOf", + "members": [ + "replayCompleted", + "sessionAdded" + ] + } + ] + }, "docs": { "description": [ "" @@ -1649,38 +1946,49 @@ } }, { - "name": "bookingsCalendarV2SessionViewLocation", + "name": "bookingsCalendarV2SessionViewFeedReplayEventTypeOneOf", "members": [ { - "name": "address", + "name": "replayCompleted", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReplayCompleted", + "displayName": "ReplayCompleted" } ], - "doc": "Free text address used when locationType is `OWNER_CUSTOM`." + "doc": "Sessions replay completed." }, { - "name": "customAddress", + "name": "sessionAdded", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAddress", - "displayName": "Address" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAdded", + "displayName": "SessionAdded" } ], - "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." - }, + "doc": "Session has been added within the feed window." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewFrequency", + "members": [ { - "name": "locationType", + "name": "repetition", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." } ], "docs": { @@ -1690,58 +1998,77 @@ } }, { - "name": "bookingsCalendarV2SessionViewLocationsAddress", + "name": "bookingsCalendarV2SessionViewGetSessionViewRequest", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewGetSessionViewResponse", "members": [ { - "name": "city", + "name": "sessionView", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionView", + "displayName": "SessionView" } ], - "doc": "City name." - }, + "doc": "The sessions view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewInterval", + "members": [ { - "name": "country", + "name": "daysOfWeek", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." }, { - "name": "postalCode", + "name": "duration", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Postal or zip code." + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." }, { - "name": "streetAddress", + "name": "hourOfDay", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocationsStreetAddress", - "displayName": "LocationsStreetAddress" + "nativeType": "number" } ], - "doc": "Street address. Includes street name, number, and apartment number in separate fields." + "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." }, { - "name": "subdivision", + "name": "minuteOfHour", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." + "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." } ], "docs": { @@ -1751,260 +2078,279 @@ } }, { - "name": "bookingsCalendarV2SessionViewLocationsAddressLocation", + "name": "bookingsCalendarV2SessionViewIntervalSplit", "members": [ { - "name": "latitude", + "name": "intervals", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringInterval", + "displayName": "RecurringInterval" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "newScheduleVersion", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Latitude of the location. Must be between -90 and 90." + "doc": "" }, { - "name": "longitude", + "name": "oldScheduleVersion", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Longitude of the location. Must be between -180 and 180." + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" } ], "docs": { "description": [ - "Address Geolocation" + "" ] } }, { - "name": "bookingsCalendarV2SessionViewLocationsLocation", + "name": "bookingsCalendarV2SessionViewLinkedSchedule", "members": [ { - "name": "_id", - "readOnly": true, + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location ID." - }, - { - "name": "address", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocationsAddress", - "displayName": "LocationsAddress" - } - ], - "doc": "Address." + "doc": "Schedule ID." }, { - "name": "archived", + "name": "scheduleOwnerId", "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." + "doc": "Owner ID, of the linked schedule." }, { - "name": "businessSchedule", + "name": "transparency", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewBusinessSchedule", - "displayName": "BusinessSchedule" + "nativeType": "string" } ], - "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" - }, + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewLocalDateTime", + "members": [ { - "name": "default", - "readOnly": true, + "name": "dayOfMonth", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + "doc": "Day of the month, from 1-31." }, { - "name": "description", + "name": "hourOfDay", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Location description." + "doc": "Hour of the day in 24-hour format, from 0-23." }, { - "name": "email", + "name": "minutesOfHour", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Email address." + "doc": "Minute, from 0-59." }, { - "name": "fax", + "name": "monthOfYear", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Fax number." + "doc": "Month number, from 1-12." }, { - "name": "locationType", + "name": "year", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Location type. **Note:** Currently not supported." - }, + "doc": "Year. 4-digit format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewLocation", + "members": [ { - "name": "name", + "name": "address", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location name." + "doc": "Free text address used when locationType is `OWNER_CUSTOM`." }, { - "name": "phone", + "name": "customAddress", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAddress", + "displayName": "Address" } ], - "doc": "Phone number." + "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." }, { - "name": "revision", + "name": "locationType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." - }, - { - "name": "status", - "optional": true, + "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewLocationsAddress", + "members": [ + { + "name": "city", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location status. Defaults to `ACTIVE`.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status. `INACTIVE` is currently not supported." + "doc": "City name." }, { - "name": "timeZone", + "name": "country", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Timezone in `America/New_York` format." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewLocationsStreetAddress", - "members": [ + "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, { - "name": "apt", + "name": "formatted", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Apartment number." + "doc": "Full address of the location." }, { - "name": "name", + "name": "location", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocationsAddressLocation", + "displayName": "LocationsAddressLocation" } ], - "doc": "Street name." + "doc": "Geographic coordinates of location." }, { - "name": "number", + "name": "postalCode", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Street number." - } - ], - "docs": { - "description": [ - "Street address. Includes street name, number, and apartment number in separate fields." - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewMigrationData", - "members": [ + "doc": "Postal or zip code." + }, { - "name": "businessId", + "name": "streetAddress", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocationsStreetAddress", + "displayName": "LocationsStreetAddress" } ], - "doc": "" + "doc": "Street address. Includes street name, number, and apartment number in separate fields." }, { - "name": "staffs", + "name": "subdivision", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewStaffData", - "displayName": "StaffData" - } - ] - } + "nativeType": "string" } ], - "doc": "" + "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." } ], "docs": { @@ -2014,99 +2360,84 @@ } }, { - "name": "bookingsCalendarV2SessionViewMigrationEvent", + "name": "bookingsCalendarV2SessionViewLocationsAddressLocation", "members": [ { - "name": "migrationData", + "name": "latitude", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewMigrationData", - "displayName": "MigrationData" + "nativeType": "number" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewMultipleSessionsCreated", - "members": [ + "doc": "Latitude of the location. Must be between -90 and 90." + }, { - "name": "schedulesWithSessions", + "name": "longitude", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleWithSessions", - "displayName": "ScheduleWithSessions" - } - ] - } + "nativeType": "number" } ], - "doc": "" + "doc": "Longitude of the location. Must be between -180 and 180." } ], "docs": { "description": [ - "" + "Address Geolocation" ] } }, { - "name": "bookingsCalendarV2SessionViewParticipant", + "name": "bookingsCalendarV2SessionViewLocationsLocation", "members": [ { "name": "_id", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Participant ID. Currently represents the booking.id." + "doc": "Location ID." }, { - "name": "approvalStatus", + "name": "address", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocationsAddress", + "displayName": "LocationsAddress" } ], - "doc": "Approval status for the participant.\n\n" + "doc": "Address." }, { - "name": "contactId", + "name": "archived", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Contact ID." + "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." }, { - "name": "email", + "name": "businessSchedule", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewBusinessSchedule", + "displayName": "BusinessSchedule" } ], - "doc": "Participant's email address." + "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" }, { - "name": "inherited", + "name": "default", "readOnly": true, "optional": true, "type": [ @@ -2114,148 +2445,114 @@ "nativeType": "boolean" } ], - "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." }, { - "name": "name", + "name": "description", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Participant's name." + "doc": "Location description." }, { - "name": "partySize", + "name": "email", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + "doc": "Email address." }, { - "name": "phone", + "name": "fax", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Participant's phone number." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewParticipantNotification", - "members": [ + "doc": "Fax number." + }, { - "name": "message", + "name": "locationType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Custom message to send to the participants about the changes to the booking." + "doc": "Location type.\n\n**Note:** Currently not supported.\n" }, { - "name": "notifyParticipants", + "name": "locationTypes", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewPrice", - "members": [ + "doc": "Location types." + }, { - "name": "amount", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Required payment amount." + "doc": "Location name." }, { - "name": "currency", + "name": "phone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Currency in which the amount is quoted." + "doc": "Phone number." }, { - "name": "downPayAmount", + "name": "revision", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Amount of a down payment or deposit as part of the transaction." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewRate", - "members": [ + "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." + }, { - "name": "labeledPriceOptions", + "name": "status", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewPrice", - "displayName": "Price" - } - ] - } + "nativeType": "string" } ], - "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + "doc": "Location status. Defaults to `ACTIVE`.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status. `INACTIVE` is currently not supported." }, { - "name": "priceText", + "name": "timeZone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + "doc": "Timezone in `America/New_York` format." } ], "docs": { @@ -2265,121 +2562,60 @@ } }, { - "name": "bookingsCalendarV2SessionViewRecurringInterval", + "name": "bookingsCalendarV2SessionViewLocationsStreetAddress", "members": [ { - "name": "_id", - "readOnly": true, + "name": "apt", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The recurring interval identifier." + "doc": "Apartment number." }, { - "name": "affectedSchedules", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLinkedSchedule", - "displayName": "LinkedSchedule" - } - ] - } - } - ], - "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." - }, - { - "name": "end", - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." - }, - { - "name": "frequency", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewFrequency", - "displayName": "Frequency" - } - ], - "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." - }, - { - "name": "interval", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewInterval", - "displayName": "Interval" - } - ], - "doc": "The interval rules. The day, hour and minutes the interval is recurring." - }, - { - "name": "intervalType", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The type of recurring interval.\n" + "doc": "Street name." }, { - "name": "start", + "name": "number", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The start time of the recurring interval. Required." + "doc": "Street number." } ], "docs": { "description": [ - "" + "Street address. Includes street name, number, and apartment number in separate fields." ] } }, { - "name": "bookingsCalendarV2SessionViewRecurringSessionSplit", + "name": "bookingsCalendarV2SessionViewMigrationData", "members": [ { - "name": "newScheduleVersion", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "" - }, - { - "name": "oldScheduleVersion", + "name": "businessId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], "doc": "" }, { - "name": "recurringSessions", + "name": "staffs", "optional": true, "type": [ { @@ -2387,21 +2623,32 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewStaffData", + "displayName": "StaffData" } ] } } ], "doc": "" - }, + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewMigrationEvent", + "members": [ { - "name": "scheduleId", + "name": "migrationData", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewMigrationData", + "displayName": "MigrationData" } ], "doc": "" @@ -2414,28 +2661,10 @@ } }, { - "name": "bookingsCalendarV2SessionViewRecurringSessionsUpdated", + "name": "bookingsCalendarV2SessionViewMultipleSessionsCreated", "members": [ { - "name": "newRecurringSessions", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" - } - ] - } - } - ], - "doc": "New schedule's recurring session list." - }, - { - "name": "oldRecurringSessions", + "name": "schedulesWithSessions", "optional": true, "type": [ { @@ -2443,14 +2672,14 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleWithSessions", + "displayName": "ScheduleWithSessions" } ] } } ], - "doc": "Old schedule's recurring session list." + "doc": "" } ], "docs": { @@ -2460,106 +2689,88 @@ } }, { - "name": "bookingsCalendarV2SessionViewReplayCompleted", + "name": "bookingsCalendarV2SessionViewParticipant", "members": [ { - "name": "totalSessions", + "name": "_id", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The (minimum) number of sessions that were replayed." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewReplayRequest", - "members": [ + "doc": "Participant ID. Currently represents the booking.id." + }, { - "name": "affectedScheduleId", + "name": "approvalStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Filter by either `session.schedule_id` or `session.affectedSchedules[*].scheduleId`. Optional." + "doc": "Approval status for the participant.\n\n" }, { - "name": "from", + "name": "contactId", + "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The date to replay sessions from. Required." + "doc": "Contact ID." }, { - "name": "replayId", + "name": "email", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The replay id. Required." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewReplayResponse", - "members": [ + "doc": "Participant's email address." + }, { - "name": "window", + "name": "inherited", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewWindow", - "displayName": "Window" + "nativeType": "boolean" } ], - "doc": "The feed window." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewReschedule", - "members": [ + "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + }, { - "name": "executeAt", + "name": "name", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "" + "doc": "Participant's name." }, { - "name": "payload", + "name": "partySize", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + }, + { + "name": "phone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Participant's phone number." } ], "docs": { @@ -2569,133 +2780,132 @@ } }, { - "name": "bookingsCalendarV2SessionViewSchedule", + "name": "bookingsCalendarV2SessionViewParticipantNotification", "members": [ { - "name": "_id", + "name": "message", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Schedule ID." + "doc": "Custom message to send to the participants about the changes to the booking." }, { - "name": "availability", + "name": "notifyParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAvailability", - "displayName": "Availability" + "nativeType": "boolean" } ], - "doc": "Deprecated and will be removed soon." - }, + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewPrice", + "members": [ { - "name": "calendarConference", + "name": "amount", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarConference", - "displayName": "CalendarConference" + "nativeType": "string" } ], - "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + "doc": "Required payment amount." }, { - "name": "capacity", + "name": "currency", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." + "doc": "Currency in which the amount is quoted." }, { - "name": "conferenceProvider", + "name": "downPayAmount", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewConferenceProvider", - "displayName": "ConferenceProvider" + "nativeType": "string" } ], - "doc": "Deprecated and will be removed soon." - }, - { - "name": "created", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Schedule creation date." - }, - { - "name": "externalCalendarOverrides", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewExternalCalendarOverrides", - "displayName": "ExternalCalendarOverrides" - } - ], - "doc": "Deprecated and will be removed soon." - }, + "doc": "Amount of a down payment or deposit as part of the transaction." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewRate", + "members": [ { - "name": "inheritedFields", - "readOnly": true, + "name": "labeledPriceOptions", "optional": true, "type": [ { "complexType": { - "nativeType": "Array", + "nativeType": "Record", "typeParams": [ { "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewPrice", + "displayName": "Price" } ] } } ], - "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." }, { - "name": "intervals", + "name": "priceText", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringInterval", - "displayName": "RecurringInterval" - } - ] - } + "nativeType": "string" } ], - "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." - }, + "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewRecurringInterval", + "members": [ { - "name": "location", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocation", - "displayName": "Location" + "nativeType": "string" } ], - "doc": "Default location for the schedule's sessions." + "doc": "The recurring interval identifier." }, { - "name": "participants", - "readOnly": true, + "name": "affectedSchedules", "optional": true, "type": [ { @@ -2703,117 +2913,124 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipant", - "displayName": "Participant" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLinkedSchedule", + "displayName": "LinkedSchedule" } ] } } ], - "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." }, { - "name": "rate", + "name": "end", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRate", - "displayName": "Rate" + "nativeType": "Date" } ], - "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." }, { - "name": "scheduleOwnerId", + "name": "frequency", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewFrequency", + "displayName": "Frequency" } ], - "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." + "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." }, { - "name": "status", - "readOnly": true, + "name": "interval", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewInterval", + "displayName": "Interval" } ], - "doc": "Schedule status." + "doc": "The interval rules. The day, hour and minutes the interval is recurring." }, { - "name": "tags", + "name": "intervalType", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + "doc": "The type of recurring interval.\n" }, { - "name": "timeZone", - "readOnly": true, + "name": "start", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." - }, + "doc": "The start time of the recurring interval. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewRecurringSessionSplit", + "members": [ { - "name": "title", + "name": "newScheduleVersion", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." + "doc": "" }, { - "name": "totalNumberOfParticipants", - "readOnly": true, + "name": "oldScheduleVersion", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." + "doc": "" }, { - "name": "updated", - "readOnly": true, + "name": "recurringSessions", "optional": true, "type": [ { - "nativeType": "Date" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" + } + ] + } } ], - "doc": "Schedule last update date." + "doc": "" }, { - "name": "version", - "readOnly": true, + "name": "scheduleId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Schedule version number, updated each time the schedule is updated." + "doc": "" } ], "docs": { @@ -2823,40 +3040,43 @@ } }, { - "name": "bookingsCalendarV2SessionViewScheduleCancelled", + "name": "bookingsCalendarV2SessionViewRecurringSessionsUpdated", "members": [ { - "name": "oldSchedule", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", - "displayName": "Schedule" - } - ], - "doc": "" - }, - { - "name": "participantNotification", + "name": "newRecurringSessions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", - "displayName": "ParticipantNotification" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" + } + ] + } } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "New schedule's recurring session list." }, { - "name": "schedule", + "name": "oldRecurringSessions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", - "displayName": "Schedule" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" + } + ] + } } ], - "doc": "" + "doc": "Old schedule's recurring session list." } ], "docs": { @@ -2866,18 +3086,17 @@ } }, { - "name": "bookingsCalendarV2SessionViewScheduleCreated", + "name": "bookingsCalendarV2SessionViewReplayCompleted", "members": [ { - "name": "schedule", + "name": "totalSessions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", - "displayName": "Schedule" + "nativeType": "number" } ], - "doc": "" + "doc": "The (minimum) number of sessions that were replayed." } ], "docs": { @@ -2887,343 +3106,340 @@ } }, { - "name": "bookingsCalendarV2SessionViewScheduleNotification", + "name": "bookingsCalendarV2SessionViewReplayRequest", "members": [ { - "name": "availabilityPolicyUpdated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAvailabilityPolicyUpdated", - "displayName": "AvailabilityPolicyUpdated" - } - ], - "doc": "" - }, - { - "name": "instanceId", + "name": "affectedScheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" - }, - { - "name": "intervalSplit", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewIntervalSplit", - "displayName": "IntervalSplit" - } - ], - "doc": "" + "doc": "Filter by either `session.schedule_id` or `session.affectedSchedules[*].scheduleId`. Optional." }, { - "name": "migrationEvent", - "optional": true, + "name": "from", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewMigrationEvent", - "displayName": "MigrationEvent" + "nativeType": "Date" } ], - "doc": "supported only for schedule migration apis." + "doc": "The date to replay sessions from. Required." }, { - "name": "multipleSessionsCreated", - "optional": true, + "name": "replayId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewMultipleSessionsCreated", - "displayName": "MultipleSessionsCreated" + "nativeType": "string" } ], - "doc": "supported only for schedule migration apis." - }, + "doc": "The replay id. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewReplayResponse", + "members": [ { - "name": "notifyParticipants", + "name": "window", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewWindow", + "displayName": "Window" } ], - "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" - }, + "doc": "The feed window." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewReschedule", + "members": [ { - "name": "preserveFutureSessionsWithParticipants", + "name": "executeAt", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "Date" } ], "doc": "" }, { - "name": "recurringSessionSplit", + "name": "payload", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringSessionSplit", - "displayName": "RecurringSessionSplit" + "nativeType": "string" } ], "doc": "" - }, + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSchedule", + "members": [ { - "name": "scheduleCancelled", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCancelled", - "displayName": "ScheduleCancelled" + "nativeType": "string" } ], - "doc": "" + "doc": "Schedule ID." }, { - "name": "scheduleCreated", + "name": "availability", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCreated", - "displayName": "ScheduleCreated" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAvailability", + "displayName": "Availability" } ], - "doc": "" + "doc": "__Deprecated.__" }, { - "name": "scheduleUnassignedFromUser", + "name": "calendarConference", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUnassignedFromUser", - "displayName": "ScheduleUnassignedFromUser" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarConference", + "displayName": "CalendarConference" } ], - "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { - "name": "scheduleUpdated", + "name": "capacity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUpdated", - "displayName": "ScheduleUpdated" + "nativeType": "number" } ], - "doc": "" + "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." }, { - "name": "sessionCancelled", + "name": "conferenceProvider", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCancelled", - "displayName": "SessionCancelled" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewConferenceProvider", + "displayName": "ConferenceProvider" } ], - "doc": "" + "doc": "__Deprecated.__" }, { - "name": "sessionCreated", + "name": "created", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCreated", - "displayName": "SessionCreated" + "nativeType": "Date" } ], - "doc": "" + "doc": "Schedule creation date." }, { - "name": "sessionUpdated", + "name": "externalCalendarOverrides", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionUpdated", - "displayName": "SessionUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewExternalCalendarOverrides", + "displayName": "ExternalCalendarOverrides" } ], - "doc": "" + "doc": "__Deprecated.__" }, { - "name": "siteProperties", + "name": "inheritedFields", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSitePropertiesOnScheduleCreation", - "displayName": "SitePropertiesOnScheduleCreation" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "site properties. Optional. Given in create schedule notification." - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfScheduleNotificationEventOneOf", - "members": [ - "availabilityPolicyUpdated", - "intervalSplit", - "migrationEvent", - "multipleSessionsCreated", - "recurringSessionSplit", - "scheduleCancelled", - "scheduleCreated", - "scheduleUnassignedFromUser", - "scheduleUpdated", - "sessionCancelled", - "sessionCreated", - "sessionUpdated" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewScheduleNotificationEventOneOf", - "members": [ + "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + }, { - "name": "availabilityPolicyUpdated", + "name": "intervals", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAvailabilityPolicyUpdated", - "displayName": "AvailabilityPolicyUpdated" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringInterval", + "displayName": "RecurringInterval" + } + ] + } } ], - "doc": "" + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." }, { - "name": "intervalSplit", + "name": "location", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewIntervalSplit", - "displayName": "IntervalSplit" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocation", + "displayName": "Location" } ], - "doc": "" + "doc": "Default location for the schedule's sessions." }, { - "name": "migrationEvent", + "name": "participants", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewMigrationEvent", - "displayName": "MigrationEvent" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipant", + "displayName": "Participant" + } + ] + } } ], - "doc": "supported only for schedule migration apis." + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { - "name": "multipleSessionsCreated", + "name": "rate", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewMultipleSessionsCreated", - "displayName": "MultipleSessionsCreated" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRate", + "displayName": "Rate" } ], - "doc": "supported only for schedule migration apis." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { - "name": "recurringSessionSplit", + "name": "scheduleOwnerId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringSessionSplit", - "displayName": "RecurringSessionSplit" + "nativeType": "string" } ], - "doc": "" + "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." }, { - "name": "scheduleCancelled", + "name": "status", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCancelled", - "displayName": "ScheduleCancelled" + "nativeType": "string" } ], - "doc": "" + "doc": "Schedule status." }, { - "name": "scheduleCreated", + "name": "tags", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCreated", - "displayName": "ScheduleCreated" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "" + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." }, { - "name": "scheduleUnassignedFromUser", + "name": "timeZone", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUnassignedFromUser", - "displayName": "ScheduleUnassignedFromUser" + "nativeType": "string" } ], - "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." }, { - "name": "scheduleUpdated", + "name": "title", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUpdated", - "displayName": "ScheduleUpdated" + "nativeType": "string" } ], - "doc": "" + "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." }, { - "name": "sessionCancelled", + "name": "totalNumberOfParticipants", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCancelled", - "displayName": "SessionCancelled" + "nativeType": "number" } ], - "doc": "" + "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." }, { - "name": "sessionCreated", + "name": "updated", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCreated", - "displayName": "SessionCreated" + "nativeType": "Date" } ], - "doc": "" + "doc": "Schedule last update date." }, { - "name": "sessionUpdated", + "name": "version", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionUpdated", - "displayName": "SessionUpdated" + "nativeType": "number" } ], - "doc": "" + "doc": "Schedule version number, updated each time the schedule is updated." } ], "docs": { @@ -3233,10 +3449,10 @@ } }, { - "name": "bookingsCalendarV2SessionViewScheduleUnassignedFromUser", + "name": "bookingsCalendarV2SessionViewScheduleCancelled", "members": [ { - "name": "schedule", + "name": "oldSchedule", "optional": true, "type": [ { @@ -3244,30 +3460,42 @@ "displayName": "Schedule" } ], - "doc": "The schedule that was unassigned from the user." + "doc": "" }, { - "name": "userId", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "The Wix user id." + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", + "displayName": "Schedule" + } + ], + "doc": "" } ], "docs": { "description": [ - "Schedule unassigned from user." + "" ] } }, { - "name": "bookingsCalendarV2SessionViewScheduleUpdated", + "name": "bookingsCalendarV2SessionViewScheduleCreated", "members": [ { - "name": "newSchedule", + "name": "schedule", "optional": true, "type": [ { @@ -3275,416 +3503,404 @@ "displayName": "Schedule" } ], - "doc": "The new schedule after the update." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewScheduleNotification", + "members": [ { - "name": "oldSchedule", + "name": "availabilityPolicyUpdated", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", - "displayName": "Schedule" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAvailabilityPolicyUpdated", + "displayName": "AvailabilityPolicyUpdated" } ], - "doc": "The old schedule before the update." + "doc": "" }, { - "name": "participantNotification", + "name": "instanceId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "" }, { - "name": "recurringSessions", + "name": "intervalSplit", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringSessionsUpdated", - "displayName": "RecurringSessionsUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewIntervalSplit", + "displayName": "IntervalSplit" } ], - "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." + "doc": "" }, { - "name": "triggeredByAnonymizeRequest", + "name": "notifyParticipants", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewScheduleWithSessions", - "members": [ + "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + }, { - "name": "schedule", + "name": "preserveFutureSessionsWithParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", - "displayName": "Schedule" + "nativeType": "boolean" } ], "doc": "" }, { - "name": "sessions", + "name": "recurringSessionSplit", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringSessionSplit", + "displayName": "RecurringSessionSplit" } ], "doc": "" }, { - "name": "siteProperties", + "name": "scheduleCancelled", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSitePropertiesOnScheduleCreation", - "displayName": "SitePropertiesOnScheduleCreation" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCancelled", + "displayName": "ScheduleCancelled" } ], "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSession", - "members": [ + }, { - "name": "_id", - "readOnly": true, + "name": "scheduleCreated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCreated", + "displayName": "ScheduleCreated" } ], - "doc": "Session ID." + "doc": "" }, { - "name": "affectedSchedules", + "name": "scheduleUnassignedFromUser", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLinkedSchedule", - "displayName": "LinkedSchedule" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUnassignedFromUser", + "displayName": "ScheduleUnassignedFromUser" } ], - "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." }, { - "name": "calendarConference", + "name": "scheduleUpdated", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarConference", - "displayName": "CalendarConference" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUpdated", + "displayName": "ScheduleUpdated" } ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + "doc": "" }, { - "name": "capacity", + "name": "sessionCancelled", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCancelled", + "displayName": "SessionCancelled" } ], - "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "" }, { - "name": "end", + "name": "sessionCreated", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarDateTime", - "displayName": "CalendarDateTime" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCreated", + "displayName": "SessionCreated" } ], - "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + "doc": "" }, { - "name": "externalCalendarOverrides", + "name": "sessionUpdated", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewExternalCalendarOverrides", - "displayName": "ExternalCalendarOverrides" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionUpdated", + "displayName": "SessionUpdated" } ], - "doc": "Deprecated and will be removed soon." + "doc": "" }, { - "name": "inheritedFields", - "readOnly": true, + "name": "siteProperties", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSitePropertiesOnScheduleCreation", + "displayName": "SitePropertiesOnScheduleCreation" } ], - "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." - }, + "doc": "site properties. Optional. Given in create schedule notification." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfScheduleNotificationEventOneOf", + "members": [ + "availabilityPolicyUpdated", + "intervalSplit", + "migrationEvent", + "multipleSessionsCreated", + "recurringSessionSplit", + "scheduleCancelled", + "scheduleCreated", + "scheduleUnassignedFromUser", + "scheduleUpdated", + "sessionCancelled", + "sessionCreated", + "sessionUpdated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewScheduleNotificationEventOneOf", + "members": [ { - "name": "instanceOfRecurrence", - "readOnly": true, + "name": "availabilityPolicyUpdated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewAvailabilityPolicyUpdated", + "displayName": "AvailabilityPolicyUpdated" } ], - "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." + "doc": "" }, { - "name": "location", + "name": "intervalSplit", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocation", - "displayName": "Location" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewIntervalSplit", + "displayName": "IntervalSplit" } ], - "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + "doc": "" }, { - "name": "notes", + "name": "recurringSessionSplit", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringSessionSplit", + "displayName": "RecurringSessionSplit" } ], - "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." + "doc": "" }, { - "name": "originalStart", + "name": "scheduleCancelled", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCancelled", + "displayName": "ScheduleCancelled" } ], - "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + "doc": "" }, { - "name": "participants", + "name": "scheduleCreated", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipant", - "displayName": "Participant" - } - ] - } - } - ], - "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." - }, - { - "name": "rate", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRate", - "displayName": "Rate" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleCreated", + "displayName": "ScheduleCreated" } ], - "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + "doc": "" }, { - "name": "recurrence", + "name": "scheduleUnassignedFromUser", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUnassignedFromUser", + "displayName": "ScheduleUnassignedFromUser" } ], - "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." }, { - "name": "recurringIntervalId", - "readOnly": true, + "name": "scheduleUpdated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewScheduleUpdated", + "displayName": "ScheduleUpdated" } ], - "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." + "doc": "" }, { - "name": "recurringSessionId", - "readOnly": true, + "name": "sessionCancelled", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCancelled", + "displayName": "SessionCancelled" } ], - "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." + "doc": "" }, { - "name": "scheduleId", + "name": "sessionCreated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionCreated", + "displayName": "SessionCreated" } ], - "doc": "ID of the schedule that the session belongs to." + "doc": "" }, { - "name": "scheduleOwnerId", - "readOnly": true, + "name": "sessionUpdated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionUpdated", + "displayName": "SessionUpdated" } ], - "doc": "ID of the resource or service that the session's schedule belongs to." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewScheduleUnassignedFromUser", + "members": [ { - "name": "start", + "name": "schedule", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarDateTime", - "displayName": "CalendarDateTime" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", + "displayName": "Schedule" } ], - "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." + "doc": "The schedule that was unassigned from the user." }, { - "name": "status", - "readOnly": true, + "name": "userId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session status.\n" - }, - { - "name": "tags", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." - }, + "doc": "The Wix user id." + } + ], + "docs": { + "description": [ + "Schedule unassigned from user." + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewScheduleUpdated", + "members": [ { - "name": "timeReservedAfter", + "name": "newSchedule", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", + "displayName": "Schedule" } ], - "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." + "doc": "The new schedule after the update." }, { - "name": "title", + "name": "oldSchedule", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", + "displayName": "Schedule" } ], - "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "The old schedule before the update." }, { - "name": "totalNumberOfParticipants", - "readOnly": true, + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." + "doc": "Whether to notify participants about the change and an optional custom message" }, { - "name": "type", + "name": "recurringSessions", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRecurringSessionsUpdated", + "displayName": "RecurringSessionsUpdated" } ], - "doc": "Session type.\n" + "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." }, { - "name": "version", - "readOnly": true, + "name": "triggeredByAnonymizeRequest", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionVersion", - "displayName": "SessionVersion" + "nativeType": "boolean" } ], - "doc": "The session version.\nComposed by the schedule, session and participants versions." + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" } ], "docs": { @@ -3694,50 +3910,47 @@ } }, { - "name": "bookingsCalendarV2SessionViewSessionAdded", + "name": "bookingsCalendarV2SessionViewScheduleWithSessions", "members": [ { - "name": "session", + "name": "schedule", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSchedule", + "displayName": "Schedule" } ], - "doc": "The session which was added within the feed window." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionAddedOrUpdated", - "members": [ + "doc": "" + }, { - "name": "previousSession", + "name": "sessions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" + } + ] + } } ], - "doc": "Optionally, the previous session." + "doc": "" }, { - "name": "session", + "name": "siteProperties", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSitePropertiesOnScheduleCreation", + "displayName": "SitePropertiesOnScheduleCreation" } ], - "doc": "The session which was added or updated within the view." + "doc": "" } ], "docs": { @@ -3747,471 +3960,366 @@ } }, { - "name": "bookingsCalendarV2SessionViewSessionCancelled", + "name": "bookingsCalendarV2SessionViewSession", "members": [ { - "name": "participantNotification", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Session ID." }, { - "name": "session", + "name": "affectedSchedules", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionCreated", - "members": [ + "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." + }, { - "name": "session", + "name": "calendarConference", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarConference", + "displayName": "CalendarConference" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionRemoved", - "members": [ + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, { - "name": "previousSession", + "name": "capacity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "nativeType": "number" } ], - "doc": "Optionally, the previous session." + "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { - "name": "session", + "name": "end", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarDateTime", + "displayName": "CalendarDateTime" } ], - "doc": "The updated session which was removed from the view." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionUpdated", - "members": [ + "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + }, { - "name": "newSession", + "name": "externalCalendarOverrides", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewExternalCalendarOverrides", + "displayName": "ExternalCalendarOverrides" } ], - "doc": "" + "doc": "__Deprecated.__" }, { - "name": "oldSession", + "name": "inheritedFields", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", - "displayName": "Session" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "" + "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." }, { - "name": "participantNotification", + "name": "instanceOfRecurrence", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." }, { - "name": "triggeredByAnonymizeRequest", + "name": "location", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewLocation", + "displayName": "Location" } ], - "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionVersion", - "members": [ + "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + }, { - "name": "number", + "name": "notes", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionView", - "members": [ + "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." + }, { - "name": "endDate", - "readOnly": true, + "name": "originalStart", "optional": true, "type": [ { "nativeType": "Date" } ], - "doc": "The view end date." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionViewExtended", - "members": [ + "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + }, { - "name": "extendedSessionViewEndDate", + "name": "participants", "optional": true, "type": [ { - "nativeType": "Date" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipant", + "displayName": "Participant" + } + ] + } } ], - "doc": "The extended session view end date." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionViewExtendedEvent", - "members": [ + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, { - "name": "data", + "name": "rate", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionViewExtended", - "displayName": "SessionViewExtended" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewRate", + "displayName": "Rate" } ], - "doc": "" + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { - "name": "metadata", + "name": "recurrence", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewBackendEventMetadata", - "displayName": "BackendEventMetadata" + "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionViewUpdated", - "members": [ + "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" + }, { - "name": "sessionAddedOrUpdated", + "name": "recurringIntervalId", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", - "displayName": "SessionAddedOrUpdated" + "nativeType": "string" } ], - "doc": "Session has been added or updated within the view." + "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." }, { - "name": "sessionRemoved", + "name": "recurringSessionId", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", - "displayName": "SessionRemoved" + "nativeType": "string" } ], - "doc": "Session has been removed from the view." - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfSessionViewUpdatedTypeOneOf", - "members": [ - "sessionAddedOrUpdated", - "sessionRemoved" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionViewUpdatedEvent", - "members": [ + "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." + }, { - "name": "entity", + "name": "scheduleId", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionViewUpdated", - "displayName": "SessionViewUpdated" + "nativeType": "string" } ], - "doc": "" + "doc": "ID of the schedule that the session belongs to." }, { - "name": "metadata", + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewBackendEventMetadata", - "displayName": "BackendEventMetadata" + "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSessionViewUpdatedTypeOneOf", - "members": [ + "doc": "ID of the resource or service that the session's schedule belongs to." + }, { - "name": "sessionAddedOrUpdated", + "name": "start", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", - "displayName": "SessionAddedOrUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCalendarDateTime", + "displayName": "CalendarDateTime" } ], - "doc": "Session has been added or updated within the view." + "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." }, { - "name": "sessionRemoved", + "name": "status", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", - "displayName": "SessionRemoved" + "nativeType": "string" } ], - "doc": "Session has been removed from the view." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSitePropertiesOnScheduleCreation", - "members": [ + "doc": "Session status.\n" + }, { - "name": "timeZone", + "name": "tags", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "The global time zone value." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewSpecialHourPeriod", - "members": [ + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, { - "name": "comment", + "name": "timeReservedAfter", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" + "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." }, { - "name": "endDate", + "name": "title", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { - "name": "isClosed", + "name": "totalNumberOfParticipants", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" + "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." }, { - "name": "startDate", + "name": "type", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + "doc": "Session type.\n" + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionVersion", + "displayName": "SessionVersion" + } + ], + "doc": "The session version.\nComposed by the schedule, session and participants versions." } ], "docs": { "description": [ - "Exception to the business's regular hours. The business can be open or closed during the exception." + "" ] } }, { - "name": "bookingsCalendarV2SessionViewSplitInterval", + "name": "bookingsCalendarV2SessionViewSessionAdded", "members": [ { - "name": "sameAsDuration", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." - }, - { - "name": "valueInMinutes", + "name": "session", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." + "doc": "The session which was added within the feed window." } ], "docs": { "description": [ - "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." + "" ] } }, { - "name": "bookingsCalendarV2SessionViewStaffData", + "name": "bookingsCalendarV2SessionViewSessionAddedOrUpdated", "members": [ { - "name": "refreshToken", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "" - }, - { - "name": "resourceId", + "name": "previousSession", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "" + "doc": "Optionally, the previous session." }, { - "name": "syncRequestEmail", + "name": "session", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "" + "doc": "The session which was added or updated within the view." } ], "docs": { @@ -4221,37 +4329,50 @@ } }, { - "name": "bookingsCalendarV2SessionViewStreetAddress", + "name": "bookingsCalendarV2SessionViewSessionCancelled", "members": [ { - "name": "apt", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Apartment number." + "doc": "Whether to notify participants about the change and an optional custom message" }, { - "name": "name", + "name": "session", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "Street name." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSessionCreated", + "members": [ { - "name": "number", + "name": "session", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "Street number." + "doc": "" } ], "docs": { @@ -4261,27 +4382,29 @@ } }, { - "name": "bookingsCalendarV2SessionViewSubdivision", + "name": "bookingsCalendarV2SessionViewSessionRemoved", "members": [ { - "name": "code", + "name": "previousSession", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + "doc": "Optionally, the previous session." }, { - "name": "name", + "name": "session", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], - "doc": "Subdivision full name." + "doc": "The updated session which was removed from the view." } ], "docs": { @@ -4291,38 +4414,50 @@ } }, { - "name": "bookingsCalendarV2SessionViewTask", + "name": "bookingsCalendarV2SessionViewSessionUpdated", "members": [ { - "name": "executeAt", + "name": "newSession", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], "doc": "" }, { - "name": "key", + "name": "oldSession", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewTaskKey", - "displayName": "TaskKey" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSession", + "displayName": "Session" } ], "doc": "" }, { - "name": "payload", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" } ], "docs": { @@ -4332,54 +4467,60 @@ } }, { - "name": "bookingsCalendarV2SessionViewTaskAction", + "name": "bookingsCalendarV2SessionViewSessionVersion", "members": [ { - "name": "cancel", + "name": "number", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCancel", - "displayName": "Cancel" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSessionView", + "members": [ { - "name": "complete", + "name": "endDate", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewComplete", - "displayName": "Complete" + "nativeType": "Date" } ], - "doc": "" - }, + "doc": "The view end date." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSessionViewExtended", + "members": [ { - "name": "reschedule", + "name": "extendedSessionViewEndDate", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReschedule", - "displayName": "Reschedule" + "nativeType": "Date" } ], - "doc": "" + "doc": "The extended session view end date." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfTaskActionActionOneOf", - "members": [ - "cancel", - "complete", - "reschedule" - ] - } - ] - }, "docs": { "description": [ "" @@ -4387,42 +4528,72 @@ } }, { - "name": "bookingsCalendarV2SessionViewTaskActionActionOneOf", + "name": "bookingsCalendarV2SessionViewSessionViewExtendedEvent", "members": [ { - "name": "cancel", - "optional": true, + "name": "data", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCancel", - "displayName": "Cancel" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionViewExtended", + "displayName": "SessionViewExtended" } ], - "doc": "" + "doc": "Event data." }, { - "name": "complete", + "name": "metadata", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewBackendEventMetadata", + "displayName": "BackendEventMetadata" + } + ], + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSessionViewUpdated", + "members": [ + { + "name": "sessionAddedOrUpdated", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewComplete", - "displayName": "Complete" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", + "displayName": "SessionAddedOrUpdated" } ], - "doc": "" + "doc": "Session has been added or updated within the view." }, { - "name": "reschedule", + "name": "sessionRemoved", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReschedule", - "displayName": "Reschedule" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", + "displayName": "SessionRemoved" } ], - "doc": "" + "doc": "Session has been removed from the view." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfSessionViewUpdatedTypeOneOf", + "members": [ + "sessionAddedOrUpdated", + "sessionRemoved" + ] + } + ] + }, "docs": { "description": [ "" @@ -4430,37 +4601,79 @@ } }, { - "name": "bookingsCalendarV2SessionViewTaskKey", + "name": "bookingsCalendarV2SessionViewSessionViewUpdatedEvent", "members": [ { - "name": "appId", - "optional": true, + "name": "entity", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionViewUpdated", + "displayName": "SessionViewUpdated" } ], - "doc": "" + "doc": "Updated session view." }, { - "name": "instanceId", + "name": "metadata", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewBackendEventMetadata", + "displayName": "BackendEventMetadata" + } + ], + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSessionViewUpdatedTypeOneOf", + "members": [ + { + "name": "sessionAddedOrUpdated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionAddedOrUpdated", + "displayName": "SessionAddedOrUpdated" } ], - "doc": "" + "doc": "Session has been added or updated within the view." }, { - "name": "subjectId", + "name": "sessionRemoved", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewSessionRemoved", + "displayName": "SessionRemoved" + } + ], + "doc": "Session has been removed from the view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewSitePropertiesOnScheduleCreation", + "members": [ + { + "name": "timeZone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "The global time zone value." } ], "docs": { @@ -4470,118 +4683,117 @@ } }, { - "name": "bookingsCalendarV2SessionViewTimePeriod", + "name": "bookingsCalendarV2SessionViewSpecialHourPeriod", "members": [ { - "name": "closeDay", + "name": "comment", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Day of the week the period ends on." + "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" }, { - "name": "closeTime", + "name": "endDate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" + "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." }, { - "name": "openDay", + "name": "isClosed", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Day of the week the period starts on." + "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" }, { - "name": "openTime", + "name": "startDate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." + "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." } ], "docs": { "description": [ - "Weekly recurring time periods when the business is regularly open or the service is available." + "Exception to the business's regular hours. The business can be open or closed during the exception." ] } }, { - "name": "bookingsCalendarV2SessionViewVersion", + "name": "bookingsCalendarV2SessionViewSplitInterval", "members": [ { - "name": "participantsVersion", + "name": "sameAsDuration", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Participants version number, updated each time the schedule participants are updated." + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." }, { - "name": "scheduleVersion", + "name": "valueInMinutes", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Schedule version number, updated each time the schedule is updated." + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." } ], "docs": { "description": [ - "" + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." ] } }, { - "name": "bookingsCalendarV2SessionViewWindow", + "name": "bookingsCalendarV2SessionViewStaffData", "members": [ { - "name": "endDate", - "readOnly": true, + "name": "refreshToken", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The window end date." + "doc": "" }, { - "name": "futureDurationInDays", + "name": "resourceId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The number of days the window lasts into the future." + "doc": "" }, { - "name": "version", + "name": "syncRequestEmail", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The window version." + "doc": "" } ], "docs": { @@ -4591,67 +4803,67 @@ } }, { - "name": "bookingsCalendarV2SessionViewWindowExtended", + "name": "bookingsCalendarV2SessionViewStreetAddress", "members": [ { - "name": "windowEndDate", + "name": "apt", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The updated window end date." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCalendarV2SessionViewWindowMoved", - "members": [ + "doc": "Apartment number." + }, { - "name": "edge", + "name": "name", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The updated window edge." + "doc": "Street name." }, { - "name": "windowVersion", + "name": "number", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The window version." + "doc": "Street number." } ], "docs": { "description": [ - "Deprecated. Please use `window_extended` instead." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsActionEvent", + "name": "bookingsCalendarV2SessionViewSubdivision", "members": [ { - "name": "bodyAsJson", + "name": "code", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision full name." } ], "docs": { @@ -4661,239 +4873,256 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddress", + "name": "bookingsCalendarV2SessionViewTask", "members": [ { - "name": "addressLine", + "name": "executeAt", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Main address line, usually street and number, as free text." + "doc": "" }, { - "name": "addressLine2", + "name": "key", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewTaskKey", + "displayName": "TaskKey" } ], - "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." + "doc": "" }, { - "name": "city", + "name": "payload", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "City name." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewTaskAction", + "members": [ { - "name": "country", + "name": "cancel", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCancel", + "displayName": "Cancel" } ], - "doc": "Country code." + "doc": "" }, { - "name": "countryFullname", + "name": "complete", "optional": true, "type": [ { - "nativeType": "string" - } + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewComplete", + "displayName": "Complete" + } ], - "doc": "Country full name." + "doc": "" }, { - "name": "formattedAddress", + "name": "reschedule", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReschedule", + "displayName": "Reschedule" } ], - "doc": "A string containing the full address of this location." - }, + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfTaskActionActionOneOf", + "members": [ + "cancel", + "complete", + "reschedule" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewTaskActionActionOneOf", + "members": [ { - "name": "geocode", + "name": "cancel", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAddressLocation", - "displayName": "AddressLocation" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewCancel", + "displayName": "Cancel" } ], - "doc": "Coordinates of the physical address." + "doc": "" }, { - "name": "hint", + "name": "complete", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewComplete", + "displayName": "Complete" } ], - "doc": "Free text to help find the address." + "doc": "" }, { - "name": "postalCode", + "name": "reschedule", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCalendarV2SessionViewReschedule", + "displayName": "Reschedule" } ], - "doc": "Zip/postal code." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewTaskKey", + "members": [ { - "name": "streetAddress", + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsStreetAddress", - "displayName": "StreetAddress" + "nativeType": "string" } ], - "doc": "Street name, number and apartment number." + "doc": "" }, { - "name": "subdivision", + "name": "instanceId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + "doc": "" }, { - "name": "subdivisions", + "name": "subjectId", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSubdivision", - "displayName": "Subdivision" - } - ] - } + "nativeType": "string" } ], - "doc": "Multi-level subdivisions from top to bottom." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfAddressStreetOneOf", - "members": [ - "addressLine", - "streetAddress" - ] - } - ] - }, "docs": { "description": [ - "Physical address" + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddressHint", + "name": "bookingsCalendarV2SessionViewTimePeriod", "members": [ { - "name": "placement", + "name": "closeDay", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Where the extra text should be displayed." + "doc": "Day of the week the period ends on." }, { - "name": "text", + "name": "closeTime", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Extra text displayed next to, or instead of, the actual address." - } - ], - "docs": { - "description": [ - "Extra information on displayed addresses.\nThis is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\nFree text. In addition the user can state where he wants that additional description - before, after, or instead\nthe address string." - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddressLocation", - "members": [ + "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" + }, { - "name": "latitude", + "name": "openDay", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Address latitude." + "doc": "Day of the week the period starts on." }, { - "name": "longitude", + "name": "openTime", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Address longitude." + "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." } ], "docs": { "description": [ - "" + "Weekly recurring time periods when the business is regularly open or the service is available." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddressStreetOneOf", + "name": "bookingsCalendarV2SessionViewVersion", "members": [ { - "name": "addressLine", + "name": "participantsVersion", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Main address line, usually street and number, as free text." + "doc": "Participants version number, updated each time the schedule participants are updated." }, { - "name": "streetAddress", + "name": "scheduleVersion", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsStreetAddress", - "displayName": "StreetAddress" + "nativeType": "number" } ], - "doc": "Street name, number and apartment number." + "doc": "Schedule version number, updated each time the schedule is updated." } ], "docs": { @@ -4903,154 +5132,105 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailability", + "name": "bookingsCalendarV2SessionViewWindow", "members": [ { - "name": "constraints", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityConstraints", - "displayName": "AvailabilityConstraints" - } - ], - "doc": "Constraints for calculating the schedule's availability." - }, - { - "name": "end", + "name": "endDate", + "readOnly": true, "optional": true, "type": [ { "nativeType": "Date" } ], - "doc": "Date and time the schedule stops being available for booking. No value indicates no end time." + "doc": "The window end date." }, { - "name": "linkedSchedules", + "name": "futureDurationInDays", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", - "displayName": "LinkedSchedule" - } - ] - } + "nativeType": "number" } ], - "doc": "Other schedules that impact the availability calculation. Relevant only when there are availability constraints." + "doc": "The number of days the window lasts into the future." }, { - "name": "start", + "name": "version", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "number" } ], - "doc": "Date and time the schedule starts to be available for booking." + "doc": "The window version." } ], "docs": { "description": [ - "" + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityConstraints", + "name": "bookingsCalendarV2SessionViewWindowExtended", "members": [ { - "name": "slotDurations", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "number" - } - ] - } - } - ], - "doc": "A list of duration options for slots, in minutes. Minimum value for a duration is 1.\nThe availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints." - }, - { - "name": "slotsSplitInterval", - "readOnly": true, + "name": "windowEndDate", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSplitInterval", - "displayName": "SplitInterval" + "nativeType": "Date" } ], - "doc": "An object defining the time between available slots' start times. For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration." - }, + "doc": "The updated window end date." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCalendarV2SessionViewWindowMoved", + "members": [ { - "name": "splitInterval", + "name": "edge", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "Date" } ], - "doc": "Specify how to split the slots in intervals of minutes.\nThis value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\nOptional. The default is the first duration in slot_durations field.\nDeprecated. Use the `split_slots_interval.value_in_minutes`." + "doc": "The updated window edge." }, { - "name": "timeBetweenSlots", + "name": "windowVersion", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "The number of minutes between the `end` of one slot, and the `start` of the next.\nMinimum value is 0, maximum value is 120." + "doc": "The window version." } ], "docs": { "description": [ - "Describes how to calculate the specific slots that are available for booking." + "Deprecated. Please use `window_extended` instead." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicy", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsActionEvent", "members": [ { - "name": "splitInterval", + "name": "bodyAsJson", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSplitInterval", - "displayName": "SplitInterval" - } - ], - "doc": "Specify how to split the schedule slots in intervals of minutes." - } - ], - "docs": { - "description": [ - "Availability policy applied to all site schedules." - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicyUpdated", - "members": [ - { - "name": "availabilityPolicy", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicy", - "displayName": "AvailabilityPolicy" + "nativeType": "string" } ], "doc": "" @@ -5063,149 +5243,122 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddress", "members": [ { - "name": "entityId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the entity associated with the event." - }, - { - "name": "eventTime", + "name": "addressLine", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Event timestamp." + "doc": "Main address line, usually street and number, as free text." }, { - "name": "id", + "name": "addressLine2", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Event ID." + "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." }, { - "name": "triggeredByAnonymizeRequest", - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsBookingPolicy", - "members": [ - { - "name": "bookUpToXMinutesBefore", + "name": "city", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Minimum number of minutes before the start of a session that a booking can be made. For a schedule, this is relative to the start time of the next session, excluding past sessions. Default value is taken form BusinessServicesPolicy." + "doc": "City name." }, { - "name": "bookingsApprovalPolicy", + "name": "country", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBookingsApprovalPolicy", - "displayName": "BookingsApprovalPolicy" + "nativeType": "string" } ], - "doc": "Bookings approval policy for the service. Empty by default." + "doc": "Country code." }, { - "name": "cancelRescheduleUpToXMinutesBefore", + "name": "countryFullname", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Minimum number of minutes before the start of a session that a booking can be canceled or rescheduled. Default value is taken form BusinessServicesPolicy." + "doc": "Country full name." }, { - "name": "cancellationPolicy", - "readOnly": true, + "name": "formattedAddress", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "User defined cancellation policy message." + "doc": "A string containing the full address of this location." }, { - "name": "futureBookingsPolicy", + "name": "geocode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsFutureBookingPolicy", - "displayName": "FutureBookingPolicy" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAddressLocation", + "displayName": "AddressLocation" } ], - "doc": "How far in advance a booking can be made. Default value is taken form BusinessServicesPolicy." + "doc": "Coordinates of the physical address." }, { - "name": "isBookOnlineAllowed", + "name": "hint", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether online booking is available. Defaults to true." + "doc": "Free text to help find the address." }, { - "name": "isCancelAllowed", + "name": "postalCode", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether bookings for the service can be canceled. Defaults to true." + "doc": "Zip/postal code." }, { - "name": "isRescheduleAllowed", + "name": "streetAddress", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsStreetAddress", + "displayName": "StreetAddress" } ], - "doc": "Whether bookings for the service can be rescheduled. Defaults to true." + "doc": "Street name, number and apartment number." }, { - "name": "maxParticipantsPerBooking", + "name": "subdivision", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Maximum number of participants for a single booking. Defaults to 1." + "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." }, { - "name": "overrideBusinessPolicyFields", + "name": "subdivisions", "optional": true, "type": [ { @@ -5213,54 +5366,85 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSubdivision", + "displayName": "Subdivision" } ] } } ], - "doc": "A list of booking policy field names of fields that override the respective values of the default business booking policy.\nCurrently only 'service.policy.bookUpToXMinutesBefore' field is supported" + "doc": "Multi-level subdivisions from top to bottom." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAddressStreetOneOf", + "members": [ + "addressLine", + "streetAddress" + ] + } + ] + }, + "docs": { + "description": [ + "Physical address" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddressHint", + "members": [ + { + "name": "placement", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Where the extra text should be displayed." }, { - "name": "waitingListPolicy", + "name": "text", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsWaitingListPolicy", - "displayName": "WaitingListPolicy" + "nativeType": "string" } ], - "doc": "Waitlist policy for the service. Default value is taken form BusinessServicesPolicy." + "doc": "Extra text displayed next to, or instead of, the actual address." } ], "docs": { "description": [ - "A set of rules defining the policies for booking the service for visitors and members." + "Extra information on displayed addresses.\nThis is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\nFree text. In addition the user can state where he wants that additional description - before, after, or instead\nthe address string." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsBookingsApprovalPolicy", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddressLocation", "members": [ { - "name": "isBusinessApprovalRequired", + "name": "latitude", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether bookings to the service require approval." + "doc": "Address latitude." }, { - "name": "requestsAffectsAvailability", + "name": "longitude", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the booking requests affect the session or slot availability. For example, 3 booking requests for a 10-person session will cause the session to have 7 available spots, before the requests are approved." + "doc": "Address longitude." } ], "docs": { @@ -5270,205 +5454,235 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsBusinessSchedule", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAddressStreetOneOf", "members": [ { - "name": "periods", + "name": "addressLine", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsTimePeriod", - "displayName": "TimePeriod" - } - ] - } + "nativeType": "string" } ], - "doc": "Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods." + "doc": "Main address line, usually street and number, as free text." }, { - "name": "specialHourPeriod", + "name": "streetAddress", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSpecialHourPeriod", - "displayName": "SpecialHourPeriod" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsStreetAddress", + "displayName": "StreetAddress" } ], - "doc": "Exceptions to the business's regular hours. The business can be open or closed during the exception." + "doc": "Street name, number and apartment number." } ], "docs": { "description": [ - "Business schedule. Regular and exceptional time periods when the business is open or the service is available." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsBusinessServicesPolicy", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailability", "members": [ { - "name": "bookUpToXMinutesBefore", + "name": "constraints", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityConstraints", + "displayName": "AvailabilityConstraints" } ], - "doc": "Minimum amount of time to make a booking before the start of the booked item. For sessions, this is relative to the start time of the session. For schedules, this is relative to the start time of the first session, excluding past sessions. Defaults to 0." + "doc": "Constraints for calculating the schedule's availability." }, { - "name": "cancelRescheduleUpToXMinutesBefore", + "name": "end", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "Date" } ], - "doc": "Minimum time that a booking can be canceled or rescheduled before the session starts. Defaults to 0." + "doc": "Date and time the schedule stops being available for booking. No value indicates no end time." }, { - "name": "cancellationPolicy", + "name": "linkedSchedules", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } } ], - "doc": "User defined cancellation policy message." + "doc": "Other schedules that impact the availability calculation. Relevant only when there are availability constraints." }, { - "name": "futureBookingsPolicy", + "name": "start", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsFutureBookingPolicy", - "displayName": "FutureBookingPolicy" + "nativeType": "Date" } ], - "doc": "An object specifying how far in advance a booking can be made." - }, - { - "name": "waitingListPolicy", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsWaitingListPolicy", - "displayName": "WaitingListPolicy" - } - ], - "doc": "Waitlist policy for the service. Empty by default." + "doc": "Date and time the schedule starts to be available for booking." } ], "docs": { "description": [ - "Defines the Bookings Policy applied to the business's services. The policy can be overridden for a service when setting the `Service.BookingsPolicy` property.\nUnless overridden, each service inherits the settings in the business policy." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCalendarConference", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityConstraints", "members": [ { - "name": "_id", + "name": "slotDurations", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "number" + } + ] + } } ], - "doc": "Wix Calendar conference ID." + "doc": "A list of duration options for slots, in minutes. Minimum value for a duration is 1.\nThe availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints." }, { - "name": "accountOwnerId", + "name": "slotsSplitInterval", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSplitInterval", + "displayName": "SplitInterval" } ], - "doc": "ID of the account owner in the video conferencing service." + "doc": "An object defining the time between available slots' start times. For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration." }, { - "name": "conferenceType", + "name": "splitInterval", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Conference type.\n" + "doc": "Specify how to split the slots in intervals of minutes.\nThis value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\nOptional. The default is the first duration in slot_durations field.\nDeprecated. Use the `split_slots_interval.value_in_minutes`." }, { - "name": "description", + "name": "timeBetweenSlots", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Conference description." - }, + "doc": "The number of minutes between the `end` of one slot, and the `start` of the next.\nMinimum value is 0, maximum value is 120." + } + ], + "docs": { + "description": [ + "Describes how to calculate the specific slots that are available for booking." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicy", + "members": [ { - "name": "externalId", + "name": "splitInterval", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSplitInterval", + "displayName": "SplitInterval" } ], - "doc": "Conference meeting ID in the provider's conferencing system." - }, + "doc": "Specify how to split the schedule slots in intervals of minutes." + } + ], + "docs": { + "description": [ + "Availability policy applied to all site schedules." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicyUpdated", + "members": [ { - "name": "guestUrl", + "name": "availabilityPolicy", "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicy", + "displayName": "AvailabilityPolicy" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", + "members": [ + { + "name": "entityId", "type": [ { "nativeType": "string" } ], - "doc": "URL used by a guest to join the conference." + "doc": "ID of the entity associated with the event." }, { - "name": "hostUrl", - "optional": true, + "name": "eventTime", "type": [ { "nativeType": "string" } ], - "doc": "URL used by the host to start the conference." + "doc": "Event timestamp." }, { - "name": "password", - "optional": true, + "name": "id", "type": [ { "nativeType": "string" } ], - "doc": "Password to join the conference." + "doc": "Event ID." }, { - "name": "providerId", - "optional": true, + "name": "triggeredByAnonymizeRequest", "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Conference provider ID." + "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." } ], "docs": { @@ -5478,202 +5692,158 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCalendarDateTime", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsBookingPolicy", "members": [ { - "name": "localDateTime", + "name": "bookUpToXMinutesBefore", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocalDateTime", - "displayName": "LocalDateTime" + "nativeType": "number" } ], - "doc": "An object containing the local date and time for the business's time zone." + "doc": "Minimum number of minutes before the start of a session that a booking can be made. For a schedule, this is relative to the start time of the next session, excluding past sessions. Default value is taken form BusinessServicesPolicy." }, { - "name": "timeZone", - "readOnly": true, + "name": "bookingsApprovalPolicy", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBookingsApprovalPolicy", + "displayName": "BookingsApprovalPolicy" } ], - "doc": "The time zone. Optional. Derived from the schedule's time zone.\nIn case this field is associated with recurring session, this field is empty." + "doc": "Bookings approval policy for the service. Empty by default." }, { - "name": "timestamp", + "name": "cancelRescheduleUpToXMinutesBefore", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "number" } ], - "doc": "UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\nRequired if `localDateTime` is not specified.\nIf `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCategories", - "members": [ + "doc": "Minimum number of minutes before the start of a session that a booking can be canceled or rescheduled. Default value is taken form BusinessServicesPolicy." + }, { - "name": "primary", + "name": "cancellationPolicy", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Primary site category." + "doc": "User defined cancellation policy message." }, { - "name": "secondary", + "name": "futureBookingsPolicy", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsFutureBookingPolicy", + "displayName": "FutureBookingPolicy" } ], - "doc": "Secondary site category." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsChangeContext", - "members": [ + "doc": "How far in advance a booking can be made. Default value is taken form BusinessServicesPolicy." + }, { - "name": "propertiesChange", + "name": "isBookOnlineAllowed", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPropertiesChange", - "displayName": "PropertiesChange" + "nativeType": "boolean" } ], - "doc": "Properties were updated." + "doc": "Whether online booking is available. Defaults to true." }, { - "name": "siteCloned", + "name": "isCancelAllowed", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCloned", - "displayName": "SiteCloned" + "nativeType": "boolean" } ], - "doc": "Properties were cloned on site cloning." + "doc": "Whether bookings for the service can be canceled. Defaults to true." }, { - "name": "siteCreated", + "name": "isRescheduleAllowed", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCreated", - "displayName": "SiteCreated" + "nativeType": "boolean" } ], - "doc": "Default properties were created on site creation." - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfChangeContextPayloadOneOf", - "members": [ - "propertiesChange", - "siteCloned", - "siteCreated" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsChangeContextPayloadOneOf", - "members": [ + "doc": "Whether bookings for the service can be rescheduled. Defaults to true." + }, { - "name": "propertiesChange", + "name": "maxParticipantsPerBooking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPropertiesChange", - "displayName": "PropertiesChange" + "nativeType": "number" } ], - "doc": "Properties were updated." + "doc": "Maximum number of participants for a single booking. Defaults to 1." }, { - "name": "siteCloned", + "name": "overrideBusinessPolicyFields", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCloned", - "displayName": "SiteCloned" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Properties were cloned on site cloning." + "doc": "A list of booking policy field names of fields that override the respective values of the default business booking policy.\nCurrently only 'service.policy.bookUpToXMinutesBefore' field is supported" }, { - "name": "siteCreated", + "name": "waitingListPolicy", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCreated", - "displayName": "SiteCreated" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsWaitingListPolicy", + "displayName": "WaitingListPolicy" } ], - "doc": "Default properties were created on site creation." + "doc": "Waitlist policy for the service. Default value is taken form BusinessServicesPolicy." } ], "docs": { "description": [ - "" + "A set of rules defining the policies for booking the service for visitors and members." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCloneServiceOptionsAndVariantsRequest", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsBookingsApprovalPolicy", "members": [ { - "name": "cloneFromId", + "name": "isBusinessApprovalRequired", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the `serviceOptionsAndVariants` object to clone." + "doc": "Whether bookings to the service require approval." }, { - "name": "targetServiceId", + "name": "requestsAffectsAvailability", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the service that will be set for the cloned `serviceOptionsAndVariants`" + "doc": "Whether the booking requests affect the session or slot availability. For example, 3 booking requests for a 10-person session will cause the session to have 7 available spots, before the requests are approved." } ], "docs": { @@ -5683,18 +5853,17 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCloneServiceOptionsAndVariantsResponse", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsBusinessLocation", "members": [ { - "name": "serviceOptionsAndVariants", + "name": "locationId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "The cloned `serviceOptionsAndVariants` object." + "doc": "The ID of the business location. Has to be non-empty" } ], "docs": { @@ -5704,215 +5873,205 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsConferenceProvider", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsBusinessSchedule", "members": [ { - "name": "providerId", + "name": "periods", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsTimePeriod", + "displayName": "TimePeriod" + } + ] + } } ], - "doc": "Conferencing provider ID" + "doc": "Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods." + }, + { + "name": "specialHourPeriod", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSpecialHourPeriod", + "displayName": "SpecialHourPeriod" + } + ] + } + } + ], + "doc": "Exceptions to the business's regular hours. The business can be open or closed during the exception." } ], "docs": { "description": [ - "" + "Business schedule. Regular and exceptional time periods when the business is open or the service is available." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsConsentPolicy", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsBusinessServicesPolicy", "members": [ { - "name": "advertising", + "name": "bookUpToXMinutesBefore", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor." + "doc": "Minimum amount of time to make a booking before the start of the booked item. For sessions, this is relative to the start time of the session. For schedules, this is relative to the start time of the first session, excluding past sessions. Defaults to 0." }, { - "name": "analytics", + "name": "cancelRescheduleUpToXMinutesBefore", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the site uses cookies that collect analytics about how the site is used (in order to improve it)." + "doc": "Minimum time that a booking can be canceled or rescheduled before the session starts. Defaults to 0." }, { - "name": "dataToThirdParty", + "name": "cancellationPolicy", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "CCPA compliance flag." + "doc": "User defined cancellation policy message." }, { - "name": "essential", + "name": "futureBookingsPolicy", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsFutureBookingPolicy", + "displayName": "FutureBookingPolicy" } ], - "doc": "Whether the site uses cookies that are essential to site operation." + "doc": "An object specifying how far in advance a booking can be made." }, { - "name": "functional", + "name": "waitingListPolicy", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsWaitingListPolicy", + "displayName": "WaitingListPolicy" } ], - "doc": "Whether the site uses cookies that affect site performance and other functional measurements." + "doc": "Waitlist policy for the service. Empty by default." } ], "docs": { "description": [ - "" + "Defines the Bookings Policy applied to the business's services. The policy can be overridden for a service when setting the `Service.BookingsPolicy` property.\nUnless overridden, each service inherits the settings in the business policy." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCreateServiceOptionsAndVariantsRequest", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCalendarConference", "members": [ { - "name": "serviceOptionsAndVariants", + "name": "_id", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "Service options and variants to create." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCreateServiceOptionsAndVariantsResponse", - "members": [ + "doc": "Wix Calendar conference ID." + }, { - "name": "serviceOptionsAndVariants", + "name": "accountOwnerId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "Information about the created service options and variants." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCursorPaging", - "members": [ + "doc": "ID of the account owner in the video conferencing service." + }, { - "name": "cursor", + "name": "conferenceType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + "doc": "Conference type." }, { - "name": "limit", + "name": "description", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items to load." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCursors", - "members": [ + "doc": "Conference description." + }, { - "name": "next", + "name": "externalId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Conference meeting ID in the provider's conferencing system." }, { - "name": "prev", + "name": "guestUrl", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Cursor pointing to previous page in the list of results." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsCustomServiceOption", - "members": [ + "doc": "URL used by a guest to join the conference." + }, { - "name": "choices", + "name": "hostUrl", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "Available choices for the service option. For example, `child`, `student`,\n`adult`, and `senior` for a service option named `Age group`. Each value must\nbe unique. The value's case is ignored, meaning `Child` and `child` are\nconsidered to be identical. Currently, only a single choice is supported\nbecause a service can have only a single option.\n\nMax: 1 choice\n" + "doc": "URL used by the host to start the conference." }, { - "name": "name", + "name": "password", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Name of the service option. For example, `Age group`, `Location`, `Equipment`,\nor `Time`." + "doc": "Password to join the conference." + }, + { + "name": "providerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference provider ID." } ], "docs": { @@ -5922,28 +6081,39 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsDeleteMetadata", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCalendarDateTime", "members": [ { - "name": "participantNotification", + "name": "localDateTime", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", - "displayName": "ParticipantNotification" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocalDateTime", + "displayName": "LocalDateTime" } ], - "doc": "" + "doc": "An object containing the local date and time for the business's time zone." }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "timeZone", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "" + "doc": "The time zone. Optional. Derived from the schedule's time zone.\nIn case this field is associated with recurring session, this field is empty." + }, + { + "name": "timestamp", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\nRequired if `localDateTime` is not specified.\nIf `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone." } ], "docs": { @@ -5953,26 +6123,44 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsDeleteServiceOptionsAndVariantsRequest", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCategories", "members": [ { - "name": "revision", + "name": "businessTermId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision of the `serviceOptionsAndVariants` object to delete." + "doc": "Business Term Id" }, { - "name": "serviceOptionsAndVariantsId", + "name": "primary", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the `serviceOptionsAndVariants` object to delete." + "doc": "Primary site category." + }, + { + "name": "secondary", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Secondary site category." } ], "docs": { @@ -5982,167 +6170,166 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsDeleteServiceOptionsAndVariantsResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsDomainEvent", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsChangeContext", "members": [ { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "random GUID so clients can tell if event was already handled" - }, - { - "name": "actionEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsActionEvent", - "displayName": "ActionEvent" - } - ], - "doc": "" - }, - { - "name": "createdEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityCreatedEvent", - "displayName": "EntityCreatedEvent" - } - ], - "doc": "" - }, - { - "name": "deletedEvent", + "name": "propertiesChange", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityDeletedEvent", - "displayName": "EntityDeletedEvent" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPropertiesChange", + "displayName": "PropertiesChange" } ], - "doc": "" + "doc": "Properties were updated." }, { - "name": "entityEventSequence", + "name": "siteCloned", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCloned", + "displayName": "SiteCloned" } ], - "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + "doc": "Properties were cloned on site cloning." }, { - "name": "entityFqdn", + "name": "siteCreated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCreated", + "displayName": "SiteCreated" } ], - "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" - }, + "doc": "Default properties were created on site creation." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfChangeContextPayloadOneOf", + "members": [ + "propertiesChange", + "siteCloned", + "siteCreated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsChangeContextPayloadOneOf", + "members": [ { - "name": "entityId", + "name": "propertiesChange", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPropertiesChange", + "displayName": "PropertiesChange" } ], - "doc": "Assuming that all messages including Actions have id\nExample: The id of the specific order, the id of a specific campaign" + "doc": "Properties were updated." }, { - "name": "eventTime", + "name": "siteCloned", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCloned", + "displayName": "SiteCloned" } ], - "doc": "The time of the event. Useful if there was a delay in dispatching" + "doc": "Properties were cloned on site cloning." }, { - "name": "extendedFieldsUpdatedEvent", + "name": "siteCreated", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsExtendedFieldsUpdatedEvent", - "displayName": "ExtendedFieldsUpdatedEvent" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSiteCreated", + "displayName": "SiteCreated" } ], - "doc": "" - }, + "doc": "Default properties were created on site creation." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCloneServiceOptionsAndVariantsRequest", + "members": [ { - "name": "originatedFrom", - "optional": true, + "name": "cloneFromId", "type": [ { "nativeType": "string" } ], - "doc": "If present, indicates the action that triggered the event." + "doc": "ID of the `serviceOptionsAndVariants` object to clone." }, { - "name": "slug", - "optional": true, + "name": "targetServiceId", "type": [ { "nativeType": "string" } ], - "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" - }, + "doc": "ID of the service that will be set for the cloned `serviceOptionsAndVariants`" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCloneServiceOptionsAndVariantsResponse", + "members": [ { - "name": "triggeredByAnonymizeRequest", + "name": "serviceOptionsAndVariants", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" } ], - "doc": "A field that should be set if this event was triggered by an anonymize request.\nFor example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\nNOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers." - }, + "doc": "The cloned `serviceOptionsAndVariants` object." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsConferenceProvider", + "members": [ { - "name": "updatedEvent", + "name": "providerId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityUpdatedEvent", - "displayName": "EntityUpdatedEvent" + "nativeType": "string" } ], - "doc": "" + "doc": "Conferencing provider ID" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfDomainEventBodyOneOf", - "members": [ - "actionEvent", - "createdEvent", - "deletedEvent", - "extendedFieldsUpdatedEvent", - "updatedEvent" - ] - } - ] - }, "docs": { "description": [ "" @@ -6150,62 +6337,57 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsDomainEventBodyOneOf", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsConsentPolicy", "members": [ { - "name": "actionEvent", + "name": "advertising", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsActionEvent", - "displayName": "ActionEvent" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor." }, { - "name": "createdEvent", + "name": "analytics", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityCreatedEvent", - "displayName": "EntityCreatedEvent" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the site uses cookies that collect analytics about how the site is used (in order to improve it)." }, { - "name": "deletedEvent", + "name": "dataToThirdParty", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityDeletedEvent", - "displayName": "EntityDeletedEvent" + "nativeType": "boolean" } ], - "doc": "" + "doc": "CCPA compliance flag." }, { - "name": "extendedFieldsUpdatedEvent", + "name": "essential", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsExtendedFieldsUpdatedEvent", - "displayName": "ExtendedFieldsUpdatedEvent" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the site uses cookies that are essential to site operation." }, { - "name": "updatedEvent", + "name": "functional", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityUpdatedEvent", - "displayName": "EntityUpdatedEvent" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the site uses cookies that affect site performance and other functional measurements." } ], "docs": { @@ -6215,26 +6397,17 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsEmpty", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsEntityCreatedEvent", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCreateServiceOptionsAndVariantsRequest", "members": [ { - "name": "entityAsJson", - "optional": true, + "name": "serviceOptionsAndVariants", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" } ], - "doc": "" + "doc": "Service options and variants to create." } ], "docs": { @@ -6244,26 +6417,18 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsEntityDeletedEvent", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsEntityUpdatedEvent", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCreateServiceOptionsAndVariantsResponse", "members": [ { - "name": "currentEntityAsJson", + "name": "serviceOptionsAndVariants", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" } ], - "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + "doc": "Information about the created service options and variants." } ], "docs": { @@ -6273,37 +6438,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsExtendedFieldsUpdatedEvent", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCursorPaging", "members": [ { - "name": "currentEntityAsJson", + "name": "cursor", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarInfo", - "members": [ + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, { - "name": "calendarType", + "name": "limit", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." + "doc": "Maximum number of items to return in the results." } ], "docs": { @@ -6313,27 +6468,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarOverrides", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCursors", "members": [ { - "name": "description", + "name": "next", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Synced description of the external calendar event." + "doc": "Cursor string pointing to the next page in the list of results." }, { - "name": "title", + "name": "prev", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Synced title of the external calendar event." + "doc": "Cursor pointing to the previous page in the list of results." } ], "docs": { @@ -6343,17 +6498,34 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsFrequency", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsCustomServiceOption", "members": [ { - "name": "repetition", + "name": "choices", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." + "doc": "Available choices for the service option. For example, `child`, `student`,\n`adult`, and `senior` for a service option named `Age group`. Each value must\nbe unique. The value's case is ignored, meaning `Child` and `child` are\nconsidered to be identical. Currently, only a single choice is supported\nbecause a service can have only a single option.\n\nMax: 1 choice\n" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Name of the service option. For example, `Age group`, `Location`, `Equipment`,\nor `Time`." } ], "docs": { @@ -6363,27 +6535,28 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsFutureBookingPolicy", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsDeleteMetadata", "members": [ { - "name": "limitXMinutesToTheFuture", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "How far in advance, in minutes, a session can be booked. Defaults to 10,080 minutes (3 days)." + "doc": "" }, { - "name": "shouldLimit", + "name": "preserveFutureSessionsWithParticipants", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether a limit is imposed on advance bookings." + "doc": "" } ], "docs": { @@ -6393,48 +6566,37 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsGeoCoordinates", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsDeleteServiceOptionsAndVariantsRequest", "members": [ { - "name": "latitude", + "name": "revision", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Latitude of the location. Must be between -90 and 90." + "doc": "Revision of the `serviceOptionsAndVariants` object to delete." }, { - "name": "longitude", - "optional": true, + "name": "serviceOptionsAndVariantsId", "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Longitude of the location. Must be between -180 and 180." + "doc": "ID of the `serviceOptionsAndVariants` object to delete." } ], "docs": { "description": [ - "Geocoordinates for a particular address." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsByServiceIdRequest", - "members": [ - { - "name": "serviceId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the service to retrieve options and variants for." - } - ], + "name": "bookingsCatalogV1ServiceOptionsAndVariantsDeleteServiceOptionsAndVariantsResponse", + "members": [], "docs": { "description": [ "" @@ -6442,60 +6604,146 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsByServiceIdResponse", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsDomainEvent", "members": [ { - "name": "serviceVariants", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "Retrieved `serviceOptionsAndVariants` object." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsRequest", - "members": [ + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." + }, { - "name": "serviceOptionsAndVariantsId", + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsActionEvent", + "displayName": "ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityCreatedEvent", + "displayName": "EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityDeletedEvent", + "displayName": "EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the `serviceOptionsAndVariants` object to retrieve." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsResponse", - "members": [ + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + }, { - "name": "serviceOptionsAndVariants", + "name": "entityFqdn", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "Retrieved `serviceOptionsAndVariants` object." + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" + }, + { + "name": "entityId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the entity associated with the event." + }, + { + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Event timestamp." + }, + { + "name": "originatedFrom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "If present, indicates the action that triggered the event." + }, + { + "name": "slug", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" + } + ], + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, "docs": { "description": [ "" @@ -6503,60 +6751,14911 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsInterval", + "name": "bookingsCatalogV1ServiceOptionsAndVariantsDomainEventBodyOneOf", "members": [ { - "name": "daysOfWeek", + "name": "actionEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsActionEvent", + "displayName": "ActionEvent" } ], - "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." + "doc": "" }, { - "name": "duration", + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityCreatedEvent", + "displayName": "EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityDeletedEvent", + "displayName": "EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsEmpty", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsEntityCreatedEvent", + "members": [ + { + "name": "entityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsEntityDeletedEvent", + "members": [ + { + "name": "deletedEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Entity that was deleted" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsEntityUpdatedEvent", + "members": [ + { + "name": "currentEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarInfo", + "members": [ + { + "name": "calendarType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarOverrides", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Synced description of the external calendar event." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Synced title of the external calendar event." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsFrequency", + "members": [ + { + "name": "repetition", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsFutureBookingPolicy", + "members": [ + { + "name": "limitXMinutesToTheFuture", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "How far in advance, in minutes, a session can be booked. Defaults to 10,080 minutes (3 days)." + }, + { + "name": "shouldLimit", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a limit is imposed on advance bookings." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsGeoCoordinates", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Latitude of the location. Must be between -90 and 90." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Longitude of the location. Must be between -180 and 180." + } + ], + "docs": { + "description": [ + "Geocoordinates for a particular address." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsByServiceIdRequest", + "members": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to retrieve options and variants for." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsByServiceIdResponse", + "members": [ + { + "name": "serviceVariants", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ], + "doc": "Retrieved `serviceOptionsAndVariants` object." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsRequest", + "members": [ + { + "name": "serviceOptionsAndVariantsId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the `serviceOptionsAndVariants` object to retrieve." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsGetServiceOptionsAndVariantsResponse", + "members": [ + { + "name": "serviceOptionsAndVariants", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ], + "doc": "Retrieved `serviceOptionsAndVariants` object." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsIdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "identityType", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsIdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsInterval", + "members": [ + { + "name": "daysOfWeek", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." + }, + { + "name": "duration", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." + }, + { + "name": "hourOfDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." + }, + { + "name": "minuteOfHour", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsIntervalSplit", + "members": [ + { + "name": "intervals", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringInterval", + "displayName": "RecurringInterval" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsKeyword", + "members": [ + { + "name": "isMain", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the keyword is the main focus keyword." + }, + { + "name": "term", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Keyword value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", + "members": [ + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Owner ID, of the linked schedule." + }, + { + "name": "transparency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocalDateTime", + "members": [ + { + "name": "dayOfMonth", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Day of the month, from 1-31." + }, + { + "name": "hourOfDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Hour of the day in 24-hour format, from 0-23." + }, + { + "name": "minutesOfHour", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minute, from 0-59." + }, + { + "name": "monthOfYear", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Month number, from 1-12." + }, + { + "name": "year", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Year. 4-digit format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocale", + "members": [ + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format." + }, + { + "name": "languageCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocation", + "members": [ + { + "name": "address", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text address used when locationType is `OWNER_CUSTOM`." + }, + { + "name": "customAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAddress", + "displayName": "Address" + } + ], + "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddress", + "members": [ + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddressLocation", + "displayName": "LocationsAddressLocation" + } + ], + "doc": "Geographic coordinates of location." + }, + { + "name": "postalCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Postal or zip code." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocationsStreetAddress", + "displayName": "LocationsStreetAddress" + } + ], + "doc": "Street address. Includes street name, number, and apartment number in separate fields." + }, + { + "name": "subdivision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddressLocation", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Latitude of the location. Must be between -90 and 90." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Longitude of the location. Must be between -180 and 180." + } + ], + "docs": { + "description": [ + "Address Geolocation" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsLocation", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location ID." + }, + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddress", + "displayName": "LocationsAddress" + } + ], + "doc": "Address." + }, + { + "name": "archived", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." + }, + { + "name": "businessSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBusinessSchedule", + "displayName": "BusinessSchedule" + } + ], + "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, + { + "name": "default", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Email address." + }, + { + "name": "fax", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fax number." + }, + { + "name": "locationType", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\n\n**Note:** Currently not supported." + }, + { + "name": "locationTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Location types." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Phone number." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." + }, + { + "name": "status", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location status. Defaults to `ACTIVE`.\n__Notes:__\n- [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status.\n- `INACTIVE` status is currently not supported." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Timezone in `America/New_York` format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsStreetAddress", + "members": [ + { + "name": "apt", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + } + ], + "docs": { + "description": [ + "Street address. Includes street name, number, and apartment number in separate fields." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMedia", + "members": [ + { + "name": "coverMedia", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", + "displayName": "MediaItem" + } + ], + "doc": "Cover image associated with the service." + }, + { + "name": "items", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", + "displayName": "MediaItem" + } + ] + } + } + ], + "doc": "Images associated with the service." + }, + { + "name": "mainMedia", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", + "displayName": "MediaItem" + } + ], + "doc": "Primary image associated with the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", + "members": [ + { + "name": "image", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Image metadata." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfMediaItemItemOneOf", + "members": [ + "image" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMediaItemItemOneOf", + "members": [ + { + "name": "image", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Image metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMessageEnvelope", + "members": [ + { + "name": "data", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Stringify payload." + }, + { + "name": "eventType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "identity", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsIdentificationData", + "displayName": "IdentificationData" + } + ], + "doc": "The identification type and identity data." + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "App instance ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMigrationData", + "members": [ + { + "name": "businessId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "staffs", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsStaffData", + "displayName": "StaffData" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMigrationEvent", + "members": [ + { + "name": "migrationData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMigrationData", + "displayName": "MigrationData" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMoney", + "members": [ + { + "name": "currency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." + }, + { + "name": "formattedValue", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." + } + ], + "docs": { + "description": [ + "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMultilingual", + "members": [ + { + "name": "autoRedirect", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to redirect to user language." + }, + { + "name": "supportedLanguages", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSupportedLanguage", + "displayName": "SupportedLanguage" + } + ] + } + } + ], + "doc": "Supported languages list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsMultipleSessionsCreated", + "members": [ + { + "name": "schedulesWithSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleWithSessions", + "displayName": "ScheduleWithSessions" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsPaging", + "members": [ + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to skip in the current sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsPagingMetadataV2", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCursors", + "displayName": "Cursors" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "tooManyToCount", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag that indicates the server failed to calculate the `total` field." + }, + { + "name": "total", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsParticipant", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant ID. Currently represents the booking.id." + }, + { + "name": "approvalStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Approval status for the participant.\n" + }, + { + "name": "contactId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact ID." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's email address." + }, + { + "name": "inherited", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's name." + }, + { + "name": "partySize", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's phone number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "members": [ + { + "name": "message", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Custom message to send to the participants about the changes to the booking." + }, + { + "name": "notifyParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsPaymentOptions", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a booking made for the service can be paid in a customized way, defined by the API." + }, + { + "name": "wixPaidPlan", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a booking made for the service can be paid using Wix Pricing Plans." + }, + { + "name": "wixPayInPerson", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a booking made for the service can be paid in person." + }, + { + "name": "wixPayOnline", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a booking made for the service can be paid online through Wix." + } + ], + "docs": { + "description": [ + "Payment options for the service. Multiple payment options can be enabled. For example:\nFor a service to be paid only online using WiX, then set wix_pay_online=true and the rest should be set to false.\nFor a service to accept payment online via Wix or in person, set the wix_pay_online=true & wix_pay_in_person=true." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsPrice", + "members": [ + { + "name": "amount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Required payment amount." + }, + { + "name": "currency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency in which the amount is quoted." + }, + { + "name": "downPayAmount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Amount of a down payment or deposit as part of the transaction." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsProperties", + "members": [ + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsV4Address", + "displayName": "V4Address" + } + ], + "doc": "Address." + }, + { + "name": "businessConfig", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n\nSite business type.\n" + }, + { + "name": "businessName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business name." + }, + { + "name": "businessSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBusinessSchedule", + "displayName": "BusinessSchedule" + } + ], + "doc": "Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, + { + "name": "categories", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCategories", + "displayName": "Categories" + } + ], + "doc": "Site categories." + }, + { + "name": "consentPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsConsentPolicy", + "displayName": "ConsentPolicy" + } + ], + "doc": "Cookie policy the site owner defined for their site (before the users interacts with/limits it)." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Email address." + }, + { + "name": "externalSiteUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "External site url that uses Wix as its headless business solution" + }, + { + "name": "fax", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fax number." + }, + { + "name": "language", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site language.\n\nTwo-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n" + }, + { + "name": "locale", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocale", + "displayName": "Locale" + } + ], + "doc": "Site locale." + }, + { + "name": "logo", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Path to the site's logo in Wix Media (without Wix Media base URL)." + }, + { + "name": "multilingual", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMultilingual", + "displayName": "Multilingual" + } + ], + "doc": "Supported languages of a site and the primary language." + }, + { + "name": "paymentCurrency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site currency format used to bill customers.\n\nThree-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n" + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Phone number." + }, + { + "name": "siteDisplayName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site display name." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Timezone in `America/New_York` format." + }, + { + "name": "trackClicksAnalytics", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Track clicks analytics" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsPropertiesChange", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryServiceOptionsAndVariantsRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsQueryV2", + "displayName": "QueryV2" + } + ], + "doc": "Information about filters, paging, and returned fields." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryServiceOptionsAndVariantsResponse", + "members": [ + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPagingMetadataV2", + "displayName": "PagingMetadataV2" + } + ], + "doc": "Paging metadata." + }, + { + "name": "serviceOptionsAndVariantsList", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ] + } + } + ], + "doc": "Retrieved `serviceOptionsAndVariants` objects." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryV2", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + }, + { + "name": "fields", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "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." + }, + { + "name": "fieldsets", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "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." + }, + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" + }, + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPaging", + "displayName": "Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSorting", + "displayName": "Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryV2PagingMethodOneOf", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + }, + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPaging", + "displayName": "Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsRate", + "members": [ + { + "name": "labeledPriceOptions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPrice", + "displayName": "Price" + } + ] + } + } + ], + "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + }, + { + "name": "priceText", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsRecurringInterval", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The recurring interval identifier." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } + } + ], + "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." + }, + { + "name": "frequency", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsFrequency", + "displayName": "Frequency" + } + ], + "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." + }, + { + "name": "interval", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsInterval", + "displayName": "Interval" + } + ], + "doc": "The interval rules. The day, hour and minutes the interval is recurring." + }, + { + "name": "intervalType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of recurring interval." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The start time of the recurring interval. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionSplit", + "members": [ + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionsUpdated", + "members": [ + { + "name": "newRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "New schedule's recurring session list." + }, + { + "name": "oldRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "Old schedule's recurring session list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsResource", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource email address." + }, + { + "name": "images", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource images." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource phone number." + }, + { + "name": "scheduleIds", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "List of IDs of schedules owned by this resource." + }, + { + "name": "schedules", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ] + } + } + ], + "doc": "Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource status." + }, + { + "name": "tag", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Deprecated. Please use tags." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'." + }, + { + "name": "wixUserId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsResourceNotification", + "members": [ + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "resource", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsResource", + "displayName": "Resource" + } + ], + "doc": "Updated resource entity.\n'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "availability", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailability", + "displayName": "Availability" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "calendarConference", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarConference", + "displayName": "CalendarConference" + } + ], + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." + }, + { + "name": "conferenceProvider", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsConferenceProvider", + "displayName": "ConferenceProvider" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "created", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Schedule creation date." + }, + { + "name": "externalCalendarOverrides", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarOverrides", + "displayName": "ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + }, + { + "name": "intervals", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringInterval", + "displayName": "RecurringInterval" + } + ] + } + } + ], + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocation", + "displayName": "Location" + } + ], + "doc": "Default location for the schedule's sessions." + }, + { + "name": "participants", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipant", + "displayName": "Participant" + } + ] + } + } + ], + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, + { + "name": "rate", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRate", + "displayName": "Rate" + } + ], + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + }, + { + "name": "scheduleOwnerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule status." + }, + { + "name": "tags", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + }, + { + "name": "timeZone", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." + }, + { + "name": "totalNumberOfParticipants", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." + }, + { + "name": "updated", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Schedule last update date." + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleCancelled", + "members": [ + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleCreated", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleNotification", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicyUpdated", + "displayName": "AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsIntervalSplit", + "displayName": "IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "notifyParticipants", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + }, + { + "name": "preserveFutureSessionsWithParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionSplit", + "displayName": "RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCancelled", + "displayName": "ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCreated", + "displayName": "ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUnassignedFromUser", + "displayName": "ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUpdated", + "displayName": "ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCancelled", + "displayName": "SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCreated", + "displayName": "SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionUpdated", + "displayName": "SessionUpdated" + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesOnScheduleCreation", + "displayName": "SitePropertiesOnScheduleCreation" + } + ], + "doc": "site properties. Optional. Given in create schedule notification." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfScheduleNotificationEventOneOf", + "members": [ + "availabilityPolicyUpdated", + "intervalSplit", + "migrationEvent", + "multipleSessionsCreated", + "recurringSessionSplit", + "scheduleCancelled", + "scheduleCreated", + "scheduleUnassignedFromUser", + "scheduleUpdated", + "sessionCancelled", + "sessionCreated", + "sessionUpdated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleNotificationEventOneOf", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicyUpdated", + "displayName": "AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsIntervalSplit", + "displayName": "IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionSplit", + "displayName": "RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCancelled", + "displayName": "ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCreated", + "displayName": "ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUnassignedFromUser", + "displayName": "ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUpdated", + "displayName": "ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCancelled", + "displayName": "SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCreated", + "displayName": "SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionUpdated", + "displayName": "SessionUpdated" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleUnassignedFromUser", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "The schedule that was unassigned from the user." + }, + { + "name": "userId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The Wix user id." + } + ], + "docs": { + "description": [ + "Schedule unassigned from user." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleUpdated", + "members": [ + { + "name": "newSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "The new schedule after the update." + }, + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "The old schedule before the update." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionsUpdated", + "displayName": "RecurringSessionsUpdated" + } + ], + "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleWithSessions", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + }, + { + "name": "sessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesOnScheduleCreation", + "displayName": "SitePropertiesOnScheduleCreation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSeoSchema", + "members": [ + { + "name": "settings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSettings", + "displayName": "Settings" + } + ], + "doc": "SEO general settings." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsTag", + "displayName": "Tag" + } + ] + } + } + ], + "doc": "SEO tag information." + } + ], + "docs": { + "description": [ + "The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\nThe search engines use this information for ranking purposes, or to display snippets in the search results.\nThis data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsService", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID." + }, + { + "name": "advancedSeoData", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSeoSchema", + "displayName": "SeoSchema" + } + ], + "doc": "Advanced SEO data" + }, + { + "name": "bookingFormId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the form that visitors fill out when booking the service." + }, + { + "name": "categoryId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the category to which the service belongs." + }, + { + "name": "customProperties", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Set of custom properties for the service." + }, + { + "name": "includeConferenceOption", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a conference is to be generated for the service." + }, + { + "name": "info", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceInfo", + "displayName": "ServiceInfo" + } + ], + "doc": "Information about the service." + }, + { + "name": "paymentOptions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPaymentOptions", + "displayName": "PaymentOptions" + } + ], + "doc": "Payment options available for use when booking the service." + }, + { + "name": "policy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBookingPolicy", + "displayName": "BookingPolicy" + } + ], + "doc": "Description of the bookings policy for the service." + }, + { + "name": "scheduleIds", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "List of schedule IDs for the sessions and slots that can be booked for the service.\nThe list can include schedules with any `status` values, however the Bookings application only uses the schedules with a `status` of `\"CREATED\"`. There is only one schedule with a status of `\"CREATED\"` per service. The ID of that schedule must always be the first in the list." + }, + { + "name": "seoData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSeoSchema", + "displayName": "SeoSchema" + } + ], + "doc": "SEO data" + }, + { + "name": "sortOrder", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Sort order of the service within its category." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service status." + } + ], + "docs": { + "description": [ + "A service describes the business offering that a business provides to its customers." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceChoice", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Name of the custom choice." + }, + { + "name": "optionId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service option." + }, + { + "name": "staffMemberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\nof the staff member or the `scheduleOwnerId` of the relevant\n[schedule's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object)\n`availability.linkedSchedules`." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfServiceChoiceChoiceOneOf", + "members": [ + "custom", + "staffMemberId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceChoiceChoiceOneOf", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Name of the custom choice." + }, + { + "name": "staffMemberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\nof the staff member or the `scheduleOwnerId` of the relevant\n[schedule's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object)\n`availability.linkedSchedules`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceInfo", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service description." + }, + { + "name": "images", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Images associated with the service. Deprecated." + }, + { + "name": "media", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMedia", + "displayName": "Media" + } + ], + "doc": "Images associated with the service. Optional. Not supported yet." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service name." + }, + { + "name": "tagLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Short service description." + } + ], + "docs": { + "description": [ + "Information describing the service." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceNotification", + "members": [ + { + "name": "deleteMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsDeleteMetadata", + "displayName": "DeleteMetadata" + } + ], + "doc": "" + }, + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'Created'`\n- `'Deleted'`\n- `'Unspecified'`\n- `'Updated'`" + }, + { + "name": "policy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBusinessServicesPolicy", + "displayName": "BusinessServicesPolicy" + } + ], + "doc": "" + }, + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsService", + "displayName": "Service" + } + ], + "doc": "Updated service entity." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfServiceNotificationMetadataOneOf", + "members": [ + "deleteMetadata" + ] + } + ] + }, + "docs": { + "description": [ + "An event sent in the system once the service is changed." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceNotificationMetadataOneOf", + "members": [ + { + "name": "deleteMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsDeleteMetadata", + "displayName": "DeleteMetadata" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOption", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service option." + }, + { + "name": "customData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCustomServiceOption", + "displayName": "CustomServiceOption" + } + ], + "doc": "Details about the custom option. Available only for `CUSTOM` options." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Type of the service option." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfServiceOptionOptionSpecificDataOneOf", + "members": [ + "customData" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionOptionSpecificDataOneOf", + "members": [ + { + "name": "customData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCustomServiceOption", + "displayName": "CustomServiceOption" + } + ], + "doc": "Details about the custom option. Available only for `CUSTOM` options." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptions", + "members": [ + { + "name": "values", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOption", + "displayName": "ServiceOption" + } + ] + } + } + ], + "doc": "Values of the service options.\n\nMax: 1 service option\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the `serviceOptionsAndVariants` object." + }, + { + "name": "maxPrice", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMoney", + "displayName": "Money" + } + ], + "doc": "Price of the most expensive service variant." + }, + { + "name": "minPrice", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMoney", + "displayName": "Money" + } + ], + "doc": "Price of the cheapest service variant." + }, + { + "name": "options", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptions", + "displayName": "ServiceOptions" + } + ], + "doc": "Service options. Note that currently only a single option is supported per service." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the `serviceOptionsAndVariants` object is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when updating and deleting the `serviceOptionsAndVariants` object.\n\nIgnored when creating a `serviceOptionsAndVariants` object.\n" + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service related to these options and variants." + }, + { + "name": "variants", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceVariants", + "displayName": "ServiceVariants" + } + ], + "doc": "Information about the service's variants." + } + ], + "docs": { + "description": [ + "The `serviceOptionsAndVariants` object links a service to its variants.\nYou can use it to offer customers different prices for a service,\ndepending on which choices they book.\nRead more about [service options and variants](https://wix.wixanswers.com/app/kb/article/2e91a25b-b3c2-4cf7-9005-429a4929fc36/en)." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariantsCreated", + "members": [ + { + "name": "entity", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ], + "doc": "Created service options and variants." + }, + { + "name": "metadata", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", + "displayName": "BackendEventMetadata" + } + ], + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariantsDeleted", + "members": [ + { + "name": "metadata", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", + "displayName": "BackendEventMetadata" + } + ], + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariantsUpdated", + "members": [ + { + "name": "entity", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ], + "doc": "Updated service options and variants." + }, + { + "name": "metadata", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", + "displayName": "BackendEventMetadata" + } + ], + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceVariant", + "members": [ + { + "name": "choices", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceChoice", + "displayName": "ServiceChoice" + } + ] + } + } + ], + "doc": "Choices for the service option. Currently, only a single choice is supported\nbecause a service can have only a single option.\n\nMax: 1 choice\n" + }, + { + "name": "price", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMoney", + "displayName": "Money" + } + ], + "doc": "Information about the service variant's price." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceVariants", + "members": [ + { + "name": "values", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceVariant", + "displayName": "ServiceVariant" + } + ] + } + } + ], + "doc": "Values of the service variants." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSession", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session ID." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } + } + ], + "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." + }, + { + "name": "calendarConference", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarConference", + "displayName": "CalendarConference" + } + ], + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarDateTime", + "displayName": "CalendarDateTime" + } + ], + "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + }, + { + "name": "externalCalendarOverrides", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarOverrides", + "displayName": "ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." + }, + { + "name": "instanceOfRecurrence", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocation", + "displayName": "Location" + } + ], + "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + }, + { + "name": "notes", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." + }, + { + "name": "originalStart", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + }, + { + "name": "participants", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipant", + "displayName": "Participant" + } + ] + } + } + ], + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, + { + "name": "rate", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRate", + "displayName": "Rate" + } + ], + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + }, + { + "name": "recurrence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" + }, + { + "name": "recurringIntervalId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." + }, + { + "name": "recurringSessionId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the schedule that the session belongs to." + }, + { + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the resource or service that the session's schedule belongs to." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarDateTime", + "displayName": "CalendarDateTime" + } + ], + "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session status." + }, + { + "name": "tags", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "timeReservedAfter", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "totalNumberOfParticipants", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session type." + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionVersion", + "displayName": "SessionVersion" + } + ], + "doc": "The session version.\nComposed by the schedule, session and participants versions." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionCancelled", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionCreated", + "members": [ + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionUpdated", + "members": [ + { + "name": "newSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ], + "doc": "" + }, + { + "name": "oldSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", + "displayName": "Session" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionVersion", + "members": [ + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSettings", + "members": [ + { + "name": "keywords", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsKeyword", + "displayName": "Keyword" + } + ] + } + } + ], + "doc": "User-selected keyword terms for a specific page." + }, + { + "name": "preventAutoRedirect", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n\nDefault: `false` (Auto Redirect is enabled.)\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSiteCloned", + "members": [ + { + "name": "originMetaSiteId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Origin site id." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSiteCreated", + "members": [ + { + "name": "originTemplateId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Origin template site id." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesEvent", + "members": [ + { + "name": "properties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsProperties", + "displayName": "Properties" + } + ], + "doc": "Updated properties." + }, + { + "name": "version", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Version of the site's properties represented by this update." + } + ], + "docs": { + "description": [ + "The actual update event for a particular notification." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesNotification", + "members": [ + { + "name": "changeContext", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsChangeContext", + "displayName": "ChangeContext" + } + ], + "doc": "Context of the notification" + }, + { + "name": "event", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesEvent", + "displayName": "SitePropertiesEvent" + } + ], + "doc": "The actual update event." + }, + { + "name": "metasiteId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The site ID for which this update notification applies." + }, + { + "name": "translations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsTranslation", + "displayName": "Translation" + } + ] + } + } + ], + "doc": "A convenience set of mappings from the MetaSite ID to its constituent services." + } + ], + "docs": { + "description": [ + "Encapsulates all details written to the Greyhound topic when a site's properties are updated." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesOnScheduleCreation", + "members": [ + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The global time zone value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSorting", + "members": [ + { + "name": "fieldName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Name of the field to sort by." + }, + { + "name": "order", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSpecialHourPeriod", + "members": [ + { + "name": "comment", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" + }, + { + "name": "endDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + }, + { + "name": "isClosed", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" + }, + { + "name": "startDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + } + ], + "docs": { + "description": [ + "Exception to the business's regular hours. The business can be open or closed during the exception." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSplitInterval", + "members": [ + { + "name": "sameAsDuration", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." + }, + { + "name": "valueInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." + } + ], + "docs": { + "description": [ + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsStaffData", + "members": [ + { + "name": "refreshToken", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "resourceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "syncRequestEmail", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsStreetAddress", + "members": [ + { + "name": "apt", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSubdivision", + "members": [ + { + "name": "code", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision full name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsSupportedLanguage", + "members": [ + { + "name": "countryCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Language icon." + }, + { + "name": "isPrimary", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the supported language is the primary language for the site." + }, + { + "name": "languageCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." + }, + { + "name": "locale", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocale", + "displayName": "Locale" + } + ], + "doc": "Locale." + }, + { + "name": "resolutionMethod", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "How the language will be resolved. For internal use." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsTag", + "members": [ + { + "name": "children", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "SEO tag inner content. For example, ` inner content `." + }, + { + "name": "custom", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the tag is a custom tag." + }, + { + "name": "disabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the tag is disabled." + }, + { + "name": "meta", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "SEO tag meta data. For example, `{height: 300, width: 240}`." + }, + { + "name": "props", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\nFor example: `{'name': 'description', 'content': 'the description itself'}`." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "SEO tag type.\n\nSupported values: `title`, `meta`, `script`, `link`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsTimePeriod", + "members": [ + { + "name": "closeDay", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Day of the week the period ends on." + }, + { + "name": "closeTime", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" + }, + { + "name": "openDay", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Day of the week the period starts on." + }, + { + "name": "openTime", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." + } + ], + "docs": { + "description": [ + "Weekly recurring time periods when the business is regularly open or the service is available." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsTranslation", + "members": [ + { + "name": "appDefId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The application definition ID; this only applies to services of type ThirdPartyApps." + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The instance ID of the service." + }, + { + "name": "serviceType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The service type." + } + ], + "docs": { + "description": [ + "A single mapping from the MetaSite ID to a particular service." + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsUpdateServiceOptionsAndVariantsRequest", + "members": [ + { + "name": "serviceOptionsAndVariants", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ], + "doc": "`ServiceOptionsAndVariants` object to update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsUpdateServiceOptionsAndVariantsResponse", + "members": [ + { + "name": "serviceOptionsAndVariants", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "displayName": "ServiceOptionsAndVariants" + } + ], + "doc": "Updated `serviceOptionsAndVariants` object." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsV4Address", + "members": [ + { + "name": "apartmentNumber", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "coordinates", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsGeoCoordinates", + "displayName": "GeoCoordinates" + } + ], + "doc": "Geographic coordinates of location." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, + { + "name": "googleFormattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Google-formatted version of this address." + }, + { + "name": "hint", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAddressHint", + "displayName": "AddressHint" + } + ], + "doc": "Extra information to be displayed in the address." + }, + { + "name": "isPhysical", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this address represents a physical location." + }, + { + "name": "state", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "State." + }, + { + "name": "street", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "streetNumber", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + }, + { + "name": "zip", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Zip or postal code." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsVersion", + "members": [ + { + "name": "participantsVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Participants version number, updated each time the schedule participants are updated." + }, + { + "name": "scheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsCatalogV1ServiceOptionsAndVariantsWaitingListPolicy", + "members": [ + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of spots available in the waitlist. Defaults to 10 spots." + }, + { + "name": "isEnabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether waitlisting is enabled for the service." + }, + { + "name": "timeWindowMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Amount of time a participant is given to book, once notified that a spot is available. Defaults to 10 minutes." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceActionEvent", + "members": [ + { + "name": "bodyAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAddress", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number, as free text." + }, + { + "name": "addressLine2", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." + }, + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Country code." + }, + { + "name": "countryFullname", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Country full name." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string containing the full address of this location." + }, + { + "name": "geocode", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAddressLocation", + "displayName": "AddressLocation" + } + ], + "doc": "Coordinates of the physical address." + }, + { + "name": "hint", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text to help find the address." + }, + { + "name": "postalCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Zip/postal code." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceStreetAddress", + "displayName": "StreetAddress" + } + ], + "doc": "Street name, number and apartment number." + }, + { + "name": "subdivision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, + { + "name": "subdivisions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSubdivision", + "displayName": "Subdivision" + } + ] + } + } + ], + "doc": "Multi-level subdivisions from top to bottom." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAddressStreetOneOf", + "members": [ + "addressLine", + "streetAddress" + ] + } + ] + }, + "docs": { + "description": [ + "Physical address" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAddressHint", + "members": [ + { + "name": "placement", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Where the extra text should be displayed." + }, + { + "name": "text", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Extra text displayed next to, or instead of, the actual address." + } + ], + "docs": { + "description": [ + "Extra information on displayed addresses.\nThis is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\nFree text. In addition the user can state where he wants that additional description - before, after, or instead\nthe address string." + ] + } + }, + { + "name": "bookingsServicesV2ServiceAddressLocation", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Address latitude." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Address longitude." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAddressStreetOneOf", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number, as free text." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceStreetAddress", + "displayName": "StreetAddress" + } + ], + "doc": "Street name, number and apartment number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAggregation", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramAggregation", + "displayName": "DateHistogramAggregation" + } + ], + "doc": "" + }, + { + "name": "fieldPath", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "groupBy", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceGroupByAggregation", + "displayName": "GroupByAggregation" + } + ], + "doc": "" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "nested", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedAggregation", + "displayName": "NestedAggregation" + } + ], + "doc": "" + }, + { + "name": "range", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeAggregation", + "displayName": "RangeAggregation" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarAggregation", + "displayName": "ScalarAggregation" + } + ], + "doc": "" + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'NESTED'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregation", + "displayName": "ValueAggregation" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAggregationKindOneOf", + "members": [ + "dateHistogram", + "nested", + "range", + "scalar", + "value" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAggregationData", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAggregationResults", + "displayName": "AggregationResults" + } + ] + } + } + ], + "doc": "key = aggregation name (as derived from search request)" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAggregationKindOneOf", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramAggregation", + "displayName": "DateHistogramAggregation" + } + ], + "doc": "" + }, + { + "name": "nested", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedAggregation", + "displayName": "NestedAggregation" + } + ], + "doc": "" + }, + { + "name": "range", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeAggregation", + "displayName": "RangeAggregation" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarAggregation", + "displayName": "ScalarAggregation" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregation", + "displayName": "ValueAggregation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAggregationResults", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramResults", + "displayName": "DateHistogramResults" + } + ], + "doc": "" + }, + { + "name": "fieldPath", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "groupedByValue", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceGroupByValueResults", + "displayName": "GroupByValueResults" + } + ], + "doc": "" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "nested", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedResults", + "displayName": "NestedResults" + } + ], + "doc": "" + }, + { + "name": "ranges", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeResults", + "displayName": "RangeResults" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarResult", + "displayName": "ScalarResult" + } + ], + "doc": "" + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'NESTED'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" + }, + { + "name": "values", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResults", + "displayName": "ValueResults" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAggregationResultsResultOneOf", + "members": [ + "dateHistogram", + "groupedByValue", + "nested", + "ranges", + "scalar", + "values" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAggregationResultsResultOneOf", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramResults", + "displayName": "DateHistogramResults" + } + ], + "doc": "" + }, + { + "name": "groupedByValue", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceGroupByValueResults", + "displayName": "GroupByValueResults" + } + ], + "doc": "" + }, + { + "name": "nested", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedResults", + "displayName": "NestedResults" + } + ], + "doc": "" + }, + { + "name": "ranges", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeResults", + "displayName": "RangeResults" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarResult", + "displayName": "ScalarResult" + } + ], + "doc": "" + }, + { + "name": "values", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResults", + "displayName": "ValueResults" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceApplicationError", + "members": [ + { + "name": "code", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Error code." + }, + { + "name": "data", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Data related to the error." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Description of the error." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAvailability", + "members": [ + { + "name": "constraints", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAvailabilityConstraints", + "displayName": "AvailabilityConstraints" + } + ], + "doc": "Constraints for calculating the schedule's availability." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the schedule stops being available for booking. No value indicates no end time." + }, + { + "name": "linkedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } + } + ], + "doc": "Other schedules that impact the availability calculation. Relevant only when there are availability constraints." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the schedule starts to be available for booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceAvailabilityConstraints", + "members": [ + { + "name": "slotDurations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "number" + } + ] + } + } + ], + "doc": "A list of duration options for slots, in minutes. Minimum value for a duration is 1.\nThe availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints." + }, + { + "name": "slotsSplitInterval", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSplitInterval", + "displayName": "SplitInterval" + } + ], + "doc": "An object defining the time between available slots' start times. For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration." + }, + { + "name": "splitInterval", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Specify how to split the slots in intervals of minutes.\nThis value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\nOptional. The default is the first duration in slot_durations field.\nDeprecated. Use the `split_slots_interval.value_in_minutes`." + }, + { + "name": "timeBetweenSlots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of minutes between the `end` of one slot, and the `start` of the next.\nMinimum value is 0, maximum value is 120." + } + ], + "docs": { + "description": [ + "Describes how to calculate the specific slots that are available for booking." + ] + } + }, + { + "name": "bookingsServicesV2ServiceAvailabilityPolicy", + "members": [ + { + "name": "splitInterval", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSplitInterval", + "displayName": "SplitInterval" + } + ], + "doc": "Specify how to split the schedule slots in intervals of minutes." + } + ], + "docs": { + "description": [ + "Availability policy applied to all site schedules." + ] + } + }, + { + "name": "bookingsServicesV2ServiceAvailabilityPolicyUpdated", + "members": [ + { + "name": "availabilityPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAvailabilityPolicy", + "displayName": "AvailabilityPolicy" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBackendEventMetadata", + "members": [ + { + "name": "entityId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the entity associated with the event." + }, + { + "name": "eventTime", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event timestamp." + }, + { + "name": "id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event ID." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBehavior", + "members": [ + { + "name": "defaultBehavior", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntryPass", + "displayName": "EntryPass" + } + ], + "doc": "Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events." + }, + { + "name": "discount", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDiscount", + "displayName": "Discount" + } + ], + "doc": "Discount applied to paid resources" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfBehaviorBehaviorOneOf", + "members": [ + "defaultBehavior", + "discount" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBehaviorBehaviorOneOf", + "members": [ + { + "name": "defaultBehavior", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntryPass", + "displayName": "EntryPass" + } + ], + "doc": "Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events." + }, + { + "name": "discount", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDiscount", + "displayName": "Discount" + } + ], + "doc": "Discount applied to paid resources" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBenefit", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Benefit unique ID" + }, + { + "name": "appDefId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Id of the app associated with this benefit" + }, + { + "name": "behavior", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBehavior", + "displayName": "Behavior" + } + ], + "doc": "Benefit behavior" + }, + { + "name": "benefitType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Benefit Type" + }, + { + "name": "creditAmount", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Amount of credits that provided by this benefit" + }, + { + "name": "customFields", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "additional details related to benefit; limited to 20 entries, 20 symbols for key and 20 symbols for value" + }, + { + "name": "editable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "return value only in case it required in the ListRequest, true means that benefit's type could be updated" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource IDs that serves by this benefit" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBenefitNotification", + "members": [ + { + "name": "appDefId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "App def ID" + }, + { + "name": "benefit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBenefit", + "displayName": "Benefit" + } + ], + "doc": "Current benefit details" + }, + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Notification event" + }, + { + "name": "planId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Plan unique ID" + }, + { + "name": "prevBenefit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBenefit", + "displayName": "Benefit" + } + ], + "doc": "Previous benefit" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBookAfterStartPolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether booking is allowed after the start of the schedule. When `true`,\ncustomers can book after the start of the schedule.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "The policy for whether a session can be booked after the start of the schedule.\nThis policy and `LimitLateBookingPolicy` cannot be enabled at the same time. So if this policy\nis enabled, the `LimitLateBookingPolicy` policy must be disabled." + ] + } + }, + { + "name": "bookingsServicesV2ServiceBookingPolicy", + "members": [ + { + "name": "_createdDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the policy was created." + }, + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID to the policy for the booking." + }, + { + "name": "_updatedDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the policy was updated." + }, + { + "name": "bookAfterStartPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBookAfterStartPolicy", + "displayName": "BookAfterStartPolicy" + } + ], + "doc": "Policy on booking an entity after the start of the schedule." + }, + { + "name": "cancellationFeePolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCancellationFeePolicy", + "displayName": "CancellationFeePolicy" + } + ], + "doc": "Rules for cancellation fees." + }, + { + "name": "cancellationPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCancellationPolicy", + "displayName": "CancellationPolicy" + } + ], + "doc": "Policy for canceling a booked entity." + }, + { + "name": "customPolicyDescription", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePolicyDescription", + "displayName": "PolicyDescription" + } + ], + "doc": "Custom description for the policy. This policy is displayed to the participant." + }, + { + "name": "default", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the policy is the default for the meta site." + }, + { + "name": "limitEarlyBookingPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLimitEarlyBookingPolicy", + "displayName": "LimitEarlyBookingPolicy" + } + ], + "doc": "Policy for limiting early bookings." + }, + { + "name": "limitLateBookingPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLimitLateBookingPolicy", + "displayName": "LimitLateBookingPolicy" + } + ], + "doc": "Policy for limiting late bookings." + }, + { + "name": "name", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Name of the policy." + }, + { + "name": "participantsPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipantsPolicy", + "displayName": "ParticipantsPolicy" + } + ], + "doc": "Policy regarding the participants per booking." + }, + { + "name": "reschedulePolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceReschedulePolicy", + "displayName": "ReschedulePolicy" + } + ], + "doc": "Policy for rescheduling a booked entity." + }, + { + "name": "resourcesPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResourcesPolicy", + "displayName": "ResourcesPolicy" + } + ], + "doc": "Policy for allocating resources." + }, + { + "name": "saveCreditCardPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSaveCreditCardPolicy", + "displayName": "SaveCreditCardPolicy" + } + ], + "doc": "Rule for saving credit card." + }, + { + "name": "waitlistPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceWaitlistPolicy", + "displayName": "WaitlistPolicy" + } + ], + "doc": "Waitlist policy for the service." + } + ], + "docs": { + "description": [ + "`BookingPolicy` is the main entity of `BookingPolicyService` and specifies a set of rules for booking a service\nby visitors and members." + ] + } + }, + { + "name": "bookingsServicesV2ServiceBookingPolicyWithServices", + "members": [ + { + "name": "bookingPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBookingPolicy", + "displayName": "BookingPolicy" + } + ], + "doc": "The booking policy." + }, + { + "name": "countOfServices", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of services associated with the booking policy." + }, + { + "name": "hasMoreServices", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more services associated with the booking policy." + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ] + } + } + ], + "doc": "The services associated with the booking policy. Up to 5 services are returned per policy." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkActionMetadata", + "members": [ + { + "name": "totalFailures", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items that couldn't be processed." + }, + { + "name": "totalSuccesses", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items that were successfully processed." + }, + { + "name": "undetailedFailures", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of failures without details because detailed failure threshold was exceeded." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkCreateServicesRequest", + "members": [ + { + "name": "returnEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "`true` if the created entities must be included in the response, otherwise no entities are included in the response." + }, + { + "name": "services", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ] + } + } + ], + "doc": "Services to create" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkCreateServicesResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBulkActionMetadata", + "displayName": "BulkActionMetadata" + } + ], + "doc": "Create statistics." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBulkServiceResult", + "displayName": "BulkServiceResult" + } + ] + } + } + ], + "doc": "The result of each service creation." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkDeleteServicesRequest", + "members": [ + { + "name": "ids", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2ParticipantNotification", + "displayName": "V2ParticipantNotification" + } + ], + "doc": "Whether to preserve future sessions with participants.\n\nDefault: `false`.\n" + }, + { + "name": "preserveFutureSessionsWithParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkDeleteServicesResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBulkActionMetadata", + "displayName": "BulkActionMetadata" + } + ], + "doc": "Update statistics." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBulkServiceResult", + "displayName": "BulkServiceResult" + } + ] + } + } + ], + "doc": "The result of each service removal." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkServiceResult", + "members": [ + { + "name": "item", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "" + }, + { + "name": "itemMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceItemMetadata", + "displayName": "ItemMetadata" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkUpdateServicesRequest", + "members": [ + { + "name": "returnEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "`true` if the updated entities must be included in the response, otherwise no entities are included in the response." + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMaskedService", + "displayName": "MaskedService" + } + ] + } + } + ], + "doc": "Services to update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBulkUpdateServicesResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBulkActionMetadata", + "displayName": "BulkActionMetadata" + } + ], + "doc": "Update statistics." + }, + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBulkServiceResult", + "displayName": "BulkServiceResult" + } + ] + } + } + ], + "doc": "The result of each service update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBusinessLocation", + "members": [ + { + "name": "locationId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the business location. Has to be non-empty" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBusinessLocationOptions", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business location ID." + }, + { + "name": "address", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonAddress", + "displayName": "CommonAddress" + } + ], + "doc": "Business location address. The address is derived from the business location and is read-only." + }, + { + "name": "default", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this is the default location. There can only be 1 default location per site. The default location can't be archived." + }, + { + "name": "name", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business location name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceBusinessSchedule", + "members": [ + { + "name": "periods", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceTimePeriod", + "displayName": "TimePeriod" + } + ] + } + } + ], + "doc": "Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods." + }, + { + "name": "specialHourPeriod", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSpecialHourPeriod", + "displayName": "SpecialHourPeriod" + } + ] + } + } + ], + "doc": "Exceptions to the business's regular hours. The business can be open or closed during the exception." + } + ], + "docs": { + "description": [ + "Business schedule. Regular and exceptional time periods when the business is open or the service is available." + ] + } + }, + { + "name": "bookingsServicesV2ServiceCalendarConference", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Wix Calendar conference ID." + }, + { + "name": "accountOwnerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the account owner in the video conferencing service." + }, + { + "name": "conferenceType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference type." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference description." + }, + { + "name": "externalId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference meeting ID in the provider's conferencing system." + }, + { + "name": "guestUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "URL used by a guest to join the conference." + }, + { + "name": "hostUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "URL used by the host to start the conference." + }, + { + "name": "password", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Password to join the conference." + }, + { + "name": "providerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference provider ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCalendarDateTime", + "members": [ + { + "name": "localDateTime", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocalDateTime", + "displayName": "LocalDateTime" + } + ], + "doc": "An object containing the local date and time for the business's time zone." + }, + { + "name": "timeZone", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone. Optional. Derived from the schedule's time zone.\nIn case this field is associated with recurring session, this field is empty." + }, + { + "name": "timestamp", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\nRequired if `localDateTime` is not specified.\nIf `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCancellationFeePolicy", + "members": [ + { + "name": "cancellationWindows", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCancellationWindow", + "displayName": "CancellationWindow" + } + ] + } + } + ], + "doc": "Cancellation windows describing the time of cancellation and the fee to charge." + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether canceling a booking will result in a cancellation fee\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCancellationPolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether canceling a booking is allowed. When `true`, customers\ncan cancel the booking.\n\nDefault: `false`\n" + }, + { + "name": "latestCancellationInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minimum number of minutes before the start of the booked session that the booking can be canceled.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + }, + { + "name": "limitLatestCancellation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there is a limit on the latest cancellation time. When `true`,\na time limit is enforced.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "The policy for canceling a booked session." + ] + } + }, + { + "name": "bookingsServicesV2ServiceCancellationWindow", + "members": [ + { + "name": "amount", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonMoney", + "displayName": "CommonMoney" + } + ], + "doc": "Amount to be charged as a cancellation fee." + }, + { + "name": "percentage", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Percentage of the original price to be charged as a cancellation fee." + }, + { + "name": "startInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The fee will be applied if the booked session starts within this start time in minutes." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCancellationWindowFeeOneOf", + "members": [ + "amount", + "percentage" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCancellationWindowFeeOneOf", + "members": [ + { + "name": "amount", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonMoney", + "displayName": "CommonMoney" + } + ], + "doc": "Amount to be charged as a cancellation fee." + }, + { + "name": "percentage", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Percentage of the original price to be charged as a cancellation fee." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCategories", + "members": [ + { + "name": "businessTermId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business Term Id" + }, + { + "name": "primary", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Primary site category." + }, + { + "name": "secondary", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Secondary site category." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCategory", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category ID." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category name." + }, + { + "name": "sortOrder", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Sort order of the category in the Dashboard." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category status.\n\nSupported values:\n- `\"CREATED\"`: The category is created.\n- `\"DELETED\"`: The category is deleted.\n\nDefault: `\"CREATED\"`" + } + ], + "docs": { + "description": [ + "Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI." + ] + } + }, + { + "name": "bookingsServicesV2ServiceCategoryNotification", + "members": [ + { + "name": "category", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCategory", + "displayName": "Category" + } + ], + "doc": "" + }, + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'Created'`\n- `'Deleted'`\n- `'Updated'`" + } + ], + "docs": { + "description": [ + "An event sent every time a category entity is changed." + ] + } + }, + { + "name": "bookingsServicesV2ServiceChangeContext", + "members": [ + { + "name": "propertiesChange", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePropertiesChange", + "displayName": "PropertiesChange" + } + ], + "doc": "Properties were updated." + }, + { + "name": "siteCloned", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSiteCloned", + "displayName": "SiteCloned" + } + ], + "doc": "Properties were cloned on site cloning." + }, + { + "name": "siteCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSiteCreated", + "displayName": "SiteCreated" + } + ], + "doc": "Default properties were created on site creation." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfChangeContextPayloadOneOf", + "members": [ + "propertiesChange", + "siteCloned", + "siteCreated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceChangeContextPayloadOneOf", + "members": [ + { + "name": "propertiesChange", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePropertiesChange", + "displayName": "PropertiesChange" + } + ], + "doc": "Properties were updated." + }, + { + "name": "siteCloned", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSiteCloned", + "displayName": "SiteCloned" + } + ], + "doc": "Properties were cloned on site cloning." + }, + { + "name": "siteCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSiteCreated", + "displayName": "SiteCreated" + } + ], + "doc": "Default properties were created on site creation." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCloneServiceRequest", + "members": [ + { + "name": "cloneServiceName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule." + }, + { + "name": "copyPricingPlans", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "copy benefits with pricing plans that are connected to the source service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`." + }, + { + "name": "copyRecurringSessions", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "copy recurring sessions of an active service's schedule" + }, + { + "name": "hideService", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it" + }, + { + "name": "sourceServiceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a source service" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCloneServiceResponse", + "members": [ + { + "name": "errors", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "List of entity types that we failed to clone" + }, + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "Cloned service" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCommonAddress", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number as free text." + }, + { + "name": "addressLine1", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number as free text." + }, + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "postalCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Postal or zip code." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonStreetAddress", + "displayName": "CommonStreetAddress" + } + ], + "doc": "Street name and number." + }, + { + "name": "subdivision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCommonAddressStreetOneOf", + "members": [ + "addressLine", + "streetAddress" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCommonAddressLocation", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Address latitude." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Address longitude." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCommonAddressStreetOneOf", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number as free text." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonStreetAddress", + "displayName": "CommonStreetAddress" + } + ], + "doc": "Street name and number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCommonMoney", + "members": [ + { + "name": "currency", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." + }, + { + "name": "formattedValue", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." + } + ], + "docs": { + "description": [ + "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." + ] + } + }, + { + "name": "bookingsServicesV2ServiceCommonStreetAddress", + "members": [ + { + "name": "apt", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + } + ], + "docs": { + "description": [ + "Street address. Includes street name, number, and apartment number in separate fields." + ] + } + }, + { + "name": "bookingsServicesV2ServiceConferenceProvider", + "members": [ + { + "name": "providerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conferencing provider ID" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceConferencing", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether a conference link is generated for the service's sessions." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceConsentPolicy", + "members": [ + { + "name": "advertising", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor." + }, + { + "name": "analytics", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the site uses cookies that collect analytics about how the site is used (in order to improve it)." + }, + { + "name": "dataToThirdParty", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "CCPA compliance flag." + }, + { + "name": "essential", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the site uses cookies that are essential to site operation." + }, + { + "name": "functional", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the site uses cookies that affect site performance and other functional measurements." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCountServicesRequest", + "members": [ + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "The filters for performing the count." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCountServicesResponse", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of services matching the given filter." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCreateServiceRequest", + "members": [ + { + "name": "service", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "Service to be created." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCreateServiceResponse", + "members": [ + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "The created service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursorPagingMetadata", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursors", + "displayName": "Cursors" + } + ], + "doc": "Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursorQuery", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + }, + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`" + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSorting", + "displayName": "Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCursorQueryPagingMethodOneOf", + "members": [ + "cursorPaging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursorQueryPagingMethodOneOf", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursorSearch", + "members": [ + { + "name": "aggregations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAggregation", + "displayName": "Aggregation" + } + ] + } + } + ], + "doc": "Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort'" + }, + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "A filter object. See documentation [here](https:// bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf)" + }, + { + "name": "search", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSearchDetails", + "displayName": "SearchDetails" + } + ], + "doc": "Free text to match in searchable fields" + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSorting", + "displayName": "Sorting" + } + ] + } + } + ], + "doc": "Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCursorSearchPagingMethodOneOf", + "members": [ + "cursorPaging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursorSearchPagingMethodOneOf", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort'" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCustomLocationOptions", + "members": [ + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonAddress", + "displayName": "CommonAddress" + } + ], + "doc": "A custom address for the location." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceCustomPayment", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A custom description explaining to the customer how to pay for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDateHistogramAggregation", + "members": [ + { + "name": "interval", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'DAY'`\n- `'HOUR'`\n- `'MINUTE'`\n- `'MONTH'`\n- `'SECOND'`\n- `'UNKNOWN_INTERVAL'`\n- `'WEEK'`\n- `'YEAR'`" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDateHistogramResult", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDateHistogramResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramResult", + "displayName": "DateHistogramResult" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDelete", + "members": [ + { + "name": "entityId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDeleteServiceRequest", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2ParticipantNotification", + "displayName": "V2ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message." + }, + { + "name": "preserveFutureSessionsWithParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to preserve future sessions with participants.\n\nDefault: `false`\n" + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to delete." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDeleteServiceResponse", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDisablePricingPlansForServiceRequest", + "members": [ + { + "name": "pricingPlanIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "ID of the pricing plans to disconnect from the service." + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to disconnect the pricing plans from." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDisablePricingPlansForServiceResponse", + "members": [ + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "The service after the pricing plans update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDiscount", + "members": [ + { + "name": "moneyOffAmount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Absolute amount discount" + }, + { + "name": "percentOffRate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fixed-rate percent off discount" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDiscountDiscountOneOf", + "members": [ + "moneyOffAmount", + "percentOffRate" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDiscountDiscountOneOf", + "members": [ + { + "name": "moneyOffAmount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Absolute amount discount" + }, + { + "name": "percentOffRate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fixed-rate percent off discount" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDomainEvent", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." + }, + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceActionEvent", + "displayName": "ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntityCreatedEvent", + "displayName": "EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntityDeletedEvent", + "displayName": "EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + }, + { + "name": "entityFqdn", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" + }, + { + "name": "entityId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the entity associated with the event." + }, + { + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Event timestamp." + }, + { + "name": "originatedFrom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "If present, indicates the action that triggered the event." + }, + { + "name": "slug", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceDomainEventBodyOneOf", + "members": [ + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceActionEvent", + "displayName": "ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntityCreatedEvent", + "displayName": "EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntityDeletedEvent", + "displayName": "EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEmpty", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEnablePricingPlansForServiceRequest", + "members": [ + { + "name": "pricingPlanIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "IDs of the pricing plans to connect to the service." + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to add the pricing plans to." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEnablePricingPlansForServiceResponse", + "members": [ + { + "name": "pricingPlanIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "IDs of the pricing plans connected to the service." + }, + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "The service after the pricing plans update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEntityCreatedEvent", + "members": [ + { + "name": "entityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEntityDeletedEvent", + "members": [ + { + "name": "deletedEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Entity that was deleted" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEntityUpdatedEvent", + "members": [ + { + "name": "currentEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceEntryPass", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceExtendedFields", + "members": [ + { + "name": "namespaces", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "nativeType": "Object" + } + ] + } + } + ], + "doc": "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceExternalCalendarInfo", + "members": [ + { + "name": "calendarType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceExternalCalendarOverrides", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Synced description of the external calendar event." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Synced title of the external calendar event." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceFixedPayment", + "members": [ + { + "name": "deposit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoney", + "displayName": "Money" + } + ], + "doc": "The deposit price required to book the service.\n\nRequired when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`\n" + }, + { + "name": "price", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoney", + "displayName": "Money" + } + ], + "doc": "The fixed price required to book the service.\n\nRequired when: `rateType` is `FIXED`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceForm", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the form associated with the service.\nThe form information that is submitted when booking includes contact details, participants, and other form fields set up for the service.\nYou can manage the service booking form fields using the [Bookings Forms API](https://dev.wix.com/api/rest/wix-bookings/services-v2/form/form-object)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceFormSettings", + "members": [ + { + "name": "hidden", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the service booking form should be hidden from the site." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceFrequency", + "members": [ + { + "name": "repetition", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGeoCoordinates", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Latitude of the location. Must be between -90 and 90." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Longitude of the location. Must be between -180 and 180." + } + ], + "docs": { + "description": [ + "Geocoordinates for a particular address." + ] + } + }, + { + "name": "bookingsServicesV2ServiceGetServiceAvailabilityConstraintsRequest", + "members": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to retrieve." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGetServiceAvailabilityConstraintsResponse", + "members": [ + { + "name": "constraints", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceServiceAvailabilityConstraints", + "displayName": "ServiceAvailabilityConstraints" + } + ], + "doc": "The retrieved availability constraints of the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGetServiceRequest", + "members": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to retrieve." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGetServiceResponse", + "members": [ + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "The retrieved service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGroupByAggregation", + "members": [ + { + "name": "fieldPath", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregation", + "displayName": "ValueAggregation" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfGroupByAggregationKindOneOf", + "members": [ + "value" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGroupByAggregationKindOneOf", + "members": [ + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregation", + "displayName": "ValueAggregation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceGroupByValueResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedValueAggregationResult", + "displayName": "NestedValueAggregationResult" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceHtmlSitePublished", + "members": [ + { + "name": "appInstanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Application instance ID" + }, + { + "name": "appType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Application type" + }, + { + "name": "branchId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "optional branch id if publish is done from branch" + }, + { + "name": "lastTransactionId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The site's last transactionId" + }, + { + "name": "metaSiteId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "MSID" + }, + { + "name": "pages", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePage", + "displayName": "Page" + } + ] + } + } + ], + "doc": "A list of the site's pages" + }, + { + "name": "publishDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site's publish date" + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceIdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "identityType", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceIdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceIncludeMissingValuesOptions", + "members": [ + { + "name": "addToBucket", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ..." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceInterval", + "members": [ + { + "name": "daysOfWeek", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." + }, + { + "name": "duration", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." + }, + { + "name": "hourOfDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." + }, + { + "name": "minuteOfHour", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceIntervalSplit", + "members": [ + { + "name": "intervals", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRecurringInterval", + "displayName": "RecurringInterval" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceInvalidPricingPlan", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The invalid pricing plan id." + }, + { + "name": "message", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The reason for the pricing plan considered as invalid" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceItemMetadata", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." + }, + { + "name": "error", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceApplicationError", + "displayName": "ApplicationError" + } + ], + "doc": "Details about the error in case of failure." + }, + { + "name": "originalIndex", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Index of the item within the request array. Allows for correlation between request and response items." + }, + { + "name": "success", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceKeyword", + "members": [ + { + "name": "isMain", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the keyword is the main focus keyword." + }, + { + "name": "term", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Keyword value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLimitEarlyBookingPolicy", + "members": [ + { + "name": "earliestBookingInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of minutes before the start of the session that a booking can be made. This value must be greater\nthan `latest_booking_in_minutes` in the `LimitLateBookingPolicy` policy.\n\nDefault: 10080 minutes (7 days)\nMin: 1 minute\n" + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there is a limit on how early a customer\ncan book. When `false`, there is no limit on the earliest\nbooking time and customers can book in advance, as early as they like.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "The policy for limiting early bookings." + ] + } + }, + { + "name": "bookingsServicesV2ServiceLimitLateBookingPolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there is a limit on how late a customer\ncan book. When `false`, there is no limit on the latest\nbooking time and customers can book up to the last minute.\n\nDefault: `false`\n" + }, + { + "name": "latestBookingInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minimum number of minutes before the start of the session that a booking can be made.\nFor a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions.\nThis value must be less than `earliest_booking_in_minutes` in the `LimitEarlyBookingPolicy` policy.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + } + ], + "docs": { + "description": [ + "The policy for limiting late bookings." + ] + } + }, + { + "name": "bookingsServicesV2ServiceLinkedSchedule", + "members": [ + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Owner ID, of the linked schedule." + }, + { + "name": "transparency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocalDateTime", + "members": [ + { + "name": "dayOfMonth", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Day of the month, from 1-31." + }, + { + "name": "hourOfDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Hour of the day in 24-hour format, from 0-23." + }, + { + "name": "minutesOfHour", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minute, from 0-59." + }, + { + "name": "monthOfYear", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Month number, from 1-12." + }, + { + "name": "year", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Year. 4-digit format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocale", + "members": [ + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format." + }, + { + "name": "languageCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocation", + "members": [ + { + "name": "address", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text address used when locationType is `OWNER_CUSTOM`." + }, + { + "name": "customAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAddress", + "displayName": "Address" + } + ], + "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocationsAddress", + "members": [ + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocationsAddressLocation", + "displayName": "LocationsAddressLocation" + } + ], + "doc": "Geographic coordinates of location." + }, + { + "name": "postalCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Postal or zip code." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocationsStreetAddress", + "displayName": "LocationsStreetAddress" + } + ], + "doc": "Street address. Includes street name, number, and apartment number in separate fields." + }, + { + "name": "subdivision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocationsAddressLocation", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Latitude of the location. Must be between -90 and 90." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Longitude of the location. Must be between -180 and 180." + } + ], + "docs": { + "description": [ + "Address Geolocation" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocationsLocation", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location ID." + }, + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocationsAddress", + "displayName": "LocationsAddress" + } + ], + "doc": "Address." + }, + { + "name": "archived", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." + }, + { + "name": "businessSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBusinessSchedule", + "displayName": "BusinessSchedule" + } + ], + "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, + { + "name": "default", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Email address." + }, + { + "name": "fax", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fax number." + }, + { + "name": "locationType", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\n\n**Note:** Currently not supported." + }, + { + "name": "locationTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Location types." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Phone number." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." + }, + { + "name": "status", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location status. Defaults to `ACTIVE`.\n__Notes:__\n- [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status.\n- `INACTIVE` status is currently not supported." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Timezone in `America/New_York` format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceLocationsStreetAddress", + "members": [ + { + "name": "apt", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + } + ], + "docs": { + "description": [ + "Street address. Includes street name, number, and apartment number in separate fields." + ] + } + }, + { + "name": "bookingsServicesV2ServiceMaskedService", + "members": [ + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ], + "doc": "Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMedia", + "members": [ + { + "name": "coverMedia", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMediaItem", + "displayName": "MediaItem" + } + ], + "doc": "Cover media associated with the service." + }, + { + "name": "items", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMediaItem", + "displayName": "MediaItem" + } + ] + } + } + ], + "doc": "Media items associated with the service." + }, + { + "name": "mainMedia", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMediaItem", + "displayName": "MediaItem" + } + ], + "doc": "Primary media associated with the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMediaItem", + "members": [ + { + "name": "image", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The image's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfMediaItemItemOneOf", + "members": [ + "image" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMediaItemItemOneOf", + "members": [ + { + "name": "image", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The image's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMessageEnvelope", + "members": [ + { + "name": "data", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Stringify payload." + }, + { + "name": "eventType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "identity", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceIdentificationData", + "displayName": "IdentificationData" + } + ], + "doc": "The identification type and identity data." + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "App instance ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMigrationData", + "members": [ + { + "name": "businessId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "staffs", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceStaffData", + "displayName": "StaffData" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMigrationEvent", + "members": [ + { + "name": "migrationData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMigrationData", + "displayName": "MigrationData" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMoney", + "members": [ + { + "name": "currency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." + }, + { + "name": "formattedValue", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." + } + ], + "docs": { + "description": [ + "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." + ] + } + }, + { + "name": "bookingsServicesV2ServiceMoveToNewLocationsOptions", + "members": [ + { + "name": "newLocation", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Location", + "displayName": "V2Location" + } + ], + "doc": "The new location to move existing sessions currently set to a removed location, used when `action` is `MOVE_TO_LOCATION`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMultiServiceEnabledNotification", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMultilingual", + "members": [ + { + "name": "autoRedirect", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to redirect to user language." + }, + { + "name": "supportedLanguages", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSupportedLanguage", + "displayName": "SupportedLanguage" + } + ] + } + } + ], + "doc": "Supported languages list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceMultipleSessionsCreated", + "members": [ + { + "name": "schedulesWithSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleWithSessions", + "displayName": "ScheduleWithSessions" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedAggregation", + "members": [ + { + "name": "nestedAggregations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedAggregationItem", + "displayName": "NestedAggregationItem" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedAggregationItem", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramAggregation", + "displayName": "DateHistogramAggregation" + } + ], + "doc": "" + }, + { + "name": "fieldPath", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "range", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeAggregation", + "displayName": "RangeAggregation" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarAggregation", + "displayName": "ScalarAggregation" + } + ], + "doc": "" + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregation", + "displayName": "ValueAggregation" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfNestedAggregationItemKindOneOf", + "members": [ + "dateHistogram", + "range", + "scalar", + "value" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedAggregationItemKindOneOf", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDateHistogramAggregation", + "displayName": "DateHistogramAggregation" + } + ], + "doc": "" + }, + { + "name": "range", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeAggregation", + "displayName": "RangeAggregation" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarAggregation", + "displayName": "ScalarAggregation" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregation", + "displayName": "ValueAggregation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedAggregationResults", + "members": [ + { + "name": "fieldPath", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "ranges", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeResults", + "displayName": "RangeResults" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarResult", + "displayName": "ScalarResult" + } + ], + "doc": "" + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'NESTED'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" + }, + { + "name": "values", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResults", + "displayName": "ValueResults" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfNestedAggregationResultsResultOneOf", + "members": [ + "ranges", + "scalar", + "values" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedAggregationResultsResultOneOf", + "members": [ + { + "name": "ranges", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeResults", + "displayName": "RangeResults" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScalarResult", + "displayName": "ScalarResult" + } + ], + "doc": "" + }, + { + "name": "values", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResults", + "displayName": "ValueResults" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedResultValue", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResult", + "displayName": "ValueResult" + } + ], + "doc": "" + }, + { + "name": "range", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeResult", + "displayName": "RangeResult" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedResultsScalarResult", + "displayName": "NestedResultsScalarResult" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResult", + "displayName": "ValueResult" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfNestedResultValueResultOneOf", + "members": [ + "dateHistogram", + "range", + "scalar", + "value" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedResultValueResultOneOf", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResult", + "displayName": "ValueResult" + } + ], + "doc": "" + }, + { + "name": "range", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeResult", + "displayName": "RangeResult" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedResultsScalarResult", + "displayName": "NestedResultsScalarResult" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueResult", + "displayName": "ValueResult" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResults", + "displayName": "Results" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "results of `NESTED` aggregation type in a flattened form\naggregations in resulting array are keyed by requested aggregation `name`." + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedResultsScalarResult", + "members": [ + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceNestedValueAggregationResult", + "members": [ + { + "name": "nestedResults", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedAggregationResults", + "displayName": "NestedAggregationResults" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceOnlineBooking", + "members": [ + { + "name": "allowMultipleRequests", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Multiple customers can request to book the same time slot. Relevant when `requireManualApproval` is `true`." + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this service can be booked online.\nWhen set to `true`, customers can book the service online. Configuring the payment options is done via `service.payment` property.\nWhen set to `false`, customers cannot book the service online, and the service can only be paid for in person." + }, + { + "name": "requireManualApproval", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Booking the service requires approval by the business owner." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePage", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Page's Id" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePaging", + "members": [ + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to skip in the current sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePagingMetadataV2", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursors", + "displayName": "Cursors" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "tooManyToCount", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag that indicates the server failed to calculate the `total` field." + }, + { + "name": "total", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceParticipant", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant ID. Currently represents the booking.id." + }, + { + "name": "approvalStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Approval status for the participant.\n" + }, + { + "name": "contactId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact ID." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's email address." + }, + { + "name": "inherited", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's name." + }, + { + "name": "partySize", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's phone number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceParticipantNotification", + "members": [ + { + "name": "message", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Custom message to send to the participants about the changes to the booking." + }, + { + "name": "notifyParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceParticipantsPolicy", + "members": [ + { + "name": "maxParticipantsPerBooking", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants allowed.\n\nDefault: 1 participant\nMin: 1 participant\n" + } + ], + "docs": { + "description": [ + "The policy for the maximum number of participants per booking." + ] + } + }, + { + "name": "bookingsServicesV2ServicePayment", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCustomPayment", + "displayName": "CustomPayment" + } + ], + "doc": "The details for the custom price of the service.\n\nRequired when: `rateType` is `CUSTOM`\n" + }, + { + "name": "fixed", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceFixedPayment", + "displayName": "FixedPayment" + } + ], + "doc": "The details for the fixed price of the service.\n\nRequired when: `rateType` is `FIXED`\n" + }, + { + "name": "options", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePaymentOptions", + "displayName": "PaymentOptions" + } + ], + "doc": "The payment options a customer can use to pay for the service." + }, + { + "name": "pricingPlanIds", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "IDs of pricing plans that can be used as payment for the service." + }, + { + "name": "rateType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The rate the customer is expected to pay for the service.\nCan be:\n- `FIXED`: The service has a fixed price.\n- `CUSTOM`: The service has a custom price, expressed as a price description.\n- `VARIED`: This service is offered with a set of different prices based on different terms.\n- `NO_FEE`: This service is offered free of charge." + }, + { + "name": "varied", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceVariedPayment", + "displayName": "VariedPayment" + } + ], + "doc": "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`\n" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfPaymentRateOneOf", + "members": [ + "custom", + "fixed", + "varied" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePaymentOptions", + "members": [ + { + "name": "deposit", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified." + }, + { + "name": "inPerson", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Customers can pay for the service in person." + }, + { + "name": "online", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be either `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.default_price` must be specified respectively. Read more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)." + }, + { + "name": "pricingPlan", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Customers can pay for the service using a pricing plan." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePaymentRateOneOf", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCustomPayment", + "displayName": "CustomPayment" + } + ], + "doc": "The details for the custom price of the service.\n\nRequired when: `rateType` is `CUSTOM`\n" + }, + { + "name": "fixed", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceFixedPayment", + "displayName": "FixedPayment" + } + ], + "doc": "The details for the fixed price of the service.\n\nRequired when: `rateType` is `FIXED`\n" + }, + { + "name": "varied", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceVariedPayment", + "displayName": "VariedPayment" + } + ], + "doc": "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePolicyDescription", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The description to display.\n\nDefault: Empty\nMax length: 2500 characters\n" + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the description should be displayed. If `true`, the description is displayed.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "A description of the policy to display to participants." + ] + } + }, + { + "name": "bookingsServicesV2ServicePrice", + "members": [ + { + "name": "amount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Required payment amount." + }, + { + "name": "currency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency in which the amount is quoted." + }, + { + "name": "downPayAmount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Amount of a down payment or deposit as part of the transaction." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceProperties", + "members": [ + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV4Address", + "displayName": "V4Address" + } + ], + "doc": "Address." + }, + { + "name": "businessConfig", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n\nSite business type.\n" + }, + { + "name": "businessName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business name." + }, + { + "name": "businessSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBusinessSchedule", + "displayName": "BusinessSchedule" + } + ], + "doc": "Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, + { + "name": "categories", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCategories", + "displayName": "Categories" + } + ], + "doc": "Site categories." + }, + { + "name": "consentPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceConsentPolicy", + "displayName": "ConsentPolicy" + } + ], + "doc": "Cookie policy the site owner defined for their site (before the users interacts with/limits it)." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Email address." + }, + { + "name": "externalSiteUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "External site url that uses Wix as its headless business solution" + }, + { + "name": "fax", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fax number." + }, + { + "name": "language", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site language.\n\nTwo-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n" + }, + { + "name": "locale", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocale", + "displayName": "Locale" + } + ], + "doc": "Site locale." + }, + { + "name": "logo", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Path to the site's logo in Wix Media (without Wix Media base URL)." + }, + { + "name": "multilingual", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMultilingual", + "displayName": "Multilingual" + } + ], + "doc": "Supported languages of a site and the primary language." + }, + { + "name": "paymentCurrency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site currency format used to bill customers.\n\nThree-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n" + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Phone number." + }, + { + "name": "siteDisplayName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site display name." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Timezone in `America/New_York` format." + }, + { + "name": "trackClicksAnalytics", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Track clicks analytics" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServicePropertiesChange", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceQueryPoliciesRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorQuery", + "displayName": "CursorQuery" + } + ], + "doc": "WQL expression." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceQueryPoliciesResponse", + "members": [ + { + "name": "bookingPolicies", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBookingPolicyWithServices", + "displayName": "BookingPolicyWithServices" + } + ] + } + } + ], + "doc": "The retrieved policies." + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorPagingMetadata", + "displayName": "CursorPagingMetadata" + } + ], + "doc": "Paging metadata, including offset and count." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceQueryServicesRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceQueryV2", + "displayName": "QueryV2" + } + ], + "doc": "WQL expression." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceQueryServicesResponse", + "members": [ + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePagingMetadataV2", + "displayName": "PagingMetadataV2" + } + ], + "doc": "Paging metadata, including offset and count." + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ] + } + } + ], + "doc": "The retrieved services." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceQueryV2", + "members": [ + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object in the following format:\n\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\n\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`\n\nRead more about [supported fields and operators](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting).\n" + }, + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePaging", + "displayName": "Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSorting", + "displayName": "Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"},\n{\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n\nRead more about [sorting](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting#wix-bookings_services-v2_filtering-and-sorting_sorting).\n" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceQueryV2PagingMethodOneOf", + "members": [ + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePaging", + "displayName": "Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRangeAggregation", + "members": [ + { + "name": "buckets", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeBucket", + "displayName": "RangeBucket" + } + ] + } + } + ], + "doc": "Range buckets" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRangeAggregationResult", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "to", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRangeBucket", + "members": [ + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Inclusive lower bound of the range. Required if to is not given." + }, + { + "name": "to", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Exclusive upper bound of the range. Required if from is not given." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRangeResult", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "to", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRangeResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRangeAggregationResult", + "displayName": "RangeAggregationResult" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRate", + "members": [ + { + "name": "labeledPriceOptions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePrice", + "displayName": "Price" + } + ] + } + } + ], + "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + }, + { + "name": "priceText", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRecurringInterval", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The recurring interval identifier." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } + } + ], + "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." + }, + { + "name": "frequency", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceFrequency", + "displayName": "Frequency" + } + ], + "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." + }, + { + "name": "interval", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceInterval", + "displayName": "Interval" + } + ], + "doc": "The interval rules. The day, hour and minutes the interval is recurring." + }, + { + "name": "intervalType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of recurring interval." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The start time of the recurring interval. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRecurringSessionSplit", + "members": [ + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRecurringSessionsUpdated", + "members": [ + { + "name": "newRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "New schedule's recurring session list." + }, + { + "name": "oldRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "Old schedule's recurring session list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceReindexMessage", + "members": [ + { + "name": "delete", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDelete", + "displayName": "Delete" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "entityFqdn", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "" + }, + { + "name": "schema", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchema", + "displayName": "Schema" + } + ], + "doc": "" + }, + { + "name": "tenantId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "upsert", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceUpsert", + "displayName": "Upsert" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfReindexMessageActionOneOf", + "members": [ + "delete", + "upsert" + ] + } + ] + }, + "docs": { + "description": [ + "Message for reindexing search data to a given search schema. Support both upsert and delete flows as well as\nperforms context manipulation with adding tenant, provided in message to callscope." + ] + } + }, + { + "name": "bookingsServicesV2ServiceReindexMessageActionOneOf", + "members": [ + { + "name": "delete", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceDelete", + "displayName": "Delete" + } + ], + "doc": "" + }, + { + "name": "upsert", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceUpsert", + "displayName": "Upsert" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRemovedLocationSessionsAction", + "members": [ + { + "name": "action", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location." + }, + { + "name": "moveToLocationOptions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoveToNewLocationsOptions", + "displayName": "MoveToNewLocationsOptions" + } + ], + "doc": "Options related to the action, such as a new location to move existing sessions to." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfRemovedLocationSessionsActionActionOptionsOneOf", + "members": [ + "moveToLocationOptions" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceRemovedLocationSessionsActionActionOptionsOneOf", + "members": [ + { + "name": "moveToLocationOptions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoveToNewLocationsOptions", + "displayName": "MoveToNewLocationsOptions" + } + ], + "doc": "Options related to the action, such as a new location to move existing sessions to." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceReschedulePolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether rescheduling a booking is allowed. When `true`, customers\ncan reschedule the booking.\n\nDefault: `false`\n" + }, + { + "name": "latestRescheduleInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minimum number of minutes before the start of the booked session that the booking can be rescheduled.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + }, + { + "name": "limitLatestReschedule", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there is a limit on the latest reschedule time. When `true`,\na time limit is enforced.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "The policy for rescheduling a booked session." + ] + } + }, + { + "name": "bookingsServicesV2ServiceResource", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource email address." + }, + { + "name": "images", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource images." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource phone number." + }, + { + "name": "scheduleIds", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "List of IDs of schedules owned by this resource." + }, + { + "name": "schedules", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ] + } + } + ], + "doc": "Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource status." + }, + { + "name": "tag", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Deprecated. Please use tags." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'." + }, + { + "name": "wixUserId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceResourceGroup", + "members": [ + { + "name": "requiredResourcesNumber", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "How many resources of the group / resource ids are required in order to book the service.\nDefaults to 1." + }, + { + "name": "resourceGroupId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "An optional resource group id, if provided it references a resource group in the resource groups API.\nTODO - referenced_entity annotation" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResourceIds", + "displayName": "ResourceIds" + } + ], + "doc": "Resource ids, each referencing a resource in resources API. may be a subset of resources within a resource group.\nTODO - referenced_entity annotation" + }, + { + "name": "selectableResource", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "If set to `true`, the custom can select the specific resources while booking the service.\nIf set to `false`, the resources required for to book the service would be auto selected at the time of the booking.\nDefaults to false." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceResourceIds", + "members": [ + { + "name": "values", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Values of the resource ids. TODO - referenced_entity annotation" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceResourceNotification", + "members": [ + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "resource", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResource", + "displayName": "Resource" + } + ], + "doc": "Updated resource entity.\n'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceResourceType", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of the resource." + }, + { + "name": "name", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The name of the resource type." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceResourcesPolicy", + "members": [ + { + "name": "autoAssignAllowed", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "`true`, if it is allowed to automatically assign a resource when booking an appointment,\n`false`, if the client must always select a resource.\n\nDefault: `false`\n" + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "`true` if this policy is enabled, `false` otherwise.\nWhen `false` then the client must always select a resource when booking an appointment." + } + ], + "docs": { + "description": [ + "The policy regarding the allocation of resources (e.g. staff members)." + ] + } + }, + { + "name": "bookingsServicesV2ServiceResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceNestedResultValue", + "displayName": "NestedResultValue" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSaveCreditCardPolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether customer credit card details should be stored.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScalarAggregation", + "members": [ + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'AVG'`\n- `'COUNT_DISTINCT'`\n- `'MAX'`\n- `'MIN'`\n- `'SUM'`\n- `'UNKNOWN_SCALAR_TYPE'`" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScalarResult", + "members": [ + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'AVG'`\n- `'COUNT_DISTINCT'`\n- `'MAX'`\n- `'MIN'`\n- `'SUM'`\n- `'UNKNOWN_SCALAR_TYPE'`" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSchedule", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "availability", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAvailability", + "displayName": "Availability" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "calendarConference", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCalendarConference", + "displayName": "CalendarConference" + } + ], + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." + }, + { + "name": "conferenceProvider", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceConferenceProvider", + "displayName": "ConferenceProvider" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "created", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Schedule creation date." + }, + { + "name": "externalCalendarOverrides", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceExternalCalendarOverrides", + "displayName": "ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + }, + { + "name": "intervals", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRecurringInterval", + "displayName": "RecurringInterval" + } + ] + } + } + ], + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocation", + "displayName": "Location" + } + ], + "doc": "Default location for the schedule's sessions." + }, + { + "name": "participants", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipant", + "displayName": "Participant" + } + ] + } + } + ], + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, + { + "name": "rate", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRate", + "displayName": "Rate" + } + ], + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + }, + { + "name": "scheduleOwnerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule status." + }, + { + "name": "tags", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + }, + { + "name": "timeZone", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." + }, + { + "name": "totalNumberOfParticipants", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." + }, + { + "name": "updated", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Schedule last update date." + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleCancelled", + "members": [ + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleCreated", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleNotification", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAvailabilityPolicyUpdated", + "displayName": "AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceIntervalSplit", + "displayName": "IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "notifyParticipants", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + }, + { + "name": "preserveFutureSessionsWithParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRecurringSessionSplit", + "displayName": "RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleCancelled", + "displayName": "ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleCreated", + "displayName": "ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleUnassignedFromUser", + "displayName": "ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleUpdated", + "displayName": "ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionCancelled", + "displayName": "SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionCreated", + "displayName": "SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionUpdated", + "displayName": "SessionUpdated" + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSitePropertiesOnScheduleCreation", + "displayName": "SitePropertiesOnScheduleCreation" + } + ], + "doc": "site properties. Optional. Given in create schedule notification." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfScheduleNotificationEventOneOf", + "members": [ + "availabilityPolicyUpdated", + "intervalSplit", + "migrationEvent", + "multipleSessionsCreated", + "recurringSessionSplit", + "scheduleCancelled", + "scheduleCreated", + "scheduleUnassignedFromUser", + "scheduleUpdated", + "sessionCancelled", + "sessionCreated", + "sessionUpdated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleNotificationEventOneOf", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAvailabilityPolicyUpdated", + "displayName": "AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceIntervalSplit", + "displayName": "IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRecurringSessionSplit", + "displayName": "RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleCancelled", + "displayName": "ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleCreated", + "displayName": "ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleUnassignedFromUser", + "displayName": "ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceScheduleUpdated", + "displayName": "ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionCancelled", + "displayName": "SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionCreated", + "displayName": "SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionUpdated", + "displayName": "SessionUpdated" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleUnassignedFromUser", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "The schedule that was unassigned from the user." + }, + { + "name": "userId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The Wix user id." + } + ], + "docs": { + "description": [ + "Schedule unassigned from user." + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleUpdated", + "members": [ + { + "name": "newSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "The new schedule after the update." + }, + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "The old schedule before the update." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRecurringSessionsUpdated", + "displayName": "RecurringSessionsUpdated" + } + ], + "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceScheduleWithSessions", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSchedule", + "displayName": "Schedule" + } + ], + "doc": "" + }, + { + "name": "sessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSitePropertiesOnScheduleCreation", + "displayName": "SitePropertiesOnScheduleCreation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSchema", + "members": [ + { + "name": "clusterName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "label", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSearchDetails", + "members": [ + { + "name": "expression", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Search term or expression" + }, + { + "name": "fields", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Fields to search in. If empty - server will search in own default fields" + }, + { + "name": "fuzzy", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)" + }, + { + "name": "mode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Boolean search mode" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSearchServicesRequest", + "members": [ + { + "name": "search", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorSearch", + "displayName": "CursorSearch" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSearchServicesResponse", + "members": [ + { + "name": "aggregationData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAggregationData", + "displayName": "AggregationData" + } + ], + "doc": "Response aggregation data" + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCursorPagingMetadata", + "displayName": "CursorPagingMetadata" + } + ], + "doc": "Cursor paging metadata" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" + } + ] + } + } + ], + "doc": "The retrieved services." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSeoSchema", + "members": [ + { + "name": "settings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSettings", + "displayName": "Settings" + } + ], + "doc": "SEO general settings." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceTag", + "displayName": "Tag" + } + ] + } + } + ], + "doc": "SEO tag information." + } + ], + "docs": { + "description": [ + "The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\nThe search engines use this information for ranking purposes, or to display snippets in the search results.\nThis data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself." + ] + } + }, + { + "name": "bookingsServicesV2ServiceService", + "members": [ + { + "name": "_createdDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the service was created." + }, + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID." + }, + { + "name": "_updatedDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the service was updated." + }, + { + "name": "bookingPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBookingPolicy", + "displayName": "BookingPolicy" + } + ], + "doc": "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." + }, + { + "name": "category", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Category", + "displayName": "V2Category" + } + ], + "doc": "The category the service is associated with." + }, + { + "name": "conferencing", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceConferencing", + "displayName": "Conferencing" + } + ], + "doc": "Conferencing options for this service." + }, + { + "name": "defaultCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "extendedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceExtendedFields", + "displayName": "ExtendedFields" + } + ], + "doc": "Extensions enabling users to save custom data related to the service." + }, + { + "name": "form", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceForm", + "displayName": "Form" + } + ], + "doc": "The form used when booking the service." + }, + { + "name": "hidden", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the service is hidden from the site." + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Location", + "displayName": "V2Location" + } + ] + } + } + ], + "doc": "The locations this service is offered at.\nIn case of multiple (more than 1) location, All locations must be of type `BUSINESS`.\nFor courses only: Currently, only 1 location is supported, for all location types." + }, + { + "name": "mainSlug", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSlug", + "displayName": "Slug" + } + ], + "doc": "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.\n`mainSlug` is used to construct the service's URLs." + }, + { + "name": "media", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMedia", + "displayName": "Media" + } + ], + "doc": "Media associated with the service." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "onlineBooking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceOnlineBooking", + "displayName": "OnlineBooking" + } + ], + "doc": "Online booking settings." + }, + { + "name": "payment", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServicePayment", + "displayName": "Payment" + } + ], + "doc": "Payment options for booking the service." + }, + { + "name": "revision", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "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." + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Schedule", + "displayName": "V2Schedule" + } + ], + "doc": "The service's schedule, which can be used to manage the service's sessions." + }, + { + "name": "seoData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSeoSchema", + "displayName": "SeoSchema" + } + ], + "doc": "Custom SEO data for the service." + }, + { + "name": "sortOrder", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Order of a service within a category." + }, + { + "name": "staffMemberIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "IDs of the staff members providing the service. For appointments only." + }, + { + "name": "supportedSlugs", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSlug", + "displayName": "Slug" + } + ] + } + } + ], + "doc": "A slug is the last part of the URL address that serves as a unique identifier of the service.\nThe list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner." + }, + { + "name": "tagLine", + "optional": true, + "type": [ + { + "nativeType": "string" } ], - "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400." + "doc": "" }, { - "name": "hourOfDay", + "name": "type", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." + "doc": "Service type." }, { - "name": "minuteOfHour", + "name": "urls", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceUrLs", + "displayName": "URLs" } ], - "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." + "doc": "URLs to various service-related pages, such as the calendar page and the booking page." } ], "docs": { "description": [ - "" + "The `Service` object represents the business offering that a business provides to its customers." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsIntervalSplit", + "name": "bookingsServicesV2ServiceServiceAvailabilityConstraints", "members": [ { - "name": "intervals", + "name": "bookingPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBookingPolicy", + "displayName": "BookingPolicy" + } + ], + "doc": "The booking policy." + }, + { + "name": "locations", + "readOnly": true, "optional": true, "type": [ { @@ -6564,74 +21663,88 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringInterval", - "displayName": "RecurringInterval" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Location", + "displayName": "V2Location" } ] } } ], - "doc": "" + "doc": "The locations this service is offered at.\nOnly multiple locations of type `BUSINESS` are supported. multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.\nFor courses only: Currently, only 1 location is supported, for all location types.\nUse `setServiceLocations` method to change the locations this service is offered at." }, { - "name": "newScheduleVersion", + "name": "onlineBooking", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceOnlineBooking", + "displayName": "OnlineBooking" } ], - "doc": "" + "doc": "Online booking settings." }, { - "name": "oldScheduleVersion", + "name": "resourceGroups", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResourceGroup", + "displayName": "ResourceGroup" + } + ] + } } ], "doc": "" }, { - "name": "scheduleId", + "name": "schedule", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Schedule", + "displayName": "V2Schedule" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsKeyword", - "members": [ + "doc": "The service schedule, including the schedule id and availability constraints." + }, { - "name": "isMain", + "name": "serviceResources", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceServiceResource", + "displayName": "ServiceResource" + } + ] + } } ], - "doc": "Whether the keyword is the main focus keyword." + "doc": "Resource groups required to book the service" }, { - "name": "term", + "name": "slotsSplitInterval", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV1SplitInterval", + "displayName": "V1SplitInterval" } ], - "doc": "Keyword value." + "doc": "The time between available slots' start times.\nFor example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc.\nIs applied to all schedules of the site.\nFor appointment only." } ], "docs": { @@ -6641,38 +21754,47 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", + "name": "bookingsServicesV2ServiceServiceCreated", "members": [ { - "name": "scheduleId", - "optional": true, + "name": "entity", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" } ], - "doc": "Schedule ID." + "doc": "Created service." }, { - "name": "scheduleOwnerId", - "readOnly": true, - "optional": true, + "name": "metadata", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Owner ID, of the linked schedule." - }, + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceServiceDeleted", + "members": [ { - "name": "transparency", - "optional": true, + "name": "metadata", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + "doc": "Event metadata." } ], "docs": { @@ -6682,59 +21804,72 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocalDateTime", + "name": "bookingsServicesV2ServiceServiceResource", "members": [ { - "name": "dayOfMonth", + "name": "_id", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Day of the month, from 1-31." + "doc": "The unique identifier for the service resource, if not provided, would default to the resource type id." }, { - "name": "hourOfDay", + "name": "requiredResourcesNumber", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Hour of the day in 24-hour format, from 0-23." + "doc": "How many resources of the are required in order to book the service.\nDefaults to 1." }, { - "name": "minutesOfHour", + "name": "resourceIds", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResourceIds", + "displayName": "ResourceIds" } ], - "doc": "Minute, from 0-59." + "doc": "Resource ids, each referencing a resource in resources API. Must be a subset of resources within the selected resource type." }, { - "name": "monthOfYear", + "name": "resourceType", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResourceType", + "displayName": "ResourceType" } ], - "doc": "Month number, from 1-12." + "doc": "" }, { - "name": "year", + "name": "selectableResource", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Year. 4-digit format." + "doc": "If set to `true`, the customer can select the specific resources while booking the service.\nIf set to `false`, the resources required for to book the service would be auto selected at the time of the booking.\nDefaults to false." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfServiceResourceSelectionOneOf", + "members": [ + "resourceIds" + ] + } + ] + }, "docs": { "description": [ "" @@ -6742,27 +21877,18 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocale", + "name": "bookingsServicesV2ServiceServiceResourceSelectionOneOf", "members": [ { - "name": "country", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format." - }, - { - "name": "languageCode", + "name": "resourceIds", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceResourceIds", + "displayName": "ResourceIds" } ], - "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." + "doc": "Resource ids, each referencing a resource in resources API. Must be a subset of resources within the selected resource type." } ], "docs": { @@ -6772,38 +21898,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocation", + "name": "bookingsServicesV2ServiceServiceUpdated", "members": [ { - "name": "address", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Free text address used when locationType is `OWNER_CUSTOM`." - }, - { - "name": "customAddress", - "optional": true, + "name": "entity", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAddress", - "displayName": "Address" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" } ], - "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." + "doc": "Updated service." }, { - "name": "locationType", - "optional": true, + "name": "metadata", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + "doc": "Event metadata." } ], "docs": { @@ -6813,333 +21928,358 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddress", + "name": "bookingsServicesV2ServiceServicesUrlsChanged", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSession", "members": [ { - "name": "city", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "City name." + "doc": "Session ID." }, { - "name": "country", + "name": "affectedSchedules", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLinkedSchedule", + "displayName": "LinkedSchedule" + } + ] + } } ], - "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." }, { - "name": "postalCode", + "name": "calendarConference", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCalendarConference", + "displayName": "CalendarConference" } ], - "doc": "Postal or zip code." + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { - "name": "streetAddress", + "name": "capacity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocationsStreetAddress", - "displayName": "LocationsStreetAddress" + "nativeType": "number" } ], - "doc": "Street address. Includes street name, number, and apartment number in separate fields." + "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { - "name": "subdivision", + "name": "end", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCalendarDateTime", + "displayName": "CalendarDateTime" } ], - "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddressLocation", - "members": [ + "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + }, + { + "name": "externalCalendarOverrides", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceExternalCalendarOverrides", + "displayName": "ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." + }, { - "name": "latitude", + "name": "instanceOfRecurrence", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Latitude of the location. Must be between -90 and 90." + "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." }, { - "name": "longitude", + "name": "location", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocation", + "displayName": "Location" } ], - "doc": "Longitude of the location. Must be between -180 and 180." - } - ], - "docs": { - "description": [ - "Address Geolocation" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsLocation", - "members": [ + "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + }, { - "name": "_id", - "readOnly": true, + "name": "notes", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location ID." + "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." }, { - "name": "address", + "name": "originalStart", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocationsAddress", - "displayName": "LocationsAddress" + "nativeType": "Date" } ], - "doc": "Address." + "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." }, { - "name": "archived", - "readOnly": true, + "name": "participants", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipant", + "displayName": "Participant" + } + ] + } } ], - "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { - "name": "businessSchedule", + "name": "rate", + "readOnly": false, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBusinessSchedule", - "displayName": "BusinessSchedule" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRate", + "displayName": "Rate" } ], - "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { - "name": "default", - "readOnly": true, + "name": "recurrence", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" }, { - "name": "description", + "name": "recurringIntervalId", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location description." + "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." }, { - "name": "email", + "name": "recurringSessionId", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Email address." + "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." }, { - "name": "fax", + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Fax number." + "doc": "ID of the schedule that the session belongs to." }, { - "name": "locationType", + "name": "scheduleOwnerId", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type. **Note:** Currently not supported." + "doc": "ID of the resource or service that the session's schedule belongs to." }, { - "name": "name", + "name": "start", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCalendarDateTime", + "displayName": "CalendarDateTime" } ], - "doc": "Location name." + "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." }, { - "name": "phone", + "name": "status", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Phone number." + "doc": "Session status." }, { - "name": "revision", + "name": "tags", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { - "name": "status", + "name": "timeReservedAfter", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Location status. Defaults to `ACTIVE`.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status. `INACTIVE` is currently not supported." + "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." }, { - "name": "timeZone", + "name": "title", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Timezone in `America/New_York` format." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsLocationsStreetAddress", - "members": [ + "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, { - "name": "apt", + "name": "totalNumberOfParticipants", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Apartment number." + "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." }, { - "name": "name", + "name": "type", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Street name." + "doc": "Session type." }, { - "name": "number", + "name": "version", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSessionVersion", + "displayName": "SessionVersion" } ], - "doc": "Street number." + "doc": "The session version.\nComposed by the schedule, session and participants versions." } ], "docs": { "description": [ - "Street address. Includes street name, number, and apartment number in separate fields." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMedia", + "name": "bookingsServicesV2ServiceSessionCancelled", "members": [ { - "name": "coverMedia", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", - "displayName": "MediaItem" - } - ], - "doc": "Cover image associated with the service." - }, - { - "name": "items", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", - "displayName": "MediaItem" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Images associated with the service." + "doc": "Whether to notify participants about the change and an optional custom message" }, { - "name": "mainMedia", + "name": "session", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", - "displayName": "MediaItem" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" } ], - "doc": "Primary image associated with the service." + "doc": "" } ], "docs": { @@ -7149,29 +22289,20 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMediaItem", + "name": "bookingsServicesV2ServiceSessionCreated", "members": [ { - "name": "image", + "name": "session", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" } ], - "doc": "Image metadata." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfMediaItemItemOneOf", - "members": [ - "image" - ] - } - ] - }, "docs": { "description": [ "" @@ -7179,17 +22310,50 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMediaItemItemOneOf", + "name": "bookingsServicesV2ServiceSessionUpdated", "members": [ { - "name": "image", + "name": "newSession", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" } ], - "doc": "Image metadata." + "doc": "" + }, + { + "name": "oldSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSession", + "displayName": "Session" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" } ], "docs": { @@ -7199,35 +22363,17 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMigrationData", + "name": "bookingsServicesV2ServiceSessionVersion", "members": [ { - "name": "businessId", + "name": "number", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" - }, - { - "name": "staffs", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsStaffData", - "displayName": "StaffData" - } - ] - } - } - ], - "doc": "" + "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." } ], "docs": { @@ -7237,18 +22383,18 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMigrationEvent", + "name": "bookingsServicesV2ServiceSetCustomSlugEvent", "members": [ { - "name": "migrationData", + "name": "mainSlug", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMigrationData", - "displayName": "MigrationData" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSlug", + "displayName": "Slug" } ], - "doc": "" + "doc": "The main slug for the service after the update" } ], "docs": { @@ -7258,75 +22404,115 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMoney", + "name": "bookingsServicesV2ServiceSetCustomSlugRequest", "members": [ { - "name": "currency", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." - }, - { - "name": "formattedValue", - "optional": true, + "name": "serviceId", "type": [ { "nativeType": "string" } ], - "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." + "doc": "ID of the service to assign the custom slug to." }, { - "name": "value", - "optional": true, + "name": "slugName", "type": [ { "nativeType": "string" } ], - "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." + "doc": "The custom name to set as the active slug for the service." } ], "docs": { "description": [ - "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMultilingual", + "name": "bookingsServicesV2ServiceSetCustomSlugResponse", "members": [ { - "name": "autoRedirect", + "name": "service", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" } ], - "doc": "Whether to redirect to user language." + "doc": "The service after the custom slug update." }, { - "name": "supportedLanguages", + "name": "slug", "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSlug", + "displayName": "Slug" + } + ], + "doc": "The new slug set as the active slug for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSetServiceLocationsRequest", + "members": [ + { + "name": "locations", "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSupportedLanguage", - "displayName": "SupportedLanguage" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2Location", + "displayName": "V2Location" } ] } } ], - "doc": "Supported languages list." + "doc": "The locations you specify replace the existing service locations." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2ParticipantNotification", + "displayName": "V2ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change of location, and an optional custom message." + }, + { + "name": "removedLocationSessionsAction", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceRemovedLocationSessionsAction", + "displayName": "RemovedLocationSessionsAction" + } + ], + "doc": "The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location." + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service." } ], "docs": { @@ -7336,25 +22522,18 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsMultipleSessionsCreated", + "name": "bookingsServicesV2ServiceSetServiceLocationsResponse", "members": [ { - "name": "schedulesWithSessions", + "name": "service", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleWithSessions", - "displayName": "ScheduleWithSessions" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" } ], - "doc": "" + "doc": "The updated service with the newly set locations." } ], "docs": { @@ -7364,27 +22543,35 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsPaging", + "name": "bookingsServicesV2ServiceSettings", "members": [ { - "name": "limit", + "name": "keywords", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceKeyword", + "displayName": "Keyword" + } + ] + } } ], - "doc": "Number of items to load." + "doc": "User-selected keyword terms for a specific page." }, { - "name": "offset", + "name": "preventAutoRedirect", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Number of items to skip in the current sort order." + "doc": "Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n\nDefault: `false` (Auto Redirect is enabled.)\n" } ], "docs": { @@ -7394,149 +22581,190 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsPagingMetadataV2", + "name": "bookingsServicesV2ServiceSiteCloned", "members": [ { - "name": "count", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items returned in the response." - }, - { - "name": "cursors", + "name": "originMetaSiteId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCursors", - "displayName": "Cursors" + "nativeType": "string" } ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, + "doc": "Origin site id." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSiteCreated", + "members": [ { - "name": "offset", + "name": "originTemplateId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Offset that was requested." - }, + "doc": "Origin template site id." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSitePropertiesEvent", + "members": [ { - "name": "tooManyToCount", + "name": "properties", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceProperties", + "displayName": "Properties" } ], - "doc": "Flag that indicates the server failed to calculate the `total` field." + "doc": "Updated properties." }, { - "name": "total", + "name": "version", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + "doc": "Version of the site's properties represented by this update." } ], "docs": { "description": [ - "" + "The actual update event for a particular notification." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsParticipant", + "name": "bookingsServicesV2ServiceSitePropertiesNotification", "members": [ { - "name": "_id", + "name": "changeContext", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceChangeContext", + "displayName": "ChangeContext" } ], - "doc": "Participant ID. Currently represents the booking.id." + "doc": "Context of the notification" }, { - "name": "approvalStatus", + "name": "event", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceSitePropertiesEvent", + "displayName": "SitePropertiesEvent" } ], - "doc": "Approval status for the participant.\n\n" + "doc": "The actual update event." }, { - "name": "contactId", + "name": "metasiteId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Contact ID." + "doc": "The site ID for which this update notification applies." }, { - "name": "email", + "name": "translations", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceTranslation", + "displayName": "Translation" + } + ] + } } ], - "doc": "Participant's email address." - }, + "doc": "A convenience set of mappings from the MetaSite ID to its constituent services." + } + ], + "docs": { + "description": [ + "Encapsulates all details written to the Greyhound topic when a site's properties are updated." + ] + } + }, + { + "name": "bookingsServicesV2ServiceSitePropertiesOnScheduleCreation", + "members": [ { - "name": "inherited", - "readOnly": true, + "name": "timeZone", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." - }, + "doc": "The global time zone value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSlug", + "members": [ { - "name": "name", + "name": "_createdDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Participant's name." + "doc": "Date and time the slug was created. This is a system field." }, { - "name": "partySize", + "name": "custom", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + "doc": "Whether the slug was generated or customized. If `true`, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name." }, { - "name": "phone", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Participant's phone number." + "doc": "The unique part of service's URL that identifies the service's information page. For example, `service-1` in `https:/example.com/services/service-1`." } ], "docs": { @@ -7546,27 +22774,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", + "name": "bookingsServicesV2ServiceSorting", "members": [ { - "name": "message", + "name": "fieldName", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Custom message to send to the participants about the changes to the booking." + "doc": "Name of the field to sort by." }, { - "name": "notifyParticipants", + "name": "order", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + "doc": "Sort order." } ], "docs": { @@ -7576,351 +22804,349 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsPaymentOptions", + "name": "bookingsServicesV2ServiceSpecialHourPeriod", "members": [ { - "name": "custom", + "name": "comment", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether a booking made for the service can be paid in a customized way, defined by the API." + "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" }, { - "name": "wixPaidPlan", + "name": "endDate", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether a booking made for the service can be paid using Wix Pricing Plans." + "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." }, { - "name": "wixPayInPerson", + "name": "isClosed", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether a booking made for the service can be paid in person." + "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" }, { - "name": "wixPayOnline", + "name": "startDate", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether a booking made for the service can be paid online through Wix." + "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." } ], "docs": { "description": [ - "Payment options for the service. Multiple payment options can be enabled. For example:\nFor a service to be paid only online using WiX, then set wix_pay_online=true and the rest should be set to false.\nFor a service to accept payment online via Wix or in person, set the wix_pay_online=true & wix_pay_in_person=true." + "Exception to the business's regular hours. The business can be open or closed during the exception." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsPrice", + "name": "bookingsServicesV2ServiceSplitInterval", "members": [ { - "name": "amount", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Required payment amount." - }, - { - "name": "currency", + "name": "sameAsDuration", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Currency in which the amount is quoted." + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." }, { - "name": "downPayAmount", + "name": "valueInMinutes", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Amount of a down payment or deposit as part of the transaction." + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." } ], "docs": { "description": [ - "" + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsProperties", + "name": "bookingsServicesV2ServiceStaffData", "members": [ { - "name": "address", + "name": "refreshToken", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsV4Address", - "displayName": "V4Address" + "nativeType": "string" } ], - "doc": "Address." + "doc": "" }, { - "name": "businessConfig", + "name": "resourceId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n\nSite business type.\n" + "doc": "" }, { - "name": "businessName", + "name": "syncRequestEmail", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Business name." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceStaffMember", + "members": [ { - "name": "businessSchedule", + "name": "name", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBusinessSchedule", - "displayName": "BusinessSchedule" + "nativeType": "string" } ], - "doc": "Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n\n__Note:__ Not supported by Wix Bookings.\n" + "doc": "Name of the staff member" }, { - "name": "categories", + "name": "staffMemberId", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCategories", - "displayName": "Categories" + "nativeType": "string" } ], - "doc": "Site categories." - }, + "doc": "ID of the staff member providing the service, can be used to retrieve resource information using wix-bookings-backend resources API." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceStreetAddress", + "members": [ { - "name": "consentPolicy", + "name": "apt", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsConsentPolicy", - "displayName": "ConsentPolicy" + "nativeType": "string" } ], - "doc": "Cookie policy the site owner defined for their site (before the users interacts with/limits it)." + "doc": "Apartment number." }, { - "name": "description", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Site description." + "doc": "Street name." }, { - "name": "email", + "name": "number", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Email address." - }, + "doc": "Street number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSubdivision", + "members": [ { - "name": "externalSiteUrl", + "name": "code", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "External site url that uses Wix as its headless business solution" + "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." }, { - "name": "fax", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Fax number." - }, + "doc": "Subdivision full name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceSupportedLanguage", + "members": [ { - "name": "language", + "name": "countryCode", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Site language.\n\nTwo-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n" + "doc": "Language icon." }, { - "name": "locale", + "name": "isPrimary", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocale", - "displayName": "Locale" + "nativeType": "boolean" } ], - "doc": "Site locale." + "doc": "Whether the supported language is the primary language for the site." }, { - "name": "logo", + "name": "languageCode", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Path to the site's logo in Wix Media (without Wix Media base URL)." + "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." }, { - "name": "multilingual", + "name": "locale", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMultilingual", - "displayName": "Multilingual" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceLocale", + "displayName": "Locale" } ], - "doc": "Supported languages of a site and the primary language." + "doc": "Locale." }, { - "name": "paymentCurrency", + "name": "resolutionMethod", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Site currency format used to bill customers.\n\nThree-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n" - }, + "doc": "How the language will be resolved. For internal use." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceTag", + "members": [ { - "name": "phone", + "name": "children", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Phone number." + "doc": "SEO tag inner content. For example, ` inner content `." }, { - "name": "siteDisplayName", + "name": "custom", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Site display name." + "doc": "Whether the tag is a custom tag." }, { - "name": "timeZone", + "name": "disabled", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Timezone in `America/New_York` format." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsPropertiesChange", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryServiceOptionsAndVariantsRequest", - "members": [ + "doc": "Whether the tag is disabled." + }, { - "name": "query", + "name": "meta", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsQueryV2", - "displayName": "QueryV2" + "nativeType": "Object" } ], - "doc": "Information about filters, paging, and returned fields." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryServiceOptionsAndVariantsResponse", - "members": [ + "doc": "SEO tag meta data. For example, `{height: 300, width: 240}`." + }, { - "name": "pagingMetadata", + "name": "props", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPagingMetadataV2", - "displayName": "PagingMetadataV2" + "nativeType": "Object" } ], - "doc": "Paging metadata." + "doc": "A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\nFor example: `{'name': 'description', 'content': 'the description itself'}`." }, - { - "name": "serviceOptionsAndVariantsList", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" - } - ] - } + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" } ], - "doc": "Retrieved `serviceOptionsAndVariants` objects." + "doc": "SEO tag type.\n\nSupported values: `title`, `meta`, `script`, `link`.\n" } ], "docs": { @@ -7930,134 +23156,128 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryV2", + "name": "bookingsServicesV2ServiceTimePeriod", "members": [ { - "name": "cursorPaging", + "name": "closeDay", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCursorPaging", - "displayName": "CursorPaging" + "nativeType": "string" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + "doc": "Day of the week the period ends on." }, { - "name": "fields", + "name": "closeTime", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "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." + "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" }, { - "name": "fieldsets", + "name": "openDay", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "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." + "doc": "Day of the week the period starts on." }, { - "name": "filter", + "name": "openTime", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" + "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." + } + ], + "docs": { + "description": [ + "Weekly recurring time periods when the business is regularly open or the service is available." + ] + } + }, + { + "name": "bookingsServicesV2ServiceTranslation", + "members": [ + { + "name": "appDefId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The application definition ID; this only applies to services of type ThirdPartyApps." }, { - "name": "paging", + "name": "instanceId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPaging", - "displayName": "Paging" + "nativeType": "string" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "The instance ID of the service." }, { - "name": "sort", + "name": "serviceType", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSorting", - "displayName": "Sorting" - } - ] - } + "nativeType": "string" } ], - "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + "doc": "The service type." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfQueryV2PagingMethodOneOf", - "members": [ - "cursorPaging", - "paging" - ] - } - ] - }, "docs": { "description": [ - "" + "A single mapping from the MetaSite ID to a particular service." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsQueryV2PagingMethodOneOf", + "name": "bookingsServicesV2ServiceUpdateServiceRequest", "members": [ { - "name": "cursorPaging", - "optional": true, + "name": "service", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCursorPaging", - "displayName": "CursorPaging" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." - }, + "doc": "Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceUpdateServiceResponse", + "members": [ { - "name": "paging", + "name": "service", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPaging", - "displayName": "Paging" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceService", + "displayName": "Service" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "The updated service." } ], "docs": { @@ -8067,38 +23287,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsRate", + "name": "bookingsServicesV2ServiceUpsert", "members": [ { - "name": "labeledPriceOptions", + "name": "entityAsJson", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPrice", - "displayName": "Price" - } - ] - } + "nativeType": "string" } ], - "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + "doc": "" }, { - "name": "priceText", + "name": "entityId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + "doc": "" } ], "docs": { @@ -8108,10 +23317,10 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsRecurringInterval", + "name": "bookingsServicesV2ServiceUrLs", "members": [ { - "name": "_id", + "name": "bookingPage", "readOnly": true, "optional": true, "type": [ @@ -8119,77 +23328,79 @@ "nativeType": "string" } ], - "doc": "The recurring interval identifier." + "doc": "The URL for the booking entry point. It can be either to the calendar or to the service page." }, { - "name": "affectedSchedules", + "name": "calendarPage", + "readOnly": true, "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", - "displayName": "LinkedSchedule" - } - ] - } + "nativeType": "string" } ], - "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." + "doc": "The URL for the calendar. Can be empty if no calendar exists." }, { - "name": "end", + "name": "servicePage", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." - }, + "doc": "The URL for the service page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceUserDomainInfoChangedEvent", + "members": [ { - "name": "frequency", + "name": "changeTime", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsFrequency", - "displayName": "Frequency" + "nativeType": "Date" } ], - "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." + "doc": "" }, { - "name": "interval", + "name": "crudType", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsInterval", - "displayName": "Interval" + "nativeType": "string" } ], - "doc": "The interval rules. The day, hour and minutes the interval is recurring." + "doc": "Supported values:\n- `'CREATE'`\n- `'CREATE_OR_UPDATE'`\n- `'DELETE'`\n- `'INVALID_CRUD_TYPE'`\n- `'UPDATE'`" }, { - "name": "intervalType", + "name": "domainName", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The type of recurring interval.\n" + "doc": "" }, { - "name": "start", + "name": "metaSiteId", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The start time of the recurring interval. Required." + "doc": "" } ], "docs": { @@ -8199,68 +23410,40 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionSplit", + "name": "bookingsServicesV2ServiceV1SplitInterval", "members": [ { - "name": "newScheduleVersion", + "name": "sameAsDuration", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." }, { - "name": "oldScheduleVersion", + "name": "valueInMinutes", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "" - }, - { - "name": "recurringSessions", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" - } - ] - } - } - ], - "doc": "" - }, - { - "name": "scheduleId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "" + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." } ], "docs": { "description": [ - "" + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionsUpdated", + "name": "bookingsServicesV2ServiceV2AvailabilityConstraints", "members": [ { - "name": "newRecurringSessions", + "name": "sessionDurations", "optional": true, "type": [ { @@ -8268,32 +23451,23 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" + "nativeType": "number" } ] } } ], - "doc": "New schedule's recurring session list." + "doc": "A list of duration options for sessions, in minutes.\n\nThe availability calculation generates slots for sessions with these durations, unless there is a conflict with existing sessions or other availability constraints exist.\nRequired for services of type `APPOINTMENT` to allow the customer to book a session of the service. Not relevant for other service types.\n\n\nMin: 1 minute, Max: 30 days, 23 hours, and 59 minutes\n" }, { - "name": "oldRecurringSessions", + "name": "timeBetweenSessions", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" - } - ] - } + "nativeType": "number" } ], - "doc": "Old schedule's recurring session list." + "doc": "The number of minutes between the end of a session and the start of the next.\n\nMin: 0 minutes\nMax: 720 minutes\n" } ], "docs": { @@ -8303,160 +23477,166 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsResource", + "name": "bookingsServicesV2ServiceV2Category", "members": [ { "name": "_id", - "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource ID." + "doc": "Category ID." }, { - "name": "description", + "name": "name", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource description." + "doc": "Category name." }, { - "name": "email", + "name": "sortOrder", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Resource email address." - }, + "doc": "Order of a category within a category list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceV2Location", + "members": [ { - "name": "images", + "name": "business", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBusinessLocationOptions", + "displayName": "BusinessLocationOptions" } ], - "doc": "Resource images." + "doc": "The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations)." }, { - "name": "name", + "name": "calculatedAddress", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCommonAddress", + "displayName": "CommonAddress" } ], - "doc": "Resource name." + "doc": "The location address, based on the location `type`. If `type` is `CUSTOMER`, this address is empty." }, { - "name": "phone", + "name": "custom", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCustomLocationOptions", + "displayName": "CustomLocationOptions" } ], - "doc": "Resource phone number." + "doc": "The service is offered at a custom location." }, { - "name": "scheduleIds", - "readOnly": true, + "name": "type", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "List of IDs of schedules owned by this resource." - }, + "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations).\n- `CUSTOMER`: Will be determined by the customer. For appointments only." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfV2LocationOptionsOneOf", + "members": [ + "business", + "custom" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceV2LocationOptionsOneOf", + "members": [ { - "name": "schedules", + "name": "business", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceBusinessLocationOptions", + "displayName": "BusinessLocationOptions" } ], - "doc": "Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1." + "doc": "The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations)." }, { - "name": "status", - "readOnly": true, + "name": "custom", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceCustomLocationOptions", + "displayName": "CustomLocationOptions" } ], - "doc": "Resource status.\n" - }, + "doc": "The service is offered at a custom location." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceV2ParticipantNotification", + "members": [ { - "name": "tag", + "name": "message", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Deprecated. Please use tags." - }, - { - "name": "tags", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'." + "doc": "Custom message to send to the participants about the changes to the booking." }, { - "name": "wixUserId", - "readOnly": true, + "name": "notifyParticipants", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n" + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" } ], "docs": { @@ -8466,28 +23646,29 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsResourceNotification", + "name": "bookingsServicesV2ServiceV2Schedule", "members": [ { - "name": "event", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Event type." + "doc": "Schedule ID, used to manage the service's sessions." }, { - "name": "resource", + "name": "availabilityConstraints", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsResource", - "displayName": "Resource" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceV2AvailabilityConstraints", + "displayName": "V2AvailabilityConstraints" } ], - "doc": "Updated resource entity.\n'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead." + "doc": "Limitations dictating the way session availability is calculated. For appointments only." } ], "docs": { @@ -8497,183 +23678,160 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSchedule", + "name": "bookingsServicesV2ServiceV4Address", "members": [ { - "name": "_id", + "name": "apartmentNumber", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Schedule ID." - }, - { - "name": "availability", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailability", - "displayName": "Availability" - } - ], - "doc": "Deprecated and will be removed soon." + "doc": "Apartment number." }, { - "name": "calendarConference", + "name": "city", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarConference", - "displayName": "CalendarConference" + "nativeType": "string" } ], - "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + "doc": "City name." }, { - "name": "capacity", + "name": "coordinates", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceGeoCoordinates", + "displayName": "GeoCoordinates" } ], - "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." + "doc": "Geographic coordinates of location." }, { - "name": "conferenceProvider", + "name": "country", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsConferenceProvider", - "displayName": "ConferenceProvider" + "nativeType": "string" } ], - "doc": "Deprecated and will be removed soon." + "doc": "Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, { - "name": "created", - "readOnly": true, + "name": "googleFormattedAddress", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "Schedule creation date." + "doc": "Google-formatted version of this address." }, { - "name": "externalCalendarOverrides", + "name": "hint", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarOverrides", - "displayName": "ExternalCalendarOverrides" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceAddressHint", + "displayName": "AddressHint" } ], - "doc": "Deprecated and will be removed soon." + "doc": "Extra information to be displayed in the address." }, { - "name": "inheritedFields", - "readOnly": true, + "name": "isPhysical", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "boolean" } ], - "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + "doc": "Whether this address represents a physical location." }, { - "name": "intervals", + "name": "state", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringInterval", - "displayName": "RecurringInterval" - } - ] - } + "nativeType": "string" } ], - "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." + "doc": "State." }, { - "name": "location", + "name": "street", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocation", - "displayName": "Location" + "nativeType": "string" } ], - "doc": "Default location for the schedule's sessions." + "doc": "Street name." }, { - "name": "participants", - "readOnly": true, + "name": "streetNumber", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipant", - "displayName": "Participant" - } - ] - } + "nativeType": "string" } ], - "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + "doc": "Street number." }, { - "name": "rate", + "name": "zip", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRate", - "displayName": "Rate" + "nativeType": "string" } ], - "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." - }, + "doc": "Zip or postal code." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceValidateSlugRequest", + "members": [ { - "name": "scheduleOwnerId", - "optional": true, + "name": "serviceId", "type": [ { "nativeType": "string" } ], - "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." + "doc": "ID of the service to validate the slug name for." }, { - "name": "status", - "readOnly": true, - "optional": true, + "name": "slugName", "type": [ { "nativeType": "string" } ], - "doc": "Schedule status." - }, + "doc": "The custom name to validate as a slug for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceValidateSlugResponse", + "members": [ { - "name": "tags", + "name": "errors", "optional": true, "type": [ { @@ -8687,104 +23845,119 @@ } } ], - "doc": "Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + "doc": "If the slug is invalid, this field is populated with the reasons why the slug is invalid. Validation errors may include `SLUG_IS_TOO_LONG`, `SLUG_CONTAIN_ILLEGAL_CHARACTERS`, and `SLUG_ALREADY_EXISTS`." }, { - "name": "timeZone", - "readOnly": true, + "name": "slugName", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." + "doc": "The requested custom slug name to validate. If valid, the slug name can be set as a slug for the service and is populated with the requested slug. Otherwise, `slugName` is empty." }, { - "name": "title", + "name": "valid", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." - }, + "doc": "Whether the requested slug name is valid." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceValueAggregation", + "members": [ { - "name": "totalNumberOfParticipants", - "readOnly": true, + "name": "includeOptions", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceIncludeMissingValuesOptions", + "displayName": "IncludeMissingValuesOptions" } ], - "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." + "doc": "options for including missing values" }, { - "name": "updated", - "readOnly": true, + "name": "limit", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "number" } ], - "doc": "Schedule last update date." + "doc": "How many aggregations would you like to return? Can be between 1 and 250. 10 is the default." }, { - "name": "version", - "readOnly": true, + "name": "missingValues", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Schedule version number, updated each time the schedule is updated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleCancelled", - "members": [ + "doc": "should missing values be included or excluded from the aggregation results. Default is EXCLUDE" + }, { - "name": "oldSchedule", + "name": "sortDirection", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "nativeType": "string" } ], - "doc": "" + "doc": "Supported values:\n- `'ASC'`\n- `'DESC'`" }, { - "name": "participantNotification", + "name": "sortType", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" - }, + "doc": "Supported values:\n- `'COUNT'`\n- `'VALUE'`" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfValueAggregationOptionsOneOf", + "members": [ + "includeOptions" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceValueAggregationOptionsOneOf", + "members": [ { - "name": "schedule", + "name": "includeOptions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceIncludeMissingValuesOptions", + "displayName": "IncludeMissingValuesOptions" } ], - "doc": "" + "doc": "options for including missing values" } ], "docs": { @@ -8794,15 +23967,24 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleCreated", + "name": "bookingsServicesV2ServiceValueAggregationResult", "members": [ { - "name": "schedule", + "name": "count", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" } ], "doc": "" @@ -8815,21 +23997,20 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleNotification", + "name": "bookingsServicesV2ServiceValueResult", "members": [ { - "name": "availabilityPolicyUpdated", + "name": "count", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicyUpdated", - "displayName": "AvailabilityPolicyUpdated" + "nativeType": "number" } ], "doc": "" }, { - "name": "instanceId", + "name": "value", "optional": true, "type": [ { @@ -8837,181 +24018,222 @@ } ], "doc": "" - }, + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceValueResults", + "members": [ { - "name": "intervalSplit", + "name": "results", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsIntervalSplit", - "displayName": "IntervalSplit" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceValueAggregationResult", + "displayName": "ValueAggregationResult" + } + ] + } } ], "doc": "" - }, + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceVariedPayment", + "members": [ { - "name": "migrationEvent", + "name": "defaultPrice", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMigrationEvent", - "displayName": "MigrationEvent" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoney", + "displayName": "Money" } ], - "doc": "supported only for schedule migration apis." + "doc": "The default price for the service without any variants. It will also be used as the default price for any new variant." }, { - "name": "multipleSessionsCreated", + "name": "deposit", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMultipleSessionsCreated", - "displayName": "MultipleSessionsCreated" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoney", + "displayName": "Money" } ], - "doc": "supported only for schedule migration apis." + "doc": "The deposit price required to book the service.\n\nRequired when: `rateType` is `VARIED` and `paymentOptions.deposit` is `true`\n" }, { - "name": "notifyParticipants", + "name": "maxPrice", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoney", + "displayName": "Money" } ], - "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + "doc": "The maximum price a customer may pay for this service, based on its variants." }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "minPrice", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsServicesV2ServiceMoney", + "displayName": "Money" } ], - "doc": "" - }, + "doc": "The minimal price a customer may pay for this service, based on its variants." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceVersion", + "members": [ { - "name": "recurringSessionSplit", + "name": "participantsVersion", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionSplit", - "displayName": "RecurringSessionSplit" + "nativeType": "number" } ], - "doc": "" + "doc": "Participants version number, updated each time the schedule participants are updated." }, { - "name": "scheduleCancelled", + "name": "scheduleVersion", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCancelled", - "displayName": "ScheduleCancelled" + "nativeType": "number" } ], - "doc": "" - }, + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsServicesV2ServiceWaitlistPolicy", + "members": [ { - "name": "scheduleCreated", + "name": "capacity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCreated", - "displayName": "ScheduleCreated" + "nativeType": "number" } ], - "doc": "" + "doc": "Number of spots available in the waitlist.\n\nDefault: 10 spots\nMin: 1 spot\n" }, { - "name": "scheduleUnassignedFromUser", + "name": "enabled", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUnassignedFromUser", - "displayName": "ScheduleUnassignedFromUser" + "nativeType": "boolean" } ], - "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + "doc": "Whether the session has a waitlist. If `true`, there is a waitlist.\n\nDefault: `false`\n" }, { - "name": "scheduleUpdated", + "name": "reservationTimeInMinutes", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUpdated", - "displayName": "ScheduleUpdated" + "nativeType": "number" } ], - "doc": "" - }, + "doc": "Amount of time a participant is given to book, once notified that a spot is available.\n\nDefault: 10 minutes\nMin: 1 spot\n" + } + ], + "docs": { + "description": [ + "The policy for the waitlist." + ] + } + }, + { + "name": "bookingsV2AttendanceActionEvent", + "members": [ { - "name": "sessionCancelled", + "name": "bodyAsJson", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCancelled", - "displayName": "SessionCancelled" + "nativeType": "string" } ], "doc": "" - }, + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceApplicationError", + "members": [ { - "name": "sessionCreated", + "name": "code", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCreated", - "displayName": "SessionCreated" + "nativeType": "string" } ], - "doc": "" + "doc": "Error code." }, { - "name": "sessionUpdated", + "name": "data", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionUpdated", - "displayName": "SessionUpdated" + "nativeType": "Object" } ], - "doc": "" + "doc": "Data related to the error." }, { - "name": "siteProperties", + "name": "description", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesOnScheduleCreation", - "displayName": "SitePropertiesOnScheduleCreation" + "nativeType": "string" } ], - "doc": "site properties. Optional. Given in create schedule notification." + "doc": "Description of the error." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfScheduleNotificationEventOneOf", - "members": [ - "availabilityPolicyUpdated", - "intervalSplit", - "migrationEvent", - "multipleSessionsCreated", - "recurringSessionSplit", - "scheduleCancelled", - "scheduleCreated", - "scheduleUnassignedFromUser", - "scheduleUpdated", - "sessionCancelled", - "sessionCreated", - "sessionUpdated" - ] - } - ] - }, "docs": { "description": [ "" @@ -9019,139 +24241,182 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleNotificationEventOneOf", + "name": "bookingsV2AttendanceAttendance", "members": [ { - "name": "availabilityPolicyUpdated", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAvailabilityPolicyUpdated", - "displayName": "AvailabilityPolicyUpdated" + "nativeType": "string" } ], - "doc": "" + "doc": "ID of the `Attendance` object." }, { - "name": "intervalSplit", + "name": "bookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsIntervalSplit", - "displayName": "IntervalSplit" + "nativeType": "string" } ], - "doc": "" + "doc": "Corresponding booking ID." }, { - "name": "migrationEvent", + "name": "numberOfAttendees", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMigrationEvent", - "displayName": "MigrationEvent" + "nativeType": "number" } ], - "doc": "supported only for schedule migration apis." + "doc": "Total number of participants that attended the session. By default, the number\nof attendees is set to `1`, but you can set a number to greater than `1` if multiple\nparticipants attended.\n\nDo not set to `0` to indicate that no one attended the session. Instead, set the `status` field to `NOT_ATTENDED`.\n\nDefault: 1\n" }, { - "name": "multipleSessionsCreated", + "name": "sessionId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMultipleSessionsCreated", - "displayName": "MultipleSessionsCreated" + "nativeType": "string" } ], - "doc": "supported only for schedule migration apis." + "doc": "Corresponding session ID." }, { - "name": "recurringSessionSplit", + "name": "status", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionSplit", - "displayName": "RecurringSessionSplit" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "Status indicating if any participants attended the session:\n\n+ `NOT_SET`: There is no available attendance information.\n+ `ATTENDED`: At least a single participant attended the session.\n+ `NOT_ATTENDED`: No participants attended the session.\n" + } + ], + "docs": { + "description": [ + "The `Attendance` object represents the attendance information\nfor a booked session, such as:" + ] + } + }, + { + "name": "bookingsV2AttendanceAttendanceCreated", + "members": [ { - "name": "scheduleCancelled", - "optional": true, + "name": "entity", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCancelled", - "displayName": "ScheduleCancelled" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "" + "doc": "Created attendance." }, { - "name": "scheduleCreated", - "optional": true, + "name": "metadata", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleCreated", - "displayName": "ScheduleCreated" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "" - }, + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceAttendanceDetails", + "members": [ { - "name": "scheduleUnassignedFromUser", + "name": "attendance", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUnassignedFromUser", - "displayName": "ScheduleUnassignedFromUser" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + "doc": "The created or updated attendance information for the booked session." }, { - "name": "scheduleUpdated", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsScheduleUpdated", - "displayName": "ScheduleUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" - }, + "doc": "Information about whether to send a message to a customer after their attendance was set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceAttendanceMarkedAsNotAttended", + "members": [ { - "name": "sessionCancelled", + "name": "attendance", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCancelled", - "displayName": "SessionCancelled" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "" + "doc": "The attendance information for a booked session that you want to create or update." }, { - "name": "sessionCreated", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionCreated", - "displayName": "SessionCreated" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" + "doc": "Information about whether to send a message to a customer after their attendance was set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceAttendanceUpdated", + "members": [ + { + "name": "entity", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" + } + ], + "doc": "Updated attendance." }, { - "name": "sessionUpdated", - "optional": true, + "name": "metadata", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionUpdated", - "displayName": "SessionUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "" + "doc": "Event metadata." } ], "docs": { @@ -9161,92 +24426,115 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleUnassignedFromUser", + "name": "bookingsV2AttendanceBackendEventMetadata", "members": [ { - "name": "schedule", - "optional": true, + "name": "entityId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "nativeType": "string" } ], - "doc": "The schedule that was unassigned from the user." + "doc": "ID of the entity associated with the event." }, { - "name": "userId", - "optional": true, + "name": "eventTime", "type": [ { "nativeType": "string" } ], - "doc": "The Wix user id." + "doc": "Event timestamp." + }, + { + "name": "id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event ID." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." } ], "docs": { "description": [ - "Schedule unassigned from user." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleUpdated", + "name": "bookingsV2AttendanceBulkActionMetadata", "members": [ { - "name": "newSchedule", + "name": "totalFailures", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "nativeType": "number" } ], - "doc": "The new schedule after the update." + "doc": "Number of items that couldn't be processed." }, { - "name": "oldSchedule", + "name": "totalSuccesses", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "nativeType": "number" } ], - "doc": "The old schedule before the update." + "doc": "Number of items that were successfully processed." }, { - "name": "participantNotification", + "name": "undetailedFailures", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "number" } ], - "doc": "Whether to notify participants about the change and an optional custom message" - }, + "doc": "Number of failures without details because detailed failure threshold was exceeded." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceBulkAttendanceResult", + "members": [ { - "name": "recurringSessions", + "name": "item", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRecurringSessionsUpdated", - "displayName": "RecurringSessionsUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." + "doc": "" }, { - "name": "triggeredByAnonymizeRequest", + "name": "itemMetadata", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceItemMetadata", + "displayName": "ItemMetadata" } ], - "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + "doc": "" } ], "docs": { @@ -9256,44 +24544,51 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsScheduleWithSessions", + "name": "bookingsV2AttendanceBulkSetAttendanceRequest", "members": [ { - "name": "schedule", + "name": "attendanceDetails", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSchedule", - "displayName": "Schedule" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendanceDetails", + "displayName": "AttendanceDetails" + } + ] + } } ], - "doc": "" + "doc": "The attendance information for a booked sessions that you want to create or update. Min size 1." }, { - "name": "sessions", + "name": "attendanceList", + "readOnly": false, "optional": true, "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" + { + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ] } } ], - "doc": "" + "doc": "The attendance information for a booked sessions that you want to create or update. Min size 1.\nDeprecated. use `attendance_details`." }, { - "name": "siteProperties", + "name": "returnFullEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesOnScheduleCreation", - "displayName": "SitePropertiesOnScheduleCreation" + "nativeType": "boolean" } ], "doc": "" @@ -9306,21 +24601,21 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSeoSchema", + "name": "bookingsV2AttendanceBulkSetAttendanceResponse", "members": [ { - "name": "settings", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSettings", - "displayName": "Settings" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "SEO general settings." + "doc": "Total successes and failures of the bulk set attendance action." }, { - "name": "tags", + "name": "results", "optional": true, "type": [ { @@ -9328,409 +24623,323 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsTag", - "displayName": "Tag" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceBulkAttendanceResult", + "displayName": "BulkAttendanceResult" } ] } } ], - "doc": "SEO tag information." + "doc": "The created or updated attendance information for the booked sessions." } ], "docs": { "description": [ - "The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\nThe search engines use this information for ranking purposes, or to display snippets in the search results.\nThis data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsService", + "name": "bookingsV2AttendanceCursorPaging", "members": [ { - "name": "_id", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Service ID." - }, - { - "name": "advancedSeoData", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSeoSchema", - "displayName": "SeoSchema" - } - ], - "doc": "Advanced SEO data" - }, - { - "name": "bookingFormId", + "name": "cursor", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the form that visitors fill out when booking the service." + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\n\nNot relevant for the first request.\n" }, { - "name": "categoryId", + "name": "limit", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of the category to which the service belongs." - }, + "doc": "Number of `Attendance` objects to return.\n\nDefault: `50`\nMaximum: `1000`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceCursorPagingMetadata", + "members": [ { - "name": "customProperties", + "name": "cursors", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursors", + "displayName": "Cursors" } ], - "doc": "Set of custom properties for the service." + "doc": "Use these cursors to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." }, { - "name": "includeConferenceOption", + "name": "hasNext", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether a conference is to be generated for the service." - }, + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "This is the preferred message for cursor-paging enabled services" + ] + } + }, + { + "name": "bookingsV2AttendanceCursors", + "members": [ { - "name": "info", + "name": "next", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceInfo", - "displayName": "ServiceInfo" + "nativeType": "string" } ], - "doc": "Information about the service." + "doc": "Cursor pointing to next page in the list of results." }, { - "name": "paymentOptions", + "name": "prev", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsPaymentOptions", - "displayName": "PaymentOptions" + "nativeType": "string" } ], - "doc": "Payment options available for use when booking the service." - }, + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceDomainEvent", + "members": [ { - "name": "policy", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBookingPolicy", - "displayName": "BookingPolicy" + "nativeType": "string" } ], - "doc": "Description of the bookings policy for the service." + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." }, { - "name": "scheduleIds", - "readOnly": true, + "name": "actionEvent", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceActionEvent", + "displayName": "ActionEvent" } ], - "doc": "List of schedule IDs for the sessions and slots that can be booked for the service.\nThe list can include schedules with any `status` values, however the Bookings application only uses the schedules with a `status` of `\"CREATED\"`. There is only one schedule with a status of `\"CREATED\"` per service. The ID of that schedule must always be the first in the list." + "doc": "" }, { - "name": "seoData", + "name": "createdEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSeoSchema", - "displayName": "SeoSchema" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceEntityCreatedEvent", + "displayName": "EntityCreatedEvent" } ], - "doc": "SEO data" + "doc": "" }, { - "name": "sortOrder", + "name": "deletedEvent", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceEntityDeletedEvent", + "displayName": "EntityDeletedEvent" } ], - "doc": "Sort order of the service within its category." + "doc": "" }, { - "name": "status", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Service status." - } - ], - "docs": { - "description": [ - "A service describes the business offering that a business provides to its customers." - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceChoice", - "members": [ - { - "name": "custom", + "name": "entityEventSequence", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Name of the custom choice." + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." }, { - "name": "optionId", + "name": "entityFqdn", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the service option." + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" }, { - "name": "staffMemberId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\nof the staff member or the `scheduleOwnerId` of the relevant\n[schedule's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object)\n`availability.linkedSchedules`." - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfServiceChoiceChoiceOneOf", - "members": [ - "custom", - "staffMemberId" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceChoiceChoiceOneOf", - "members": [ - { - "name": "custom", + "name": "entityId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Name of the custom choice." + "doc": "ID of the entity associated with the event." }, { - "name": "staffMemberId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\nof the staff member or the `scheduleOwnerId` of the relevant\n[schedule's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object)\n`availability.linkedSchedules`." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceInfo", - "members": [ - { - "name": "description", + "name": "eventTime", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Service description." + "doc": "Event timestamp." }, { - "name": "images", + "name": "originatedFrom", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "Images associated with the service. Deprecated." + "doc": "If present, indicates the action that triggered the event." }, { - "name": "media", + "name": "slug", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMedia", - "displayName": "Media" + "nativeType": "string" } ], - "doc": "Images associated with the service. Optional. Not supported yet." + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" }, { - "name": "name", + "name": "triggeredByAnonymizeRequest", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Service name." + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." }, { - "name": "tagLine", + "name": "updatedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" } ], - "doc": "Short service description." + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, "docs": { "description": [ - "Information describing the service." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceNotification", + "name": "bookingsV2AttendanceDomainEventBodyOneOf", "members": [ { - "name": "deleteMetadata", + "name": "actionEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsDeleteMetadata", - "displayName": "DeleteMetadata" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceActionEvent", + "displayName": "ActionEvent" } ], "doc": "" }, { - "name": "event", + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceEntityCreatedEvent", + "displayName": "EntityCreatedEvent" } ], - "doc": "Supported values:\n- `'Created'`\n- `'Deleted'`\n- `'Unspecified'`\n- `'Updated'`" + "doc": "" }, { - "name": "policy", + "name": "deletedEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBusinessServicesPolicy", - "displayName": "BusinessServicesPolicy" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceEntityDeletedEvent", + "displayName": "EntityDeletedEvent" } ], "doc": "" }, { - "name": "service", + "name": "updatedEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsService", - "displayName": "Service" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" } ], - "doc": "Updated service entity." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfServiceNotificationMetadataOneOf", - "members": [ - "deleteMetadata" - ] - } - ] - }, "docs": { "description": [ - "An event sent in the system once the service is changed." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceNotificationMetadataOneOf", + "name": "bookingsV2AttendanceEntityCreatedEvent", "members": [ { - "name": "deleteMetadata", + "name": "entityAsJson", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsDeleteMetadata", - "displayName": "DeleteMetadata" + "nativeType": "string" } ], "doc": "" @@ -9743,50 +24952,39 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOption", + "name": "bookingsV2AttendanceEntityDeletedEvent", "members": [ { - "name": "_id", + "name": "deletedEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the service option." - }, - { - "name": "customData", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCustomServiceOption", - "displayName": "CustomServiceOption" - } - ], - "doc": "Details about the custom option. Available only for `CUSTOM` options." - }, + "doc": "Entity that was deleted" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceEntityUpdatedEvent", + "members": [ { - "name": "type", + "name": "currentEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Type of the service option." + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfServiceOptionOptionSpecificDataOneOf", - "members": [ - "customData" - ] - } - ] - }, "docs": { "description": [ "" @@ -9794,18 +24992,16 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionOptionSpecificDataOneOf", + "name": "bookingsV2AttendanceGetAttendanceRequest", "members": [ { - "name": "customData", - "optional": true, + "name": "attendanceId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCustomServiceOption", - "displayName": "CustomServiceOption" + "nativeType": "string" } ], - "doc": "Details about the custom option. Available only for `CUSTOM` options." + "doc": "ID of the object that contains the attendance information that you want to retrieve." } ], "docs": { @@ -9815,25 +25011,18 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptions", + "name": "bookingsV2AttendanceGetAttendanceResponse", "members": [ { - "name": "values", + "name": "attendance", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOption", - "displayName": "ServiceOption" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "Values of the service options.\n\nMax: 1 service option\n" + "doc": "The retrieved attendance information for the booked session." } ], "docs": { @@ -9843,114 +25032,172 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", + "name": "bookingsV2AttendanceIdentificationData", "members": [ { - "name": "_id", - "readOnly": true, + "name": "anonymousVisitorId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the `serviceOptionsAndVariants` object." + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "maxPrice", - "readOnly": true, + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMoney", - "displayName": "Money" + "nativeType": "string" } ], - "doc": "Price of the most expensive service variant." + "doc": "ID of an app." }, { - "name": "minPrice", + "name": "identityType", "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMoney", - "displayName": "Money" + "nativeType": "string" } ], - "doc": "Price of the cheapest service variant." + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" }, { - "name": "options", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptions", - "displayName": "ServiceOptions" + "nativeType": "string" } ], - "doc": "Service options. Note that currently only a single option is supported per service." + "doc": "ID of a site visitor that has logged in to the site." }, { - "name": "revision", + "name": "wixUserId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the `serviceOptionsAndVariants` object is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when updating and deleting the `serviceOptionsAndVariants` object.\n\nIgnored when creating a `serviceOptionsAndVariants` object.\n" + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceIdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "serviceId", + "name": "appId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the service related to these options and variants." + "doc": "ID of an app." }, { - "name": "variants", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceVariants", - "displayName": "ServiceVariants" + "nativeType": "string" } ], - "doc": "Information about the service's variants." + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." } ], "docs": { "description": [ - "The `serviceOptionsAndVariants` object links a service to its variants.\nYou can use it to offer customers different prices for a service,\ndepending on which choices they book.\nRead more about [service options and variants](https://wix.wixanswers.com/app/kb/article/2e91a25b-b3c2-4cf7-9005-429a4929fc36/en)." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariantsCreated", + "name": "bookingsV2AttendanceItemMetadata", "members": [ { - "name": "entity", + "name": "_id", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "" + "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." + }, + { + "name": "error", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceApplicationError", + "displayName": "ApplicationError" + } + ], + "doc": "Details about the error in case of failure." + }, + { + "name": "originalIndex", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Index of the item within the request array. Allows for correlation between request and response items." }, { - "name": "metadata", + "name": "success", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", - "displayName": "BackendEventMetadata" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." } ], "docs": { @@ -9960,17 +25207,48 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariantsDeleted", + "name": "bookingsV2AttendanceMessageEnvelope", "members": [ { - "name": "metadata", + "name": "data", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", - "displayName": "BackendEventMetadata" + "nativeType": "string" } ], - "doc": "" + "doc": "Stringify payload." + }, + { + "name": "eventType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "identity", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceIdentificationData", + "displayName": "IdentificationData" + } + ], + "doc": "The identification type and identity data." + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "App instance ID." } ], "docs": { @@ -9980,27 +25258,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariantsUpdated", + "name": "bookingsV2AttendancePaging", "members": [ { - "name": "entity", + "name": "limit", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "number" } ], - "doc": "" + "doc": "Number of items to load." }, { - "name": "metadata", + "name": "offset", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsBackendEventMetadata", - "displayName": "BackendEventMetadata" + "nativeType": "number" } ], - "doc": "" + "doc": "Number of items to skip in the current sort order." } ], "docs": { @@ -10010,36 +25288,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceVariant", + "name": "bookingsV2AttendanceParticipantNotification", "members": [ { - "name": "choices", + "name": "message", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceChoice", - "displayName": "ServiceChoice" - } - ] - } + "nativeType": "string" } ], - "doc": "Choices for the service option. Currently, only a single choice is supported\nbecause a service can have only a single option.\n\nMax: 1 choice\n" + "doc": "Optional custom message to send to the participants about the changes to the booking." }, { - "name": "price", + "name": "notifyParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsMoney", - "displayName": "Money" + "nativeType": "boolean" } ], - "doc": "Information about the service variant's price." + "doc": "Whether to send the message about the changes to the customer.\nDefault is false." } ], "docs": { @@ -10049,25 +25318,17 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsServiceVariants", + "name": "bookingsV2AttendanceQueryAttendanceRequest", "members": [ { - "name": "values", - "optional": true, + "name": "query", "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceVariant", - "displayName": "ServiceVariant" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceQueryV2", + "displayName": "QueryV2" } ], - "doc": "Values of the service variants." + "doc": "Query options." } ], "docs": { @@ -10077,21 +25338,10 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSession", + "name": "bookingsV2AttendanceQueryAttendanceResponse", "members": [ { - "name": "_id", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Session ID." - }, - { - "name": "affectedSchedules", + "name": "attendances", "optional": true, "type": [ { @@ -10099,61 +25349,59 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLinkedSchedule", - "displayName": "LinkedSchedule" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ] } } ], - "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." - }, - { - "name": "calendarConference", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarConference", - "displayName": "CalendarConference" - } - ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + "doc": "List of objects that contain attendance information for a booked session." }, { - "name": "capacity", + "name": "pagingMetadata", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursorPagingMetadata", + "displayName": "CursorPagingMetadata" } ], - "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." - }, + "doc": "Details on the paged set of results returned." + } + ], + "docs": { + "description": [ + "List of objects that contain attendance information." + ] + } + }, + { + "name": "bookingsV2AttendanceQueryV2", + "members": [ { - "name": "end", + "name": "cursorPaging", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarDateTime", - "displayName": "CalendarDateTime" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursorPaging", + "displayName": "CursorPaging" } ], - "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + "doc": "Cursors to navigate through the result pages using `next` and `prev`." }, { - "name": "externalCalendarOverrides", + "name": "filter", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsExternalCalendarOverrides", - "displayName": "ExternalCalendarOverrides" + "nativeType": "Object" } ], - "doc": "Deprecated and will be removed soon." + "doc": "Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n\nFor a detailed list of supported fields and operators, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n\nMax: 1 filter\n" }, { - "name": "inheritedFields", - "readOnly": true, + "name": "sort", "optional": true, "type": [ { @@ -10161,162 +25409,207 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceSorting", + "displayName": "Sorting" } ] } } ], - "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." - }, - { - "name": "instanceOfRecurrence", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." - }, - { - "name": "location", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocation", - "displayName": "Location" - } - ], - "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." - }, + "doc": "Sort object in the following format:\n`[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n\nFor details about sorting, see [Supported Filters and Sorting](https://dev.wix.com/api/rest/wix-bookings/attendance/supported-filters).\n" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceQueryV2PagingMethodOneOf", + "members": [ { - "name": "notes", + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursorPaging", + "displayName": "CursorPaging" } ], - "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." - }, + "doc": "Cursors to navigate through the result pages using `next` and `prev`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceSetAttendanceRequest", + "members": [ { - "name": "originalStart", - "optional": true, + "name": "attendance", "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + "doc": "The attendance information for a booked session that you want to create or update." }, { - "name": "participants", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipant", - "displayName": "Participant" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." - }, + "doc": "Information about whether to send a message to a customer after their attendance was set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceSetAttendanceResponse", + "members": [ { - "name": "rate", + "name": "attendance", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsRate", - "displayName": "Rate" + "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", + "displayName": "Attendance" } ], - "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." - }, + "doc": "The created or updated attendance information for the booked session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2AttendanceSorting", + "members": [ { - "name": "recurrence", + "name": "fieldName", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" + "doc": "Name of the field to sort by." }, { - "name": "recurringIntervalId", - "readOnly": true, + "name": "order", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." - }, + "doc": "Sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingActionEvent", + "members": [ { - "name": "recurringSessionId", - "readOnly": true, + "name": "bodyAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingAddBookingsToMultiServiceBookingRequest", + "members": [ { - "name": "scheduleId", - "optional": true, + "name": "bookings", "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingIdAndRevision", + "displayName": "BookingIdAndRevision" + } + ] + } } ], - "doc": "ID of the schedule that the session belongs to." + "doc": "List of bookings ids and their revisions to add to the multi service booking." }, { - "name": "scheduleOwnerId", - "readOnly": true, - "optional": true, + "name": "multiServiceBookingId", "type": [ { "nativeType": "string" } ], - "doc": "ID of the resource or service that the session's schedule belongs to." - }, - { - "name": "start", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsCalendarDateTime", - "displayName": "CalendarDateTime" - } - ], - "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." + "doc": "ID of the multi service booking." }, { - "name": "status", - "readOnly": true, + "name": "returnFullEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Session status.\n" - }, + "doc": "Whether to return the bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingAddBookingsToMultiServiceBookingResponse", + "members": [ { - "name": "tags", + "name": "bookings", "optional": true, "type": [ { @@ -10324,230 +25617,195 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingResult", + "displayName": "BookingResult" } ] } } ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." - }, + "doc": "The bookings that were added to the multi service booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingAddress", + "members": [ { - "name": "timeReservedAfter", + "name": "addressLine", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." + "doc": "Main address line, usually street and number, as free text." }, { - "name": "title", + "name": "addressLine2", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." }, { - "name": "totalNumberOfParticipants", - "readOnly": true, + "name": "city", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." + "doc": "City name." }, { - "name": "type", + "name": "country", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session type.\n" + "doc": "Country code." }, { - "name": "version", - "readOnly": true, - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSessionVersion", - "displayName": "SessionVersion" - } - ], - "doc": "The session version.\nComposed by the schedule, session and participants versions." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionCancelled", - "members": [ - { - "name": "participantNotification", + "name": "countryFullname", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Country full name." }, { - "name": "session", + "name": "formattedAddress", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" + "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionCreated", - "members": [ + "doc": "A string containing the full address of this location." + }, { - "name": "session", + "name": "geocode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAddressLocation", + "displayName": "AddressLocation" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionUpdated", - "members": [ + "doc": "Coordinates of the physical address." + }, { - "name": "newSession", + "name": "hint", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" + "nativeType": "string" } ], - "doc": "" + "doc": "Free text to help find the address." }, { - "name": "oldSession", + "name": "postalCode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSession", - "displayName": "Session" + "nativeType": "string" } ], - "doc": "" + "doc": "Zip/postal code." }, { - "name": "participantNotification", + "name": "streetAddress", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsParticipantNotification", - "displayName": "ParticipantNotification" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingStreetAddress", + "displayName": "StreetAddress" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Street name, number and apartment number." }, { - "name": "triggeredByAnonymizeRequest", + "name": "subdivision", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSessionVersion", - "members": [ + "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, { - "name": "number", + "name": "subdivisions", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSubdivision", + "displayName": "Subdivision" + } + ] + } } ], - "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." + "doc": "Multi-level subdivisions from top to bottom." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAddressStreetOneOf", + "members": [ + "addressLine", + "streetAddress" + ] + } + ] + }, "docs": { "description": [ - "" + "Physical address" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSettings", + "name": "bookingsV2BookingAddressLocation", "members": [ { - "name": "keywords", + "name": "latitude", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsKeyword", - "displayName": "Keyword" - } - ] - } + "nativeType": "number" } ], - "doc": "User-selected keyword terms for a specific page." + "doc": "Address latitude." }, { - "name": "preventAutoRedirect", + "name": "longitude", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n\nDefault: `false` (Auto Redirect is enabled.)\n" + "doc": "Address longitude." } ], "docs": { @@ -10557,37 +25815,28 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSiteCloned", + "name": "bookingsV2BookingAddressStreetOneOf", "members": [ { - "name": "originMetaSiteId", + "name": "addressLine", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Origin site id." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSiteCreated", - "members": [ + "doc": "Main address line, usually street and number, as free text." + }, { - "name": "originTemplateId", + "name": "streetAddress", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingStreetAddress", + "displayName": "StreetAddress" } ], - "doc": "Origin template site id." + "doc": "Street name, number and apartment number." } ], "docs": { @@ -10597,90 +25846,80 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesEvent", + "name": "bookingsV2BookingAllowedActions", "members": [ { - "name": "fields", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Set of properties that were updated - corresponds to the fields in \"properties\"." - }, - { - "name": "properties", + "name": "cancel", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsProperties", - "displayName": "Properties" + "nativeType": "boolean" } ], - "doc": "Updated properties." + "doc": "Is cancel booking allowed" }, { - "name": "version", + "name": "reschedule", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Version of the site's properties represented by this update." + "doc": "Is reschedule booking allowed" } ], "docs": { "description": [ - "The actual update event for a particular notification." + "Possible allowed actions for a Booking" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesNotification", + "name": "bookingsV2BookingApplicationError", "members": [ { - "name": "changeContext", + "name": "code", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsChangeContext", - "displayName": "ChangeContext" + "nativeType": "string" } ], - "doc": "Context of the notification" + "doc": "Error code." }, { - "name": "event", + "name": "data", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesEvent", - "displayName": "SitePropertiesEvent" + "nativeType": "Object" } ], - "doc": "The actual update event." + "doc": "Data related to the error." }, { - "name": "metasiteId", + "name": "description", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The site ID for which this update notification applies." - }, + "doc": "Description of the error." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingAvailableResources", + "members": [ { - "name": "translations", + "name": "resourceIds", "optional": true, "type": [ { @@ -10688,34 +25927,23 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsTranslation", - "displayName": "Translation" + "nativeType": "string" } ] } } ], - "doc": "A convenience set of mappings from the MetaSite ID to its constituent services." - } - ], - "docs": { - "description": [ - "Encapsulates all details written to the Greyhound topic when a site's properties are updated." - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSitePropertiesOnScheduleCreation", - "members": [ + "doc": "Available resources for the slot.\nmaxSize defined by 135 staff members + 3 resource types and 50 resources per type.\nAvailability-2 currently have no maxSize defined." + }, { - "name": "timeZone", + "name": "resourceTypeId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The global time zone value." + "doc": "Resource type ID." } ], "docs": { @@ -10725,27 +25953,43 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSorting", + "name": "bookingsV2BookingBackendEventMetadata", "members": [ { - "name": "fieldName", - "optional": true, + "name": "entityId", "type": [ { "nativeType": "string" } ], - "doc": "Name of the field to sort by." + "doc": "ID of the entity associated with the event." }, { - "name": "order", - "optional": true, + "name": "eventTime", "type": [ { "nativeType": "string" } ], - "doc": "Sort order." + "doc": "Event timestamp." + }, + { + "name": "id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event ID." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." } ], "docs": { @@ -10755,117 +25999,150 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSpecialHourPeriod", + "name": "bookingsV2BookingBookedEntity", "members": [ { - "name": "comment", + "name": "schedule", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSchedule", + "displayName": "BookedSchedule" } ], - "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" + "doc": "The booked schedule. The booking is automatically assigned to the schedule's sessions." }, { - "name": "endDate", + "name": "slot", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSlot", + "displayName": "BookedSlot" } ], - "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + "doc": "The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist." }, { - "name": "isClosed", + "name": "tags", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" + "doc": "List of tags for the booking.\nSystem-assigned tags for sessions and schedules are:\n+ \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n+ \"GROUP\" Individual classes.\n+ \"COURSE\" Courses." }, { - "name": "startDate", + "name": "title", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + "doc": "Session title at the time of booking.\nIf session doesn't exist at the time of the booking, service name is used." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfBookedEntityItemOneOf", + "members": [ + "schedule", + "slot" + ] + } + ] + }, "docs": { "description": [ - "Exception to the business's regular hours. The business can be open or closed during the exception." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSplitInterval", + "name": "bookingsV2BookingBookedEntityItemOneOf", "members": [ { - "name": "sameAsDuration", + "name": "schedule", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSchedule", + "displayName": "BookedSchedule" } ], - "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." + "doc": "The booked schedule. The booking is automatically assigned to the schedule's sessions." }, { - "name": "valueInMinutes", + "name": "slot", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSlot", + "displayName": "BookedSlot" } ], - "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." + "doc": "The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist." } ], "docs": { "description": [ - "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." + "" ] } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsStaffData", + "name": "bookingsV2BookingBookedResource", "members": [ { - "name": "refreshToken", + "name": "_id", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Booked resource ID." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource's email at the time of booking." }, { - "name": "resourceId", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Resource's name at the time of booking." }, { - "name": "syncRequestEmail", + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Resource's schedule ID." } ], "docs": { @@ -10875,67 +26152,71 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsStreetAddress", + "name": "bookingsV2BookingBookedSchedule", "members": [ { - "name": "apt", + "name": "firstSessionStart", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Apartment number." + "doc": "The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat. Required." }, { - "name": "name", + "name": "lastSessionEnd", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Street name." + "doc": "The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat. Required." }, { - "name": "number", + "name": "location", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingLocation", + "displayName": "Location" + } + ], + "doc": "Location where the schedule's sessions take place. Read only." + }, + { + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Street number." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSubdivision", - "members": [ + "doc": "Schedule ID." + }, { - "name": "code", + "name": "serviceId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + "doc": "Booked service ID." }, { - "name": "name", + "name": "timezone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Subdivision full name." + "doc": "The timezone according to which the slot was shown to the user when booking, and should be shown in future." } ], "docs": { @@ -10945,381 +26226,385 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsSupportedLanguage", + "name": "bookingsV2BookingBookedSlot", "members": [ { - "name": "countryCode", + "name": "endDate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Language icon." + "doc": "The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." }, { - "name": "isPrimary", + "name": "eventId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the supported language is the primary language for the site." + "doc": "Calendar 3 event ID\nIf not empty, on all write flows (create / update) gets priority over session_id.\nso if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\nOtherwise, if event_id is empty on write flow," }, { - "name": "languageCode", + "name": "location", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingLocation", + "displayName": "Location" } ], - "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." + "doc": "Location where the slot's session takes place." }, { - "name": "locale", + "name": "resource", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsLocale", - "displayName": "Locale" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedResource", + "displayName": "BookedResource" } ], - "doc": "Locale." + "doc": "The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\nWhen populated, the given resource will be booked according to it's availability.\nWhen empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\notherwise one of the service resources will be assigned to the slot randomly upon confirmation.\nThis resource is the slot primary resource." }, { - "name": "resolutionMethod", + "name": "scheduleId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "How the language will be resolved. For internal use." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsTag", - "members": [ + "doc": "Schedule ID. Required." + }, { - "name": "children", + "name": "serviceId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "SEO tag inner content. For example, ` inner content `." + "doc": "Service ID." }, { - "name": "custom", + "name": "sessionId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the tag is a custom tag." + "doc": "ID of the underlying session when session is a single session or generated from a recurring session.\nIf `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information." }, { - "name": "disabled", + "name": "startDate", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the tag is disabled." + "doc": "The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." }, { - "name": "meta", + "name": "timezone", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "SEO tag meta data. For example, `{height: 300, width: 240}`." - }, + "doc": "The timezone according to which the slot was shown to the user when booking, and should be shown in future." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBooking", + "members": [ { - "name": "props", + "name": "_createdDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "Date" } ], - "doc": "A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\nFor example: `{'name': 'description', 'content': 'the description itself'}`." + "doc": "Date and time the booking was created." }, { - "name": "type", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "SEO tag type.\n\nSupported values: `title`, `meta`, `script`, `link`.\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsTimePeriod", - "members": [ + "doc": "Booking ID." + }, { - "name": "closeDay", + "name": "_updatedDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Day of the week the period ends on." + "doc": "Date and time the booking was updated." }, { - "name": "closeTime", + "name": "additionalFields", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCustomFormField", + "displayName": "CustomFormField" + } + ] + } } ], - "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" + "doc": "Additional custom fields submitted with the booking form." }, { - "name": "openDay", + "name": "bookedEntity", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedEntity", + "displayName": "BookedEntity" } ], - "doc": "Day of the week the period starts on." + "doc": "An object describing the slot or schedule that was booked." }, { - "name": "openTime", + "name": "contactDetails", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingContactDetails", + "displayName": "ContactDetails" } ], - "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." - } - ], - "docs": { - "description": [ - "Weekly recurring time periods when the business is regularly open or the service is available." - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsTranslation", - "members": [ + "doc": "Contact details of the site visitor or member making the booking." + }, { - "name": "appDefId", + "name": "createdBy", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingIdentificationData", + "displayName": "IdentificationData" } ], - "doc": "The application definition ID; this only applies to services of type ThirdPartyApps." + "doc": "ID of the creator of the Booking.\nIf `appId` and another ID are present, the other ID takes precedence." }, { - "name": "instanceId", + "name": "doubleBooked", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The instance ID of the service." + "doc": "Whether this booking overlaps another existing confirmed booking. Returned when: `true`" }, { - "name": "serviceType", + "name": "endDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "The service type." - } - ], - "docs": { - "description": [ - "A single mapping from the MetaSite ID to a particular service." - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsUpdateServiceOptionsAndVariantsRequest", - "members": [ + "doc": "The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session." + }, { - "name": "serviceOptionsAndVariants", + "name": "extendedFields", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingExtendedFields", + "displayName": "ExtendedFields" } ], - "doc": "`ServiceOptionsAndVariants` object to update." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsUpdateServiceOptionsAndVariantsResponse", - "members": [ + "doc": "Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls." + }, { - "name": "serviceOptionsAndVariants", + "name": "externalUserId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsServiceOptionsAndVariants", - "displayName": "ServiceOptionsAndVariants" + "nativeType": "string" } ], - "doc": "Updated `serviceOptionsAndVariants` object." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsV4Address", - "members": [ + "doc": "External ID provided by the client app on creation." + }, { - "name": "apartmentNumber", + "name": "participantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", + "displayName": "ParticipantChoices" } ], - "doc": "Apartment number." + "doc": "Information about the booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "city", + "name": "paymentStatus", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "City name." + "doc": "Payment status.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." }, { - "name": "coordinates", + "name": "revision", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsGeoCoordinates", - "displayName": "GeoCoordinates" + "nativeType": "string" } ], - "doc": "Geographic coordinates of location." + "doc": "Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking." }, { - "name": "country", + "name": "selectedPaymentOption", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + "doc": "Selected payment option.\nOne of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\nWhen undefined, the payment option is resolved by the service configuration on checkout." }, { - "name": "googleFormattedAddress", + "name": "startDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Google-formatted version of this address." + "doc": "The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session." }, { - "name": "hint", + "name": "status", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsCatalogV1ServiceOptionsAndVariantsAddressHint", - "displayName": "AddressHint" + "nativeType": "string" } ], - "doc": "Extra information to be displayed in the address." + "doc": "Booking status.\nOne of:\n- `\"CREATED\"` - The booking was created.\n- `\"UPDATED\"` - The booking was updated.\n- `\"CONFIRMED\"` - The booking was confirmed and appears on the bookings calendar.\nA booking can be manually confirmed using the [`Confirm Or Decline API`](www.example.com).\nA booking can be automatically confirmed when the following requirements are met:\n+ The service is configured as automatically confirmed.\n+ The system invoked the eCommerce checkout API and created an order.\n- `\"CANCELED\"` - The booking has been canceled and synced to the bookings calendar.\nThe booking can be canceled using [`Cancel Booking API`](www.example.com).\n- `\"PENDING\"` - The booking is waiting to be confirmed or declined by the owner and the booking is synced to the bookings calendar.\nBookings can be manually set as `PENDING` using the [`setAsPending` API](www.example.com), by those with Manage Booking Status permissions scopes.\nBookings can be automatically set as `PENDING` when the following requirements are met:\n+ The service is configured as manually confirmed.\n+ Invoking the eCommerce checkout API and an order has been created.\n- `\"WAITING_LIST\"` - The booking is on a waiting list.\n- `\"DECLINED\"` - The booking was declined by the owner and synced to the Bookings calendar.\nBookings can be manually declined using the [`Decline Booking` API](www.example.com) by those with Manage Booking Status permissions scopes.\nBooking can be automatically declined when one of the following requirements are met:\n+ Invoking the `eCommerce checkout` API and the order declined event has been sent.\n+ Invoking the `eCommerce checkout` API and order approved event has been sent, but the booking is offline and the booking causes a double booking." }, { - "name": "isPhysical", + "name": "totalParticipants", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether this address represents a physical location." + "doc": "Total number of participants. Available only when the booking includes a single service variant." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfBookingParticipantsInfoOneOf", + "members": [ + "participantsChoices", + "totalParticipants" + ] + } + ] + }, + "docs": { + "description": [ + "The booking object, version 2." + ] + } + }, + { + "name": "bookingsV2BookingBookingCanceled", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" + } + ], + "doc": "The canceled booking object." }, { - "name": "state", + "name": "flowControlSettings", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCancelBookingFlowControlSettings", + "displayName": "CancelBookingFlowControlSettings" } ], - "doc": "State." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." }, { - "name": "street", + "name": "initiatedBy", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", + "displayName": "CommonIdentificationData" } ], - "doc": "Street name." + "doc": "ID of the cancelation initiator." }, { - "name": "streetNumber", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Street number." + "doc": "Information about whether to notify the customer about the cancelation and the message to send." }, { - "name": "zip", + "name": "previousStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Zip or postal code." + "doc": "The previous status of the booking." } ], "docs": { @@ -11329,27 +26614,27 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsVersion", + "name": "bookingsV2BookingBookingCanceledEvent", "members": [ { - "name": "participantsVersion", - "optional": true, + "name": "data", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingCanceled", + "displayName": "BookingCanceled" } ], - "doc": "Participants version number, updated each time the schedule participants are updated." + "doc": "The canceled booking." }, { - "name": "scheduleVersion", - "optional": true, + "name": "metadata", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Schedule version number, updated each time the schedule is updated." + "doc": "Event metadata." } ], "docs": { @@ -11359,37 +26644,29 @@ } }, { - "name": "bookingsCatalogV1ServiceOptionsAndVariantsWaitingListPolicy", + "name": "bookingsV2BookingBookingChanged", "members": [ { - "name": "capacity", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of spots available in the waitlist. Defaults to 10 spots." - }, - { - "name": "isEnabled", + "name": "currentBooking", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Whether waitlisting is enabled for the service." + "doc": "The booking after the changes." }, { - "name": "timeWindowMinutes", + "name": "previousBooking", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Amount of time a participant is given to book, once notified that a spot is available. Defaults to 10 minutes." + "doc": "The booking before the changes." } ], "docs": { @@ -11399,88 +26676,110 @@ } }, { - "name": "bookingsV2AttendanceAttendance", + "name": "bookingsV2BookingBookingConfirmed", "members": [ { - "name": "_id", - "readOnly": true, + "name": "booking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "ID of the attendance object." + "doc": "The confirmed booking object." }, { - "name": "bookingId", + "name": "doubleBooked", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Booking ID." + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "numberOfAttendees", + "name": "initiatedBy", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", + "displayName": "CommonIdentificationData" } ], - "doc": "Total number of participants who have that attended the session. Can be greater than `1` for bookings with multiple participants." + "doc": "ID of the confirmation initiator." }, { - "name": "sessionId", + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the confirmation and the message to send." + }, + { + "name": "previousPaymentStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session ID." + "doc": "The previous payment status of the booking." }, { - "name": "status", + "name": "previousStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Whether the booked contact attended the session, might be one of the following:\n\n+ `NOT_SET`: There is no available attendance information.\n+ `ATTENDED`: At least a single participant has attended the session.\n+ `NOT_ATTENDED`: No participant has attended the session.\n" + "doc": "The previous status of the booking." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { "description": [ - "Attendance is the main entity of AttendanceService.\nIt contains the attendance information for a given booking in a given session." + "" ] } }, { - "name": "bookingsV2AttendanceAttendanceCreated", + "name": "bookingsV2BookingBookingConfirmedEvent", "members": [ { - "name": "entity", + "name": "data", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", - "displayName": "Attendance" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingConfirmed", + "displayName": "BookingConfirmed" } ], - "doc": "" + "doc": "The confirmed booking." }, { "name": "metadata", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceBackendEventMetadata", + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", "displayName": "BackendEventMetadata" } ], - "doc": "" + "doc": "Event metadata." } ], "docs": { @@ -11490,27 +26789,27 @@ } }, { - "name": "bookingsV2AttendanceAttendanceUpdated", + "name": "bookingsV2BookingBookingCreated", "members": [ { "name": "entity", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", - "displayName": "Attendance" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "" + "doc": "Created booking." }, { "name": "metadata", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceBackendEventMetadata", + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", "displayName": "BackendEventMetadata" } ], - "doc": "" + "doc": "Event metadata." } ], "docs": { @@ -11520,43 +26819,70 @@ } }, { - "name": "bookingsV2AttendanceBackendEventMetadata", + "name": "bookingsV2BookingBookingDeclined", "members": [ { - "name": "entityId", + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" + } + ], + "doc": "The declined booking object." + }, + { + "name": "doubleBooked", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, + { + "name": "initiatedBy", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", + "displayName": "CommonIdentificationData" } ], - "doc": "ID of the entity associated with the event." + "doc": "ID of the decline initiator." }, { - "name": "eventTime", + "name": "participantNotification", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Event timestamp." + "doc": "Information about whether to notify the customer about the decline and the message to send." }, { - "name": "id", + "name": "previousPaymentStatus", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Event ID." + "doc": "The previous payment status of the booking." }, { - "name": "triggeredByAnonymizeRequest", + "name": "previousStatus", + "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." + "doc": "The previous status of the booking." } ], "docs": { @@ -11566,27 +26892,27 @@ } }, { - "name": "bookingsV2AttendanceCursorPaging", + "name": "bookingsV2BookingBookingDeclinedEvent", "members": [ { - "name": "cursor", - "optional": true, + "name": "data", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingDeclined", + "displayName": "BookingDeclined" } ], - "doc": "Pointer to the next or previous page in the list of results.\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request." + "doc": "The declined booking." }, { - "name": "limit", - "optional": true, + "name": "metadata", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Number of attendances to return.\nDefaults to `50`. Maximum `1000`." + "doc": "Event metadata." } ], "docs": { @@ -11596,28 +26922,27 @@ } }, { - "name": "bookingsV2AttendanceCursorPagingMetadata", + "name": "bookingsV2BookingBookingDetails", "members": [ { - "name": "cursors", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursors", - "displayName": "Cursors" + "nativeType": "string" } ], - "doc": "Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." + "doc": "ID of the bookings to be updated." }, { - "name": "hasNext", + "name": "revision", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + "doc": "" } ], "docs": { @@ -11627,27 +26952,27 @@ } }, { - "name": "bookingsV2AttendanceCursors", + "name": "bookingsV2BookingBookingIdAndRevision", "members": [ { - "name": "next", + "name": "bookingId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "ID of the booking." }, { - "name": "prev", + "name": "revision", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { @@ -11657,37 +26982,37 @@ } }, { - "name": "bookingsV2AttendanceGetAttendanceRequest", + "name": "bookingsV2BookingBookingInfo", "members": [ { - "name": "attendanceId", + "name": "bookingId", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Id of the Attendance to retrieve." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2AttendanceGetAttendanceResponse", - "members": [ + "doc": "ID of the booking." + }, { - "name": "attendance", + "name": "paymentStatus", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", - "displayName": "Attendance" + "nativeType": "string" + } + ], + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" } ], - "doc": "The retrieved Attendance." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { @@ -11697,165 +27022,112 @@ } }, { - "name": "bookingsV2AttendancePaging", + "name": "bookingsV2BookingBookingMarkedAsPending", "members": [ { - "name": "limit", + "name": "booking", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Number of items to load." + "doc": "The booking object that was marked as pending." }, { - "name": "offset", + "name": "doubleBooked", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Number of items to skip in the current sort order." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2AttendanceQueryAttendanceRequest", - "members": [ + "doc": "Whether this booking overlaps with another existing confirmed booking." + }, { - "name": "query", + "name": "initiatedBy", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceQueryV2", - "displayName": "QueryV2" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", + "displayName": "CommonIdentificationData" } ], - "doc": "WQL expression." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2AttendanceQueryAttendanceResponse", - "members": [ + "doc": "ID of the mark as pending initiator." + }, { - "name": "attendances", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", - "displayName": "Attendance" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "The retrieved Attendances." + "doc": "Information about whether to notify the customer upon manual confirmation of the pending booking and the message to send." }, { - "name": "pagingMetadata", + "name": "previousPaymentStatus", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursorPagingMetadata", - "displayName": "CursorPagingMetadata" + "nativeType": "string" } ], - "doc": "Paging Metadata. Cursor pagination is supported." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2AttendanceQueryV2", - "members": [ + "doc": "The previous payment status of the booking." + }, { - "name": "cursorPaging", + "name": "previousStatus", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursorPaging", - "displayName": "CursorPaging" + "nativeType": "string" } ], - "doc": "" + "doc": "The previous status of the booking." }, { - "name": "fields", + "name": "sendSmsReminder", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "boolean" } ], - "doc": "" - }, + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBookingNumberOfParticipantsUpdated", + "members": [ { - "name": "filter", - "optional": true, + "name": "data", "type": [ { - "nativeType": "Object" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingNumberOfParticipantsUpdated", + "displayName": "NumberOfParticipantsUpdated" } ], - "doc": "" + "doc": "Event data." }, { - "name": "sort", - "optional": true, + "name": "metadata", "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceSorting", - "displayName": "Sorting" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "" + "doc": "Event metadata." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfQueryV2PagingMethodOneOf", - "members": [ - "cursorPaging", - "paging" - ] - } - ] - }, "docs": { "description": [ "" @@ -11863,18 +27135,28 @@ } }, { - "name": "bookingsV2AttendanceQueryV2PagingMethodOneOf", + "name": "bookingsV2BookingBookingParticipantsInfoOneOf", "members": [ { - "name": "cursorPaging", + "name": "participantsChoices", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceCursorPaging", - "displayName": "CursorPaging" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", + "displayName": "ParticipantChoices" + } + ], + "doc": "Information about the booked service choices and participants.\nAvailable only when the booking includes multiple service variants." + }, + { + "name": "totalParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" } ], - "doc": "" + "doc": "Total number of participants. Available only when the booking includes a single service variant." } ], "docs": { @@ -11884,17 +27166,17 @@ } }, { - "name": "bookingsV2AttendanceSetAttendanceRequest", + "name": "bookingsV2BookingBookingPolicySettings", "members": [ { - "name": "attendance", + "name": "maxParticipantsPerBooking", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", - "displayName": "Attendance" + "nativeType": "number" } ], - "doc": "Attendance to create or updated." + "doc": "Booking policy settings for a given Slot/Schedule" } ], "docs": { @@ -11904,48 +27186,37 @@ } }, { - "name": "bookingsV2AttendanceSetAttendanceResponse", + "name": "bookingsV2BookingBookingPolicyViolations", "members": [ { - "name": "attendance", + "name": "bookOnlineDisabled", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2AttendanceAttendance", - "displayName": "Attendance" + "nativeType": "boolean" } ], - "doc": "The updated Attendance." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2AttendanceSorting", - "members": [ + "doc": "Bookings policy violation. Online booking is disabled for this slot." + }, { - "name": "fieldName", + "name": "tooEarlyToBook", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Name of the field to sort by." + "doc": "Bookings policy violation. Too early to book this slot." }, { - "name": "order", + "name": "tooLateToBook", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Sort order." + "doc": "Bookings policy violation. Too late to book this slot." } ], "docs": { @@ -11955,178 +27226,154 @@ } }, { - "name": "bookingsV2BookingAddress", + "name": "bookingsV2BookingBookingRescheduled", "members": [ { - "name": "addressLine", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Main address line, usually street and number, as free text." - }, - { - "name": "addressLine2", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." - }, - { - "name": "city", + "name": "booking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "City name." + "doc": "The rescheduled booking object." }, { - "name": "country", + "name": "flowControlSettings", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingRescheduleBookingFlowControlSettings", + "displayName": "RescheduleBookingFlowControlSettings" } ], - "doc": "Country code." + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "countryFullname", + "name": "initiatedBy", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", + "displayName": "CommonIdentificationData" } ], - "doc": "Country full name." + "doc": "ID of the rescheduling initiator." }, { - "name": "formattedAddress", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "A string containing the full address of this location." + "doc": "Information about whether to notify the customer about the rescheduling and the message to send." }, { - "name": "geocode", + "name": "previousBookedEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAddressLocation", - "displayName": "AddressLocation" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedEntity", + "displayName": "BookedEntity" } ], - "doc": "Coordinates of the physical address." + "doc": "An object describing the previous slot or schedule of the booking." }, { - "name": "hint", + "name": "previousEndDate", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Free text to help find the address." + "doc": "The previous end date of the booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session." }, { - "name": "postalCode", + "name": "previousParticipantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", + "displayName": "ParticipantChoices" } ], - "doc": "Zip/postal code." + "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "streetAddress", + "name": "previousStartDate", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingStreetAddress", - "displayName": "StreetAddress" + "nativeType": "Date" } ], - "doc": "Street name, number and apartment number." + "doc": "The previous start date of the booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session." }, { - "name": "subdivision", + "name": "previousStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + "doc": "The previous status of the booking." }, { - "name": "subdivisions", + "name": "previousTotalParticipants", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSubdivision", - "displayName": "Subdivision" - } - ] - } + "nativeType": "number" } ], - "doc": "Multi-level subdivisions from top to bottom." + "doc": "The previous total number of participants. Available only when the booking includes a single service variant." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfAddressStreetOneOf", + "name": "oneOfBookingRescheduledPreviousParticipantsInfoOneOf", "members": [ - "addressLine", - "streetAddress" + "previousParticipantsChoices", + "previousTotalParticipants" ] } ] }, "docs": { "description": [ - "Physical address" + "" ] } }, { - "name": "bookingsV2BookingAddressLocation", + "name": "bookingsV2BookingBookingRescheduledEvent", "members": [ { - "name": "latitude", - "optional": true, + "name": "data", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingRescheduled", + "displayName": "BookingRescheduled" } ], - "doc": "Address latitude." + "doc": "The rescheduled booking." }, { - "name": "longitude", - "optional": true, + "name": "metadata", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Address longitude." + "doc": "Event metadata." } ], "docs": { @@ -12136,28 +27383,28 @@ } }, { - "name": "bookingsV2BookingAddressStreetOneOf", + "name": "bookingsV2BookingBookingRescheduledPreviousParticipantsInfoOneOf", "members": [ { - "name": "addressLine", + "name": "previousParticipantsChoices", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", + "displayName": "ParticipantChoices" } ], - "doc": "Main address line, usually street and number, as free text." + "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." }, { - "name": "streetAddress", + "name": "previousTotalParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingStreetAddress", - "displayName": "StreetAddress" + "nativeType": "number" } ], - "doc": "Street name, number and apartment number." + "doc": "The previous total number of participants. Available only when the booking includes a single service variant." } ], "docs": { @@ -12167,67 +27414,80 @@ } }, { - "name": "bookingsV2BookingAllowedActions", + "name": "bookingsV2BookingBookingResult", "members": [ { - "name": "cancel", + "name": "booking", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Is cancel booking allowed" + "doc": "Booking entity." }, { - "name": "reschedule", + "name": "bookingId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Is reschedule booking allowed" + "doc": "Booking ID." } ], "docs": { "description": [ - "Possible allowed actions for a Booking" + "" ] } }, { - "name": "bookingsV2BookingApplicationError", + "name": "bookingsV2BookingBookingSource", "members": [ { - "name": "code", + "name": "actor", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Error code." + "doc": "Actor that created this booking." }, { - "name": "data", + "name": "appDefId", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "Data related to the error." + "doc": "Wix site ID of the application that created the booking." }, { - "name": "description", + "name": "appName", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Description of the error." + "doc": "Name of the application that created the booking, as saved in Wix Developers Center at the time of booking." + }, + { + "name": "platform", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Platform from which a booking was created" } ], "docs": { @@ -12237,43 +27497,67 @@ } }, { - "name": "bookingsV2BookingBackendEventMetadata", + "name": "bookingsV2BookingBookingUpdated", "members": [ { - "name": "entityId", + "name": "entity", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "ID of the entity associated with the event." + "doc": "Updated booking." }, { - "name": "eventTime", + "name": "metadata", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", + "displayName": "BackendEventMetadata" } ], - "doc": "Event timestamp." + "doc": "Event metadata." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkActionMetadata", + "members": [ + { + "name": "totalFailures", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items that couldn't be processed." }, { - "name": "id", + "name": "totalSuccesses", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Event ID." + "doc": "Number of items that were successfully processed." }, { - "name": "triggeredByAnonymizeRequest", + "name": "undetailedFailures", + "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." + "doc": "Number of failures without details because detailed failure threshold was exceeded." } ], "docs": { @@ -12283,33 +27567,42 @@ } }, { - "name": "bookingsV2BookingBookedEntity", + "name": "bookingsV2BookingBulkBookingResult", "members": [ { - "name": "schedule", + "name": "item", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSchedule", - "displayName": "BookedSchedule" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "The booked schedule. The booking is automatically assigned to the schedule's sessions." + "doc": "" }, { - "name": "slot", + "name": "itemMetadata", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSlot", - "displayName": "BookedSlot" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", + "displayName": "ItemMetadata" } ], - "doc": "The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkCalculateAllowedActionsRequest", + "members": [ { - "name": "tags", - "optional": true, + "name": "bookingIds", "type": [ { "complexType": { @@ -12322,30 +27615,48 @@ } } ], - "doc": "List of tags for the booking.\nSystem-assigned tags for sessions and schedules are:\n+ \"INDIVIDUAL\" Appointments, including appointments with more than 1 participant.\n+ \"GROUP\" Individual classes.\n+ \"COURSE\" Courses." + "doc": "The booking id's that we want to calculate the allowedActions for" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkCalculateAllowedActionsResponse", + "members": [ + { + "name": "bulkActionMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" + } + ], + "doc": "" }, { - "name": "title", + "name": "results", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkCalculateAllowedActionsResult", + "displayName": "BulkCalculateAllowedActionsResult" + } + ] + } } ], - "doc": "Session title at the time of booking." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfBookedEntityItemOneOf", - "members": [ - "schedule", - "slot" - ] - } - ] - }, "docs": { "description": [ "" @@ -12353,29 +27664,29 @@ } }, { - "name": "bookingsV2BookingBookedEntityItemOneOf", + "name": "bookingsV2BookingBulkCalculateAllowedActionsResult", "members": [ { - "name": "schedule", + "name": "item", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSchedule", - "displayName": "BookedSchedule" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAllowedActions", + "displayName": "AllowedActions" } ], - "doc": "The booked schedule. The booking is automatically assigned to the schedule's sessions." + "doc": "" }, { - "name": "slot", + "name": "itemMetadata", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedSlot", - "displayName": "BookedSlot" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", + "displayName": "ItemMetadata" } ], - "doc": "The booked slot, once booked becomes a session, The booking is automatically assigned to the session if it already exists, or creates a session if one doesn't already exist." + "doc": "(id, indexInGivenSeq, isSuccessful, error)" } ], "docs": { @@ -12385,47 +27696,64 @@ } }, { - "name": "bookingsV2BookingBookedResource", + "name": "bookingsV2BookingBulkConfirmOrDeclineBookingRequest", "members": [ { - "name": "_id", - "optional": true, + "name": "details", "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkConfirmOrDeclineBookingRequestBookingDetails", + "displayName": "BulkConfirmOrDeclineBookingRequestBookingDetails" + } + ] + } } ], - "doc": "Booked resource ID." + "doc": "The bookings to confirm or decline." }, { - "name": "email", + "name": "returnEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Resource's email at the time of booking." - }, + "doc": "Whether to return the confirmed or declined bookings entities.\nNot supported yet, currently the entity is not returned." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkConfirmOrDeclineBookingRequestBookingDetails", + "members": [ { - "name": "name", + "name": "bookingId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource's name at the time of booking." + "doc": "ID of the booking to confirm or decline." }, { - "name": "scheduleId", + "name": "paymentStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource's schedule ID." + "doc": "Current payment status of the booking." } ], "docs": { @@ -12435,71 +27763,138 @@ } }, { - "name": "bookingsV2BookingBookedSchedule", + "name": "bookingsV2BookingBulkConfirmOrDeclineBookingResponse", "members": [ { - "name": "firstSessionStart", - "readOnly": true, + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "The start time of the first session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat. Required." + "doc": "Total successes and failures of the bulk confirm or decline action." }, { - "name": "lastSessionEnd", - "readOnly": true, + "name": "results", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkBookingResult", + "displayName": "BulkBookingResult" + } + ] + } } ], - "doc": "The end time of the last session in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat. Required." - }, + "doc": "The bulk confirm or decline results.\nFor each booking, the results contain the metadata of the confirm or decline action." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkCreateBookingRequest", + "members": [ { - "name": "location", - "readOnly": true, - "optional": true, + "name": "createBookingsInfo", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingLocation", - "displayName": "Location" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingInfo", + "displayName": "CreateBookingInfo" + } + ] + } } ], - "doc": "Location where the schedule's sessions take place. Read only." + "doc": "Bookings to create.\nMax: 8 bookings." }, { - "name": "scheduleId", + "name": "returnFullEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Schedule ID." - }, + "doc": "Whether to return the created bookings entities." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkCreateBookingResponse", + "members": [ { - "name": "serviceId", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "Booked service ID." + "doc": "Total successes and failures of the bulk create booking action." }, { - "name": "timezone", + "name": "results", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkBookingResult", + "displayName": "BulkBookingResult" + } + ] + } + } + ], + "doc": "Bulk create booking results.\nWhether it successfully created each booking, providing the corresponding error message if a failure occurred, and includes the created booking entity if the `returnFullEntity` is `true`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkGetMultiServiceBookingAllowedActionsRequest", + "members": [ + { + "name": "multiServiceBookingIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "The timezone according to which the slot was shown to the user when booking, and should be shown in future." + "doc": "The multi service booking ids to get the allowedActions for." } ], "docs": { @@ -12509,89 +27904,143 @@ } }, { - "name": "bookingsV2BookingBookedSlot", + "name": "bookingsV2BookingBulkGetMultiServiceBookingAllowedActionsResponse", "members": [ { - "name": "endDate", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." + "doc": "" }, { - "name": "location", + "name": "results", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingLocation", - "displayName": "Location" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkCalculateAllowedActionsResult", + "displayName": "BulkCalculateAllowedActionsResult" + } + ] + } } ], - "doc": "Location where the slot's session takes place." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkRescheduleBookingRequest", + "members": [ { - "name": "resource", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedResource", - "displayName": "BookedResource" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "The resource assigned to the slot." + "doc": "Whether to notify participants about the change and an optional custom message" }, { - "name": "scheduleId", - "optional": true, + "name": "slotsBookings", "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSlotBookings", + "displayName": "SlotBookings" + } + ] + } } ], - "doc": "Schedule ID. Required." - }, + "doc": "Reschedule multiple bookings to multiple slots." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkRescheduleBookingRequestBooking", + "members": [ { - "name": "serviceId", + "name": "_id", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Service ID." + "doc": "ID of the bookings to be rescheduled." }, { - "name": "sessionId", + "name": "revision", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the underlying session when session is a single session or generated from a recurring session.\nIf `sessionId` is defined in the `Create Booking` request, the `startDate`, `endDate`, `timezone`, `resource`, and `location` fields are ignored and populated from the existing session's information." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkRescheduleBookingResponse", + "members": [ { - "name": "startDate", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." + "doc": "Total successes and failures of the bulk reschedule action." }, { - "name": "timezone", + "name": "results", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", + "displayName": "ItemMetadata" + } + ] + } } ], - "doc": "The timezone according to which the slot was shown to the user when booking, and should be shown in future." + "doc": "The bulk reschedule results. For each booking, the results contain the metadata of the reschedule action." } ], "docs": { @@ -12601,43 +28050,68 @@ } }, { - "name": "bookingsV2BookingBooking", + "name": "bookingsV2BookingBulkUpdateBookedScheduleRequest", "members": [ { - "name": "_createdDate", - "readOnly": true, - "optional": true, + "name": "bookings", "type": [ { - "nativeType": "Date" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingDetails", + "displayName": "BookingDetails" + } + ] + } } ], - "doc": "Date and time the booking was created." + "doc": "The bookings whose booked schedule is to be updated to the given schedule." }, { - "name": "_id", - "readOnly": true, + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Booking ID." + "doc": "Whether to notify participants about the change and an optional custom message." }, { - "name": "_updatedDate", - "readOnly": true, + "name": "scheduleId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the schedule to be updated." + } + ], + "docs": { + "description": [ + "Update the booked schedule of multiple bookings to the given schedule." + ] + } + }, + { + "name": "bookingsV2BookingBulkUpdateBookedScheduleResponse", + "members": [ + { + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "Date and time the booking was updated." + "doc": "Total successes and failures of the bulk update action." }, { - "name": "additionalFields", + "name": "results", "optional": true, "type": [ { @@ -12645,185 +28119,229 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCustomFormField", - "displayName": "CustomFormField" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", + "displayName": "ItemMetadata" } ] } } ], - "doc": "Additional custom fields submitted with the booking form." - }, - { - "name": "bookedEntity", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedEntity", - "displayName": "BookedEntity" - } - ], - "doc": "An object describing the slot or schedule that was booked." - }, + "doc": "The bulk update results. For each booking, the results contain the metadata of the update action." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingBulkUpdateBookingRequest", + "members": [ { - "name": "contactDetails", - "optional": true, + "name": "bookings", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingContactDetails", - "displayName": "ContactDetails" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMaskedBooking", + "displayName": "MaskedBooking" + } + ] + } } ], - "doc": "Contact details of the site visitor or member making the booking." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "The `fieldMask` for each booking should not include both the `numberOfParticipants` and `participantsInfo` paths. Including both results\nin an error. `participantsInfo` is preferred over `numberOfParticipants`." + ] + } + }, + { + "name": "bookingsV2BookingBulkUpdateBookingResponse", + "members": [ { - "name": "createdBy", - "readOnly": true, + "name": "bulkActionMetadata", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingIdentificationData", - "displayName": "IdentificationData" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", + "displayName": "BulkActionMetadata" } ], - "doc": "ID of the creator of the Booking.\nIf `appId` and another ID are present, the other ID takes precedence." + "doc": "" }, { - "name": "doubleBooked", - "readOnly": true, + "name": "results", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", + "displayName": "ItemMetadata" + } + ] + } } ], - "doc": "Whether this booking overlaps another existing confirmed booking. Returned when: `true`" - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCalculateAllowedActionsRequest", + "members": [ { - "name": "endDate", - "readOnly": true, - "optional": true, + "name": "bookingId", "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The end date of this booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session." - }, + "doc": "The booking id that we want to calculate the allowedActions for" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCalculateAllowedActionsResponse", + "members": [ { - "name": "extendedFields", + "name": "allowedActions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingExtendedFields", - "displayName": "ExtendedFields" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAllowedActions", + "displayName": "AllowedActions" } ], - "doc": "Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n\nEmpty fields are not returned.\n" - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCancelBookingFlowControlSettings", + "members": [ { - "name": "externalUserId", + "name": "ignoreCancellationPolicy", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "External ID provided by the client app on creation." + "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it.\nDefault: `false`." }, { - "name": "participantsChoices", + "name": "withRefund", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", - "displayName": "ParticipantChoices" + "nativeType": "boolean" } ], - "doc": "Information about the booked service choices and participants.\nAvailable only when the booking includes multiple service variants." - }, + "doc": "Whether to issue a refund when canceling the booking.\nThe refund will be issued only if the booking is refundable.\nCurrently, booking is considered refundable when it was paid by membership.\nIf passing `true`, the booking flow control settings will be set with refund,\notherwise, either if `false` is passed or the field remains empty,\nthe booking flow control settings will be set with no refund.\nDefault: `false`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCancelBookingRequest", + "members": [ { - "name": "paymentStatus", - "readOnly": true, - "optional": true, + "name": "bookingId", "type": [ { "nativeType": "string" } ], - "doc": "Payment status.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." + "doc": "ID of the booking to cancel." }, { - "name": "revision", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Revision number to be used when updating, rescheduling, or cancelling the booking. Revision number, which increments by 1 each time the booking is updated, rescheduled, or canceled. To prevent conflicting changes,the current revision must be passed when updating the booking." + "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." }, { - "name": "selectedPaymentOption", - "optional": true, + "name": "revision", "type": [ { "nativeType": "string" } ], - "doc": "Selected payment option.\nOne of the payment options offered by the service, or another option if `skipSelectedPaymentOptionValidation` is `true`.\nWhen undefined, the payment option is resolved by the service configuration on checkout." - }, - { - "name": "startDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "The start date of this booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session." - }, + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCancelBookingRequestFlowControlSettings", + "members": [ { - "name": "status", + "name": "ignoreCancellationPolicy", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Booking status.\nOne of:\n- `\"CREATED\"` - The booking was created.\n- `\"UPDATED\"` - The booking was updated.\n- `\"CONFIRMED\"` - The booking was confirmed and appears on the bookings calendar.\nA booking can be manually confirmed using the [`Confirm Or Decline API`](www.example.com).\nA booking can be automatically confirmed when the following requirements are met:\n+ The service is configured as automatically confirmed.\n+ The system invoked the eCommerce checkout API and created an order.\n- `\"CANCELED\"` - The booking has been canceled and synced to the bookings calendar.\nThe booking can be canceled using [`Cancel Booking API`](www.example.com).\n- `\"PENDING\"` - The booking is waiting to be confirmed or declined by the owner and the booking is synced to the bookings calendar.\nBookings can be manually set as `PENDING` using the [`setAsPending` API](www.example.com), by those with Manage Booking Status permissions scopes.\nBookings can be automatically set as `PENDING` when the following requirements are met:\n+ The service is configured as manually confirmed.\n+ Invoking the eCommerce checkout API and an order has been created.\n- `\"WAITING_LIST\"` - The booking is on a waiting list.\n- `\"DECLINED\"` - The booking was declined by the owner and synced to the Bookings calendar.\nBookings can be manually declined using the [`Decline Booking` API](www.example.com) by those with Manage Booking Status permissions scopes.\nBooking can be automatically declined when one of the following requirements are met:\n+ Invoking the `eCommerce checkout` API and the order declined event has been sent.\n+ Invoking the `eCommerce checkout` API and order approved event has been sent, but the booking is offline and the booking causes a double booking." + "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n" }, { - "name": "totalParticipants", + "name": "withRefund", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Total number of participants. Available only when the booking includes a single service variant." + "doc": "Whether to issue a refund when canceling the booking.\nThe refund will be issued only if the booking is refundable.\nCurrently, booking is considered refundable when it was paid by membership.\nIf passing `true`, the booking flow control settings will be set with refund,\notherwise, either if `false` is passed or the field remains empty,\nthe booking flow control settings will be set with no refund.\n\nDefault: `false`.\n" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfBookingParticipantsInfoOneOf", - "members": [ - "participantsChoices", - "totalParticipants" - ] - } - ] - }, "docs": { "description": [ - "The booking object, version 2." + "" ] } }, { - "name": "bookingsV2BookingBookingCanceled", + "name": "bookingsV2BookingCancelBookingResponse", "members": [ { "name": "booking", @@ -12834,8 +28352,18 @@ "displayName": "Booking" } ], - "doc": "The canceled booking object." - }, + "doc": "Canceled booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCancelMultiServiceBookingRequest", + "members": [ { "name": "flowControlSettings", "optional": true, @@ -12845,18 +28373,16 @@ "displayName": "CancelBookingFlowControlSettings" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncancelation flow are changed. For example, whether the you can cancel\na booking even though the cancelation policy doesn't allow it or whether\nto issue a refund." }, { - "name": "initiatedBy", - "optional": true, + "name": "multiServiceBookingId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", - "displayName": "CommonIdentificationData" + "nativeType": "string" } ], - "doc": "ID of the cancelation initiator." + "doc": "ID of the multi service booking to cancel it's related bookings." }, { "name": "participantNotification", @@ -12870,14 +28396,14 @@ "doc": "Information about whether to notify the customer about the cancelation and the message to send." }, { - "name": "previousStatus", + "name": "returnFullEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The previous status of the booking." + "doc": "Whether to return the canceled bookings entities." } ], "docs": { @@ -12887,27 +28413,18 @@ } }, { - "name": "bookingsV2BookingBookingCanceledEvent", + "name": "bookingsV2BookingCancelMultiServiceBookingResponse", "members": [ { - "name": "data", - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingCanceled", - "displayName": "BookingCanceled" - } - ], - "doc": "" - }, - { - "name": "metadata", + "name": "multiServiceBooking", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", - "displayName": "BackendEventMetadata" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "" + "doc": "Canceled multi service booking." } ], "docs": { @@ -12917,29 +28434,57 @@ } }, { - "name": "bookingsV2BookingBookingChanged", + "name": "bookingsV2BookingClash", "members": [ { - "name": "currentBooking", + "name": "bookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "The booking after the changes." + "doc": "" }, { - "name": "previousBooking", + "name": "contactName", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "The booking before the changes." + "doc": "" + }, + { + "name": "msid", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "resourceName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "sessionId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" } ], "docs": { @@ -12949,80 +28494,141 @@ } }, { - "name": "bookingsV2BookingBookingConfirmed", + "name": "bookingsV2BookingCommonIdentificationData", "members": [ { - "name": "booking", + "name": "anonymousVisitorId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "contactId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" } ], - "doc": "The confirmed booking object." + "doc": "ID of a site visitor that has logged in to the site." }, { - "name": "doubleBooked", + "name": "wixUserId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether this booking overlaps with another existing confirmed booking." - }, + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCommonIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCommonIdentificationDataIdOneOf", + "members": [ { - "name": "initiatedBy", + "name": "anonymousVisitorId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", - "displayName": "CommonIdentificationData" + "nativeType": "string" } ], - "doc": "ID of the confirmation initiator." + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "participantNotification", + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about whether to notify the customer about the confirmation and the message to send." + "doc": "ID of an app." }, { - "name": "previousPaymentStatus", + "name": "memberId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The previous payment status of the booking." + "doc": "ID of a site visitor that has logged in to the site." }, { - "name": "previousStatus", + "name": "wixUserId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The previous status of the booking." - }, + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingConfirmBookingFlowControlSettings", + "members": [ { - "name": "sendSmsReminder", + "name": "checkAvailabilityValidation", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." + "doc": "todo: docs any-resource flow behavior\nWhether the availability is checked before confirming the booking.\nWhen passing `false` a booking is only being updated with status CONFIRMED\nDefault: `false`." } ], "docs": { @@ -13032,27 +28638,36 @@ } }, { - "name": "bookingsV2BookingBookingConfirmedEvent", + "name": "bookingsV2BookingConfirmBookingRequest", "members": [ { - "name": "data", + "name": "bookingId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingConfirmed", - "displayName": "BookingConfirmed" + "nativeType": "string" } ], - "doc": "" + "doc": "ID of the booking to confirm." }, { - "name": "metadata", + "name": "participantNotification", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", - "displayName": "BackendEventMetadata" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" + "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + }, + { + "name": "revision", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { @@ -13062,10 +28677,11 @@ } }, { - "name": "bookingsV2BookingBookingCreated", + "name": "bookingsV2BookingConfirmBookingResponse", "members": [ { - "name": "entity", + "name": "booking", + "optional": true, "type": [ { "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", @@ -13073,16 +28689,6 @@ } ], "doc": "" - }, - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" } ], "docs": { @@ -13092,18 +28698,25 @@ } }, { - "name": "bookingsV2BookingBookingDeclined", + "name": "bookingsV2BookingConfirmMultiServiceBookingRequest", "members": [ { - "name": "booking", + "name": "confirmBookingsInfo", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingInfo", + "displayName": "BookingInfo" + } + ] + } } ], - "doc": "The declined booking object." + "doc": "Bookings to confirm." }, { "name": "doubleBooked", @@ -13116,15 +28729,24 @@ "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "initiatedBy", + "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", - "displayName": "CommonIdentificationData" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingConfirmBookingFlowControlSettings", + "displayName": "ConfirmBookingFlowControlSettings" } ], - "doc": "ID of the decline initiator." + "doc": "Information about whether specific procedures of the standard Wix Bookings\nconfirmation flow are changed. For example, whether the availability is\nchecked before confirming the booking." + }, + { + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking to confirm it's related bookings." }, { "name": "participantNotification", @@ -13135,27 +28757,27 @@ "displayName": "ParticipantNotification" } ], - "doc": "Information about whether to notify the customer about the decline and the message to send." + "doc": "Information about whether to notify the customer about the confirmation and the message to send." }, { - "name": "previousPaymentStatus", + "name": "returnFullEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The previous payment status of the booking." + "doc": "Whether to return the confirmed bookings entities." }, { - "name": "previousStatus", + "name": "sendSmsReminder", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The previous status of the booking." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -13165,27 +28787,18 @@ } }, { - "name": "bookingsV2BookingBookingDeclinedEvent", + "name": "bookingsV2BookingConfirmMultiServiceBookingResponse", "members": [ { - "name": "data", - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingDeclined", - "displayName": "BookingDeclined" - } - ], - "doc": "" - }, - { - "name": "metadata", + "name": "multiServiceBooking", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", - "displayName": "BackendEventMetadata" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "" + "doc": "Confirmed multi service booking." } ], "docs": { @@ -13195,27 +28808,26 @@ } }, { - "name": "bookingsV2BookingBookingDetails", + "name": "bookingsV2BookingConfirmOrDeclineBookingRequest", "members": [ { - "name": "_id", - "optional": true, + "name": "bookingId", "type": [ { "nativeType": "string" } ], - "doc": "ID of the bookings to be updated." + "doc": "ID of the booking to confirm or decline." }, { - "name": "revision", + "name": "paymentStatus", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Current payment status of the booking." } ], "docs": { @@ -13225,27 +28837,48 @@ } }, { - "name": "bookingsV2BookingBookingNumberOfParticipantsUpdated", + "name": "bookingsV2BookingConfirmOrDeclineBookingResponse", "members": [ { - "name": "data", + "name": "booking", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingNumberOfParticipantsUpdated", - "displayName": "NumberOfParticipantsUpdated" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingConfirmRequest", + "members": [ + { + "name": "_id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to be confirmed." }, { - "name": "metadata", + "name": "participantNotification", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", - "displayName": "BackendEventMetadata" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" + "doc": "Whether to notify the participants about the booking confirmation, and an optional custom message." } ], "docs": { @@ -13255,28 +28888,28 @@ } }, { - "name": "bookingsV2BookingBookingParticipantsInfoOneOf", + "name": "bookingsV2BookingConfirmResponse", "members": [ { - "name": "participantsChoices", + "name": "booking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", - "displayName": "ParticipantChoices" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Information about the booked service choices and participants.\nAvailable only when the booking includes multiple service variants." + "doc": "" }, { - "name": "totalParticipants", + "name": "doubleBooked", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Total number of participants. Available only when the booking includes a single service variant." + "doc": "Whether this booking overlaps with another existing confirmed booking." } ], "docs": { @@ -13286,17 +28919,18 @@ } }, { - "name": "bookingsV2BookingBookingPolicySettings", + "name": "bookingsV2BookingConsistentQueryBookingsRequest", "members": [ { - "name": "maxParticipantsPerBooking", + "name": "query", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingQueryV2", + "displayName": "QueryV2" } ], - "doc": "Booking policy settings for a given Slot/Schedule" + "doc": "" } ], "docs": { @@ -13306,37 +28940,36 @@ } }, { - "name": "bookingsV2BookingBookingPolicyViolations", + "name": "bookingsV2BookingConsistentQueryBookingsResponse", "members": [ { - "name": "bookOnlineDisabled", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Bookings policy violation. Online booking is disabled for this slot." - }, - { - "name": "tooEarlyToBook", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" + } + ] + } } ], - "doc": "Bookings policy violation. Too early to book this slot." + "doc": "" }, { - "name": "tooLateToBook", + "name": "pagingMetadata", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPagingMetadataV2", + "displayName": "PagingMetadataV2" } ], - "doc": "Bookings policy violation. Too late to book this slot." + "doc": "" } ], "docs": { @@ -13346,126 +28979,131 @@ } }, { - "name": "bookingsV2BookingBookingRescheduled", + "name": "bookingsV2BookingContactDetails", "members": [ { - "name": "booking", + "name": "contactId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "The rescheduled booking object." + "doc": "Contact's ID." }, { - "name": "flowControlSettings", + "name": "countryCode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingRescheduleBookingFlowControlSettings", - "displayName": "RescheduleBookingFlowControlSettings" + "nativeType": "string" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." + "doc": "Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, { - "name": "initiatedBy", + "name": "email", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCommonIdentificationData", - "displayName": "CommonIdentificationData" + "nativeType": "string" } ], - "doc": "ID of the rescheduling initiator." + "doc": "Contact's email, used to create a new contact or get existing one from the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet)." }, { - "name": "participantNotification", + "name": "firstName", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about whether to notify the customer about the rescheduling and the message to send." + "doc": "Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field." }, { - "name": "previousBookedEntity", + "name": "fullAddress", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookedEntity", - "displayName": "BookedEntity" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAddress", + "displayName": "Address" } ], - "doc": "An object describing the previous slot or schedule of the booking." + "doc": "Contact's full address." }, { - "name": "previousEndDate", + "name": "lastName", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The previous end date of the booking. For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session." + "doc": "Contact's last name." }, { - "name": "previousParticipantsChoices", + "name": "phone", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", - "displayName": "ParticipantChoices" + "nativeType": "string" } ], - "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." + "doc": "Contact's phone number." }, { - "name": "previousStartDate", + "name": "timeZone", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The previous start date of the booking. For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session." + "doc": "Contact's time zone." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingCreateBookingFlowControlSettings", + "members": [ + { + "name": "skipAvailabilityValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable.\nDefault: `false`." }, { - "name": "previousStatus", + "name": "skipBusinessConfirmation", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The previous status of the booking." + "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\nDefault: `false`." }, { - "name": "previousTotalParticipants", + "name": "skipSelectedPaymentOptionValidation", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "The previous total number of participants. Available only when the booking includes a single service variant." + "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\nDefault: `false`." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfBookingRescheduledPreviousParticipantsInfoOneOf", - "members": [ - "previousParticipantsChoices", - "previousTotalParticipants" - ] - } - ] - }, "docs": { "description": [ "" @@ -13473,58 +29111,50 @@ } }, { - "name": "bookingsV2BookingBookingRescheduledEvent", + "name": "bookingsV2BookingCreateBookingInfo", "members": [ { - "name": "data", + "name": "booking", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingRescheduled", - "displayName": "BookingRescheduled" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "" + "doc": "The booking to create" }, { - "name": "metadata", + "name": "flowControlSettings", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBackendEventMetadata", - "displayName": "BackendEventMetadata" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingFlowControlSettings", + "displayName": "CreateBookingFlowControlSettings" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingBookingRescheduledPreviousParticipantsInfoOneOf", - "members": [ + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, { - "name": "previousParticipantsChoices", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", - "displayName": "ParticipantChoices" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Information about the previous booked service choices and participants.\nAvailable only when the booking includes multiple service variants." + "doc": "Information about a message to send to the customer." }, { - "name": "previousTotalParticipants", + "name": "sendSmsReminder", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "The previous total number of participants. Available only when the booking includes a single service variant." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." } ], "docs": { @@ -13534,49 +29164,49 @@ } }, { - "name": "bookingsV2BookingBookingSource", + "name": "bookingsV2BookingCreateBookingRequest", "members": [ { - "name": "actor", - "optional": true, + "name": "booking", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Actor that created this booking.\n" + "doc": "The booking to create." }, { - "name": "appDefId", - "readOnly": true, + "name": "flowControlSettings", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingFlowControlSettings", + "displayName": "CreateBookingFlowControlSettings" } ], - "doc": "Wix site ID of the application that created the booking." + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." }, { - "name": "appName", - "readOnly": true, + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Name of the application that created the booking, as saved in Wix Developers Center at the time of booking." + "doc": "Information about a message to send to the customer." }, { - "name": "platform", + "name": "sendSmsReminder", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Platform from which a booking was created\n" + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." } ], "docs": { @@ -13586,37 +29216,37 @@ } }, { - "name": "bookingsV2BookingBulkActionMetadata", + "name": "bookingsV2BookingCreateBookingRequestFlowControlSettings", "members": [ { - "name": "totalFailures", + "name": "skipAvailabilityValidation", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Number of items that couldn't be processed." + "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" }, { - "name": "totalSuccesses", + "name": "skipBusinessConfirmation", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Number of items that were successfully processed." + "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\n\nDefault: `false`.\n" }, { - "name": "undetailedFailures", + "name": "skipSelectedPaymentOptionValidation", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Number of failures without details because detailed failure threshold was exceeded." + "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\n\nDefault: `false`.\n" } ], "docs": { @@ -13626,10 +29256,10 @@ } }, { - "name": "bookingsV2BookingBulkBookingResult", + "name": "bookingsV2BookingCreateBookingResponse", "members": [ { - "name": "item", + "name": "booking", "optional": true, "type": [ { @@ -13637,18 +29267,7 @@ "displayName": "Booking" } ], - "doc": "" - }, - { - "name": "itemMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", - "displayName": "ItemMetadata" - } - ], - "doc": "" + "doc": "Created booking." } ], "docs": { @@ -13658,94 +29277,76 @@ } }, { - "name": "bookingsV2BookingBulkCalculateAllowedActionsRequest", + "name": "bookingsV2BookingCreateMultiServiceBookingRequest", "members": [ { - "name": "bookingIds", + "name": "bookings", "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ] } } ], - "doc": "The booking id's that we want to calculate the allowedActions for" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingBulkCalculateAllowedActionsResponse", - "members": [ + "doc": "The bookings to create as multi service booking." + }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingFlowControlSettings", + "displayName": "CreateBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + }, { - "name": "bulkActionMetadata", + "name": "multiServiceBookingType", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", - "displayName": "BulkActionMetadata" + "nativeType": "string" } ], - "doc": "" + "doc": "Multi service booking type.\nOne of:\n- `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n- `\"SEPARATE_BOOKINGS\"` Not supported yet.\n- `\"PARALLEL_BOOKINGS\"` Not supported yet." }, { - "name": "results", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkCalculateAllowedActionsResult", - "displayName": "BulkCalculateAllowedActionsResult" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingBulkCalculateAllowedActionsResult", - "members": [ + "doc": "Information about a message to send to the customer." + }, { - "name": "item", + "name": "returnFullEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAllowedActions", - "displayName": "AllowedActions" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether to return the created bookings entities." }, { - "name": "itemMetadata", + "name": "sendSmsReminder", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", - "displayName": "ItemMetadata" + "nativeType": "boolean" } ], - "doc": "(id, indexInGivenSeq, isSuccessful, error)" + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." } ], "docs": { @@ -13755,34 +29356,18 @@ } }, { - "name": "bookingsV2BookingBulkCreateBookingRequest", + "name": "bookingsV2BookingCreateMultiServiceBookingResponse", "members": [ { - "name": "createBookingsInfo", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingInfo", - "displayName": "CreateBookingInfo" - } - ] - } - } - ], - "doc": "Bookings to create.\nMax: 8 bookings." - }, - { - "name": "returnFullEntity", + "name": "multiServiceBooking", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "Whether to return the created bookings entities." + "doc": "Created multi service booking.\nContains the booking results on the same order as passed on the request." } ], "docs": { @@ -13792,36 +29377,27 @@ } }, { - "name": "bookingsV2BookingBulkCreateBookingResponse", + "name": "bookingsV2BookingCursorPaging", "members": [ { - "name": "bulkActionMetadata", + "name": "cursor", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", - "displayName": "BulkActionMetadata" + "nativeType": "string" } ], - "doc": "Total successes and failures of the bulk create booking action." + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" }, { - "name": "results", + "name": "limit", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkBookingResult", - "displayName": "BulkBookingResult" - } - ] - } + "nativeType": "number" } ], - "doc": "Bulk create booking results.\nWhether it successfully created each booking, providing the corresponding error message if a failure occurred, and includes the created booking entity if the `returnFullEntity` is `true`." + "doc": "Maximum number of items to return in the results." } ], "docs": { @@ -13831,35 +29407,27 @@ } }, { - "name": "bookingsV2BookingBulkRescheduleBookingRequest", + "name": "bookingsV2BookingCursors", "members": [ { - "name": "participantNotification", + "name": "next", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Cursor string pointing to the next page in the list of results." }, { - "name": "slotsBookings", + "name": "prev", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSlotBookings", - "displayName": "SlotBookings" - } - ] - } + "nativeType": "string" } ], - "doc": "Reschedule multiple bookings to multiple slots." + "doc": "Cursor pointing to the previous page in the list of results." } ], "docs": { @@ -13869,7 +29437,7 @@ } }, { - "name": "bookingsV2BookingBulkRescheduleBookingRequestBooking", + "name": "bookingsV2BookingCustomFormField", "members": [ { "name": "_id", @@ -13879,56 +29447,38 @@ "nativeType": "string" } ], - "doc": "ID of the bookings to be rescheduled." + "doc": "ID of the form field as defined in the form." }, { - "name": "revision", + "name": "label", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingBulkRescheduleBookingResponse", - "members": [ + "doc": "Form field's label at the time of submission." + }, { - "name": "bulkActionMetadata", + "name": "value", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", - "displayName": "BulkActionMetadata" + "nativeType": "string" } ], - "doc": "Total successes and failures of the bulk reschedule action." + "doc": "Value that was submitted for this field." }, { - "name": "results", + "name": "valueType", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", - "displayName": "ItemMetadata" - } - ] - } + "nativeType": "string" } ], - "doc": "The bulk reschedule results. For each booking, the results contain the metadata of the reschedule action." + "doc": "Supported values:\n- `'CHECK_BOX'`\n- `'LONG_TEXT'`\n- `'SHORT_TEXT'`" } ], "docs": { @@ -13938,24 +29488,16 @@ } }, { - "name": "bookingsV2BookingBulkUpdateBookedScheduleRequest", + "name": "bookingsV2BookingDeclineBookingRequest", "members": [ { - "name": "bookings", + "name": "bookingId", "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingDetails", - "displayName": "BookingDetails" - } - ] - } + "nativeType": "string" } ], - "doc": "The bookings whose booked schedule is to be updated to the given schedule." + "doc": "ID of the booking to decline." }, { "name": "participantNotification", @@ -13966,55 +29508,37 @@ "displayName": "ParticipantNotification" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "Information about whether to notify the customer about the decline and\nthe message to send." }, { - "name": "scheduleId", + "name": "revision", "type": [ { "nativeType": "string" } ], - "doc": "The ID of the schedule to be updated." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." } ], "docs": { "description": [ - "Update the booked schedule of multiple bookings to the given schedule." + "" ] } }, { - "name": "bookingsV2BookingBulkUpdateBookedScheduleResponse", + "name": "bookingsV2BookingDeclineBookingResponse", "members": [ { - "name": "bulkActionMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", - "displayName": "BulkActionMetadata" - } - ], - "doc": "Total successes and failures of the bulk update action." - }, - { - "name": "results", + "name": "booking", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", - "displayName": "ItemMetadata" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "The bulk update results. For each booking, the results contain the metadata of the update action." + "doc": "Declined booking." } ], "docs": { @@ -14024,63 +29548,65 @@ } }, { - "name": "bookingsV2BookingBulkUpdateBookingRequest", + "name": "bookingsV2BookingDeclineMultiServiceBookingRequest", "members": [ { - "name": "bookings", + "name": "declineBookingsInfo", + "optional": true, "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMaskedBooking", - "displayName": "MaskedBooking" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingInfo", + "displayName": "BookingInfo" } ] } } ], - "doc": "" - } - ], - "docs": { - "description": [ - "The `fieldMask` for each booking should not include both the `numberOfParticipants` and `participantsInfo` paths. Including both results\nin an error. `participantsInfo` is preferred over `numberOfParticipants`." - ] - } - }, - { - "name": "bookingsV2BookingBulkUpdateBookingResponse", - "members": [ + "doc": "Bookings to decline." + }, { - "name": "bulkActionMetadata", + "name": "doubleBooked", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBulkActionMetadata", - "displayName": "BulkActionMetadata" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "results", + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking to decline it's related bookings." + }, + { + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingItemMetadata", - "displayName": "ItemMetadata" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer about the decline and the message to send." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether to return the declined bookings entities." } ], "docs": { @@ -14090,16 +29616,18 @@ } }, { - "name": "bookingsV2BookingCalculateAllowedActionsRequest", + "name": "bookingsV2BookingDeclineMultiServiceBookingResponse", "members": [ { - "name": "bookingId", + "name": "multiServiceBooking", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "The booking id that we want to calculate the allowedActions for" + "doc": "Declined multi service booking." } ], "docs": { @@ -14109,140 +29637,146 @@ } }, { - "name": "bookingsV2BookingCalculateAllowedActionsResponse", + "name": "bookingsV2BookingDomainEvent", "members": [ { - "name": "allowedActions", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAllowedActions", - "displayName": "AllowedActions" + "nativeType": "string" + } + ], + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." + }, + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingActionEvent", + "displayName": "ActionEvent" } ], "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingCancelBookingFlowControlSettings", - "members": [ + }, { - "name": "ignoreCancellationPolicy", + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingEntityCreatedEvent", + "displayName": "EntityCreatedEvent" } ], - "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it.\nDefault: `false`.\n" + "doc": "" }, { - "name": "withRefund", + "name": "deletedEvent", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingEntityDeletedEvent", + "displayName": "EntityDeletedEvent" } ], - "doc": "Whether to issue a refund when canceling the booking.\nThe refund will be issued only if the booking is refundable.\nCurrently, booking is considered refundable when it was paid by membership.\nIf passing `true`, the booking flow control settings will be set with refund,\notherwise, either if `false` is passed or the field remains empty,\nthe booking flow control settings will be set with no refund.\nDefault: `false`." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingCancelBookingRequest", - "members": [ + "doc": "" + }, { - "name": "bookingId", + "name": "entityEventSequence", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the booking to cancel." + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." }, { - "name": "participantNotification", + "name": "entityFqdn", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about whether to notify the customer about the cancelation and\nthe message to send." + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" }, { - "name": "revision", + "name": "entityId", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes,\nthe current revision must be passed when managing the booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingCancelBookingRequestFlowControlSettings", - "members": [ + "doc": "ID of the entity associated with the event." + }, { - "name": "ignoreCancellationPolicy", + "name": "eventTime", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "Date" } ], - "doc": "Whether the cancelation policy applies when canceling the booking. When\npassing `false` you can only cancel a booking if the cancelation policy\nallows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n\n\n" + "doc": "Event timestamp." }, { - "name": "withRefund", + "name": "originatedFrom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "If present, indicates the action that triggered the event." + }, + { + "name": "slug", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" + }, + { + "name": "triggeredByAnonymizeRequest", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to issue a refund when canceling the booking.\nThe refund will be issued only if the booking is refundable.\nCurrently, booking is considered refundable when it was paid by membership.\nIf passing `true`, the booking flow control settings will be set with refund,\notherwise, either if `false` is passed or the field remains empty,\nthe booking flow control settings will be set with no refund.\n\nDefault: `false`.\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingCancelBookingResponse", - "members": [ + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." + }, { - "name": "booking", + "name": "updatedEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" } ], - "doc": "Canceled booking." + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, "docs": { "description": [ "" @@ -14250,73 +29784,53 @@ } }, { - "name": "bookingsV2BookingCommonIdentificationData", + "name": "bookingsV2BookingDomainEventBodyOneOf", "members": [ { - "name": "anonymousVisitorId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of a site visitor that has not logged in to the site." - }, - { - "name": "appId", + "name": "actionEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingActionEvent", + "displayName": "ActionEvent" } ], - "doc": "ID of an app." + "doc": "" }, { - "name": "contactId", - "readOnly": true, + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingEntityCreatedEvent", + "displayName": "EntityCreatedEvent" } ], - "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." + "doc": "" }, { - "name": "memberId", + "name": "deletedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingEntityDeletedEvent", + "displayName": "EntityDeletedEvent" } ], - "doc": "ID of a site visitor that has logged in to the site." + "doc": "" }, { - "name": "wixUserId", + "name": "updatedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingEntityUpdatedEvent", + "displayName": "EntityUpdatedEvent" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfCommonIdentificationDataIdOneOf", - "members": [ - "anonymousVisitorId", - "appId", - "memberId", - "wixUserId" - ] - } - ] - }, "docs": { "description": [ "" @@ -14324,47 +29838,87 @@ } }, { - "name": "bookingsV2BookingCommonIdentificationDataIdOneOf", + "name": "bookingsV2BookingEntityCreatedEvent", "members": [ { - "name": "anonymousVisitorId", + "name": "entityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of a site visitor that has not logged in to the site." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingEntityDeletedEvent", + "members": [ { - "name": "appId", + "name": "deletedEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of an app." - }, + "doc": "Entity that was deleted" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingEntityUpdatedEvent", + "members": [ { - "name": "memberId", + "name": "currentEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of a site visitor that has logged in to the site." - }, + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingExtendedFields", + "members": [ { - "name": "wixUserId", + "name": "namespaces", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "nativeType": "Object" + } + ] + } } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n" } ], "docs": { @@ -14374,36 +29928,47 @@ } }, { - "name": "bookingsV2BookingConfirmBookingRequest", + "name": "bookingsV2BookingFlowControlSettings", "members": [ { - "name": "bookingId", + "name": "skipAvailabilityValidation", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the booking to confirm." + "doc": "When true, skips availability checking and allows booking.\nRequires BOOKINGS.OVERRIDE_AVAILABILITY permissions." }, { - "name": "participantNotification", + "name": "skipBusinessConfirmation", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Information about whether to notify the customer about the confirmation and\nthe message to send." + "doc": "When true, allows booking a confirmation-required service without requiring confirmation.\nRequires BOOKINGS.IGNORE_BOOKING_POLICY permissions." }, { - "name": "revision", + "name": "skipSelectedPaymentOptionValidation", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + "doc": "When true, skips selected payment option checking as defined in `selectedPaymentOption` field\nand allows booking.\nRequires BOOKINGS.MANAGE_PAYMENTS permissions." + }, + { + "name": "withRefund", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "When true, refunds the booking's payment when the booking is canceled." } ], "docs": { @@ -14413,15 +29978,13 @@ } }, { - "name": "bookingsV2BookingConfirmBookingResponse", + "name": "bookingsV2BookingGetMultiServiceBookingAvailabilityRequest", "members": [ { - "name": "booking", - "optional": true, + "name": "multiServiceBookingId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], "doc": "" @@ -14434,77 +29997,77 @@ } }, { - "name": "bookingsV2BookingConfirmOrDeclineBookingRequest", + "name": "bookingsV2BookingGetMultiServiceBookingAvailabilityResponse", "members": [ { - "name": "bookingId", + "name": "bookable", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the booking to confirm or decline." + "doc": "Whether these bookings are bookable." }, { - "name": "paymentStatus", + "name": "multiServiceBookingInfo", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingGetMultiServiceBookingAvailabilityResponseBookingInfo", + "displayName": "GetMultiServiceBookingAvailabilityResponseBookingInfo" + } + ] + } } ], - "doc": "Current payment status of the booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingConfirmOrDeclineBookingResponse", - "members": [ + "doc": "Info of the bookings this availability was calculated for." + }, { - "name": "booking", + "name": "policySettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingPolicySettings", + "displayName": "BookingPolicySettings" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingConfirmRequest", - "members": [ + "doc": "Multi service booking policy settings" + }, { - "name": "_id", + "name": "policyViolations", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingPolicyViolations", + "displayName": "BookingPolicyViolations" } ], - "doc": "ID of the booking to be confirmed." + "doc": "Indicators for policy violations of the multi service booking." }, { - "name": "participantNotification", + "name": "remainingCapacity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "number" } ], - "doc": "Whether to notify the participants about the booking confirmation, and an optional custom message." + "doc": "Number of open spots for this availability." + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots for this availability." } ], "docs": { @@ -14514,18 +30077,17 @@ } }, { - "name": "bookingsV2BookingConfirmResponse", + "name": "bookingsV2BookingGetMultiServiceBookingAvailabilityResponseBookingInfo", "members": [ { - "name": "booking", + "name": "bookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "" + "doc": "Booking id" } ], "docs": { @@ -14535,18 +30097,16 @@ } }, { - "name": "bookingsV2BookingConsistentQueryBookingsRequest", + "name": "bookingsV2BookingGetMultiServiceBookingRequest", "members": [ { - "name": "query", - "optional": true, + "name": "multiServiceBookingId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingQueryV2", - "displayName": "QueryV2" + "nativeType": "string" } ], - "doc": "" + "doc": "Multi service booking ID." } ], "docs": { @@ -14556,36 +30116,29 @@ } }, { - "name": "bookingsV2BookingConsistentQueryBookingsResponse", + "name": "bookingsV2BookingGetMultiServiceBookingResponse", "members": [ { - "name": "bookings", + "name": "metadata", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBookingMetadata", + "displayName": "MultiServiceBookingMetadata" } ], "doc": "" }, { - "name": "pagingMetadata", + "name": "multiServiceBooking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPagingMetadataV2", - "displayName": "PagingMetadataV2" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "" + "doc": "Multi service booking." } ], "docs": { @@ -14595,88 +30148,79 @@ } }, { - "name": "bookingsV2BookingContactDetails", + "name": "bookingsV2BookingGetScheduleAvailabilityRequest", "members": [ { - "name": "contactId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Contact's ID." - }, - { - "name": "countryCode", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." - }, - { - "name": "email", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Contact's email, used to create a new contact or get existing one from the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts). Used to validate coupon usage limitations per contact. If not passed, the coupon usage limitation will not be enforced. (Coupon usage limitation validation is not supported yet)." - }, - { - "name": "firstName", - "optional": true, + "name": "scheduleId", "type": [ { "nativeType": "string" } ], - "doc": "Contact's first name. When populated from a standard booking form, this property corresponds to the **Name** field." - }, + "doc": "The schedule ID for which availability is checked." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingGetScheduleAvailabilityResponse", + "members": [ { - "name": "fullAddress", + "name": "availability", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingAddress", - "displayName": "Address" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingScheduleAvailability", + "displayName": "ScheduleAvailability" } ], - "doc": "Contact's full address." + "doc": "" }, { - "name": "lastName", + "name": "bookingPolicySettings", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingPolicySettings", + "displayName": "BookingPolicySettings" } ], - "doc": "Contact's last name." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingGetSlotAvailabilityRequest", + "members": [ { - "name": "phone", + "name": "slot", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingV2Slot", + "displayName": "V2Slot" } ], - "doc": "Contact's phone number." + "doc": "The slot for which the availability is checked." }, { - "name": "timeZone", + "name": "timezone", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Contact's time zone." + "doc": "The timezone for which availability is to be calculated." } ], "docs": { @@ -14686,37 +30230,29 @@ } }, { - "name": "bookingsV2BookingCreateBookingFlowControlSettings", + "name": "bookingsV2BookingGetSlotAvailabilityResponse", "members": [ { - "name": "skipAvailabilityValidation", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable.\nDefault: `false`." - }, - { - "name": "skipBusinessConfirmation", + "name": "availability", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSlotAvailability", + "displayName": "SlotAvailability" } ], - "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\nDefault: `false`." + "doc": "" }, { - "name": "skipSelectedPaymentOptionValidation", + "name": "bookingPolicySettings", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingPolicySettings", + "displayName": "BookingPolicySettings" } ], - "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\nDefault: `false`." + "doc": "" } ], "docs": { @@ -14726,52 +30262,72 @@ } }, { - "name": "bookingsV2BookingCreateBookingInfo", + "name": "bookingsV2BookingIdentificationData", "members": [ { - "name": "booking", + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "The booking to create" + "doc": "ID of an app." }, { - "name": "flowControlSettings", + "name": "contactId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingFlowControlSettings", - "displayName": "CreateBookingFlowControlSettings" + "nativeType": "string" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." }, { - "name": "participantNotification", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about a message to send to the customer." + "doc": "ID of a site visitor that has logged in to the site." }, { - "name": "sendSmsReminder", + "name": "wixUserId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + "doc": "ID of a Wix user (site owner, contributor, etc.)." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, "docs": { "description": [ "" @@ -14779,49 +30335,47 @@ } }, { - "name": "bookingsV2BookingCreateBookingRequest", + "name": "bookingsV2BookingIdentificationDataIdOneOf", "members": [ { - "name": "booking", + "name": "anonymousVisitorId", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "The booking to create." + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "flowControlSettings", + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCreateBookingFlowControlSettings", - "displayName": "CreateBookingFlowControlSettings" + "nativeType": "string" } ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before creating the booking or if additional payment options are\naccepted." + "doc": "ID of an app." }, { - "name": "participantNotification", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" + "nativeType": "string" } ], - "doc": "Information about a message to send to the customer." + "doc": "ID of a site visitor that has logged in to the site." }, { - "name": "sendSmsReminder", + "name": "wixUserId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`.\nDefault: `true`." + "doc": "ID of a Wix user (site owner, contributor, etc.)." } ], "docs": { @@ -14831,58 +30385,48 @@ } }, { - "name": "bookingsV2BookingCreateBookingRequestFlowControlSettings", + "name": "bookingsV2BookingItemMetadata", "members": [ { - "name": "skipAvailabilityValidation", + "name": "_id", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the availability is checked before creating the booking. When\npassing `false` a booking is only created when the slot or schedule is\navailable. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" + "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." }, { - "name": "skipBusinessConfirmation", + "name": "error", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingApplicationError", + "displayName": "ApplicationError" } ], - "doc": "Whether `PENDING` bookings are automatically set to `CONFIRMED` for\nservices that normally require the owner's manual confirmation. Your\napp must have the `BOOKINGS.OVERRIDE_AVAILABILITY` permission scope\nwhen passing `true`.\n\nDefault: `false`.\n" + "doc": "Details about the error in case of failure." }, { - "name": "skipSelectedPaymentOptionValidation", + "name": "originalIndex", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether customers can pay using a payment method that isn't supported\nfor the service, but that's supported for other services. Your app\nmust have the `BOOKINGS.MANAGE_PAYMENTS` permission scope when passing\n`true`.\n\nDefault: `false`.\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingCreateBookingResponse", - "members": [ + "doc": "Index of the item within the request array. Allows for correlation between request and response items." + }, { - "name": "booking", + "name": "success", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "boolean" } ], - "doc": "Created booking." + "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." } ], "docs": { @@ -14892,27 +30436,17 @@ } }, { - "name": "bookingsV2BookingCursorPaging", + "name": "bookingsV2BookingLegacyCreateBookingRequest", "members": [ { - "name": "cursor", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" - }, - { - "name": "limit", - "optional": true, + "name": "booking", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Number of items to load." + "doc": "" } ], "docs": { @@ -14922,27 +30456,18 @@ } }, { - "name": "bookingsV2BookingCursors", + "name": "bookingsV2BookingLegacyCreateBookingResponse", "members": [ { - "name": "next", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Cursor pointing to next page in the list of results." - }, - { - "name": "prev", + "name": "booking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "" } ], "docs": { @@ -14952,7 +30477,7 @@ } }, { - "name": "bookingsV2BookingCustomFormField", + "name": "bookingsV2BookingLocation", "members": [ { "name": "_id", @@ -14962,38 +30487,37 @@ "nativeType": "string" } ], - "doc": "ID of the form field as defined in the form." + "doc": "Business location ID. Available only for locations that are business locations,\nmeaning the `location_type` is `\"OWNER_BUSINESS\"`." }, { - "name": "label", - "readOnly": true, + "name": "formattedAddress", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Form field's label at the time of submission." + "doc": "The full address of this location." }, { - "name": "value", + "name": "locationType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Value that was submitted for this field." + "doc": "Location type.\n\n- `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n- `\"CUSTOM\"`: The address as set for the individual session.\n" }, { - "name": "valueType", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Location name." } ], "docs": { @@ -15003,36 +30527,33 @@ } }, { - "name": "bookingsV2BookingDeclineBookingRequest", + "name": "bookingsV2BookingMarkAsMultiServiceBookingRequest", "members": [ { - "name": "bookingId", + "name": "bookingIds", "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "ID of the booking to decline." + "doc": "IDs of the bookings to mark as multi service booking." }, { - "name": "participantNotification", + "name": "multiServiceBookingType", "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" - } - ], - "doc": "Information about whether to notify the customer about the decline and\nthe message to send." - }, - { - "name": "revision", "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." + "doc": "Multi service booking type.\nOne of:\n- `\"SEQUENTIAL_BOOKINGS\"` Multi service booking will be considered available if its bookings are available as returned from ListMultiServiceAvailabilityTimeSlots API.\n- `\"SEPARATE_BOOKINGS\"` Not supported yet.\n- `\"PARALLEL_BOOKINGS\"` Not supported yet." } ], "docs": { @@ -15042,18 +30563,17 @@ } }, { - "name": "bookingsV2BookingDeclineBookingResponse", + "name": "bookingsV2BookingMarkAsMultiServiceBookingResponse", "members": [ { - "name": "booking", + "name": "multiServiceBookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" } ], - "doc": "Declined booking." + "doc": "Multi service booking ID." } ], "docs": { @@ -15063,27 +30583,27 @@ } }, { - "name": "bookingsV2BookingExtendedFields", + "name": "bookingsV2BookingMarkBookingAsPendingFlowControlSettings", "members": [ { - "name": "namespaces", + "name": "checkAvailabilityValidation", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "nativeType": "Object" - } - ] - } + "nativeType": "boolean" + } + ], + "doc": "Whether should check for double bookings before updating the booking as pending.\nWhen passing `false` a booking is only being updated with status PENDING\nDefault: `false`." + }, + { + "name": "skipPendingApprovalServiceValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" } ], - "doc": "Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format" + "doc": "Whether should validate that the given booking to be marked as pending, has a booking.slot.serviceId\nof a pending approval service.\nDefault: `false`." } ], "docs": { @@ -15093,47 +30613,77 @@ } }, { - "name": "bookingsV2BookingFlowControlSettings", + "name": "bookingsV2BookingMarkBookingAsPendingRequest", "members": [ { - "name": "skipAvailabilityValidation", + "name": "bookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the booking to mark as PENDING." + }, + { + "name": "doubleBooked", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "When true, skips availability checking and allows booking.\nRequires BOOKINGS.OVERRIDE_AVAILABILITY permissions." + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "skipBusinessConfirmation", + "name": "flowControlSettings", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMarkBookingAsPendingFlowControlSettings", + "displayName": "MarkBookingAsPendingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before updating the booking's status." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" + } + ], + "doc": "Information about whether to notify the customer and\nthe message to send." + }, + { + "name": "paymentStatus", + "optional": true, + "type": [ + { + "nativeType": "string" } ], - "doc": "When true, allows booking a confirmation-required service without requiring confirmation.\nRequires BOOKINGS.IGNORE_BOOKING_POLICY permissions." + "doc": "Payment status to set for the booking.\nOne of:\n- `\"NOT_PAID\"` The booking is not paid for.\n- `\"PAID\"` The booking is fully paid.\n- `\"PARTIALLY_PAID\"` The booking is partially paid.\n- `\"REFUNDED\"` The booking is refunded.\n- `\"EXEMPT\"` The booking is free of charge." }, { - "name": "skipSelectedPaymentOptionValidation", - "optional": true, + "name": "revision", "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "When true, skips selected payment option checking as defined in `selectedPaymentOption` field\nand allows booking.\nRequires BOOKINGS.MANAGE_PAYMENTS permissions." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." }, { - "name": "withRefund", + "name": "sendSmsReminder", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "When true, refunds the booking's payment when the booking is canceled." + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -15143,16 +30693,18 @@ } }, { - "name": "bookingsV2BookingGetScheduleAvailabilityRequest", + "name": "bookingsV2BookingMarkBookingAsPendingResponse", "members": [ { - "name": "scheduleId", + "name": "booking", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "The schedule ID for which availability is checked." + "doc": "The updated booking" } ], "docs": { @@ -15162,92 +30714,86 @@ } }, { - "name": "bookingsV2BookingGetScheduleAvailabilityResponse", + "name": "bookingsV2BookingMarkMultiServiceBookingAsPendingRequest", "members": [ { - "name": "availability", + "name": "doubleBooked", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingScheduleAvailability", - "displayName": "ScheduleAvailability" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether this booking overlaps with another existing confirmed booking." }, { - "name": "bookingPolicySettings", + "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingPolicySettings", - "displayName": "BookingPolicySettings" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMarkBookingAsPendingFlowControlSettings", + "displayName": "MarkBookingAsPendingFlowControlSettings" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingGetSlotAvailabilityRequest", - "members": [ + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before updating the booking." + }, { - "name": "slot", + "name": "markAsPendingBookingsInfo", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingV2Slot", - "displayName": "V2Slot" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingInfo", + "displayName": "BookingInfo" + } + ] + } } ], - "doc": "The slot for which the availability is checked." + "doc": "Bookings to mark as pending." }, { - "name": "timezone", - "optional": true, + "name": "multiServiceBookingId", "type": [ { "nativeType": "string" } ], - "doc": "The timezone for which availability is to be calculated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingGetSlotAvailabilityResponse", - "members": [ + "doc": "ID of the multi service booking to mark as pending it's related bookings." + }, { - "name": "availability", + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSlotAvailability", - "displayName": "SlotAvailability" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "" + "doc": "Information about whether to notify the customer upon manual confirmation and the message to send." }, { - "name": "bookingPolicySettings", + "name": "returnFullEntity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingPolicySettings", - "displayName": "BookingPolicySettings" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether to return the pending bookings entities." + }, + { + "name": "sendSmsReminder", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send an SMS reminder to the customer 24 hours before the\nsession starts. The phone number is taken from `contactDetails.phone`." } ], "docs": { @@ -15257,72 +30803,41 @@ } }, { - "name": "bookingsV2BookingIdentificationData", + "name": "bookingsV2BookingMarkMultiServiceBookingAsPendingResponse", "members": [ { - "name": "anonymousVisitorId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of a site visitor that has not logged in to the site." - }, - { - "name": "appId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of an app." - }, - { - "name": "contactId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system." - }, - { - "name": "memberId", + "name": "multiServiceBooking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "ID of a site visitor that has logged in to the site." - }, + "doc": "Pending multi service booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingMaskedBooking", + "members": [ { - "name": "wixUserId", + "name": "booking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfIdentificationDataIdOneOf", - "members": [ - "anonymousVisitorId", - "appId", - "memberId", - "wixUserId" - ] - } - ] - }, "docs": { "description": [ "" @@ -15330,47 +30845,48 @@ } }, { - "name": "bookingsV2BookingIdentificationDataIdOneOf", + "name": "bookingsV2BookingMessageEnvelope", "members": [ { - "name": "anonymousVisitorId", + "name": "data", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of a site visitor that has not logged in to the site." + "doc": "Stringify payload." }, { - "name": "appId", + "name": "eventType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of an app." + "doc": "Event type." }, { - "name": "memberId", + "name": "identity", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingWebhooksIdentificationData", + "displayName": "WebhooksIdentificationData" } ], - "doc": "ID of a site visitor that has logged in to the site." + "doc": "The identification type and identity data." }, { - "name": "wixUserId", + "name": "instanceId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of a Wix user (site owner, contributor, etc.)." + "doc": "App instance ID." } ], "docs": { @@ -15380,48 +30896,25 @@ } }, { - "name": "bookingsV2BookingItemMetadata", + "name": "bookingsV2BookingMigrationCheckIfClashesWithBlockedTimeRequest", "members": [ { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." - }, - { - "name": "error", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingApplicationError", - "displayName": "ApplicationError" - } - ], - "doc": "Details about the error in case of failure." - }, - { - "name": "originalIndex", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Index of the item within the request array. Allows for correlation between request and response items." - }, - { - "name": "success", + "name": "msidAndBookingIds", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMsidAndBookingId", + "displayName": "MsidAndBookingId" + } + ] + } } ], - "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." + "doc": "" } ], "docs": { @@ -15431,14 +30924,22 @@ } }, { - "name": "bookingsV2BookingLegacyCreateBookingRequest", + "name": "bookingsV2BookingMigrationCheckIfClashesWithBlockedTimeResponse", "members": [ { - "name": "booking", + "name": "clashes", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingClash", + "displayName": "Clash" + } + ] + } } ], "doc": "" @@ -15451,15 +30952,24 @@ } }, { - "name": "bookingsV2BookingLegacyCreateBookingResponse", + "name": "bookingsV2BookingMsidAndBookingId", "members": [ { - "name": "booking", + "name": "bookingId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "msid", + "optional": true, + "type": [ + { + "nativeType": "string" } ], "doc": "" @@ -15472,7 +30982,7 @@ } }, { - "name": "bookingsV2BookingLocation", + "name": "bookingsV2BookingMultiServiceBooking", "members": [ { "name": "_id", @@ -15482,37 +30992,56 @@ "nativeType": "string" } ], - "doc": "Business location ID. Available only for locations that are business locations,\nmeaning the `location_type` is `\"OWNER_BUSINESS\"`." + "doc": "Multi service booking ID." }, { - "name": "formattedAddress", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingResult", + "displayName": "BookingResult" + } + ] + } } ], - "doc": "The full address of this location." - }, + "doc": "The created bookings which are part of the multi service booking" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingMultiServiceBookingInfo", + "members": [ { - "name": "locationType", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type.\n\n- `\"OWNER_BUSINESS\"`: The business address, as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"`: The address as set when creating the service.\n- `\"CUSTOM\"`: The address as set for the individual session.\n" + "doc": "Multi service booking ID." }, { - "name": "name", + "name": "type", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location name." + "doc": "Multi service booking type." } ], "docs": { @@ -15522,35 +31051,17 @@ } }, { - "name": "bookingsV2BookingMaskedBooking", + "name": "bookingsV2BookingMultiServiceBookingMetadata", "members": [ { - "name": "booking", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" - } - ], - "doc": "" - }, - { - "name": "mask", + "name": "totalNumberOfScheduledBookings", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "number" } ], - "doc": "" + "doc": "Total number of the scheduled bookings within the multi service booking, including bookings which were not retrieved due to lack of read permissions.\nScheduled bookings are bookings with status CONFIRMED or PENDING." } ], "docs": { @@ -15848,24 +31359,240 @@ "name": "bookingsV2BookingPartySizeRequestPartySizeForOneOf", "members": [ { - "name": "scheduleId", + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "sessionId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingPartySizeResponse", + "members": [ + { + "name": "partySize", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingQueryBookingsRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingQueryV2", + "displayName": "QueryV2" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingQueryBookingsResponse", + "members": [ + { + "name": "bookings", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPagingMetadataV2", + "displayName": "PagingMetadataV2" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingQueryV2", + "members": [ + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCursorPaging", + "displayName": "CursorPaging" + } + ], + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + }, + { + "name": "fields", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "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." + }, + { + "name": "fieldsets", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "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." + }, + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" + }, + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPaging", + "displayName": "Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSorting", + "displayName": "Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingQueryV2PagingMethodOneOf", + "members": [ + { + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCursorPaging", + "displayName": "CursorPaging" } ], - "doc": "" + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." }, { - "name": "sessionId", + "name": "paging", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPaging", + "displayName": "Paging" } ], - "doc": "" + "doc": "Paging options to limit and skip the number of items." } ], "docs": { @@ -15875,17 +31602,44 @@ } }, { - "name": "bookingsV2BookingPartySizeResponse", + "name": "bookingsV2BookingRemoveBookingsFromMultiServiceBookingRequest", "members": [ { - "name": "partySize", + "name": "bookings", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingIdAndRevision", + "displayName": "BookingIdAndRevision" + } + ] + } } ], - "doc": "" + "doc": "List of bookings ids and their revisions to remove from the multi service booking." + }, + { + "name": "multiServiceBookingId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the multi service booking." + }, + { + "name": "returnFullEntity", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to return the bookings entities." } ], "docs": { @@ -15895,17 +31649,25 @@ } }, { - "name": "bookingsV2BookingQueryBookingsRequest", + "name": "bookingsV2BookingRemoveBookingsFromMultiServiceBookingResponse", "members": [ { - "name": "query", + "name": "bookings", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingQueryV2", - "displayName": "QueryV2" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBookingResult", + "displayName": "BookingResult" + } + ] + } } ], - "doc": "" + "doc": "The bookings that were removed from the multi service booking." } ], "docs": { @@ -15915,36 +31677,37 @@ } }, { - "name": "bookingsV2BookingQueryBookingsResponse", + "name": "bookingsV2BookingRescheduleBookingFlowControlSettings", "members": [ { - "name": "bookings", + "name": "ignoreReschedulePolicy", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" - } - ] - } + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it.\nDefault: `false`." }, { - "name": "pagingMetadata", + "name": "skipAvailabilityValidation", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPagingMetadataV2", - "displayName": "PagingMetadataV2" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the availability is checked before rescheduling the booking.\nWhen passing `false` a booking is only created when the slot or\nschedule is available.\nDefault: `false`." + }, + { + "name": "skipBusinessConfirmation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the rescheduled booking's status is automatically set to\n`CONFIRMED` for services that normally require the owner's manual\nconfirmation.\nDefault: `false`." } ], "docs": { @@ -15954,100 +31717,87 @@ } }, { - "name": "bookingsV2BookingQueryV2", + "name": "bookingsV2BookingRescheduleBookingRequest", "members": [ { - "name": "cursorPaging", - "optional": true, + "name": "bookingId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCursorPaging", - "displayName": "CursorPaging" + "nativeType": "string" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + "doc": "ID of the booking to reschedule." }, { - "name": "fields", + "name": "flowControlSettings", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingRescheduleBookingFlowControlSettings", + "displayName": "RescheduleBookingFlowControlSettings" } ], - "doc": "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." + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "fieldsets", + "name": "participantNotification", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "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." + "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." }, { - "name": "filter", + "name": "participantsChoices", "optional": true, "type": [ { - "nativeType": "Object" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", + "displayName": "ParticipantChoices" } ], - "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" + "doc": "Information about the service choices to book. Available only for services with\nvariants.\nPass when not all participants book the same variant." }, { - "name": "paging", - "optional": true, + "name": "revision", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPaging", - "displayName": "Paging" + "nativeType": "string" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "Revision number, which increments by 1 each time the booking is updated.\nTo prevent conflicting changes, the current revision must be passed when\nmanaging the booking." }, { - "name": "sort", + "name": "slot", + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingV2Slot", + "displayName": "V2Slot" + } + ], + "doc": "Information about the new slot." + }, + { + "name": "totalParticipants", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingSorting", - "displayName": "Sorting" - } - ] - } + "nativeType": "number" } ], - "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + "doc": "Total number of participants. Available only for services with\nvariants.\nPass when all participants book the same variant." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfQueryV2PagingMethodOneOf", + "name": "oneOfRescheduleBookingRequestParticipantsInfoOneOf", "members": [ - "cursorPaging", - "paging" + "participantsChoices", + "totalParticipants" ] } ] @@ -16059,69 +31809,157 @@ } }, { - "name": "bookingsV2BookingQueryV2PagingMethodOneOf", + "name": "bookingsV2BookingRescheduleBookingRequestFlowControlSettings", + "members": [ + { + "name": "ignoreReschedulePolicy", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n" + }, + { + "name": "skipAvailabilityValidation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the availability is checked before rescheduling the booking.\nWhen passing `false` a booking is only created when the slot or\nschedule is available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" + }, + { + "name": "skipBusinessConfirmation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the rescheduled booking's status is automatically set to\n`CONFIRMED` for services that normally require the owner's manual\nconfirmation. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingRescheduleBookingRequestParticipantsInfoOneOf", + "members": [ + { + "name": "participantsChoices", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantChoices", + "displayName": "ParticipantChoices" + } + ], + "doc": "Information about the service choices to book. Available only for services with\nvariants.\nPass when not all participants book the same variant." + }, + { + "name": "totalParticipants", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of participants. Available only for services with\nvariants.\nPass when all participants book the same variant." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingRescheduleBookingResponse", + "members": [ + { + "name": "booking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", + "displayName": "Booking" + } + ], + "doc": "Rescheduled booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingRescheduleMultiServiceBookingRequest", "members": [ { - "name": "cursorPaging", + "name": "flowControlSettings", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingCursorPaging", - "displayName": "CursorPaging" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingRescheduleBookingFlowControlSettings", + "displayName": "RescheduleBookingFlowControlSettings" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." }, { - "name": "paging", - "optional": true, + "name": "multiServiceBookingId", "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingPaging", - "displayName": "Paging" + "nativeType": "string" } ], - "doc": "Paging options to limit and skip the number of items." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingRescheduleBookingFlowControlSettings", - "members": [ + "doc": "ID of the multi service booking to reschedule it's related bookings." + }, { - "name": "ignoreReschedulePolicy", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", + "displayName": "ParticipantNotification" } ], - "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it.\nDefault: `false`.\n" + "doc": "Information about whether to notify the customer about the rescheduling and the message to send." }, { - "name": "skipAvailabilityValidation", - "optional": true, + "name": "rescheduleBookingsInfo", "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingRescheduleMultiServiceBookingRequestRescheduleBookingInfo", + "displayName": "RescheduleMultiServiceBookingRequestRescheduleBookingInfo" + } + ] + } } ], - "doc": "Whether the availability is checked before rescheduling the booking.\nWhen passing `false` a booking is only created when the slot or\nschedule is available.\nDefault: `false`." + "doc": "Bookings to reschedule." }, { - "name": "skipBusinessConfirmation", + "name": "returnFullEntity", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether the rescheduled booking's status is automatically set to\n`CONFIRMED` for services that normally require the owner's manual\nconfirmation.\nDefault: `false`." + "doc": "Whether to return the rescheduled bookings entities." } ], "docs": { @@ -16131,10 +31969,11 @@ } }, { - "name": "bookingsV2BookingRescheduleBookingRequest", + "name": "bookingsV2BookingRescheduleMultiServiceBookingRequestRescheduleBookingInfo", "members": [ { "name": "bookingId", + "optional": true, "type": [ { "nativeType": "string" @@ -16142,28 +31981,6 @@ ], "doc": "ID of the booking to reschedule." }, - { - "name": "flowControlSettings", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingRescheduleBookingFlowControlSettings", - "displayName": "RescheduleBookingFlowControlSettings" - } - ], - "doc": "Information about whether specific procedures of the standard Wix Bookings\nrescheduling flow are changed. For example, whether the availability of\nthe new slot is checked before rescheduling the booking or if you can\nreschedule the booking even though the rescheduling policy doesn't allow it." - }, - { - "name": "participantNotification", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingParticipantNotification", - "displayName": "ParticipantNotification" - } - ], - "doc": "Information about whether to notify the customer about the rescheduling and\nthe message to send." - }, { "name": "participantsChoices", "optional": true, @@ -16177,6 +31994,7 @@ }, { "name": "revision", + "optional": true, "type": [ { "nativeType": "string" @@ -16186,6 +32004,7 @@ }, { "name": "slot", + "optional": true, "type": [ { "referenceType": "wix-bookings-v2.Events.bookingsV2BookingV2Slot", @@ -16208,7 +32027,7 @@ "extra": { "oneOfGroups": [ { - "name": "oneOfRescheduleBookingRequestParticipantsInfoOneOf", + "name": "oneOfRescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf", "members": [ "participantsChoices", "totalParticipants" @@ -16223,47 +32042,7 @@ } }, { - "name": "bookingsV2BookingRescheduleBookingRequestFlowControlSettings", - "members": [ - { - "name": "ignoreReschedulePolicy", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the rescheduling policy applies when rescheduling the booking.\nWhen passing `false` you can only cancel a booking if the rescheduling\npolicy allows it. Your app must have the `BOOKINGS.IGNORE_BOOKING_POLICY `\npermission scope when passing `true`.\n\nDefault: `false`.\n\n\n" - }, - { - "name": "skipAvailabilityValidation", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the availability is checked before rescheduling the booking.\nWhen passing `false` a booking is only created when the slot or\nschedule is available. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" - }, - { - "name": "skipBusinessConfirmation", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the rescheduled booking's status is automatically set to\n`CONFIRMED` for services that normally require the owner's manual\nconfirmation. Your app must have the `BOOKINGS.OVERRIDE_AVAILABILITY`\npermission scope when passing `true`.\n\nDefault: `false`.\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "bookingsV2BookingRescheduleBookingRequestParticipantsInfoOneOf", + "name": "bookingsV2BookingRescheduleMultiServiceBookingRequestRescheduleBookingInfoParticipantsInfoOneOf", "members": [ { "name": "participantsChoices", @@ -16294,18 +32073,18 @@ } }, { - "name": "bookingsV2BookingRescheduleBookingResponse", + "name": "bookingsV2BookingRescheduleMultiServiceBookingResponse", "members": [ { - "name": "booking", + "name": "multiServiceBooking", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Events.bookingsV2BookingBooking", - "displayName": "Booking" + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingMultiServiceBooking", + "displayName": "MultiServiceBooking" } ], - "doc": "Rescheduled booking." + "doc": "Rescheduled multi service booking." } ], "docs": { @@ -16980,7 +32759,7 @@ "nativeType": "string" } ], - "doc": "entity_id" + "doc": "ID of the entity to update." }, { "name": "namespace", @@ -16989,7 +32768,7 @@ "nativeType": "string" } ], - "doc": "" + "doc": "Identifier for the app whose extended fields are being updated." }, { "name": "namespaceData", @@ -16998,7 +32777,7 @@ "nativeType": "Object" } ], - "doc": "" + "doc": "Data to update. Structured according to the [schema](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields#json-schema-for-extended-fields) defined when the extended fields were configured." } ], "docs": { @@ -17018,7 +32797,7 @@ "nativeType": "string" } ], - "doc": "" + "doc": "Identifier for the app whose extended field data was updated." }, { "name": "namespaceData", @@ -17028,7 +32807,7 @@ "nativeType": "Object" } ], - "doc": "only data from UpdateExtendedFieldsRequest namespace_data" + "doc": "Updated data." } ], "docs": { @@ -17209,6 +32988,17 @@ ], "doc": "Whether this booking overlaps with another existing confirmed booking." }, + { + "name": "flowControlSettings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Events.bookingsV2BookingConfirmBookingFlowControlSettings", + "displayName": "ConfirmBookingFlowControlSettings" + } + ], + "doc": "Information about whether specific procedures of the standard Wix Bookings\ncreation flow are changed. For example, whether the availability is\nchecked before confirming the booking." + }, { "name": "participantNotification", "optional": true, @@ -17692,7 +33482,7 @@ "nativeType": "string" } ], - "doc": "The end time of this Slot (formatted according to RFC3339). Required." + "doc": "The end time of this Slot (formatted according to RFC3339)." }, { "name": "location", @@ -17714,7 +33504,7 @@ "displayName": "SlotSlotResource" } ], - "doc": "The resource required for this slot. Currently, in Bookings, this is the relevant staff. Required." + "doc": "The resource required for this slot.\nWhen populated, the given resource will be assigned to the slot upon confirmation according to it's availability.\nWhen empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\notherwise one of the service resources will be assigned to the slot randomly upon confirmation." }, { "name": "scheduleId", @@ -17744,7 +33534,7 @@ "nativeType": "string" } ], - "doc": "Identifier for underlying session when session is a single session or generated from a recurring session. Required." + "doc": "Identifier for underlying session when session is a single session or generated from a recurring session." }, { "name": "startDate", @@ -17754,7 +33544,7 @@ "nativeType": "string" } ], - "doc": "The start time of this Slot (formatted according to RFC3339). Required." + "doc": "The start time of this Slot (formatted according to RFC3339)." }, { "name": "timezone", @@ -17914,6 +33704,130 @@ "" ] } + }, + { + "name": "bookingsV2BookingWebhooksIdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "identityType", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfWebhooksIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "bookingsV2BookingWebhooksIdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } } ] } diff --git a/wix-bookings-v2/wix-bookings-v2/ExtendedBookings.service.json b/wix-bookings-v2/wix-bookings-v2/ExtendedBookings.service.json index 26244e2f20..64fae1fce7 100644 --- a/wix-bookings-v2/wix-bookings-v2/ExtendedBookings.service.json +++ b/wix-bookings-v2/wix-bookings-v2/ExtendedBookings.service.json @@ -54,25 +54,45 @@ "docs": { "summary": "Retrieves a list of bookings, including additional extended information, given the provided paging, filtering, and sorting.", "description": [ - "Up to 100 extended bookings can be returned per request.\n\n`queryExtendedBookings()` runs with these defaults, which you can override:\n\n- `createdDate` sorted in `DESC` order\n- `cursorPaging.limit` is `50`\n\n\nYou can retrieve information about which actions the customer can perform\nfor the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n\n\nFor field support, see\n[supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\nfor more information.\n\nYou can specify a filter only once per query. If you specify a filter\nmore than once, only the first filter determines the extended bookings that are returned.\n\nWhen filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." + "Up to 100 extended bookings can be returned per request.\n\n`queryExtendedBookings()` runs with these defaults, which you can override:\n\n- `createdDate` sorted in `DESC` order\n- `cursorPaging.limit` is `50`\n\n\nYou can retrieve information about which actions the customer can perform\nfor the bookings. To do so, pass `withBookingAllowedActions` as `true`.\n\n\nFor field support, see\n[supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/extendedbookings/supported-filters)\nfor more information.\n\nYou can specify a filter only once per query. If you specify a filter\nmore than once, only the first filter determines the extended bookings that are returned.\n\nWhen filtering by date, you must use [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." ], "examples": [ { "title": "queryExtendedBookings example", "body": [ "import { extendedBookings } from 'wix-bookings.v2';", - " ", - " async function queryExtendedBookings(query, options) {", - " try {", - " const result = await extendedBookings.queryExtendedBookings(query, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function queryExtendedBookings(query, options) {", + " try {", + " const result = await extendedBookings.queryExtendedBookings(query, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "queryExtendedBookings example for exporting from backend code", + "body": [ + "import { extendedBookings } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const queryExtendedBookings = webMethod(", + " Permissions.Anyone,", + " async (query, options) => {", + " try {", + " const result = await extendedBookings.queryExtendedBookings(query, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -310,6 +330,7 @@ }, { "name": "refund", + "readOnly": false, "optional": true, "type": [ { @@ -418,13 +439,14 @@ }, { "name": "title", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session title at the time of booking." + "doc": "Session title at the time of booking.\nIf session doesn't exist at the time of the booking, service name is used." } ], "extra": { @@ -610,6 +632,16 @@ ], "doc": "The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." }, + { + "name": "eventId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Calendar 3 event ID\nIf not empty, on all write flows (create / update) gets priority over session_id.\nso if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\nOtherwise, if event_id is empty on write flow," + }, { "name": "location", "optional": true, @@ -628,7 +660,7 @@ "referenceType": "wix-bookings-v2.ExtendedBookings.BookedResource" } ], - "doc": "The resource assigned to the slot." + "doc": "The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\nWhen populated, the given resource will be booked according to it's availability.\nWhen empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\notherwise one of the service resources will be assigned to the slot randomly upon confirmation.\nThis resource is the slot primary resource." }, { "name": "scheduleId", @@ -801,7 +833,7 @@ "referenceType": "wix-bookings-v2.ExtendedBookings.ExtendedFields" } ], - "doc": "Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n\nEmpty fields are not returned.\n" + "doc": "Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls." }, { "name": "externalUserId", @@ -903,6 +935,36 @@ ] } }, + { + "name": "BookingFeeDetails", + "members": [ + { + "name": "cancellationFeeStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The cancellation fee status." + }, + { + "name": "reschedulingFeeStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The rescheduling fee status." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "BookingParticipantsInfoOneOf", "members": [ @@ -933,6 +995,26 @@ ] } }, + { + "name": "BookingPolicySettings", + "members": [ + { + "name": "cancellationFeeEnabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the cancellation fee is enabled." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "BookingSource", "members": [ @@ -944,7 +1026,7 @@ "nativeType": "string" } ], - "doc": "Actor that created this booking.\n" + "doc": "Actor that created this booking." }, { "name": "appDefId", @@ -976,7 +1058,7 @@ "nativeType": "string" } ], - "doc": "Platform from which a booking was created\n" + "doc": "Platform from which a booking was created" } ], "docs": { @@ -1113,6 +1195,36 @@ ] } }, + { + "name": "ConferencingDetails", + "members": [ + { + "name": "guestUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "URL used by a guest to join the conference." + }, + { + "name": "password", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Optional conference password." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "ContactDetails", "members": [ @@ -1188,6 +1300,7 @@ }, { "name": "timeZone", + "readOnly": false, "optional": true, "type": [ { @@ -1214,7 +1327,7 @@ "nativeType": "string" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" }, { "name": "limit", @@ -1224,7 +1337,7 @@ "nativeType": "number" } ], - "doc": "Number of items to load." + "doc": "Maximum number of items to return in the results." } ], "docs": { @@ -1244,7 +1357,7 @@ "nativeType": "string" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Cursor string pointing to the next page in the list of results." }, { "name": "prev", @@ -1254,7 +1367,7 @@ "nativeType": "string" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "Cursor pointing to the previous page in the list of results." } ], "docs": { @@ -1305,7 +1418,7 @@ "nativeType": "string" } ], - "doc": "" + "doc": "Supported values:\n- `'CHECK_BOX'`\n- `'LONG_TEXT'`\n- `'SHORT_TEXT'`" } ], "docs": { @@ -1375,7 +1488,27 @@ } } ], - "doc": "Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format" + "doc": "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "FeeDetails", + "members": [ + { + "name": "status", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The fee Status" } ], "docs": { @@ -1607,6 +1740,37 @@ ] } }, + { + "name": "MultiServiceBookingInfo", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Multi service booking ID." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Multi service booking type." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "Paging", "members": [ diff --git a/wix-bookings-v2/wix-bookings-v2/ExternalCalendars.service.json b/wix-bookings-v2/wix-bookings-v2/ExternalCalendars.service.json index ccd8e3e429..c21ef215b5 100644 --- a/wix-bookings-v2/wix-bookings-v2/ExternalCalendars.service.json +++ b/wix-bookings-v2/wix-bookings-v2/ExternalCalendars.service.json @@ -19,7 +19,7 @@ "nativeType": "string" } ], - "doc": "ID of the external calendar provider. Find this with the [`listProviders()`](#list-providers) function.\n", + "doc": "ID of the external calendar provider. Find this with the `listProviders()` function.", "required": true }, { @@ -77,7 +77,7 @@ "docs": { "summary": "Connects to an external calendar by directly providing the external calendar account credentials.", "description": [ - "Once a connection is successfully created, use [`listEvents()`](#list-events) to obtain an up-to-date list of events in the connected external calendars.\n\n> **Note:**\n> Use [`listProviders()`](#list-providers) to find out whether to connect to a particular provider using this method or [`connectByOAuth()`](#connect-by-o-auth)." + "Once a connection is successfully created, use `listEvents()` to obtain an up-to-date list of events in the connected external calendars.\n\n> **Note:**\n> Use `listProviders()` to find out whether to connect to a particular provider using this method or `connectByOAuth()`." ], "examples": [ { @@ -113,7 +113,7 @@ "nativeType": "string" } ], - "doc": "ID of the external calendar provider. Find this with the [`listProviders()`](#list-providers) function.\n", + "doc": "ID of the external calendar provider. Find this with the `listProviders()` function.", "required": true }, { @@ -160,7 +160,7 @@ "docs": { "summary": "Connects to an external calendar using the OAuth authorization protocol.", "description": [ - "The authorization flow should take place as follows:\n\n1. Call the function with the appropriate parameters.\n2. Redirect the user to the URL received in the response.\n3. The user authorizes access.\n4. The user is redirected to the URL you provide in the `redirectUrl` parameter, with a query parameter `connectionId` containing the new connection ID.\n\nIf the attempt to connect fails, the user is still redirected to the URL you provide in the `redirectUrl` parameter,\nbut with a query parameter `error` containing one of the following values:\n\n- `reject`: The user rejected the authorization request.\n- `unsupported`: Connecting to the user's external account type is not supported by the provider.\n- `internal`: An error unrelated to the client or the request that prevents the server from fulfilling the request.\n\nOnce a connection is successfully created, use [`listEvents()`](#list-events) to obtain an up-to-date list of events in the connected external calendars.\n\n> **Note:**\n> Use [`listProviders()`](#list-providers) to find out whether to connect to a particular provider using this endpoint or [`connectByCredentials()`](#connect-by-credentials)." + "The authorization flow should take place as follows:\n\n1. Call the function with the appropriate parameters.\n2. Redirect the user to the URL received in the response.\n3. The user authorizes access.\n4. The user is redirected to the URL you provide in the `redirectUrl` parameter, with a query parameter `connectionId` containing the new connection ID.\n\nIf the attempt to connect fails, the user is still redirected to the URL you provide in the `redirectUrl` parameter,\nbut with a query parameter `error` containing one of the following values:\n\n- `reject`: The user rejected the authorization request.\n- `unsupported`: Connecting to the user's external account type is not supported by the provider.\n- `internal`: An error unrelated to the client or the request that prevents the server from fulfilling the request.\n\nOnce a connection is successfully created, use `listEvents()` to obtain an up-to-date list of events in the connected external calendars.\n\n> **Note:**\n> Use `listProviders()` to find out whether to connect to a particular provider using this endpoint or `connectByCredentials()`." ], "examples": [ { @@ -221,7 +221,7 @@ "docs": { "summary": "Disconnects from an external calendar.", "description": [ - "When an external calendar is disconnected, the external calendar connection's `status` is changed to `DISCONNECTED`.\n\nAfter disconnecting, [`listEvents()`](#list-events) no longer returns events from the disconnected external calendar.\nExported Wix calendar sessions are deleted from the external calendar." + "When an external calendar is disconnected, the external calendar connection's `status` is changed to `DISCONNECTED`.\n\nAfter disconnecting, `listEvents()` no longer returns events from the disconnected external calendar.\nExported Wix calendar sessions are deleted from the external calendar." ], "examples": [ { @@ -342,7 +342,7 @@ "docs": { "summary": "Retrieves a list of calendars belonging to the connected external calendar account.", "description": [ - "> **Note:**\n> Before using this function, establish a connection with an external calendar using [`connectByCredentials()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth)." + "> **Note:**\n> Before using this function, establish a connection with an external calendar using `connectByCredentials()` or `connectByOAuth()`." ], "examples": [ { @@ -472,7 +472,7 @@ "docs": { "summary": "Retrieves a list of events from all connected external calendars, based on the provided filtering and paging.", "description": [ - "Use List Events to retrieve an aggregated list of events in the connected external calendars for a specified time range, sorted by start date.\n\n> **Note:**\n> Before using this function, establish a connection with an external calendar using [`connectByCredentials()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth)." + "Use List Events to retrieve an aggregated list of events in the connected external calendars for a specified time range, sorted by start date.\n\n> **Note:**\n> Before using this function, establish a connection with an external calendar using `connectByCredentials()` or `connectByOAuth()`." ], "examples": [ { @@ -555,7 +555,7 @@ "docs": { "summary": "Retrieves a list of the external calendar providers for which the site supports integration.", "description": [ - "The list of external calendar providers includes:\n\n+ External calendar providers that are supported by default, such as Google, Apple, and Microsoft.\n+ External calenders for which the site owner has enabled integration by installing an app.\n\nFor each external calendar provider, the list contains information about supported connection methods and features.\nFor each provider, check `features.connectMethods` to find out whether to use [`connectByCredentials()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth) to establish a connection.\n" + "The list of external calendar providers includes:\n\n+ External calendar providers that are supported by default, such as Google, Apple, and Microsoft.\n+ External calenders for which the site owner has enabled integration by installing an app.\n\nFor each external calendar provider, the list contains information about supported connection methods and features.\nFor each provider, check `features.connectMethods` to find out whether to use `connectByCredentials()` or `connectByOAuth()` to establish a connection.\n" ], "examples": [ { @@ -626,7 +626,7 @@ "docs": { "summary": "Updates the specified external calendar connection's sync configuration.", "description": [ - "Use Update Sync Config to update a connection's `syncConfig` property.\nThe `syncConfig` property contains settings for enabling, configuring, or disabling functionality, including:\n\n+ Importing events from one or more specified calendars in the connected external calendar account. If this is enabled, use [`listEvents()`](#list-events) to retrieve a list of events from the external calendar.\n+ Exporting events from the Wix site's calendar to an external calendar.\n\nTo see an external calendar connection's existing sync configuration, use [`getConnection()`](#get-connection) or [`listConnections()`](#list-connections) and see the `syncConfig` property.\n\n> **Note:**\n> Supported functionality depends on the provider. Use [`listProviders()`](#list-providers) to see details about providers' supported features." + "Use Update Sync Config to update a connection's `syncConfig` property.\nThe `syncConfig` property contains settings for enabling, configuring, or disabling functionality, including:\n\n+ Importing events from one or more specified calendars in the connected external calendar account. If this is enabled, use `listEvents()` to retrieve a list of events from the external calendar.\n+ Exporting events from the Wix site's calendar to an external calendar.\n\nTo see an external calendar connection's existing sync configuration, use `getConnection()` or `listConnections()` and see the `syncConfig` property.\n\n> **Note:**\n> Supported functionality depends on the provider. Use `listProviders()` to see details about providers' supported features." ], "examples": [ { @@ -985,6 +985,7 @@ }, { "name": "splitInterval", + "readOnly": false, "optional": true, "type": [ { @@ -1156,7 +1157,7 @@ "nativeType": "string" } ], - "doc": "Conference type.\n" + "doc": "Conference type." }, { "name": "description", @@ -1341,7 +1342,7 @@ "nativeType": "string" } ], - "doc": "ID of the external calendar provider. Find this with the [`listProviders()`](#list-providers) function." + "doc": "ID of the external calendar provider. Find this with the `listProviders()` function." }, { "name": "scheduleId", @@ -1398,7 +1399,7 @@ "nativeType": "string" } ], - "doc": "ID of the external calendar provider. Find this with the [`listProviders()`](#list-providers) function." + "doc": "ID of the external calendar provider. Find this with the `listProviders()` function." }, { "name": "redirectUrl", @@ -1566,7 +1567,7 @@ "referenceType": "wix-bookings-v2.ExternalCalendars.ConnectionSyncConfigListEventFromCalendars" } ], - "doc": "Configuration for importing events from external calendars.\nIf enabled, use the [`listEvents()`](#list-events) function to retrieve a list of events from external calendars." + "doc": "Configuration for importing events from external calendars.\nIf enabled, use the `listEvents()` function to retrieve a list of events from external calendars." }, { "name": "syncToCalendar", @@ -2163,7 +2164,7 @@ "nativeType": "number" } ], - "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400." + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." }, { "name": "hourOfDay", @@ -2281,7 +2282,7 @@ "nativeType": "string" } ], - "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions." } ], "docs": { @@ -2757,7 +2758,7 @@ } } ], - "doc": "Retrieves a list of the external calendar providers for which the site supports integration.\n\nThe list of external calendar providers includes:\n\n+ External calendar providers that are supported by default, such as Google, Apple, and Microsoft.\n+ External calenders for which the site owner has enabled integration by installing an app.\n\nFor each external calendar provider, the list contains information about supported connection methods and features.\nFor each provider, check `features.connectMethods` to find out whether to use [`connectByCredentials()`](#connect-by-credentials) or [`connectByOAuth()`](#connect-by-o-auth) to establish a connection.\n" + "doc": "Retrieves a list of the external calendar providers for which the site supports integration.\n\nThe list of external calendar providers includes:\n\n+ External calendar providers that are supported by default, such as Google, Apple, and Microsoft.\n+ External calenders for which the site owner has enabled integration by installing an app.\n\nFor each external calendar provider, the list contains information about supported connection methods and features.\nFor each provider, check `features.connectMethods` to find out whether to use `connectByCredentials()` or `connectByOAuth()` to establish a connection.\n" } ], "docs": { @@ -2831,6 +2832,7 @@ "members": [ { "name": "address", + "readOnly": false, "optional": true, "type": [ { @@ -2839,16 +2841,6 @@ ], "doc": "Free text address used when locationType is `OWNER_CUSTOM`." }, - { - "name": "businessLocation", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ExternalCalendars.LocationsLocation" - } - ], - "doc": "Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n\n`businessSchedule` is not supported by Wix Bookings\n" - }, { "name": "customAddress", "optional": true, @@ -2899,6 +2891,26 @@ ], "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ExternalCalendars.LocationsAddressLocation" + } + ], + "doc": "Geographic coordinates of location." + }, { "name": "postalCode", "optional": true, @@ -3054,13 +3066,31 @@ }, { "name": "locationType", + "readOnly": false, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type. **Note:** Currently not supported." + "doc": "Location type.\n\n**Note:** Currently not supported." + }, + { + "name": "locationTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Location types." }, { "name": "name", @@ -3365,7 +3395,7 @@ "nativeType": "string" } ], - "doc": "Approval status for the participant.\n\n" + "doc": "Approval status for the participant.\n" }, { "name": "contactId", @@ -3612,7 +3642,7 @@ } } ], - "doc": "Supported connection methods.\n\nFor providers supporting `OAUTH`, connect with the [`connectByOAuth()`](#connect-by-o-auth) function.\nFor providers supporting `CREDENTIALS`, connect with the [`connectByCredentials()`](#connect-by-credentials) function.\n" + "doc": "Supported connection methods.\n\nFor providers supporting `OAUTH`, connect with the `connectByOAuth()` function.\nFor providers supporting `CREDENTIALS`, connect with the `connectByCredentials()` function.\n" }, { "name": "listEventFromCalendars", @@ -3622,7 +3652,7 @@ "nativeType": "string" } ], - "doc": "Whether events can be imported from external calendars to the Wix calendar.\n\n+ `NOT_SUPPORTED`: Importing events from the external calendar is not supported.\n+ `PRIMARY_CALENDAR_ONLY`: Events can be imported only from an external calendar designated as primary.\n+ `SPECIFIC_CALENDARS`: Events can be imported from specific external calendars. Use [`listCalendars()`](#list-calendars) to get a list of calendars for a connected external calendar account.\n" + "doc": "Whether events can be imported from external calendars to the Wix calendar.\n\n+ `NOT_SUPPORTED`: Importing events from the external calendar is not supported.\n+ `PRIMARY_CALENDAR_ONLY`: Events can be imported only from an external calendar designated as primary.\n+ `SPECIFIC_CALENDARS`: Events can be imported from specific external calendars. Use `listCalendars()` to get a list of calendars for a connected external calendar account.\n" }, { "name": "syncToCalendar", @@ -3632,7 +3662,7 @@ "nativeType": "string" } ], - "doc": "Whether Wix calendar sessions can be exported to the external calendar.\n\n+ `NOT_SUPPORTED`: Exporting events to an external calendar is not supported.\n+ `PRIMARY_CALENDAR_ONLY`: Events can only be exported only to an external calendar designated as primary.\n+ `SPECIFIC_CALENDARS`: Events can be exported to specific external calendars. Use [`listCalendars()`](#list-calendars) to get a list of calendars for a connected external calendar account.\n+ `DEDICATED_CALENDAR`: Events can be exported to a newly created, dedicated external calendar in the connected external calendar account.\n" + "doc": "Whether Wix calendar sessions can be exported to the external calendar.\n\n+ `NOT_SUPPORTED`: Exporting events to an external calendar is not supported.\n+ `PRIMARY_CALENDAR_ONLY`: Events can only be exported only to an external calendar designated as primary.\n+ `SPECIFIC_CALENDARS`: Events can be exported to specific external calendars. Use `listCalendars()` to get a list of calendars for a connected external calendar account.\n+ `DEDICATED_CALENDAR`: Events can be exported to a newly created, dedicated external calendar in the connected external calendar account.\n" }, { "name": "updateSyncConfig", @@ -3642,7 +3672,7 @@ "nativeType": "boolean" } ], - "doc": "Whether the sync configuration can be updated after a connection is established.\n\nIf `true`, you can update the sync configuration using the [`UpdateSyncConfig()`](#update-sync-config) function.\n" + "doc": "Whether the sync configuration can be updated after a connection is established.\n\nIf `true`, you can update the sync configuration using the `updateSyncConfig()` function.\n" } ], "docs": { @@ -3938,7 +3968,7 @@ "nativeType": "string" } ], - "doc": "The type of recurring interval.\n" + "doc": "The type of recurring interval." }, { "name": "start", @@ -4073,23 +4103,25 @@ }, { "name": "availability", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.Availability" } ], - "doc": "An object describing how to calculate the schedule's availability.\nAn empty object indicates that the schedule is not available for booking." + "doc": "__Deprecated.__" }, { "name": "calendarConference", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.CalendarConference" } ], - "doc": "A conference created for the schedule. This is used when a participant is added to a schedule." + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { "name": "capacity", @@ -4103,13 +4135,14 @@ }, { "name": "conferenceProvider", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.ConferenceProvider" } ], - "doc": "Conferencing Provider. A schedule with a conferencing provider will use to provider information to create a conference on the provider's system when a session is created on the schedule or on one of its linked schedule's." + "doc": "__Deprecated.__" }, { "name": "created", @@ -4124,13 +4157,14 @@ }, { "name": "externalCalendarOverrides", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.ExternalCalendarOverrides" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings)." + "doc": "__Deprecated.__" }, { "name": "inheritedFields", @@ -4152,6 +4186,7 @@ }, { "name": "intervals", + "readOnly": false, "optional": true, "type": [ { @@ -4165,7 +4200,7 @@ } } ], - "doc": "Specifies the intervals for the sessions calculation. Optional. e.g. when creating class service you can add\npattern for recurring intervals, these intervals can be returned as schedule's sessions or available slots if\nthere are no other availability calculation constraints and the capacity is bigger then the current total number of sessions' participants." + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." }, { "name": "location", @@ -4193,17 +4228,18 @@ } } ], - "doc": "Participants currently registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule." + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { "name": "rate", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.Rate" } ], - "doc": "Price options offered when booking this schedule's slots. Default is no rate." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { "name": "scheduleOwnerId", @@ -4228,6 +4264,7 @@ }, { "name": "tags", + "readOnly": false, "optional": true, "type": [ { @@ -4241,17 +4278,18 @@ } } ], - "doc": "Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." }, { "name": "timeZone", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." }, { "name": "title", @@ -4388,6 +4426,7 @@ }, { "name": "intervalSplit", + "readOnly": false, "optional": true, "type": [ { @@ -4396,28 +4435,9 @@ ], "doc": "" }, - { - "name": "migrationEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ExternalCalendars.MigrationEvent" - } - ], - "doc": "supported only for schedule migration apis." - }, - { - "name": "multipleSessionsCreated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ExternalCalendars.MultipleSessionsCreated" - } - ], - "doc": "supported only for schedule migration apis." - }, { "name": "notifyParticipants", + "readOnly": false, "optional": true, "type": [ { @@ -4468,6 +4488,7 @@ }, { "name": "scheduleUnassignedFromUser", + "readOnly": false, "optional": true, "type": [ { @@ -4569,6 +4590,7 @@ }, { "name": "intervalSplit", + "readOnly": false, "optional": true, "type": [ { @@ -4577,26 +4599,6 @@ ], "doc": "" }, - { - "name": "migrationEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ExternalCalendars.MigrationEvent" - } - ], - "doc": "supported only for schedule migration apis." - }, - { - "name": "multipleSessionsCreated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ExternalCalendars.MultipleSessionsCreated" - } - ], - "doc": "supported only for schedule migration apis." - }, { "name": "recurringSessionSplit", "optional": true, @@ -4629,6 +4631,7 @@ }, { "name": "scheduleUnassignedFromUser", + "readOnly": false, "optional": true, "type": [ { @@ -4854,13 +4857,14 @@ }, { "name": "calendarConference", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.CalendarConference" } ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule." + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { "name": "capacity", @@ -4884,13 +4888,14 @@ }, { "name": "externalCalendarOverrides", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.ExternalCalendarOverrides" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings).\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__" }, { "name": "inheritedFields", @@ -4966,17 +4971,18 @@ } } ], - "doc": "List of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty." + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { "name": "rate", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ExternalCalendars.Rate" } ], - "doc": "The price options offered for the session. Defaults to the schedule rate.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { "name": "recurrence", @@ -5050,10 +5056,11 @@ "nativeType": "string" } ], - "doc": "Session status.\n" + "doc": "Session status." }, { "name": "tags", + "readOnly": false, "optional": true, "type": [ { @@ -5067,7 +5074,7 @@ } } ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { "name": "timeReservedAfter", @@ -5108,7 +5115,7 @@ "nativeType": "string" } ], - "doc": "Session type.\n" + "doc": "Session type." }, { "name": "version", diff --git a/wix-bookings-v2/wix-bookings-v2/MultiServiceAvailabilityTimeSlots.service.json b/wix-bookings-v2/wix-bookings-v2/MultiServiceAvailabilityTimeSlots.service.json new file mode 100644 index 0000000000..f4f9dc68ea --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/MultiServiceAvailabilityTimeSlots.service.json @@ -0,0 +1,1985 @@ +{ + "name": "MultiServiceAvailabilityTimeSlots", + "memberOf": "wix-bookings-v2", + "mixes": [], + "callbacks": [], + "extra": {}, + "clientId": "wix-bookings.v2-time_slot-multiServiceAvailabilityTimeSlots", + "docs": {}, + "relatedGuides": [], + "properties": [], + "operations": [ + { + "name": "getMultiServiceAvailabilityTimeSlot", + "params": [ + { + "name": "services", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService TimeSlots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: 2.\nMaxSize: 8.", + "required": true + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".", + "required": true + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".", + "required": true + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.", + "required": true + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
", + "required": true + } + ], + "requiredFields": [ + "localEndDate", + "localStartDate", + "location", + "location.locationType", + "services", + "services.serviceId", + "timeZone" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.GetMultiServiceAvailabilityTimeSlotResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves an available multiService `TimeSlot` that match the provided filters.", + "description": [ + "Throws `SlotNotFound` if there is no such available time slot.\n\n
\n

Important:
\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nBy default,\nif you don't provide a `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\nwe return for each `TimeSlot`.`NestedTimeSlot` all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\nthe corresponding service within the time slot.\n\nIf you specify `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\nthe returned `TimeSlot`.`NestedTimeSlot` for this service will contain only `AvailableResources` with at least one available resource\nwhich match the given resources filters,\neach contains all available resources out of those requested.\n\n+ Notes:\n+ All nested time slots share the same location.\n+ You can pass up to 8 services.\n\n
\n

Tip:
\nUse this API in order to get the availability of a specific TimeSlot out of those returned from ListMultiServiceAvailabilityTimeSlots API.

\n
" + ], + "examples": [ + { + "title": "GetMultiServiceAvailabilityTimeSlot ", + "body": [ + "import {multiServiceAvailabilityTimeSlots} from 'wix-bookings.v2';", + "", + "async function getMultiServiceAvailabilityTimeSlot() {", + " let services = [{\"serviceId\": \"c9390064-c0ee-4f4e-89db-9f59a8f49928\"},", + " {\"serviceId\": \"239b6880-12ef-46ca-abdb-b502d4af11a9\"}", + " ]", + " let localStartDate = \"2023-12-27T11:00:00.000\"", + " let localEndDate = \"2023-12-27T13:00:00.000\"", + " let timeZone = \"Europe/Dublin\"", + " let location = {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": multiServiceAvailabilityTimeSlots.LocationType.BUSINESS", + " }", + "", + " try {", + " const result = await multiServiceAvailabilityTimeSlots.getMultiServiceAvailabilityTimeSlot(services, localStartDate, localEndDate, timeZone, location);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ], + "extra": { + "description": "Get the availability of a specific `TimeSlot` for a specific services. location, and time." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "getMultiServiceAvailabilityTimeSlot" + }, + { + "name": "listMultiServiceAvailabilityTimeSlots", + "params": [ + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.ListMultiServiceAvailabilityTimeSlotsOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.ListMultiServiceAvailabilityTimeSlotsResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves a list of multiService `TimeSlot`s that match the provided filters.", + "description": [ + "
\n

Important:
\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nThe request body __must__ include either:\n+ All of the following filters: `service`.`serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.\n+ A `cursorPaging` with a valid `cursor` from previous response.\n\n\nEach [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\nrepresents the availability of the given sequence of services in a specific order, location, and within a given range of time.\n\nEach `TimeSlot`.`NestedTimeSlot` represents a single service from the given list. The order of the `NestedTimeSlots` is the same as the order\nof the given services in request.\nThe first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` exclusive,\nand each following `NestedTimeSlot` has a `localStartDate` that equals to the previous `NestedTimeSlot`'s `localEndDate`.\n\nBy default,\nthe response contains at most 1000 results.\nIf there are more than 1000 results, we return a `cursorPagingMetadata` with\na cursor for the next page of results, regardless of whether a `cursorPaging`\nwas provided in request.\n\n> __Notes:__\n> + All nested time slots share the same location.\n> + You can pass up to 8 services in request.\n\n### AvailableResources in response:\nThe `TimeSlot`.`NestedTimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\nwithin the `NestedTimeSlot` range of time. Each `AvailableResources` contains information about available resources of the same type.\n\n
\n

Important:
\nBy default,\nif you don't specify service.includeResourceTypeIds\nor service.resourceIds filters in request,\nwe return TimeSlots with NestedTimeSlots with an empty AvailableResources.\n
Note:
Not specifying resources filters can be handy in case you want to avoid large response in flows that only\ninterested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/multi-service-availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_multi-service-availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-all-selected-services-are-available-for)\nis an example for such flow.\n

\n
\n\n\nIf you wish to get a list of available resources for a `TimeSlot`.`NestedTimeSlot` you should either:\n+ provide `service`.`resourceIds` in request.\n+ provide `service`.`includeResourceTypeIds` in request.\n\n__Notes:__\n+ In both cases the returned `TimeSlot`.`NestedTimeSlot` contains __up__ to 10 `AvailableResources` that match the provided filters. Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n+ If an `AvailableResources` has more available resources which are not listed within it, we return `AvailableResources`.`hasMoreAvailableResources` as true.\n+ If you wish to get the full available resources list for all `NestedTimeSlot` of a specific `TimeSlot`, you should call [GetMultiServiceAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/get-multi-service-availability-time-slot).\n\n\n### Availability VS Bookability\nAn `available` time slot is not necessarily `bookable`.\nThe `bookable` field of a `TimeSlot` indicates whether the customer can book all of the of the services within the given time slot,\nat a specific period of time.\nRead more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_availability-vs-bookability).\n\nBy default,\n+ The response does not contains `unavailable` TimeSlots.For example, if there are no available resources to provide one of the services from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`, we don't return TimeSlots with `NestedTimeSlot`.`localStartDate` within this range for this service.\n+ The response contains both `bookable` and `un-bookable` TimeSlots.For example, if one of the services has a booking policy which enforces booking the service up to 10 minutes before the session starts, we return TimeSlots with the violating `NestedTimeSlot`.`localStartDate`, with `bookable` as `false`. If you want to list only __bookable__ TimeSlots you should pass `bookable` as `true`.\n+ If booking one of the `NestedTimeSlot`s violates one of the corresponding service's booking policies, the `TimeSlot` returns with `bookable` as false. There is no indication which service's policy was violated.\n\n
\n

Important:\nBecause of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\nRead more about DST Handling

\n
\n\n### ListAvailabilityTimeSlots runs with the following defaults:\n+ `localStartDate` is sorted in `ASC` order.\n+ `cursorPaging`.`limit` is `1000`." + ], + "examples": [ + { + "title": "List Available, bookable `TimeSlots` for a sequence. of services ", + "body": [ + "import {multiServiceAvailabilityTimeSlots} from 'wix-bookings.v2';", + "", + "async function listMultiServiceAvailabilityTimeSlots() {", + " let options = {", + " \"services\": [", + " {", + " \"serviceId\": \"c9390064-c0ee-4f4e-89db-9f59a8f49928\",", + " \"includeResourceTypeIds\": [\"1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\"]", + " },", + " {", + " \"serviceId\": \"239b6880-12ef-46ca-abdb-b502d4af11a9\"", + " }", + " ],", + " \"fromLocalDate\": \"2023-12-27T00:00:00.000\",", + " \"toLocalDate\": \"2023-12-27T23:59:59.000\",", + " \"timeZone\": \"Europe/Dublin\",", + " \"bookable\": true,", + " \"location\": {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": multiServiceAvailabilityTimeSlots.LocationType.BUSINESS", + " }", + " }", + "", + " try {", + " const result = await multiServiceAvailabilityTimeSlots.listMultiServiceAvailabilityTimeSlots(options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "List all available TimeSlots for a specific service within a specific range of time, which does not violate any of the services booking policies." + } + }, + { + "title": "List Available `TimeSlots` for a sequence of services with `cursorPaging` ", + "body": [ + "import {multiServiceAvailabilityTimeSlots} from 'wix-bookings.v2';", + "", + "async function listMultiServiceAvailabilityTimeSlots() {", + " let cursorPaging = {", + " \"limit\": 10, ", + " \"cursor\": ", + "\"JWE.eyJhbGciOiJBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2Iiwia2lkIjoiSGp3NWZDbWcifQ.VSu8sFPjWcbV0zOFOuGXvoniVJKlSsgHZCrGKoPSWR-2pv4hj_AbMg.A1Lk9xa7VQNlKdd60r8lCQ.sFiJV11yaBozO_LiWjqbeWqtzSkOGU_IjT_gTjvglwKQqsFxh2SaOvFfJVtUVkycUpZm7QKEGwGCku3RtY951dMpEwc3gE9HmVkIwWSJy5CVwV5jhixCLU1L0gkuG0n-UUOPfYHN1XJzFKF4BTnxJtp9pbq0ogKtsG_xexYbnKdVfWw1uD_DnZA60xb4LgH14Px-_1nz9K0jUIY1vzTKstv5wdhvjMt9zUFdrKFgUv8HwK_1IMmg9oLIGwJw8PCznJ5fx0ZeQ9GvPdAq6PCgkpyJhNbGbqtioRGb9OWFB6r_ZvPt-78U-44Rq0c0yOqZO3SncOTpyIchqG6h__HJAGJqZCb_p-DllMek5V0AKarLSHM6c8c-E_YnswXWsE-AkxCBQjK8X13ly2R0FepyxKK4Ha7RiZwSAPRPk9nTH_U0F_T7QFXWtVDdNdTGUvxjGmZ-4e11TBARb6ZbX_O2-gWeLFJUEbttt4WLtO_p-D3QVeFTCO3GdVNGteaJ6JdLsSd9nbnGGxZoVmKDoyaLEH6Y5vxIALCYlDJNvgOYgynzl2E5kJXTns2Y8TnO4WI6YeDLfxCL9y4Lc3zV9ZFlpA1TCwkQ3KoD68SVFQz0J2S_5Z6FRIs_S_p8LUzf-Lwzcj3R7DUOkpORL914urXo7k5ttfmIX9FcpTJezPP4oS0.ium2vX2wwZYTOkfK_nKaEw\"}", + "", + " let options = {", + " \"cursorPaging\": cursorPaging", + " }", + "", + " try {", + " const result = await multiServiceAvailabilityTimeSlots.listMultiServiceAvailabilityTimeSlots(options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "List all available `TimeSlots` of the next page of results with the returned `cursorPagingMetadata`.`cursors`.`next` of previous call." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "listMultiServiceAvailabilityTimeSlots" + } + ], + "messages": [ + { + "name": "AvailableResources", + "members": [ + { + "name": "hasMoreAvailableResources", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more available resources for the slot that are not listed in `resources` due to size limitations." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + }, + { + "name": "resources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Resource" + } + ] + } + } + ], + "doc": "Available resources for the time slot.\n\n+ When returned from `ListAvailabilityTimeSlots`, empty by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains __up__ to 10 available resources out of those provided.\n\n+ When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains all of the available resources out of those provided.\n\n\n> + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains __up__ to 10 available resources out of those provided.\n\n> + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains all of the available resources out of those provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingPolicyViolations", + "members": [ + { + "name": "bookOnlineDisabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Online booking is disabled for the `TimeSlot` service." + }, + { + "name": "tooEarlyToBook", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Too early to book this slot." + }, + { + "name": "tooLateToBook", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Too late to book this slot." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\nTODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\nAliza's suggestion to consider locks in bookable" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "from", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "openSpots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with openSpots >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "serviceIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "slotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "to", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CursorPagingMetadata" + } + ], + "doc": "" + }, + { + "name": "slots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of results to load.\n\nDefault: `1000`.\nMax: `1000`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursorPagingMetadata", + "members": [ + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CommonCursors" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of items to return in the results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPagingMetadata", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Cursors" + } + ], + "doc": "Cursor strings that point to the next page, previous page, or both." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more pages to retrieve following the current page.\n\n+ `true`: Another page of results can be retrieved.\n+ `false`: This is the last page.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Cursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor string pointing to the next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to the previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CustomerChoices", + "members": [ + { + "name": "durationInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The selected customer duration in minutes.\nMin: `1 minute`\nMax: `44639 minutes` (30 days, 23 hours, and 59 minutes)" + } + ], + "docs": { + "description": [ + "Selected customer choices.\nThese choices are selected by the customer during the booking flow and can be utilized to calculate the corresponding service's configuration properties." + ] + } + }, + { + "name": "EventInfo", + "members": [], + "docs": { + "description": [ + "relevant for event based slots, and not for availability based slots" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotRequest", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the time slot.\nCurrently supported only for services of type `APPOINTMENT`." + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotRequest", + "members": [ + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "services", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService TimeSlots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: 2.\nMaxSize: 8.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to the service's booking policies.\n\nIf booking this `TimeSlot` does not violates any of the service's booking policies,\nreturns as `true`. Otherwise, returns as `false`.\n\n> __Note:__\n> A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n> while a time slot with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch results in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\na `cursorPaging`.`limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains __up__ to 10 available resources of this type.\n" + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "Locations to include in response.\n\nBy default,\nif no locations are provided,\nthe response contains TimeSlots for all locations where the service is available.\n\nYou can specify locations or location types for which the time slots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\nOtherwise, the returned TimeSlots returns with an empty `AvailableResources`." + }, + { + "name": "resourceTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.ResourceType" + } + ] + } + } + ], + "doc": "resources filter\nIf specified, only time slots with these resources will be returned." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID for which the time slots are being returned for.\nCurrently supported only for services of type `APPOINTMENT`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CommonCursorPagingMetadata" + } + ], + "doc": "CursorPagingMetaData.\nContains information about the next page of results.\n\nBy default,\nif there are more than 1000 results,\nthe response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n\n
\n

Important:
\ncount is not supported.

\n
\n" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "Time slots." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\nShared for all TimeSlots in response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "fromLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with remainingCapacity >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default?" + }, + { + "name": "serviceIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The services for which the time slots are being returned." + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format.\nDefault is the Wix Business time zone." + }, + { + "name": "toLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CursorPagingMetadata" + } + ], + "doc": "" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "TODO: maxsize" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsOptions", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to all of the services booking policies.\n\nIf booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\nreturns as `false`. Otherwise, returns as `true`.\n\n> __Note:__\n> A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n> while a `TimeSlot` with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\nhas a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\nthe other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n\nEach nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch TimeSlots in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\nthe `cursorPaging`.`limit`. You may pass a different `limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ], + "doc": "Location for which the multiService TimeSlots are being returned for.\n\nYou can specify location or location type for which the TimeSlots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService time slots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: `2`.\nMaxSize: `8`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to all of the services booking policies.\n\nIf booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\nreturns as `false`. Otherwise, returns as `true`.\n\n> __Note:__\n> A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n> while a `TimeSlot` with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\nhas a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\nthe other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n\nEach nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch TimeSlots in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\nthe `cursorPaging`.`limit`. You may pass a different `limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ], + "doc": "Location for which the multiService TimeSlots are being returned for.\n\nYou can specify location or location type for which the TimeSlots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService time slots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: `2`.\nMaxSize: `8`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.CommonCursorPagingMetadata" + } + ], + "doc": "CursorPagingMetaData.\nContains information about the next page of results.\n\nBy default,\nif there are more than 1000 results,\nthe response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n\n
\n

Important:
\ncount is not supported.

\n
\n" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.TimeSlot" + } + ] + } + } + ], + "doc": "Time slots." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\nShared for all TimeSlots in response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Location", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business Location ID. Present only if the location is a business location." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representation for the full address of the location." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n- `CUSTOMER`: The location is determined by the customer and is not set up beforehand." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The location name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedTimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the nested time slot.\nEach `AvailableResources` contains information about available resources of the same type." + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the nested time slot." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Resource", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourceType", + "members": [ + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource IDs.\nThe response will contain only slots that have at least one of the specified resources." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Service", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The resource type ID's to include in returned time slots.\nThis is in addition to the specifically requested resources.\n\n
\nCurrently supported only for Staff Member resource type.\nStaff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the time slot.\nEach `AvailableResources` contains information about available resources of the same type.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own available resources.\n" + }, + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the slot is bookable according to the service's booking policies.\n\nIf booking this time slot does not violates any of the service's booking policies,\nthe returned value is `true`. Otherwise, returns `false`.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.BookingPolicyViolations" + } + ], + "doc": "Indicators for booking policy violations for the slot.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.Location" + } + ], + "doc": "The geographic location of the slot." + }, + { + "name": "nestedTimeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.MultiServiceAvailabilityTimeSlots.NestedTimeSlot" + } + ] + } + } + ], + "doc": "> Nested time slots.\n> Returned only from `MultiServiceAvailabilityTimeSlots` API calls." + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Remaining number of spots for the slot.\nFor example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own serviceId.\n" + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots for the slot." + } + ], + "docs": { + "description": [ + "The `TimeSlot` object represents the availability information\nfor an `Appointment` service's specific slot, including:" + ] + } + }, + { + "name": "WaitingList", + "members": [ + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of remaining spots for this wait list.\nFor example, a Yoga event with 10 waitList spots and 3 registered\non the waitList has 10 `total_capacity` and 7 `remaining_capacity`." + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots in this wait list." + } + ], + "docs": { + "description": [ + "" + ] + } + } + ] +} diff --git a/wix-bookings-v2/wix-bookings-v2/Pricing.service.json b/wix-bookings-v2/wix-bookings-v2/Pricing.service.json index 72176af143..a82cf30bc6 100644 --- a/wix-bookings-v2/wix-bookings-v2/Pricing.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Pricing.service.json @@ -44,25 +44,45 @@ "docs": { "summary": "Calculates the base price of a booking.", "description": [ - "You can call [`calculatePrice()`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/calculateprice) after a booking is created. The returned calculated price includes information about each line\nitem's price and the booking's total price.\n\nYou can use [`previewPrice()`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/previewprice) to get the base price\nbefore a booking is created.\n\nThe calculated price is the base price that will be used as a basis for charging the customer.\nDuring checkout, additional taxes\nand fees might be added to this base price.\n\n## Calculating the price\n\nWix Bookings has its own default pricing logic for calculating the price. When\nusing Wix Bookings' default pricing logic, you must pass the `serviceId` in the `slot`\nor `schedule` object to [`calculatePrice()`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/calculateprice).\n\nAlternatively you can customize the pricing logic using the\n[Bookings Pricing Integration REST SPI](https://dev.wix.com/api/rest/wix-bookings/pricing-integration-spi).\nIf you integrate with a pricing provider, the customized pricing logic becomes\nthe default logic. This means that, if the Pricing Integration SPI is implemented,\nwhen calling `calculatePrice()`,\nthe customized logic is used instead." + "You can call `calculatePrice()` after a booking is created. The returned calculated price includes information about each line\nitem's price and the booking's total price.\n\nYou can use `previewPrice()` to get the base price\nbefore a booking is created.\n\nThe calculated price is the base price that will be used as a basis for charging the customer.\nDuring checkout, additional taxes\nand fees might be added to this base price.\n\n## Calculating the price\n\nWix Bookings has its own default pricing logic for calculating the price. When\nusing Wix Bookings' default pricing logic, you must pass the `serviceId` in the `slot`\nor `schedule` object to `calculatePrice()`.\n\nAlternatively you can customize the pricing logic using the\n[BookingsCustomPricing](https://dev.wix.com/docs/velo/api-reference/wix-bookings-v2/service-plugins-spis/bookings-custom-pricing/introduction) service plugin.\nIf you integrate with a pricing provider, the customized pricing logic becomes\nthe default logic. This means that, if the Custom Pricing service plugin is implemented,\nwhen calling `calculatePrice()`,\nthe customized logic is used instead." ], "examples": [ { "title": "calculatePrice example", "body": [ "import { pricing } from 'wix-bookings.v2';", - " ", - " async function calculatePrice(booking) {", - " try {", - " const result = await pricing.calculatePrice(booking);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function calculatePrice(booking) {", + " try {", + " const result = await pricing.calculatePrice(booking);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "calculatePrice example for exporting from backend code", + "body": [ + "import { pricing } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const calculatePrice = webMethod(", + " Permissions.Anyone,", + " async (booking) => {", + " try {", + " const result = await pricing.calculatePrice(booking);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -117,25 +137,45 @@ "docs": { "summary": "Previews the base price for a set of line items belonging to the same service\nbefore a potential booking is actually created.", "description": [ - "The returned price preview information about each line\nitem's price and sums up each line item's price.\n\nThe previewed price is not the actual price that will be used to charge the customer.\n`Preview Price` only estimates the base price by adding up the price\nof each line item before\nthe booking is actually created.\n\nUse [`Calculate Price`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/calculateprice) to get the base price\nafter the booking is created.\n\nPassing line items that belong to different services results in an error.\n\n## Calculating the previewed price\n\nWix Bookings has its own default pricing logic for previewing the price. You must\npass the `serviceId` in the `slot`\nor `schedule` object to [`previewPrice()`].\n\nYou cannot call `previewPrice()` if you have customized Bookings pricing logic using the\n[Bookings Pricing Integration REST SPI](https://dev.wix.com/api/rest/wix-bookings/pricing-integration-spi). Calling `previewPrice` if custom pricing\nlogic has been implemented for the site results in an error." + "The returned price preview information about each line\nitem's price and sums up each line item's price.\n\nThe previewed price is not the actual price that will be used to charge the customer.\n`Preview Price` only estimates the base price by adding up the price\nof each line item before\nthe booking is actually created.\n\nUse [`Calculate Price`](https://www.wix.com/velo/reference/wix-bookings-v2/pricing/calculateprice) to get the base price\nafter the booking is created.\n\nPassing line items that belong to different services results in an error.\n\n## Calculating the previewed price\n\nWix Bookings has its own default pricing logic for previewing the price. You must\npass the `serviceId` in the `slot`\nor `schedule` object to `previewPrice()`.\n\nYou cannot call `previewPrice()` if you have customized Bookings pricing logic using the\n[BookingsCustomPricing](https://dev.wix.com/docs/velo/api-reference/wix-bookings-v2/service-plugins-spis/bookings-custom-pricing/introduction) service plugin. Calling `previewPrice` if custom pricing\nlogic has been implemented for the site results in an error." ], "examples": [ { "title": "previewPrice example", "body": [ "import { pricing } from 'wix-bookings.v2';", - " ", - " async function previewPrice(bookingLineItems) {", - " try {", - " const result = await pricing.previewPrice(bookingLineItems);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function previewPrice(bookingLineItems) {", + " try {", + " const result = await pricing.previewPrice(bookingLineItems);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "previewPrice example for exporting from backend code", + "body": [ + "import { pricing } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const previewPrice = webMethod(", + " Permissions.Anyone,", + " async (bookingLineItems) => {", + " try {", + " const result = await pricing.previewPrice(bookingLineItems);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -400,13 +440,14 @@ }, { "name": "title", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session title at the time of booking." + "doc": "Session title at the time of booking.\nIf session doesn't exist at the time of the booking, service name is used." } ], "extra": { @@ -592,6 +633,16 @@ ], "doc": "The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)\nformat." }, + { + "name": "eventId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Calendar 3 event ID\nIf not empty, on all write flows (create / update) gets priority over session_id.\nso if both session_id and event_id are provided, the session_id that will be set on the booking will be based on the event_id.\nOtherwise, if event_id is empty on write flow," + }, { "name": "location", "optional": true, @@ -610,7 +661,7 @@ "referenceType": "wix-bookings-v2.Pricing.BookedResource" } ], - "doc": "The resource assigned to the slot." + "doc": "The enriched resource assigned to the slot, can be either the requested resource or the resource chosen by the system.\nWhen populated, the given resource will be booked according to it's availability.\nWhen empty, If `skip_availability_validation` is `false`, a random available resource will be assigned to the slot upon confirmation,\notherwise one of the service resources will be assigned to the slot randomly upon confirmation.\nThis resource is the slot primary resource." }, { "name": "scheduleId", @@ -783,7 +834,7 @@ "referenceType": "wix-bookings-v2.Pricing.ExtendedFields" } ], - "doc": "Additional custom fields. This includes fields managed by Wix, by 3rd-party apps, and by the site.\n\nEmpty fields are not returned.\n" + "doc": "Custom field data for this object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls." }, { "name": "externalUserId", @@ -994,7 +1045,7 @@ "nativeType": "string" } ], - "doc": "Actor that created this booking.\n" + "doc": "Actor that created this booking." }, { "name": "appDefId", @@ -1026,7 +1077,7 @@ "nativeType": "string" } ], - "doc": "Platform from which a booking was created\n" + "doc": "Platform from which a booking was created" } ], "docs": { @@ -1149,6 +1200,7 @@ }, { "name": "timeZone", + "readOnly": false, "optional": true, "type": [ { @@ -1468,6 +1520,37 @@ ] } }, + { + "name": "MultiServiceBookingInfo", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Multi service booking ID." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Multi service booking type." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "ParticipantChoices", "members": [ diff --git a/wix-bookings-v2/wix-bookings-v2/ServiceAvailability.service.json b/wix-bookings-v2/wix-bookings-v2/ServiceAvailability.service.json new file mode 100644 index 0000000000..52fa1b952e --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/ServiceAvailability.service.json @@ -0,0 +1,2531 @@ +{ + "name": "ServiceAvailability", + "memberOf": "wix-bookings-v2", + "mixes": [], + "callbacks": [], + "extra": {}, + "clientId": "wix-bookings.v2-time_slot", + "docs": {}, + "relatedGuides": [], + "properties": [], + "operations": [ + { + "name": "getAvailabilityTimeSlot", + "params": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the time slot.\nCurrently supported only for services of type `APPOINTMENT`.", + "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.GetAvailabilityTimeSlotOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [ + "options.localEndDate", + "options.localStartDate", + "options.location", + "options.timeZone", + "serviceId" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.GetAvailabilityTimeSlotResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves an available `TimeSlot` that match the provided filters.", + "description": [ + "Throws `SlotNotFound` if there is no such available time slot.\n\n
\n

Important:
\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nBy default,\nif you don't provide `includeResourceTypeIds` or `resourceIds` in request,\nwe return all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\nthe service within the time slot.\n\nIf you specify `includeResourceTypeIds` or `resourceIds` in request,\nthe returned `TimeSlot` will contain only `AvailableResources` with at least one available resource\nwhich match the given resources filters,\neach contains all available resources out of those requested.\n\n\n
\n

Tip:
\nUse this API in order to get the availability of a specific TimeSlot out of those returned from ListAvailabilityTimeSlots API.

\n
" + ], + "examples": [ + { + "title": "GetAvailabilityTimeSlot ", + "body": [ + "import {serviceAvailability} from 'wix-bookings.v2';", + "", + "async function getAvailabilityTimeSlot() {", + " let serviceId = \"c9390064-c0ee-4f4e-89db-9f59a8f49928\"", + " let options = {", + " \"localStartDate\": \"2023-12-27T11:00:00.000\",", + " \"localEndDate\": \"2023-12-27T12:00:00.000\",", + " \"timeZone\": \"Europe/Dublin\",", + " \"location\": {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": serviceAvailability.LocationType.BUSINESS", + " }", + " }", + "", + " try {", + " const result = await serviceAvailability.getAvailabilityTimeSlot(serviceId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }" + ], + "extra": { + "description": "Get the availability of a service within a specific time slot." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "getAvailabilityTimeSlot" + }, + { + "name": "getMultiServiceAvailabilityTimeSlot", + "params": [ + { + "name": "services", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService TimeSlots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: 2.\nMaxSize: 8.", + "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.GetMultiServiceAvailabilityTimeSlotOptions" + } + ], + "doc": "", + "required": true + } + ], + "requiredFields": [ + "options", + "options.localEndDate", + "options.localStartDate", + "options.location", + "options.location.locationType", + "options.timeZone", + "services", + "services.serviceId" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.GetMultiServiceAvailabilityTimeSlotResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves an available multiService `TimeSlot` that match the provided filters.", + "description": [ + "Throws `SlotNotFound` if there is no such available time slot.\n\n
\n

Important:
\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nBy default,\nif you don't provide a `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\nwe return for each `TimeSlot`.`NestedTimeSlot` all `AvailableResources` with all `AvailableResources`.`resources` which are available to provide\nthe corresponding service within the time slot.\n\nIf you specify `service`.`includeResourceTypeIds` or `service`.`resourceIds` in request,\nthe returned `TimeSlot`.`NestedTimeSlot` for this service will contain only `AvailableResources` with at least one available resource\nwhich match the given resources filters,\neach contains all available resources out of those requested.\n\n+ Notes:\n+ All nested time slots share the same location.\n+ You can pass up to 8 services.\n\n
\n

Tip:
\nUse this API in order to get the availability of a specific TimeSlot out of those returned from ListMultiServiceAvailabilityTimeSlots API.

\n
" + ], + "examples": [ + { + "title": "GetMultiServiceAvailabilityTimeSlots ", + "body": [ + "import {serviceAvailability} from 'wix-bookings.v2';", + "", + "async function getMultiServiceAvailabilityTimeSlot() {", + " let services = [{\"serviceId\": \"c9390064-c0ee-4f4e-89db-9f59a8f49928\"},", + " {\"serviceId\": \"239b6880-12ef-46ca-abdb-b502d4af11a9\"}", + " ]", + " let options = {", + " \"localStartDate\": \"2023-12-27T11:00:00.000\",", + " \"localEndDate\": \"2023-12-27T13:00:00.000\",", + " \"timeZone\": \"Europe/Dublin\",", + " \"location\": {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": serviceAvailability.LocationType.BUSINESS", + " }", + " }", + "", + " try {", + " const result = await serviceAvailability.getMultiServiceAvailabilityTimeSlot(services, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "Get the availability of a specific TimeSlot for a specific list of services." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "getMultiServiceAvailabilityTimeSlot" + }, + { + "name": "listAvailabilityTimeSlots", + "params": [ + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.ListAvailabilityTimeSlotsOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.ListAvailabilityTimeSlotsResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves a list of `TimeSlot`s that match the provided filters.", + "description": [ + "
\n

Important:\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nThe request body __must__ include either:\n+ All of the following filters: `serviceId`, `fromLocalDate`, `toLocalDate`, and `timeZone`.\nYou may add additional filters as you wish.\n+ A `cursorPaging` with a valid `cursor` from previous response.\n\n\nEach [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\nrepresents the availability of the service in a specific location,\nand has a `localStartDate` within the range of the provided `fromLocalDate` and `toLocalDate` exclusive.\nThe `localEndDate` of a `TimeSlot` is calculated as the sum of the `TimeSlot`'s `localStartDate` and the duration of the service.\n\nBy default,\nthe response contains at most 1000 results.\nIf there are more than 1000 results, we return a `cursorPagingMetadata` with\na cursor for the next page of results, regardless of whether a `cursorPaging`\nwas provided in request.\n\n### AvailableResources in response\nThe `TimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\nwithin the time slot. Each `AvailableResources` contains information about available resources of the same type.\n\n
\n

Important:
\nBy default,\nif you don't specify includeResourceTypeIds\nor resourceIds filters in request,\nwe return TimeSlots with an empty AvailableResources.\n
Note:
Not specifying resources filters can be handy in case you want to avoid large response in flows that only\ninterested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-the-selected-service-is-available-for)\nis an example for such flow.\n

\n
\n\nIf you wish to get a list of available resources for each `TimeSlot` you should either:\n+ provide `resourceIds` in request.\n+ provide `includeResourceTypeIds` in request.\n\n__Notes:__\n+ In both cases the returned TimeSlots contains __up__ to 10 `AvailableResources` that match the provided filters.\nEach `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n+ If an `AvailableResources` has more available resources which are not listed within it,\nwe return `AvailableResources`.`hasMoreAvailableResources` as true.\n> __Note:__\n> If you wish to get the full available resources list for a specific `TimeSlot`,\n> you should call [GetAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/get-availability-time-slot).\n\n\n### Availability VS Bookability\nAn `available` time slot is not necessarily `bookable`.\nThe `bookable` field of a `TimeSlot` indicates whether a customer can book the service within the given time slot,\nat a specific period of time.\nRead more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/service-availability-time-slots/introduction#all-apis_wix-service-availability_service-availability-time-slots_introduction_availability-vs-bookability).\n\nBy default,\n+ The response does not contains `unavailable` TimeSlots.\nFor example,\nif there are no available resources to provide the service from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`,\nwe don't return TimeSlots with `localStartDate` within this range.\n+ The response contains both `bookable` and `un-bookable` TimeSlots.\nFor example,\nif the service has a booking policy which enforces booking the service up to 10 minutes before the session starts,\nwe return TimeSlots with the violating `localStartDate` with `bookable` as false.\nIf you wish to list only available __bookable__ TimeSlots you should pass `bookable` filter as true.\n\n
\n

Important:\nBecause of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\nRead more about DST Handling

\n
\n\n\n### ListAvailabilityTimeSlots runs with the following defaults\n+ `localStartDate` is sorted in `ASC` order\n+ `cursorPaging`.`limit` is `1000`" + ], + "examples": [ + { + "title": "ListAvailabilityTimeSlots ", + "body": [ + "import {serviceAvailability} from 'wix-bookings.v2';", + "", + "async function listAvailabilityTimeSlots() {", + " let options = {", + " \"serviceId\": \"c9390064-c0ee-4f4e-89db-9f59a8f49928\",", + " \"fromLocalDate\": \"2024-12-27T11:00:00.000\",", + " \"toLocalDate\": \"2024-12-27T16:00:00.000\",", + " \"timeZone\": \"Europe/Dublin\",", + " \"bookable\": true,", + " \"locations\": [", + " {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": serviceAvailability.LocationType.BUSINESS", + " }", + " ]", + " }", + " try {", + " const result = await", + " serviceAvailability.listAvailabilityTimeSlots(options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "List all available, bookable TimeSlots for a specific service within a specific range of time." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "listAvailabilityTimeSlots" + }, + { + "name": "listMultiServiceAvailabilityTimeSlots", + "params": [ + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.ListMultiServiceAvailabilityTimeSlotsOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.ListMultiServiceAvailabilityTimeSlotsResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves a list of multiService `TimeSlot`s that match the provided filters.", + "description": [ + "
\n

Important:
\nCurrently supported only for services of type APPOINTMENT.

\n
\n\nThe request body __must__ include either:\n+ All of the following filters: `service`.`serviceId`, `fromLocalDate`, `toLocalDate`, `location`, and `timeZone`. You may add additional filters as you wish.\n+ A `cursorPaging` with a valid `cursor` from previous response.\n\n\nEach [TimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/availability-time-slots/time-slot-object) in response\nrepresents the availability of the given sequence of services in a specific order, location, and within a given range of time.\n\nEach `TimeSlot`.`NestedTimeSlot` represents a single service from the given list. The order of the `NestedTimeSlots` is the same as the order\nof the given services in request.\nThe first `NestedTimeSlot` has `localStartDate` within the given `fromLocalDate` and `toLocalDate` exclusive,\nand each following `NestedTimeSlot` has a `localStartDate` that equals to the previous `NestedTimeSlot`'s `localEndDate`.\n\nBy default,\nthe response contains at most 1000 results.\nIf there are more than 1000 results, we return a `cursorPagingMetadata` with\na cursor for the next page of results, regardless of whether a `cursorPaging`\nwas provided in request.\n\n> __Notes:__\n> + All nested time slots share the same location.\n> + You can pass up to 8 services in request.\n\n### AvailableResources in response:\nThe `TimeSlot`.`NestedTimeSlot`'s `AvailableResources` contains information about the resources that are available to provide the service\nwithin the `NestedTimeSlot` range of time. Each `AvailableResources` contains information about available resources of the same type.\n\n
\n

Important:
\nBy default,\nif you don't specify service.includeResourceTypeIds\nor service.resourceIds filters in request,\nwe return TimeSlots with NestedTimeSlots with an empty AvailableResources.\n
Note:
Not specifying resources filters can be handy in case you want to avoid large response in flows that only\ninterested of whether the time slots are available. [Finding the next available slot within the next 3 months](https://bo.wix.com/wix-docs/rest/all-apis/service-availability/multi-service-availability-time-slots/sample-flows?localViewerId=inbari#all-apis_service-availability_multi-service-availability-time-slots_sample-flows_find-the-first-date-within-the-next-3-months-that-all-selected-services-are-available-for)\nis an example for such flow.\n

\n
\n\n\nIf you wish to get a list of available resources for a `TimeSlot`.`NestedTimeSlot` you should either:\n+ provide `service`.`resourceIds` in request.\n+ provide `service`.`includeResourceTypeIds` in request.\n\n__Notes:__\n+ In both cases the returned `TimeSlot`.`NestedTimeSlot` contains __up__ to 10 `AvailableResources` that match the provided filters. Each `AvailableResources` contains __up__ to 10 available `resources` of the same type that match the provided filters.\n+ If an `AvailableResources` has more available resources which are not listed within it, we return `AvailableResources`.`hasMoreAvailableResources` as true.\n+ If you wish to get the full available resources list for all `NestedTimeSlot` of a specific `TimeSlot`, you should call [GetMultiServiceAvailabilityTimeSlot](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/get-multi-service-availability-time-slot).\n\n\n### Availability VS Bookability\nAn `available` time slot is not necessarily `bookable`.\nThe `bookable` field of a `TimeSlot` indicates whether the customer can book all of the of the services within the given time slot,\nat a specific period of time.\nRead more about [Availability VS Bookability](https://bo.wix.com/wix-docs/rest/all-apis/wix-service-availability/multi-service-availability-time-slots/introduction#all-apis_wix-service-availability_multi-service-availability-time-slots_introduction_availability-vs-bookability).\n\nBy default,\n+ The response does not contains `unavailable` TimeSlots.For example, if there are no available resources to provide one of the services from `2024-01-30T14:30:00` to `2024-01-30T15:30:00`, we don't return TimeSlots with `NestedTimeSlot`.`localStartDate` within this range for this service.\n+ The response contains both `bookable` and `un-bookable` TimeSlots.For example, if one of the services has a booking policy which enforces booking the service up to 10 minutes before the session starts, we return TimeSlots with the violating `NestedTimeSlot`.`localStartDate`, with `bookable` as `false`. If you want to list only __bookable__ TimeSlots you should pass `bookable` as `true`.\n+ If booking one of the `NestedTimeSlot`s violates one of the corresponding service's booking policies, the `TimeSlot` returns with `bookable` as false. There is no indication which service's policy was violated.\n\n
\n

Important:\nBecause of DST, there are edge cases where certain times either do not exist or exist twice for a local time zone.\nRead more about DST Handling

\n
\n\n### ListAvailabilityTimeSlots runs with the following defaults:\n+ `localStartDate` is sorted in `ASC` order.\n+ `cursorPaging`.`limit` is `1000`." + ], + "examples": [ + { + "title": "ListMultiServiceAvailabilityTimeSlots ", + "body": [ + "import {serviceAvailability} from 'wix-bookings.v2';", + "", + "async function listMultiServiceAvailabilityTimeSlots() {", + " let options = {", + " \"services\": [", + " {", + " \"serviceId\": \"c9390064-c0ee-4f4e-89db-9f59a8f49928\",", + " \"includeResourceTypeIds\": \"1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\"", + " },", + " {\"serviceId\": \"239b6880-12ef-46ca-abdb-b502d4af11a9\"}", + " ],", + " \"fromLocalDate\": \"2023-12-27T11:00:00.000\",", + " \"toLocalDate\": \"2023-12-27T14:00:00.000\",", + " \"timeZone\": \"Europe/Dublin\",", + " \"bookable\": true,", + " \"location\": {", + " \"locationId\": \"b4698671-3412-49b5-bff1-f50d4d0fe3b3\",", + " \"locationType\": serviceAvailability.LocationType.BUSINESS", + " }", + " }", + " try {", + " const result = await serviceAvailability.listMultiServiceAvailabilityTimeSlots(options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}" + ], + "extra": { + "description": "List all available, bookable TimeSlots for a specific list of services within a given range of time." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "listMultiServiceAvailabilityTimeSlots" + } + ], + "messages": [ + { + "name": "AvailableResources", + "members": [ + { + "name": "hasMoreAvailableResources", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more available resources for the slot that are not listed in `resources` due to size limitations." + }, + { + "name": "resourceTypeId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource type ID." + }, + { + "name": "resources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Resource" + } + ] + } + } + ], + "doc": "Available resources for the time slot.\n\n+ When returned from `ListAvailabilityTimeSlots`, empty by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains __up__ to 10 available resources out of those provided.\n\n+ When returned from `GetAvailabilityTimeSlots`, contains all available resources by default.\n+ + If you provided `includeResourceTypeIds` or `resourceIds` in request,\ncontains all of the available resources out of those provided.\n\n\n> + When returned from `ListMultiServiceAvailabilityTimeSlots`, empty by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains __up__ to 10 available resources out of those provided.\n\n> + When returned from `GetMultiServiceAvailabilityTimeSlots`, contains all available resources by default.\n> + + If you provided `includeResourceTypeIds` or `resourceIds` in request,\n> contains all of the available resources out of those provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BookingPolicyViolations", + "members": [ + { + "name": "bookOnlineDisabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Online booking is disabled for the `TimeSlot` service." + }, + { + "name": "tooEarlyToBook", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Too early to book this slot." + }, + { + "name": "tooLateToBook", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Bookings policy violation. Too late to book this slot." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityOptions", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\nTODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\nAliza's suggestion to consider locks in bookable" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "from", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "openSpots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with openSpots >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "slotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "to", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006\nTODO: Locks are not taken into account. // Class is not supported yet. (relevant only for classes with waiting list)\nAliza's suggestion to consider locks in bookable" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "from", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "openSpots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with openSpots >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "serviceIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "slotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "to", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalculateEventBasedAvailabilityResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CursorPagingMetadata" + } + ], + "doc": "" + }, + { + "name": "slots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.TimeSlot" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of results to load.\n\nDefault: `1000`.\nMax: `1000`.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursorPagingMetadata", + "members": [ + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursors" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonCursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPaging", + "members": [ + { + "name": "cursor", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CursorPagingMetadata", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Cursors" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "hasNext", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Cursors", + "members": [ + { + "name": "next", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to next page in the list of results." + }, + { + "name": "prev", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Cursor pointing to previous page in the list of results." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EventInfo", + "members": [], + "docs": { + "description": [ + "relevant for event based slots, and not for availability based slots" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotOptions", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotRequest", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type IDs to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned `TimeSlot` contains only the `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains all the available resources of this type.\n" + }, + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned `TimeSlot` contains only the available resources out of provided list.\nOtherwise, the returned `TimeSlot` returned with all possible `AvailableResources`.\n" + }, + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the time slot.\nCurrently supported only for services of type `APPOINTMENT`." + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotOptions", + "members": [ + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotRequest", + "members": [ + { + "name": "localEndDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "The location of the time slot.\n\nYou must provide a specific `locationType`.\nIf locationType is `BUSINESS`, you __must__ also provide a `locationId`.\n\n
\n

Supports filtering by location type, or by location ID.\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "services", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService TimeSlots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: 2.\nMaxSize: 8.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetMultiServiceAvailabilityTimeSlotResponse", + "members": [ + { + "name": "timeSlot", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.TimeSlot" + } + ], + "doc": "Time slot." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsOptions", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to the service's booking policies.\n\nIf booking this `TimeSlot` does not violates any of the service's booking policies,\nreturns as `true`. Otherwise, returns as `false`.\n\n> __Note:__\n> A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n> while a time slot with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch results in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\na `cursorPaging`.`limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains __up__ to 10 available resources of this type.\n" + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ] + } + } + ], + "doc": "Locations to include in response.\n\nBy default,\nif no locations are provided,\nthe response contains TimeSlots for all locations where the service is available.\n\nYou can specify locations or location types for which the time slots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\nOtherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n" + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID for which the time slots are being returned for.\nCurrently supported only for services of type `APPOINTMENT`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to the service's booking policies.\n\nIf booking this `TimeSlot` does not violates any of the service's booking policies,\nreturns as `true`. Otherwise, returns as `false`.\n\n> __Note:__\n> A time slot that doesn't meet the service's bookings policies will be returned with `bookable` = false,\n> while a time slot with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch results in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass `cursorPaging`.`cursor` with the returned cursor from previous call, and\na `cursorPaging`.`limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource type ID's to include in response, this is in addition to the requested `resourceIds`.\n\nIf specified in request, the returned TimeSlots will contain __up__ to 10 `AvailableResources` with `ResourceTypeId`\nout of those specified, each contains __up__ to 10 available resources of this type.\n" + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ] + } + } + ], + "doc": "Locations to include in response.\n\nBy default,\nif no locations are provided,\nthe response contains TimeSlots for all locations where the service is available.\n\nYou can specify locations or location types for which the time slots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response.\n\nIf specified,\nthe returned TimeSlots will contain __up__ to 10 available resources out of the provided list.\nOtherwise, the returned TimeSlots returns with an empty `AvailableResources`.\n" + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID for which the time slots are being returned for.\nCurrently supported only for services of type `APPOINTMENT`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListAvailabilityTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursorPagingMetadata" + } + ], + "doc": "CursorPagingMetaData.\nContains information about the next page of results.\n\nBy default,\nif there are more than 1000 results,\nthe response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n\n
\n

Important:
\ncount is not supported.

\n
\n" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.TimeSlot" + } + ] + } + } + ], + "doc": "Time slots." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\nShared for all TimeSlots in response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsOptions", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "fromLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with remainingCapacity >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default?" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format.\nDefault is the Wix Business time zone." + }, + { + "name": "toLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "TODO good definition of what bookable means https://github.com/wix-private/scheduler/pull/18267/files?file-filters%5B%5D=.proto&show-viewed-files=true#r1199809006" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "each nested field is checked on its own. i.e. if `too_early_to_book` is defined and `too_late_to_book` is not defined\nwe will return slots for which `too_early_to_book` is same as on the request, regardless of `too_late_to_book`." + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CursorPaging" + } + ], + "doc": "" + }, + { + "name": "fromLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ] + } + } + ], + "doc": "support filtering by location type, or by locationId. Other fields like `name` are ignored" + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "if not empty, return slots with remainingCapacity >= X" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "TODO: maxsize && do we need include_resource_type_id here? also is the behavior is the same as availabilityTimeSlots, we won't return resources by default?" + }, + { + "name": "serviceIds", + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The services for which the time slots are being returned." + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each date. For example, if `slots_per_day` is set to `3`,\nat most 3 available slots are returned for each day in the date range specified in the query's\n`filter`.\n\nWhen a day has both bookable and non-bookable slots, bookable slots are returned first.\nNon-bookable slots are returned according to the specified filters, after all\nbookable slots are already included.\n" + }, + { + "name": "timeZone", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format.\nDefault is the Wix Business time zone." + }, + { + "name": "toLocalDate", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date for which event time slots are returned, in ISO-8601 format.\nE.g, \"2024-01-30T13:30:00\".\nRequired, unless `cursorPaging` is provided." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListEventTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CursorPagingMetadata" + } + ], + "doc": "" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.TimeSlot" + } + ] + } + } + ], + "doc": "TODO: maxsize" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone, in IANA time zone format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsOptions", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to all of the services booking policies.\n\nIf booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\nreturns as `false`. Otherwise, returns as `true`.\n\n> __Note:__\n> A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n> while a `TimeSlot` with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\nhas a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\nthe other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n\nEach nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch TimeSlots in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\nthe `cursorPaging`.`limit`. You may pass a different `limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "Location for which the multiService TimeSlots are being returned for.\n\nYou can specify location or location type for which the TimeSlots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService time slots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: `2`.\nMaxSize: `8`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsRequest", + "members": [ + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the `TimeSlot` is bookable according to all of the services booking policies.\n\nIf booking any of the `TimeSlot`.`NestedTimeSlot`s violates any of its services bookings policies,\nreturns as `false`. Otherwise, returns as `true`.\n\n> __Note:__\n> A `TimeSlot` with a `NestedTimeSlot` that doesn't meet its service's bookings policies will be returned with `bookable` = false,\n> while a `TimeSlot` with no available resources will not be returned at all.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "Indicators for service's booking policy violations for booking the `TimeSlot`.\n\nA bookable time slot must not violate any policy,\ntherefor, this filter is only relevant when `bookable` filter is false.\n\nEach nested field is checked on all `NestedTimeSlot`s. For example, if only one of the `NestedTimeSlot`'s\nhas a service with `tooEarlyToBook` same as in the request, we return the `TimeSlot` regardless of whether\nthe other `NestedTimeSlots` has the same `tooEarlyToBook` as in request.\n\nEach nested field is checked on its own. For example, if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe return slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "cursorPaging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursorPaging" + } + ], + "doc": "CursorPaging.\n\nEnables you to fetch TimeSlots in smaller, more manageable chunks\nby setting a limit on the number of results returned in response.\nThis is useful in order to enhance efficiency of data retrieval and reduce load on both the client and server.\n\nIf there are more results than the specified limit, the response will contain a `cursorPagingMetaData`\nwith a cursor pointing to next page of results. In order to fetch the next page of results, you should pass the\nreturned cursor to the next call as `cursorPaging`.`cursor`.\n\nFor the first call, you should only specify the `limit` for the results page.\nFor each following call, you should only pass the previous returned cursor as `cursorPaging`.`cursor`\nthe `cursorPaging`.`limit`. You may pass a different `limit`.\nNo need to specify any additional parameters.\n\n
\n

Important:
\nIf you only provide a cursorPaging. cursor,\nthe response will contain the default size of results which is `1000`.\n

\n
\n" + }, + { + "name": "fromLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Lower boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "Location for which the multiService TimeSlots are being returned for.\n\nYou can specify location or location type for which the TimeSlots will be returned for.\nIf locationType is `BUSINESS`, you __must__ provide a locationId.\n\n
\n

warning:
\nSupports filtering by location type, or by location ID.
\nOther fields like name are ignored.

\n
\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Service" + } + ] + } + } + ], + "doc": "Services for which the multiService time slots are being returned for.\nEach service contains its own resources filters within.\n\nMinSize: `2`.\nMaxSize: `8`.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "timeSlotsPerDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of slots to load for each day. For example, if `timeSlotsPerDay` is set to `3`,\nwe return at most 3 available TimeSlots for each day within the date range specified in request.\n\nBy default,\nif `bookable` filter was not specified,\nand a day has both `bookable` and `un-bookable` slots, `bookable` slots are returned first.\n\nIf the number of `bookable` slots is less than the requested `timeSlotsPerDay`,\n`un-bookable` slots will be returned according to the specified filters.\n" + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + }, + { + "name": "toLocalDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Upper boundary for `localStartDate` to include in response, in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\".\n\nEach returned `TimeSlot` in response has a `localStartDate`\nwithin the provided `fromLocalDate` and `toLocalDate` exclusive.\n\nRequired, unless `cursorPaging`.`cursor` is provided.\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ListMultiServiceAvailabilityTimeSlotsResponse", + "members": [ + { + "name": "cursorPagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.CommonCursorPagingMetadata" + } + ], + "doc": "CursorPagingMetaData.\nContains information about the next page of results.\n\nBy default,\nif there are more than 1000 results,\nthe response will contain a `cursorPagingMetaData` with a cursor to the next page of results.\n\n
\n

Important:
\ncount is not supported.

\n
\n" + }, + { + "name": "timeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.TimeSlot" + } + ] + } + } + ], + "doc": "Time slots." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time zone, in IANA time zone format.\nShared for all TimeSlots in response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Location", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business Location ID. Present only if the location is a business location." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representation for the full address of the location." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, either the default business address, or locations defined for the business by the Business Info.\n- `CUSTOMER`: The location is determined by the customer and is not set up beforehand." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The location name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedTimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the nested time slot.\nEach `AvailableResources` contains information about available resources of the same type." + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the nested time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID of the nested time slot." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Resource", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Service", + "members": [ + { + "name": "includeResourceTypeIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "The resource type ID's to include in returned time slots.\nThis is in addition to the specifically requested resources.\n\n
\nCurrently supported only for Staff Member resource type.\nStaff Member type ID: 1cd44cf8-756f-41c3-bd90-3e2ffcaf1155\n
\n" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resources to include in response." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TimeSlot", + "members": [ + { + "name": "availableResources", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.AvailableResources" + } + ] + } + } + ], + "doc": "List of `AvailableResources` for the time slot.\nEach `AvailableResources` contains information about available resources of the same type.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own available resources.\n" + }, + { + "name": "bookable", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the slot is bookable according to the service's booking policies.\n\nIf booking this time slot does not violates any of the service's booking policies,\nthe returned value is `true`. Otherwise, returns `false`.\n" + }, + { + "name": "bookingPolicyViolations", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.BookingPolicyViolations" + } + ], + "doc": "Indicators for booking policy violations for the slot.\n\nEach nested field is checked on its own. i.e. if `tooEarlyToBook` is defined and `bookOnlineDisabled` is not defined\nwe will return also slots for which `tooEarlyToBook` is same as on the request, regardless of `bookOnlineDisabled`.\n" + }, + { + "name": "localEndDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local end date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T14:30:00\"." + }, + { + "name": "localStartDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Local start date of the time slot in ISO-8601 format.\nFor example, \"2024-01-30T13:30:00\"." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.Location" + } + ], + "doc": "The geographic location of the slot." + }, + { + "name": "nestedTimeSlots", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.ServiceAvailability.NestedTimeSlot" + } + ] + } + } + ], + "doc": "> Nested time slots.\n> Returned only from `MultiServiceAvailabilityTimeSlots` API calls." + }, + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Remaining number of spots for the slot.\nFor example, for an appointment service with total capacity of 1 spot and one booked spot, the remaining capacity will be 0." + }, + { + "name": "serviceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID.\n\n> Not returned from `MultiServiceAvailabilityTimeSlots` API calls.\n> Instead, each nested time slot has its own serviceId.\n" + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots for the slot." + } + ], + "docs": { + "description": [ + "The `TimeSlot` object represents the availability information\nfor an `Appointment` service's specific slot, including:" + ] + } + }, + { + "name": "WaitingList", + "members": [ + { + "name": "remainingCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of remaining spots for this wait list.\nFor example, a Yoga event with 10 waitList spots and 3 registered\non the waitList has 10 `total_capacity` and 7 `remaining_capacity`." + }, + { + "name": "totalCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of spots in this wait list." + } + ], + "docs": { + "description": [ + "" + ] + } + } + ] +} diff --git a/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants.service.json b/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants.service.json index f005aa98e5..ff1fbce8d2 100644 --- a/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants.service.json +++ b/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants.service.json @@ -53,27 +53,50 @@ "doc": null }, "docs": { - "summary": "Clones a `serviceOptionsAndVariants` object. This endpoint can be called, for example, to duplicate a service.\nThe cloned service contains all the original service options and variants.", + "summary": "Clones a `serviceOptionsAndVariants` object. This function can be called, for example, to duplicate a service.\nThe cloned service contains the original service options and variants.", "description": [ "Each option\nin the cloned service has a newly-generated ID that is copied to all choices of the variants in the\nclone. The cloned service references the service provided in the request by `target_service_id`." ], "examples": [ { - "title": "cloneServiceOptionsAndVariants example", + "title": "cloneServiceOptionsAndVariants example for dashboard page code", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function cloneServiceOptionsAndVariants(cloneFromId, targetServiceId) {", - " try {", - " const result = await serviceOptionsAndVariants.cloneServiceOptionsAndVariants(cloneFromId, targetServiceId);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function cloneServiceOptionsAndVariants(cloneFromId, targetServiceId) {", + " try {", + " const result = await serviceOptionsAndVariants.cloneServiceOptionsAndVariants(cloneFromId, targetServiceId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "cloneServiceOptionsAndVariants example for exporting from backend code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedCloneServiceOptionsAndVariants = elevate(serviceOptionsAndVariants.cloneServiceOptionsAndVariants);", + "", + "export const cloneServiceOptionsAndVariants = webMethod(", + " Permissions.Anyone,", + " async (cloneFromId, targetServiceId) => {", + " try {", + " const result = await elevatedCloneServiceOptionsAndVariants(cloneFromId, targetServiceId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -114,13 +137,13 @@ "nativeType": "Promise", "typeParams": [ { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.CreateServiceOptionsAndVariantsResponse" + "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariants" } ] } } ], - "doc": null + "doc": "Information about the created service options and variants.\n" }, "docs": { "summary": "Creates options and variants for a service.", @@ -129,21 +152,44 @@ ], "examples": [ { - "title": "createServiceOptionsAndVariants example", + "title": "createServiceOptionsAndVariants example for dashboard page code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "", + "async function createServiceOptionsAndVariants(serviceOptionsAndVariants) {", + " try {", + " const result = await serviceOptionsAndVariants.createServiceOptionsAndVariants(serviceOptionsAndVariants);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "createServiceOptionsAndVariants example for exporting from backend code", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function createServiceOptionsAndVariants(serviceOptionsAndVariants) {", - " try {", - " const result = await serviceOptionsAndVariants.createServiceOptionsAndVariants(serviceOptionsAndVariants);", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedCreateServiceOptionsAndVariants = elevate(serviceOptionsAndVariants.createServiceOptionsAndVariants);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "export const createServiceOptionsAndVariants = webMethod(", + " Permissions.Anyone,", + " async (serviceOptionsAndVariants) => {", + " try {", + " const result = await elevatedCreateServiceOptionsAndVariants(serviceOptionsAndVariants);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -177,7 +223,7 @@ "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.DeleteServiceOptionsAndVariantsOptions" } ], - "doc": "", + "doc": "Options for deleting the service options and variants.", "required": false } ], @@ -206,21 +252,44 @@ ], "examples": [ { - "title": "deleteServiceOptionsAndVariants example", + "title": "deleteServiceOptionsAndVariants example for dashboard page code", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function deleteServiceOptionsAndVariants(serviceOptionsAndVariantsId, options) {", - " try {", - " const result = await serviceOptionsAndVariants.deleteServiceOptionsAndVariants(serviceOptionsAndVariantsId, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function deleteServiceOptionsAndVariants(serviceOptionsAndVariantsId, options) {", + " try {", + " const result = await serviceOptionsAndVariants.deleteServiceOptionsAndVariants(serviceOptionsAndVariantsId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "deleteServiceOptionsAndVariants example for exporting from backend code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedDeleteServiceOptionsAndVariants = elevate(serviceOptionsAndVariants.deleteServiceOptionsAndVariants);", + "", + "export const deleteServiceOptionsAndVariants = webMethod(", + " Permissions.Anyone,", + " async (serviceOptionsAndVariantsId, options) => {", + " try {", + " const result = await elevatedDeleteServiceOptionsAndVariants(serviceOptionsAndVariantsId, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -274,18 +343,38 @@ "title": "getServiceOptionsAndVariants example", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function getServiceOptionsAndVariants(serviceOptionsAndVariantsId) {", - " try {", - " const result = await serviceOptionsAndVariants.getServiceOptionsAndVariants(serviceOptionsAndVariantsId);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function getServiceOptionsAndVariants(serviceOptionsAndVariantsId) {", + " try {", + " const result = await serviceOptionsAndVariants.getServiceOptionsAndVariants(serviceOptionsAndVariantsId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "getServiceOptionsAndVariants example for exporting from backend code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const getServiceOptionsAndVariants = webMethod(", + " Permissions.Anyone,", + " async (serviceOptionsAndVariantsId) => {", + " try {", + " const result = await serviceOptionsAndVariants.getServiceOptionsAndVariants(serviceOptionsAndVariantsId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -295,7 +384,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "getServiceOptionsAndVariants" }, { "name": "getServiceOptionsAndVariantsByServiceId", @@ -337,18 +427,38 @@ "title": "getServiceOptionsAndVariantsByServiceId example", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function getServiceOptionsAndVariantsByServiceId(serviceId) {", - " try {", - " const result = await serviceOptionsAndVariants.getServiceOptionsAndVariantsByServiceId(serviceId);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function getServiceOptionsAndVariantsByServiceId(serviceId) {", + " try {", + " const result = await serviceOptionsAndVariants.getServiceOptionsAndVariantsByServiceId(serviceId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "getServiceOptionsAndVariantsByServiceId example for exporting from backend code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const getServiceOptionsAndVariantsByServiceId = webMethod(", + " Permissions.Anyone,", + " async (serviceId) => {", + " try {", + " const result = await serviceOptionsAndVariants.getServiceOptionsAndVariantsByServiceId(serviceId);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -358,7 +468,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "getServiceOptionsAndVariantsByServiceId" }, { "name": "queryServiceOptionsAndVariants", @@ -376,38 +487,55 @@ "summary": "Retrieves a list of `serviceOptionsAndVariants`, given the provided paging, filtering, and sorting.", "description": [ "", - "Query Service Options And Variants runs with these defaults, which you can override:", + "queryServiceOptionsAndVariants() runs with these defaults, which you can override:", "", "- `id` is sorted in `ASC` order", "- `cursorPaging.limit` is `100`", "", "For a detailed list of supported filtering operations see", - "[supported filters](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/supported-filters).", + "[supported filters](https://www.wix.com/velo/reference/wix-bookings-v2/serviceoptionsandvariants/filters).", + "", "", - "To learn about working with _Query_ endpoints, see", - "[API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language),", - "[Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination),", - "and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).", "|PROPERTY\t|SUPPORTED FILTERS & SORTING\t", "|:---:|:---:|", - "|`id`|[`eq()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#eq),[`in()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#in),[`ne()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#ne)|", - "|`serviceId`|[`eq()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#eq),[`in()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#in),[`ne()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#ne)|", - "|`options.values`|[`exists()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#exists)|", - "|`options.values.id`|[`eq()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#eq),[`in()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#in),[`ne()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#ne)|", - "|`variants.values`|[`exists()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#exists)|", - "|`variants.values.choices.optionId`|[`hasSome()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#hasSome)|", - "|`variants.values.price`|[`hasSome()`](wix-bookings.v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantssQueryBuilder#hasSome)|" + "|`_id`|[`eq()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#eq),[`in()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#in),[`ne()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#ne)|", + "|`serviceId`|[`eq()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#eq),[`in()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#in),[`ne()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#ne)|", + "|`options.values`|[`exists()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#exists)|", + "|`variants.values`|[`exists()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#exists)|", + "|`variants.values.choices.optionId`|[`hasSome()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#hasSome)|", + "|`variants.values.price`|[`hasSome()`](wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder#hasSome)|" ], "examples": [ { "title": "queryServiceOptionsAndVariants example", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function queryServiceOptionsAndVariants() {", - " const { items } = serviceOptionsAndVariants.queryServiceOptionsAndVariants().find();", - " }", - " " + "", + "async function queryServiceOptionsAndVariants() {", + " const { items } = serviceOptionsAndVariants.queryServiceOptionsAndVariants().find();", + "}", + "" + ] + }, + { + "title": "queryServiceOptionsAndVariants example for exporting from backend code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "", + "export const queryServiceOptionsAndVariants = webMethod(", + " Permissions.Anyone,", + " async (query) => {", + " try {", + " const result = await serviceOptionsAndVariants.queryServiceOptionsAndVariants(query);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -417,7 +545,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "queryServiceOptionsAndVariants" }, { "name": "updateServiceOptionsAndVariants", @@ -466,25 +595,48 @@ "docs": { "summary": "Updates the specified fields of the `serviceOptionsAndVariants` object.", "description": [ - "Currently, only a single option is supported per `serviceOptionsAndVariants` object.\n\nIf you want to update `variants`, you must pass the full list of supported variants.\n\nIf you want to update `options`, you must pass the full list of supported options.\n\nFor a list of error messages, see [Update Service Options and Variants Errors](https://dev.wix.com/api/rest/wix-bookings/service-options-and-variants/error-messages#service-options-and-variants_error-messages_update-service-options-and-variants-errors)." + "Currently, only a single option is supported per `serviceOptionsAndVariants` object.\n\nIf you want to update `variants`, you must pass the full list of supported variants.\n\nIf you want to update `options`, you must pass the full list of supported options." ], "examples": [ { - "title": "updateServiceOptionsAndVariants example", + "title": "updateServiceOptionsAndVariants example for dashboard page code", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", - " ", - " async function updateServiceOptionsAndVariants(id, serviceOptionsAndVariants, options) {", - " try {", - " const result = await serviceOptionsAndVariants.updateServiceOptionsAndVariants(id, serviceOptionsAndVariants, options);", "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - " }", - " " + "async function updateServiceOptionsAndVariants(id, serviceOptionsAndVariants, options) {", + " try {", + " const result = await serviceOptionsAndVariants.updateServiceOptionsAndVariants(id, serviceOptionsAndVariants, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + "}", + "" + ] + }, + { + "title": "updateServiceOptionsAndVariants example for exporting from backend code", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "import { webMethod, Permissions } from 'wix-web-module';", + "import { elevate } from 'wix-auth';", + "", + "const elevatedUpdateServiceOptionsAndVariants = elevate(serviceOptionsAndVariants.updateServiceOptionsAndVariants);", + "", + "export const updateServiceOptionsAndVariants = webMethod(", + " Permissions.Anyone,", + " async (id, serviceOptionsAndVariants, options) => {", + " try {", + " const result = await elevatedUpdateServiceOptionsAndVariants(id, serviceOptionsAndVariants, options);", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + ");", + "" ] } ] @@ -848,6 +1000,7 @@ }, { "name": "splitInterval", + "readOnly": false, "optional": true, "type": [ { @@ -1071,6 +1224,26 @@ ] } }, + { + "name": "BusinessLocation", + "members": [ + { + "name": "locationId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the business location. Has to be non-empty" + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "BusinessSchedule", "members": [ @@ -1206,7 +1379,7 @@ "nativeType": "string" } ], - "doc": "Conference type.\n" + "doc": "Conference type." }, { "name": "description", @@ -1319,6 +1492,16 @@ { "name": "Categories", "members": [ + { + "name": "businessTermId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business Term Id" + }, { "name": "primary", "optional": true, @@ -1623,7 +1806,7 @@ "nativeType": "string" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + "doc": "Pointer to the next or previous page in the list of results.\n\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" }, { "name": "limit", @@ -1633,7 +1816,7 @@ "nativeType": "number" } ], - "doc": "Number of items to load." + "doc": "Maximum number of items to return in the results." } ], "docs": { @@ -1653,7 +1836,7 @@ "nativeType": "string" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Cursor string pointing to the next page in the list of results." }, { "name": "prev", @@ -1663,7 +1846,7 @@ "nativeType": "string" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "Cursor pointing to the previous page in the list of results." } ], "docs": { @@ -1808,7 +1991,7 @@ "nativeType": "string" } ], - "doc": "random GUID so clients can tell if event was already handled" + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." }, { "name": "actionEvent", @@ -1868,7 +2051,7 @@ "nativeType": "string" } ], - "doc": "Assuming that all messages including Actions have id\nExample: The id of the specific order, the id of a specific campaign" + "doc": "ID of the entity associated with the event." }, { "name": "eventTime", @@ -1878,17 +2061,7 @@ "nativeType": "Date" } ], - "doc": "The time of the event. Useful if there was a delay in dispatching" - }, - { - "name": "extendedFieldsUpdatedEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ExtendedFieldsUpdatedEvent" - } - ], - "doc": "" + "doc": "Event timestamp." }, { "name": "originatedFrom", @@ -1918,7 +2091,7 @@ "nativeType": "boolean" } ], - "doc": "A field that should be set if this event was triggered by an anonymize request.\nFor example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\nNOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers." + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." }, { "name": "updatedEvent", @@ -1939,7 +2112,6 @@ "actionEvent", "createdEvent", "deletedEvent", - "extendedFieldsUpdatedEvent", "updatedEvent" ] } @@ -1984,16 +2156,6 @@ ], "doc": "" }, - { - "name": "extendedFieldsUpdatedEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ExtendedFieldsUpdatedEvent" - } - ], - "doc": "" - }, { "name": "updatedEvent", "optional": true, @@ -2042,25 +2204,16 @@ }, { "name": "EntityDeletedEvent", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "EntityUpdatedEvent", "members": [ { - "name": "currentEntityAsJson", + "name": "deletedEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + "doc": "Entity that was deleted" } ], "docs": { @@ -2070,7 +2223,7 @@ } }, { - "name": "ExtendedFieldsUpdatedEvent", + "name": "EntityUpdatedEvent", "members": [ { "name": "currentEntityAsJson", @@ -2080,7 +2233,7 @@ "nativeType": "string" } ], - "doc": "" + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." } ], "docs": { @@ -2297,6 +2450,130 @@ ] } }, + { + "name": "IdentificationData", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "identityType", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "IdentificationDataIdOneOf", + "members": [ + { + "name": "anonymousVisitorId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has not logged in to the site." + }, + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of an app." + }, + { + "name": "memberId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "Interval", "members": [ @@ -2318,7 +2595,7 @@ "nativeType": "number" } ], - "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400." + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." }, { "name": "hourOfDay", @@ -2466,7 +2743,7 @@ "nativeType": "string" } ], - "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions." } ], "docs": { @@ -2570,6 +2847,7 @@ "members": [ { "name": "address", + "readOnly": false, "optional": true, "type": [ { @@ -2578,16 +2856,6 @@ ], "doc": "Free text address used when locationType is `OWNER_CUSTOM`." }, - { - "name": "businessLocation", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.LocationsLocation" - } - ], - "doc": "Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n\n`businessSchedule` is not supported by Wix Bookings\n" - }, { "name": "customAddress", "optional": true, @@ -2638,6 +2906,26 @@ ], "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.LocationsAddressLocation" + } + ], + "doc": "Geographic coordinates of location." + }, { "name": "postalCode", "optional": true, @@ -2793,13 +3081,31 @@ }, { "name": "locationType", + "readOnly": false, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type. **Note:** Currently not supported." + "doc": "Location type.\n\n**Note:** Currently not supported." + }, + { + "name": "locationTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Location types." }, { "name": "name", @@ -2839,7 +3145,7 @@ "nativeType": "string" } ], - "doc": "Location status. Defaults to `ACTIVE`.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status. `INACTIVE` is currently not supported." + "doc": "Location status. Defaults to `ACTIVE`.\n__Notes:__\n- [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status.\n- `INACTIVE` status is currently not supported." }, { "name": "timeZone", @@ -2995,6 +3301,56 @@ ] } }, + { + "name": "MessageEnvelope", + "members": [ + { + "name": "data", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Stringify payload." + }, + { + "name": "eventType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "identity", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.IdentificationData" + } + ], + "doc": "The identification type and identity data." + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "App instance ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, { "name": "MigrationData", "members": [ @@ -3267,7 +3623,7 @@ "nativeType": "string" } ], - "doc": "Approval status for the participant.\n\n" + "doc": "Approval status for the participant.\n" }, { "name": "contactId", @@ -3639,6 +3995,16 @@ } ], "doc": "Timezone in `America/New_York` format." + }, + { + "name": "trackClicksAnalytics", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Track clicks analytics" } ], "docs": { @@ -3953,7 +4319,7 @@ "nativeType": "string" } ], - "doc": "The type of recurring interval.\n" + "doc": "The type of recurring interval." }, { "name": "start", @@ -4164,6 +4530,7 @@ }, { "name": "schedules", + "readOnly": false, "optional": true, "type": [ { @@ -4188,10 +4555,11 @@ "nativeType": "string" } ], - "doc": "Resource status.\n" + "doc": "Resource status." }, { "name": "tag", + "readOnly": false, "optional": true, "type": [ { @@ -4226,7 +4594,7 @@ "nativeType": "string" } ], - "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n" + "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager." } ], "docs": { @@ -4280,23 +4648,25 @@ }, { "name": "availability", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.Availability" } ], - "doc": "An object describing how to calculate the schedule's availability.\nAn empty object indicates that the schedule is not available for booking." + "doc": "__Deprecated.__" }, { "name": "calendarConference", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.CalendarConference" } ], - "doc": "A conference created for the schedule. This is used when a participant is added to a schedule." + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { "name": "capacity", @@ -4310,13 +4680,14 @@ }, { "name": "conferenceProvider", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ConferenceProvider" } ], - "doc": "Conferencing Provider. A schedule with a conferencing provider will use to provider information to create a conference on the provider's system when a session is created on the schedule or on one of its linked schedule's." + "doc": "__Deprecated.__" }, { "name": "created", @@ -4331,13 +4702,14 @@ }, { "name": "externalCalendarOverrides", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ExternalCalendarOverrides" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings)." + "doc": "__Deprecated.__" }, { "name": "inheritedFields", @@ -4359,6 +4731,7 @@ }, { "name": "intervals", + "readOnly": false, "optional": true, "type": [ { @@ -4372,7 +4745,7 @@ } } ], - "doc": "Specifies the intervals for the sessions calculation. Optional. e.g. when creating class service you can add\npattern for recurring intervals, these intervals can be returned as schedule's sessions or available slots if\nthere are no other availability calculation constraints and the capacity is bigger then the current total number of sessions' participants." + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." }, { "name": "location", @@ -4400,17 +4773,18 @@ } } ], - "doc": "Participants currently registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule." + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { "name": "rate", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.Rate" } ], - "doc": "Price options offered when booking this schedule's slots. Default is no rate." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { "name": "scheduleOwnerId", @@ -4435,6 +4809,7 @@ }, { "name": "tags", + "readOnly": false, "optional": true, "type": [ { @@ -4448,17 +4823,18 @@ } } ], - "doc": "Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." }, { "name": "timeZone", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." }, { "name": "title", @@ -4595,6 +4971,7 @@ }, { "name": "intervalSplit", + "readOnly": false, "optional": true, "type": [ { @@ -4603,28 +4980,9 @@ ], "doc": "" }, - { - "name": "migrationEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.MigrationEvent" - } - ], - "doc": "supported only for schedule migration apis." - }, - { - "name": "multipleSessionsCreated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.MultipleSessionsCreated" - } - ], - "doc": "supported only for schedule migration apis." - }, { "name": "notifyParticipants", + "readOnly": false, "optional": true, "type": [ { @@ -4675,6 +5033,7 @@ }, { "name": "scheduleUnassignedFromUser", + "readOnly": false, "optional": true, "type": [ { @@ -4776,6 +5135,7 @@ }, { "name": "intervalSplit", + "readOnly": false, "optional": true, "type": [ { @@ -4784,26 +5144,6 @@ ], "doc": "" }, - { - "name": "migrationEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.MigrationEvent" - } - ], - "doc": "supported only for schedule migration apis." - }, - { - "name": "multipleSessionsCreated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.MultipleSessionsCreated" - } - ], - "doc": "supported only for schedule migration apis." - }, { "name": "recurringSessionSplit", "optional": true, @@ -4836,6 +5176,7 @@ }, { "name": "scheduleUnassignedFromUser", + "readOnly": false, "optional": true, "type": [ { @@ -5081,6 +5422,7 @@ }, { "name": "advancedSeoData", + "readOnly": false, "optional": true, "type": [ { @@ -5256,7 +5598,7 @@ "nativeType": "string" } ], - "doc": "ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\nof the staff member or the `scheduleOwnerId` of the relevant\n[schedule's](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object)\n`availability.linkedSchedules`." + "doc": "ID of the staff member providing the service. This ID is the equivalent of the `resourceId`\nof the staff member or the `scheduleOwnerId` of the relevant\nschedule's\n`availability.linkedSchedules`." } ], "extra": { @@ -5321,6 +5663,7 @@ }, { "name": "images", + "readOnly": false, "optional": true, "type": [ { @@ -5730,13 +6073,14 @@ }, { "name": "calendarConference", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.CalendarConference" } ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule." + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { "name": "capacity", @@ -5760,13 +6104,14 @@ }, { "name": "externalCalendarOverrides", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ExternalCalendarOverrides" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings).\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__" }, { "name": "inheritedFields", @@ -5842,17 +6187,18 @@ } } ], - "doc": "List of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty." + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { "name": "rate", + "readOnly": false, "optional": true, "type": [ { "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.Rate" } ], - "doc": "The price options offered for the session. Defaults to the schedule rate.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { "name": "recurrence", @@ -5926,10 +6272,11 @@ "nativeType": "string" } ], - "doc": "Session status.\n" + "doc": "Session status." }, { "name": "tags", + "readOnly": false, "optional": true, "type": [ { @@ -5943,7 +6290,7 @@ } } ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { "name": "timeReservedAfter", @@ -5984,7 +6331,7 @@ "nativeType": "string" } ], - "doc": "Session type.\n" + "doc": "Session type." }, { "name": "version", @@ -6204,23 +6551,6 @@ { "name": "SitePropertiesEvent", "members": [ - { - "name": "fields", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Set of properties that were updated - corresponds to the fields in \"properties\"." - }, { "name": "properties", "optional": true, diff --git a/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryBuilder.service.json b/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryBuilder.service.json index 3a51154452..57191678ae 100644 --- a/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryBuilder.service.json +++ b/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryBuilder.service.json @@ -9,86 +9,6 @@ "relatedGuides": [], "properties": [], "operations": [ - { - "name": "ascending", - "params": [ - { - "name": "propertyNames", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.", - "required": false - } - ], - "requiredFields": [], - "ret": { - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder" - } - ], - "doc": null - }, - "docs": { - "description": [] - }, - "isVeloEvent": false, - "customLabels": [ - { - "id": "maturity-beta" - } - ] - }, - { - "name": "descending", - "params": [ - { - "name": "propertyNames", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.", - "required": false - } - ], - "requiredFields": [], - "ret": { - "type": [ - { - "referenceType": "wix-bookings-v2.ServiceOptionsAndVariants.ServiceOptionsAndVariantsListQueryBuilder" - } - ], - "doc": null - }, - "docs": { - "description": [] - }, - "isVeloEvent": false, - "customLabels": [ - { - "id": "maturity-beta" - } - ] - }, { "name": "eq", "params": [ @@ -125,7 +45,7 @@ "docs": { "summary": "Refines a query to match items where the specified property equals the specified value.", "description": [ - "The `eq()` function refines a `ServiceOptionsAndVariantssQueryBuilder` to match only items where the value of the specified `propertyName` equals the specified `value`.", + "The `eq()` function refines a `ServiceOptionsAndVariantsListQueryBuilder` to match only items where the value of the specified `propertyName` equals the specified `value`.", "`eq()` matches only values of the same type. For example, `0` stored as a number doesn't match `'0'` stored as a string.", "Matching strings with `eq()` is case-sensitive, so `'text'` isn't equal to `'Text'`." ], @@ -135,7 +55,7 @@ "body": [ "const query = serviceOptionsAndVariants.queryServiceOptionsAndVariants.eq(", " '_id',", - " '\"some-id\"'", + " 'some-id'", ");", "" ] @@ -148,7 +68,7 @@ "export async function myQueryFunction() {", " const results = await serviceOptionsAndVariants", " .queryServiceOptionsAndVariants()", - " .eq('_id', '\"some-id\"')", + " .eq('_id', 'bb19b637-74ce-55d3-ae32-430b588051da')", " .find();", "", " if (results.items.length > 0) {", @@ -175,7 +95,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "eq" }, { "name": "exists", @@ -211,16 +132,59 @@ "doc": null }, "docs": { - "summary": "", - "description": [], - "examples": [] + "summary": "Refines a query to match items where the specified property contains a value.", + "description": [ + "The `exists()` function refines a `ServiceOptionsAndVariantsListQueryBuilder` to only match items where the value of the specified `propertyName` doesn't equal null or undefined.", + " `exists()` checks for either existence or non-existence based on the boolen parameter. Note that `exists()` does match items where the value of the specified `propertyName` is an empty string or an invalid value. `exists()` is only useful for properties which don't contain default values and therefore their values may be unassigned." + ], + "examples": [ + { + "title": "Add an `exists` filter to a query", + "body": [ + "const query = serviceOptionsAndVariants.queryServiceOptionsAndVariants.exists(", + " 'description',", + " 'some-description'", + ");", + "" + ] + }, + { + "title": "Create a query, add an `exists` filter, and run it", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "", + "export async function myQueryFunction() {", + " const results = await serviceOptionsAndVariants", + " .queryServiceOptionsAndVariants()", + " .exists('description', 'some-description')", + " .find();", + "", + " if (results.items.length > 0) {", + " const items = results.items;", + " const firstItem = items[0];", + " const pageSize = results.pageSize;", + " const hasNext = results.hasNext();", + " const hasPrev = results.hasPrev();", + " const length = results.length;", + " const query = results.query;", + "", + " return items;", + " } else {", + " // Handle if no matching items found", + " }", + "}", + "" + ] + } + ] }, "isVeloEvent": false, "customLabels": [ { "id": "maturity-beta" } - ] + ], + "syntaxName": "exists" }, { "name": "find", @@ -242,7 +206,7 @@ "doc": null }, "docs": { - "summary": "Returns the filtered query results.", + "summary": "Returns the query results.", "description": [ "The `find()` function returns a Promise that resolves to the query results and metadata.", "The Promise is rejected if `find()` is called with insufficient permissions or if any of the previous functions used to refine the query are invalid." @@ -289,7 +253,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "find" }, { "name": "hasSome", @@ -334,7 +299,7 @@ "docs": { "summary": "Refines a query to match items whose specified property contains any of the specified values.", "description": [ - "The `hasSome()` function refines a `ServiceOptionsAndVariantssQueryBuilder` to match only items where the value of the specified `propertyName` equals any of the specified `values`.", + "The `hasSome()` function refines a `ServiceOptionsAndVariantsListQueryBuilder` to match only items where the value of the specified `propertyName` equals any of the specified `values`.", "Matching strings with `hasSome()` is case-sensitive, so `'text'` isn't equal to `'Text'`.", "If the specified property is an array, `hasSome()` matches if any of that array's elements equal any of the specified values." ], @@ -384,7 +349,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "hasSome" }, { "name": "in", @@ -420,16 +386,59 @@ "doc": null }, "docs": { - "summary": "", - "description": [], - "examples": [] + "summary": "Refines a query to only match items where the specified property conatins any of the values in the provided array of values.", + "description": [ + "The `in()` function refines a `ServiceOptionsAndVariantsListQueryBuilder` to match only items where the specified `propertyName` is equal to any of the values in the provided array.", + "Matching strings with `in()` is case-sensitive, so `'text'` isn't equal to `'Text'`." + ], + "examples": [ + { + "title": "Add an `in` filter to a query", + "body": [ + "const query = serviceOptionsAndVariants.queryServiceOptionsAndVariants.in(", + " ['labelIds', 'colors'],", + " ['red', 'blue', 'purple']", + ");", + "" + ] + }, + { + "title": "Create a query, add an `in` filter, and run it", + "body": [ + "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", + "", + "export async function myQueryFunction() {", + " const results = await serviceOptionsAndVariants", + " .queryServiceOptionsAndVariants()", + " .in(['labelIds', 'colors'], ['red', 'blue', 'purple'])", + " .find();", + "", + " if (results.items.length > 0) {", + " const items = results.items;", + " const firstItem = items[0];", + " const pageSize = results.pageSize;", + " const hasNext = results.hasNext();", + " const hasPrev = results.hasPrev();", + " const length = results.length;", + " const query = results.query;", + "", + " return items;", + " } else {", + " // Handle if no matching items found", + " }", + "}", + "" + ] + } + ] }, "isVeloEvent": false, "customLabels": [ { "id": "maturity-beta" } - ] + ], + "syntaxName": "in" }, { "name": "limit", @@ -504,7 +513,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "limit" }, { "name": "ne", @@ -542,7 +552,7 @@ "docs": { "summary": "Refines a query to match items where the specified property doesn't equal the specified value.", "description": [ - "The `ne()` function refines a `ServiceOptionsAndVariantssQueryBuilder` to match only items where the value of the specified `propertyName` doesn't equal the specified `value`.", + "The `ne()` function refines a `ServiceOptionsAndVariantsListQueryBuilder` to match only items where the value of the specified `propertyName` doesn't equal the specified `value`.", "`ne()` matches only values of the same type. For example, `0` stored as a number doesn't match `'0'` stored as a string.", "Matching strings with `ne()` is case-sensitive, so `'text'` isn't equal to `'Text'`." ], @@ -552,7 +562,7 @@ "body": [ "const query = serviceOptionsAndVariants.queryServiceOptionsAndVariants.ne(", " '_id',", - " '\"some-id\"'", + " 'bb19b637-74ce-55d3-ae32-430b588051da'", ");", "" ] @@ -565,7 +575,7 @@ "export async function myQueryFunction() {", " const results = await serviceOptionsAndVariants", " .queryServiceOptionsAndVariants()", - " .ne('_id', '\"some-id\"')", + " .ne('_id', 'bb19b637-74ce-55d3-ae32-430b588051da')", " .find();", "", " if (results.items.length > 0) {", @@ -592,7 +602,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "ne" }, { "name": "skipTo", @@ -618,15 +629,15 @@ "doc": null }, "docs": { - "summary": "Refines a query that skips to a specific record", + "summary": "Refines a query that skips to a specific record.", "description": [ - "The `skipTo()` function refines a `ServiceOptionsAndVariantssQueryBuilder` that point to a specific record. You can get the relevant cursor token from `cursors` object in previous call's response.", - "Not relevant fot the first request.", - "Following requests use the cursor token and not a filter property" + "The `skipTo()` function refines a `ServiceOptionsAndVariantsListQueryBuilder` to return items that appear before or after the item pointed to by the provided cursor. Get the relevant cursor for a specific item from the `cursors` object in previous call's response. Then you can skip to `cursors.prev` to return items before the cursor, or `cursors.next` to return items after the cursor.", + " ", + "When using `skipTo()`, the filters and the sorting order of the original query can't be changed. Only the `limit()` property of the query can be changed." ], "examples": [ { - "title": "Perform a query and skip to next cursor", + "title": "Perform a query and skip to the next cursor", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", "", @@ -645,17 +656,19 @@ ] }, { - "title": "Perform a query and get `prev` from the result", + "title": "Perform a query and skip to the previous cursor", "body": [ "import { serviceOptionsAndVariants } from 'wix-bookings.v2';", "", "export async function myQueryFunction() {", - " const results =", - " await serviceOptionsAndVariants.queryServiceOptionsAndVariants();", + " const results = await serviceOptionsAndVariants", + " .queryServiceOptionsAndVariants()", + " .find();", + "", " const prevCursor = results.cursors.prev;", " return serviceOptionsAndVariants", " .queryServiceOptionsAndVariants()", - " .skipTo(prev)", + " .skipTo(prevCursor)", " .find();", "}", "" @@ -668,7 +681,8 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "skipTo" } ], "messages": [] diff --git a/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryResult.service.json b/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryResult.service.json index 86162a7c21..edb6302f1e 100644 --- a/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryResult.service.json +++ b/wix-bookings-v2/wix-bookings-v2/ServiceOptionsAndVariants/ServiceOptionsAndVariantsListQueryResult.service.json @@ -16,9 +16,9 @@ } ], "docs": { - "summary": "Returns the query cursors", + "summary": "Returns the query cursors.", "description": [ - "`cursors` returns the query `next` and `prev` cursors" + "`cursors` returns the query's `next` and `prev` cursors." ], "examples": [ { @@ -58,7 +58,7 @@ "description": [ "`items` contains the current page of results retrieved by the query.", "If no results match the query, `items` is an empty array.", - "The page size is defined by the [`limit()`](#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result." + "The page size is defined by the [`limit()`](wix-bookings-v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantsListQueryBuilder#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result." ], "examples": [ { @@ -103,7 +103,7 @@ "summary": "Returns the number of items in the current page of results.", "description": [ "`length` returns just the number of items in the current page, not the total number of items that match the query. For the total number of items that match the query, see [`totalCount`](#totalcount).", - "The page size is defined by the [`limit()`](#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result." + "The page size is defined by the [`limit()`](wix-bookings-v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantsListQueryBuilder#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result." ], "examples": [ { @@ -141,7 +141,7 @@ "docs": { "summary": "Returns the requested page size.", "description": [ - "`pageSize` returns the page size set in [`limit()`](#limit) in `ServiceOptionsAndVariantssQueryBuilder`." + "`pageSize` returns the page size set in [`limit()`](wix-bookings-v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantsListQueryBuilder#limit) in `ServiceOptionsAndVariantsListQueryBuilder`." ], "examples": [ { @@ -177,9 +177,9 @@ } ], "docs": { - "summary": "Returns the `ServiceOptionsAndVariantssQueryBuilder` object used to get the current results.", + "summary": "Returns the `ServiceOptionsAndVariantsListQueryBuilder` object used to get the current results.", "description": [ - "Use `query` to create and run a new query by chaining additional `ServiceOptionsAndVariantssQueryBuilder` functions to it. You can filter only on properties that haven't already been used in the previous `ServiceOptionsAndVariantssQueryBuilder`." + "Use `query` to create and run a new query by chaining additional `ServiceOptionsAndVariantsListQueryBuilder` functions to it. You can filter only on properties that haven't already been used in the previous `ServiceOptionsAndVariantsListQueryBuilder`." ], "examples": [ { @@ -251,7 +251,8 @@ } ] }, - "isVeloEvent": false + "isVeloEvent": false, + "syntaxName": "hasNext" }, { "name": "hasPrev", @@ -295,7 +296,8 @@ } ] }, - "isVeloEvent": false + "isVeloEvent": false, + "syntaxName": "hasPrev" }, { "name": "next", @@ -320,8 +322,8 @@ "summary": "Retrieves the next page of query results.", "description": [ "The `next()` function retrieves the next page of query results.", - "The page size is defined by the [`limit()`](#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result.", - "If items are added or removed between calls to `next()`, the values returned by `ServiceOptionsAndVariantssQueryBuilder` may change." + "The page size is defined by the [`limit()`](wix-bookings-v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantsListQueryBuilder#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result.", + "If items are added or removed between calls to `next()`, the values returned by `ServiceOptionsAndVariantsListQueryBuilder` may change." ], "examples": [ { @@ -372,7 +374,8 @@ } ] }, - "isVeloEvent": false + "isVeloEvent": false, + "syntaxName": "next" }, { "name": "prev", @@ -397,7 +400,7 @@ "summary": "Retrieves the previous page of query results.", "description": [ "The `prev()` function retrieves the previous page of query results.", - "The page size is defined by the [`limit()`](#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result.", + "The page size is defined by the [`limit()`](wix-bookings-v2.ServiceOptionsAndVariantsList.ServiceOptionsAndVariantsListQueryBuilder#limit) function and can be retrieved using the [`pageSize`](#pagesize) property. You can use the [`next()`](#next) and [`prev()`](#prev) functions returned by `serviceOptionsAndVariants` to navigate the pages of a query result.", "If items are added or removed between calls to `prev()`, the values returned may change." ], "examples": [ @@ -425,7 +428,8 @@ } ] }, - "isVeloEvent": false + "isVeloEvent": false, + "syntaxName": "prev" } ], "messages": [] diff --git a/wix-bookings-v2/wix-bookings-v2/Services.service.json b/wix-bookings-v2/wix-bookings-v2/Services.service.json index 15ca2e09ad..099cddef0c 100644 --- a/wix-bookings-v2/wix-bookings-v2/Services.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Services.service.json @@ -9,6 +9,726 @@ "relatedGuides": [], "properties": [], "operations": [ + { + "name": "countServices", + "params": [ + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CountServicesOptions" + } + ], + "doc": "", + "required": false + } + ], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.CountServicesResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Retrieves the number of services that match the provided filters.", + "description": [], + "examples": [ + { + "title": "Count visible services. ", + "body": [ + "", + "import { services } from 'wix-bookings.v2';", + "", + "async function countVisibleServices() {", + " const result = await services.countServices({ filter: { hidden: false } })", + " return result.count;", + "}", + "", + "/* Promise resolves to: 2 */", + "" + ], + "extra": { + "description": "Count the number of visible services." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "countServices", + "isAdminMethod": true + }, + { + "name": "createService", + "params": [ + { + "name": "service", + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ], + "doc": "Service to be created.", + "required": true + } + ], + "requiredFields": [ + "service" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ] + } + } + ], + "doc": "The created service.\n" + }, + "docs": { + "summary": "Creates a new service.", + "description": [], + "examples": [ + { + "title": "Create a class service ", + "body": [ + "", + "import { services } from 'wix-bookings.v2';", + "import { categories } from 'wix-bookings.v1';", + "", + "async function getFirstCategory() {", + " const response = await categories.listCategories();", + " return response.categories[0]", + "}", + "", + "async function createClass() {", + " const category = await getFirstCategory();", + "", + " const serviceToBeCreated = {", + " type: services.ServiceType.CLASS,", + " 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: 30,", + " category: category,", + " media: {", + " mainMedia: {", + " image: \"wix:image://v1/4b3901ffcb8d7ad81a613779d92c9702.jpg#originWidth=800&originHeight=1000\"", + " }", + " },", + " payment: {", + " rateType: services.RateType.FIXED,", + " fixed: {", + " price: {", + " value: \"25\",", + " currency: \"USD\"", + " }", + " },", + " options: {", + " online: true,", + " inPerson: false,", + " deposit: false,", + " pricingPlan: false", + " }", + " },", + " onlineBooking: {", + " enabled: true", + " },", + " }", + "", + " const newService = await services.createService(serviceToBeCreated);", + "", + " console.log('Success! Created a new service:', newService);", + "", + " return newService;", + "}", + "", + "/* Promise resolves to:", + " * {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 3,", + " \"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\": 30,", + " \"media\": {", + " \"items\": [],", + " \"mainMedia\": {", + " \"image\": \"wix:image://v1/4b3901ffcb8d7ad81a613779d92c9702.jpg/4b3901ffcb8d7ad81a613779d92c9702.jpg#originWidth=800&originHeight=1000\"", + " }", + " },", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"8d9560d3-72b9-45c0-a16d-1e73f7d38e11\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://www.example.com/services-v2-test/service-page/group-cat-hugging\",", + " \"bookingPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging\",", + " \"calendarPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"1204a214-d1fb-41c8-886a-1ec461b990dd\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + "}", + " */" + ], + "extra": { + "description": "Create a class with a capacity of 30 people." + } + }, + { + "title": "Create an appointment service ", + "body": [ + "import { services } from 'wix-bookings.v2';", + "import { categories } from 'wix-bookings.v1';", + "", + "async function getFirstCategory() {", + " const response = await categories.listCategories();", + " return response.categories[0]", + "}", + "", + "async function createAppointment(staffMemberIds) {", + "", + " const category = await getFirstCategory();", + "", + " const serviceToBeCreated = {", + " type: services.ServiceType.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!\",", + " category: category,", + " media: {", + " mainMedia: {", + " image: \"wix:image://v1/4b3901ffcb8d7ad81a613779d92c9702.jpg/#originWidth=800&originHeight=1000\"", + " }", + " },", + " payment: {", + " rateType: services.RateType.FIXED,", + " fixed: {", + " price: {", + " value: \"25\",", + " currency: \"USD\"", + " }", + " },", + " options: {", + " online: true,", + " inPerson: false,", + " deposit: false,", + " pricingPlan: false", + " },", + " },", + " staffMemberIds: staffMemberIds", + " }", + "", + " const newService = await services.createService(serviceToBeCreated);", + "", + " console.log('Success! Created a new service:', newService);", + "", + " return newService;", + "}", + "", + "/* Promise resolves to:", + " * {", + " \"type\": \"APPOINTMENT\",", + " \"sortOrder\": 3,", + " \"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\": 30,", + " \"media\": {", + " \"items\": [],", + " \"mainMedia\": {", + " \"image\": \"wix:image://v1/4b3901ffcb8d7ad81a613779d92c9702.jpg/4b3901ffcb8d7ad81a613779d92c9702.jpg#originWidth=800&originHeight=1000\"", + " }", + " },", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"8d9560d3-72b9-45c0-a16d-1e73f7d38e11\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://www.example.com/services-v2-test/service-page/group-cat-hugging\",", + " \"bookingPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging\",", + " \"calendarPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"1204a214-d1fb-41c8-886a-1ec461b990dd\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " }", + " */", + "" + ], + "extra": { + "description": "Create an appointment provided by specific staff members." + } + }, + { + "title": "Create a course service ", + "body": [ + "import { services } from 'wix-bookings.v2';", + "import { categories } from 'wix-bookings.v1';", + "", + "async function getFirstCategory() {", + " const response = await categories.listCategories();", + " return response.categories[0]", + "}", + "", + "async function createCourse() {", + "", + " const category = await getFirstCategory();", + "", + " const serviceToBeCreated = {", + " type: services.ServiceType.COURSE,", + " name: \"Cat Hugging Training\",", + " description: \"Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will train you to become the best cat hugger around.\",", + " tagLine: \"Get some purr therapy training with our cat hugging experts\",", + " defaultCapacity: 30,", + " category: category,", + " media: {", + " mainMedia: {", + " image: \"wix:image://v1/4b3901ffcb8d7ad81a613779d92c9702.jpg/#originWidth=800&originHeight=1000\"", + " }", + " },", + " payment: {", + " rateType: services.RateType.FIXED,", + " fixed: {", + " price: {", + " value: \"150\",", + " currency: \"USD\"", + " }", + " },", + " options: {", + " online: true,", + " inPerson: false,", + " deposit: false,", + " pricingPlan: false", + " },", + " },", + " onlineBooking: {", + " enabled: true", + " },", + " }", + "", + " const newService = await services.createService(serviceToBeCreated);", + "", + " console.log('Success! Created a new service:', newService);", + "", + " return newService;", + "}", + "", + "/* Promise resolves to:", + " * {", + " \"type\": \"COURSE\",", + " \"sortOrder\": 3,", + " \"name\": \"Cat Hugging Training\",", + " \"description\": \"Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will train you to become the best cat hugger around.\".", + " \"tagLine\": \"Get some purr therapy training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"media\": {", + " \"items\": [],", + " \"mainMedia\": {", + " \"image\": \"wix:image://v1/4b3901ffcb8d7ad81a613779d92c9702.jpg/4b3901ffcb8d7ad81a613779d92c9702.jpg#originWidth=800&originHeight=1000\"", + " }", + " },", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"8d9560d3-72b9-45c0-a16d-1e73f7d38e11\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://www.example.com/services-v2-test/service-page/group-cat-hugging\",", + " \"bookingPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging\",", + " \"calendarPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"1204a214-d1fb-41c8-886a-1ec461b990dd\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:15:30 GMT+0100 (Central European Standard Time)\"", + " }", + " */", + "" + ], + "extra": { + "description": "Create a course that can accommodate 30 people." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "createService", + "isAdminMethod": true + }, + { + "name": "deleteService", + "params": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to delete.", + "required": true + }, + { + "name": "options", + "type": [ + { + "referenceType": "wix-bookings-v2.Services.DeleteServiceOptions" + } + ], + "doc": "Allows you to configure how to handle the deleted service's future sessions and how to notify the sessions participants.", + "required": false + } + ], + "requiredFields": [ + "serviceId" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "nativeType": "void" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Deletes a service.", + "description": [], + "examples": [ + { + "title": "Delete a service @description:", + "body": [ + "import { services } from 'wix-bookings.v2';", + "", + "/*", + " * Sample serviceID value: 'ff61204b-b19a-5cc8-823b-7eed8ae5fc28'", + " */", + "async function deleteService(serviceID) {", + " await services.deleteService(serviceID);", + " console.log('Deleted the service');", + "}", + "", + "/* Promise resolves to void */", + "" + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "deleteService", + "isAdminMethod": true + }, { "name": "getService", "params": [ @@ -49,17 +769,138 @@ "title": "Retrieve a service ", "body": [ "import { services } from 'wix-bookings.v2';", - " ", + "", + "/*", + " * Sample serviceId value: 'ff61204b-b19a-5cc8-823b-7eed8ae5fc28'", + " */", "async function getService(serviceId) {", " try {", - " const result = await services.getService(serviceId);", - " return result;", + " return services.getService(serviceId);", " } catch (error) {", " console.error(error);", " // Handle the error", " }", "}", - " " + "", + "/* Promise resolves to:", + " * {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 4,", + " \"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\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " },", + " \"deposit\": {", + " \"value\": \"5\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"81aa34a4-0cbc-4476-b8ec-62878024cd97\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://www.example.com/services-v2-test/service-page/group-cat-hugging-1\",", + " \"bookingPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging-1\",", + " \"calendarPage\": \"https://www.example.com/services-v2-test/booking-calendar/group-cat-hugging-1\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"fad1a29c-d06b-4ce7-ab80-98c54c4e0772\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\"", + " }", + " */", + "" ] } ] @@ -95,6 +936,8 @@ ">**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.", + "", + "", "|PROPERTY\t|SUPPORTED FILTERS & SORTING\t", "|:---:|:---:|", "|`type`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome)|", @@ -103,13 +946,14 @@ "|`tagLine`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|", "|`hidden`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome)|", "|`category.id`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|", + "|`category.name`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|", "|`form.id`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|", "|`payment.options.online`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome)|", "|`payment.options.inPerson`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome)|", "|`payment.options.pricingPlan`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome)|", "|`onlineBooking.enabled`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome)|", - "|`staffMembersIds`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`hasAll()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasAll)|", "|`locations.business.id`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|", + "|`staffMemberIds`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`hasAll()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasAll)|", "|`supportedSlugs.name`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|", "|`mainSlug.name`|[`eq()`](wix-bookings-v2.Services.ServicesQueryBuilder#eq),[`ne()`](wix-bookings-v2.Services.ServicesQueryBuilder#ne),[`exists()`](wix-bookings-v2.Services.ServicesQueryBuilder#exists),[`in()`](wix-bookings-v2.Services.ServicesQueryBuilder#in),[`hasSome()`](wix-bookings-v2.Services.ServicesQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Services.ServicesQueryBuilder#startsWith)|" ], @@ -118,12 +962,244 @@ "title": "Query services with default settings ", "body": [ "", - "import { services } from 'wix-bookings.v2';", + "import {services} from 'wix-bookings.v2';", "", - "export async function queryServices() {", - " const result = await services.queryServices().find().items;", - " return result;", + "async function queryServices() {", + " const result = await services.queryServices().find()", + " return result.items;", "}", + "", + "/* Promise resolves to:", + " [", + " {", + " \"type\": \"COURSE\",", + " \"sortOrder\": 5,", + " \"name\": \"Cat Hugging Training\",", + " \"description\": \"Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will train you to become the best cat hugger around.\",", + " \"tagLine\": \"Get some purr therapy training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"150\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"326e4696-bef0-4e37-83ad-db33236f1106\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"2e226dda-ba40-4565-b984-d7425a603e4c\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 4,", + " \"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\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " },", + " \"deposit\": {", + " \"value\": \"5\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"81aa34a4-0cbc-4476-b8ec-62878024cd97\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/group-cat-hugging-1\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\",", + " \"calendarPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"fad1a29c-d06b-4ce7-ab80-98c54c4e0772\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\"", + " }", + " ]", + " */", "" ], "extra": { @@ -134,15 +1210,250 @@ "title": "Filter services by category ID", "body": [ "", - "import { services } from 'wix-bookings.v2';", + "import {services} from 'wix-bookings.v2';", "", - "export async function filterServicesByCategoryId(categoryId) {", + "/*", + " * Sample categoryId value: '99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c'", + " */", + "async function filterServicesByCategoryId(categoryId) {", " const result = await services.queryServices()", " .eq(\"category.id\", categoryId)", " .find()", - " .items", - " return result;", + "", + " return result.items;", "}", + "", + "/* Promise resolves to:", + " [", + " {", + " \"type\": \"COURSE\",", + " \"sortOrder\": 5,", + " \"name\": \"Cat Hugging Training\",", + " \"description\": \"Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will train you to become the best cat hugger around.\",", + " \"tagLine\": \"Get some purr therapy training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"150\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"326e4696-bef0-4e37-83ad-db33236f1106\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"2e226dda-ba40-4565-b984-d7425a603e4c\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 4,", + " \"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\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " },", + " \"deposit\": {", + " \"value\": \"5\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"81aa34a4-0cbc-4476-b8ec-62878024cd97\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/group-cat-hugging-1\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\",", + " \"calendarPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"fad1a29c-d06b-4ce7-ab80-98c54c4e0772\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\"", + " }", + " ]", + " */", "" ] }, @@ -150,15 +1461,247 @@ "title": "Sort services alphabetically by name ", "body": [ "", - "import { services } from 'wix-bookings.v2';", + "import {services} from 'wix-bookings.v2';", "", - "export async function getServicesSorted() {", + "async function getServicesSorted() {", " const result = await services.queryServices()", " .ascending(\"name\")", " .find()", - " .items", - " return result;", + "", + " return result.items;", "}", + "", + "/* Promise resolves to:", + " [", + " {", + " \"type\": \"COURSE\",", + " \"sortOrder\": 5,", + " \"name\": \"Cat Hugging Training\",", + " \"description\": \"Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will train you to become the best cat hugger around.\",", + " \"tagLine\": \"Get some purr therapy training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"150\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"326e4696-bef0-4e37-83ad-db33236f1106\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"2e226dda-ba40-4565-b984-d7425a603e4c\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 4,", + " \"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\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " },", + " \"deposit\": {", + " \"value\": \"5\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"81aa34a4-0cbc-4476-b8ec-62878024cd97\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/group-cat-hugging-1\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\",", + " \"calendarPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"fad1a29c-d06b-4ce7-ab80-98c54c4e0772\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\"", + " }", + " ]", + " */", "" ] }, @@ -166,17 +1709,250 @@ "title": "Filter services by `mainSlug.name` ", "body": [ "", - "import { path } from 'wix-location';", - "import { services } from 'wix-bookings.v2';", + "import {path} from 'wix-location';", + "import {services} from 'wix-bookings.v2';", "", "export async function getServiceFromPath() {", " const [serviceNameInUrl] = path;", - " const response = await services.queryServices()", + " const result = await services.queryServices()", " .eq(\"mainSlug.name\", serviceNameInUrl)", " .limit(1)", - " .find()", - " return response.items[0];", + " .find();", + "", + " return result.items[0];", "}", + "", + "/* Promise resolves to:", + " [", + " {", + " \"type\": \"COURSE\",", + " \"sortOrder\": 5,", + " \"name\": \"Cat Hugging Training\",", + " \"description\": \"Introducing the Purrfect Hug - the ultimate cat cuddling experience! Our team of expert cuddlers will train you to become the best cat hugger around.\",", + " \"tagLine\": \"Get some purr therapy training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"150\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"326e4696-bef0-4e37-83ad-db33236f1106\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"cat-hugging-training\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/cat-hugging-training\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"2e226dda-ba40-4565-b984-d7425a603e4c\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:29:55 GMT+0100 (Central European Standard Time)\"", + " },", + " {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 4,", + " \"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\": 30,", + " \"hidden\": false,", + " \"category\": {", + " \"name\": \"Our Services\",", + " \"sortOrder\": 0,", + " \"_id\": \"99b3c3af-3dd1-4fcd-8d97-2fcedcb2908c\"", + " },", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"25\",", + " \"currency\": \"USD\"", + " },", + " \"deposit\": {", + " \"value\": \"5\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"81aa34a4-0cbc-4476-b8ec-62878024cd97\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"group-cat-hugging-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:11 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://nitayr7.editorx.io/services-v2-test/service-page/group-cat-hugging-1\",", + " \"bookingPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\",", + " \"calendarPage\": \"https://nitayr7.editorx.io/services-v2-test/booking-calendar/group-cat-hugging-1\"", + " },", + " \"revision\": \"1\",", + " \"_id\": \"fad1a29c-d06b-4ce7-ab80-98c54c4e0772\",", + " \"_createdDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Tue Jan 16 2024 17:20:12 GMT+0100 (Central European Standard Time)\"", + " }", + " ]", + " */", "" ], "extra": { @@ -192,51 +1968,413 @@ } ], "syntaxName": "queryServices" - } - ], - "messages": [ - { - "name": "ActionEvent", - "members": [ - { - "name": "bodyAsJson", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } }, { - "name": "Address", - "members": [ + "name": "updateService", + "params": [ { - "name": "addressLine", - "optional": true, + "name": "_id", "type": [ { "nativeType": "string" } ], - "doc": "Main address line, usually street and number as free text." + "doc": "Service ID.", + "required": true }, { - "name": "addressLine1", - "optional": true, + "name": "service", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.UpdateService" } ], - "doc": "Main address line, usually street and number as free text." + "doc": "", + "required": true + } + ], + "requiredFields": [ + "_id", + "service", + "service.revision" + ], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ] + } + } + ], + "doc": "The updated service.\n" + }, + "docs": { + "summary": "Updates a service.", + "description": [ + "[Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported.\n\nEach time the service is updated, `revision` increments by 1. You must include the\nnumber of the existing revision when\nupdating the service. This ensures you're working with the\nlatest service information and prevents unintended overwrites." + ], + "examples": [ + { + "title": "Update a service with a full update ", + "body": [ + "import { services } from 'wix-bookings.v2';", + "", + "async function updateService() {", + " const serviceToBeCreated = {", + " type: services.ServiceType.APPOINTMENT,", + " name: \"Cat Hugging Training\",", + " 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 training with our cat hugging experts\",", + " defaultCapacity: 30,", + " payment: {", + " rateType: services.RateType.FIXED,", + " fixed: {", + " price: {", + " value: \"150\",", + " currency: \"USD\"", + " }", + " },", + " options: {", + " online: true,", + " inPerson: false,", + " deposit: false,", + " pricingPlan: false", + " },", + " },", + " onlineBooking: {", + " enabled: true", + " },", + " }", + "", + " const newName = \"Cat Hugging Training - Advanced\";", + " const createdService = await services.createService(serviceToBeCreated);", + " const updatedService = await services.updateService(createdService._id, {...createdService, name: newName});", + "", + " console.log('Success! Updated a service:', updatedService);", + "", + " return updatedService;", + "}", + "", + "/* Promise resolves to:", + " * {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 0,", + " \"name\": \"Cat Hugging Training - Advanced\",", + " \"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 training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"hidden\": false,", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"150\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"8bf39bc0-a05a-49ff-9ee3-fc29d698988d\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"cat-hugging-training-advanced\",", + " \"custom\": false,", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:28 GMT+0100 (Central European Standard Time)\"", + " },", + " {", + " \"name\": \"cat-hugging-training-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:27 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"cat-hugging-training-advanced\",", + " \"custom\": false,", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:28 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://www.example.com/services-v2-test/service-page/cat-hugging-training-advanced\",", + " \"bookingPage\": \"https://www.example.com/services-v2-test/booking-calendar/cat-hugging-training-advanced\",", + " \"calendarPage\": \"https://www.example.com/services-v2-test/booking-calendar/cat-hugging-training-advanced\"", + " },", + " \"revision\": \"2\",", + " \"_id\": \"a262b133-e7a1-4498-a722-8340ed3f3db3\",", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:27 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Wed Jan 17 2024 09:37:28 GMT+0100 (Central European Standard Time)\"", + " }", + " */", + "" + ], + "extra": { + "description": "Update a service given the entire service, with the changes applied." + } + }, + { + "title": "Update a service with a partial update ", + "body": [ + "import { services } from 'wix-bookings.v2';", + "", + "/*", + " * Sample serviceId value: 'ff61204b-b19a-5cc8-823b-7eed8ae5fc28'", + " * Sample serviceName value: 'Cat Hugging Training - Advanced'", + " * Sample serviceRevision value: 1", + " */", + "async function updateServiceName(serviceId, serviceName, serviceRevision) {", + " const updatedService = await services.updateService(serviceId, {", + " id: serviceId, name: serviceName, revision: serviceRevision", + " });", + "", + " console.log('Success! Updated the service name:', updatedService, serviceName);", + "", + " return updatedService;", + "}", + "", + "/* Promise resolves to:", + " * {", + " \"type\": \"CLASS\",", + " \"sortOrder\": 0,", + " \"name\": \"Cat Hugging Training - Advanced\",", + " \"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 training with our cat hugging experts\",", + " \"defaultCapacity\": 30,", + " \"hidden\": false,", + " \"payment\": {", + " \"rateType\": \"FIXED\",", + " \"fixed\": {", + " \"price\": {", + " \"value\": \"150\",", + " \"currency\": \"USD\"", + " }", + " },", + " \"options\": {", + " \"online\": true,", + " \"inPerson\": false,", + " \"deposit\": false,", + " \"pricingPlan\": false", + " },", + " \"pricingPlanIds\": []", + " },", + " \"onlineBooking\": {", + " \"enabled\": true", + " },", + " \"locations\": [", + " {", + " \"type\": \"BUSINESS\"", + " }", + " ],", + " \"bookingPolicy\": {", + " \"revision\": \"1\",", + " \"name\": \"Default policy\",", + " \"customPolicyDescription\": {", + " \"enabled\": true,", + " \"description\": \"\"", + " },", + " \"default\": true,", + " \"limitEarlyBookingPolicy\": {", + " \"enabled\": false,", + " \"earliestBookingInMinutes\": 10080", + " },", + " \"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\": true,", + " \"maxParticipantsPerBooking\": 1", + " },", + " \"resourcesPolicy\": {", + " \"enabled\": false,", + " \"autoAssignAllowed\": false", + " },", + " \"_id\": \"ede8ad9e-44e1-480e-833f-542aea019bd0\",", + " \"_createdDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Thu Dec 14 2023 16:14:33 GMT+0100 (Central European Standard Time)\"", + " },", + " \"schedule\": {", + " \"_id\": \"8bf39bc0-a05a-49ff-9ee3-fc29d698988d\"", + " },", + " \"staffMemberIds\": [],", + " \"staffMembers\": [],", + " \"resourceGroups\": [],", + " \"serviceResources\": [],", + " \"supportedSlugs\": [", + " {", + " \"name\": \"cat-hugging-training-advanced\",", + " \"custom\": false,", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:28 GMT+0100 (Central European Standard Time)\"", + " },", + " {", + " \"name\": \"cat-hugging-training-1\",", + " \"custom\": false,", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:27 GMT+0100 (Central European Standard Time)\"", + " }", + " ],", + " \"mainSlug\": {", + " \"name\": \"cat-hugging-training-advanced\",", + " \"custom\": false,", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:28 GMT+0100 (Central European Standard Time)\"", + " },", + " \"urls\": {", + " \"servicePage\": \"https://www.example.com/services-v2-test/service-page/cat-hugging-training-advanced\",", + " \"bookingPage\": \"https://www.example.com/services-v2-test/booking-calendar/cat-hugging-training-advanced\",", + " \"calendarPage\": \"https://www.example.com/services-v2-test/booking-calendar/cat-hugging-training-advanced\"", + " },", + " \"revision\": \"2\",", + " \"_id\": \"a262b133-e7a1-4498-a722-8340ed3f3db3\",", + " \"_createdDate\": \"Wed Jan 17 2024 09:37:27 GMT+0100 (Central European Standard Time)\",", + " \"_updatedDate\": \"Wed Jan 17 2024 09:37:28 GMT+0100 (Central European Standard Time)\"", + " }", + " */", + "" + ], + "extra": { + "description": "Update a service given only the fields that need to be updated. For example, update only the service name." + } + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "updateService", + "isAdminMethod": true + } + ], + "messages": [ + { + "name": "ActionEvent", + "members": [ + { + "name": "bodyAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Address", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number as free text." + }, + { + "name": "addressLine1", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number as free text." }, { "name": "city", @@ -258,6 +2396,16 @@ ], "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, { "name": "postalCode", "optional": true, @@ -306,6 +2454,36 @@ ] } }, + { + "name": "AddressHint", + "members": [ + { + "name": "placement", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Where the extra text should be displayed." + }, + { + "name": "text", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Extra text displayed next to, or instead of, the actual address." + } + ], + "docs": { + "description": [ + "Extra information on displayed addresses.\nThis is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\nFree text. In addition the user can state where he wants that additional description - before, after, or instead\nthe address string." + ] + } + }, { "name": "AddressLocation", "members": [ @@ -367,133 +2545,114 @@ } }, { - "name": "ApplicationError", + "name": "Aggregation", "members": [ { - "name": "code", + "name": "dateHistogram", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.DateHistogramAggregation" } ], - "doc": "Error code." + "doc": "" }, { - "name": "data", + "name": "fieldPath", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "Data related to the error." + "doc": "" }, { - "name": "description", + "name": "groupBy", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.GroupByAggregation" } ], - "doc": "Description of the error." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Availability", - "members": [ + "doc": "" + }, { - "name": "constraints", + "name": "name", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1AvailabilityConstraints" + "nativeType": "string" } ], - "doc": "Constraints for calculating the schedule's availability." + "doc": "" }, { - "name": "end", + "name": "nested", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Services.NestedAggregation" } ], - "doc": "Date and time the schedule stops being available for booking. No value indicates no end time." + "doc": "" }, { - "name": "linkedSchedules", + "name": "range", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.LinkedSchedule" - } - ] - } + "referenceType": "wix-bookings-v2.Services.RangeAggregation" } ], - "doc": "Other schedules that impact the availability calculation. Relevant only when there are availability constraints." + "doc": "" }, { - "name": "start", + "name": "scalar", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Services.ScalarAggregation" } ], - "doc": "Date and time the schedule starts to be available for booking." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "AvailabilityConstraints", - "members": [ + "doc": "" + }, { - "name": "sessionDurations", + "name": "type", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "number" - } - ] - } + "nativeType": "string" } ], - "doc": "A list of duration options for sessions, in minutes.\n\nThe availability calculation generates slots for sessions with these durations, unless there is a conflict with existing sessions or other availability constraints exist.\nRequired for services of type `APPOINTMENT` to allow the customer to book a session of the service. Not relevant for other service types.\n\n\nMin: 1 minute\n" + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'NESTED'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" }, { - "name": "timeBetweenSessions", + "name": "value", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.ValueAggregation" } ], - "doc": "The number of minutes between the end of a session and the start of the next.\n\nMin: 0 minutes\nMax: 720 minutes\n" + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAggregationKindOneOf", + "members": [ + "dateHistogram", + "nested", + "range", + "scalar", + "value" + ] + } + ] + }, "docs": { "description": [ "" @@ -501,108 +2660,84 @@ } }, { - "name": "AvailabilityPolicy", + "name": "AggregationData", "members": [ { - "name": "splitInterval", + "name": "results", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SplitInterval" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.AggregationResults" + } + ] + } } ], - "doc": "Specify how to split the schedule slots in intervals of minutes." + "doc": "key = aggregation name (as derived from search request)" } ], "docs": { "description": [ - "Availability policy applied to all site schedules." + "" ] } }, { - "name": "AvailabilityPolicyUpdated", + "name": "AggregationKindOneOf", "members": [ { - "name": "availabilityPolicy", + "name": "dateHistogram", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.AvailabilityPolicy" + "referenceType": "wix-bookings-v2.Services.DateHistogramAggregation" } ], "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Behavior", - "members": [ + }, { - "name": "defaultBehavior", + "name": "nested", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntryPass" + "referenceType": "wix-bookings-v2.Services.NestedAggregation" } ], - "doc": "Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events." + "doc": "" }, { - "name": "discount", + "name": "range", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Discount" + "referenceType": "wix-bookings-v2.Services.RangeAggregation" } ], - "doc": "Discount applied to paid resources" - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfBehaviorBehaviorOneOf", - "members": [ - "defaultBehavior", - "discount" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BehaviorBehaviorOneOf", - "members": [ + "doc": "" + }, { - "name": "defaultBehavior", + "name": "scalar", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntryPass" + "referenceType": "wix-bookings-v2.Services.ScalarAggregation" } ], - "doc": "Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events." + "doc": "" }, { - "name": "discount", + "name": "value", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Discount" + "referenceType": "wix-bookings-v2.Services.ValueAggregation" } ], - "doc": "Discount applied to paid resources" + "doc": "" } ], "docs": { @@ -612,108 +2747,114 @@ } }, { - "name": "Benefit", + "name": "AggregationResults", "members": [ { - "name": "_id", - "readOnly": true, + "name": "dateHistogram", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.DateHistogramResults" } ], - "doc": "Benefit unique ID" + "doc": "" }, { - "name": "appDefId", - "readOnly": true, + "name": "fieldPath", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Id of the app associated with this benefit" + "doc": "" }, { - "name": "behavior", + "name": "groupedByValue", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Behavior" + "referenceType": "wix-bookings-v2.Services.GroupByValueResults" } ], - "doc": "Benefit behavior" + "doc": "" }, { - "name": "benefitType", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Benefit Type" + "doc": "" }, { - "name": "creditAmount", + "name": "nested", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.NestedResults" } ], - "doc": "Amount of credits that provided by this benefit" + "doc": "" }, { - "name": "customFields", + "name": "ranges", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Services.RangeResults" } ], - "doc": "additional details related to benefit; limited to 20 entries, 20 symbols for key and 20 symbols for value" + "doc": "" }, { - "name": "editable", + "name": "scalar", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.ScalarResult" } ], - "doc": "return value only in case it required in the ListRequest, true means that benefit's type could be updated" + "doc": "" }, { - "name": "resourceIds", + "name": "type", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "Resource IDs that serves by this benefit" + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'NESTED'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" + }, + { + "name": "values", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ValueResults" + } + ], + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAggregationResultsResultOneOf", + "members": [ + "dateHistogram", + "groupedByValue", + "nested", + "ranges", + "scalar", + "values" + ] + } + ] + }, "docs": { "description": [ "" @@ -721,277 +2862,312 @@ } }, { - "name": "BenefitNotification", + "name": "AggregationResultsResultOneOf", "members": [ { - "name": "appDefId", + "name": "dateHistogram", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.DateHistogramResults" } ], - "doc": "App def ID" + "doc": "" }, { - "name": "benefit", + "name": "groupedByValue", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Benefit" + "referenceType": "wix-bookings-v2.Services.GroupByValueResults" } ], - "doc": "Current benefit details" + "doc": "" }, { - "name": "event", + "name": "nested", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.NestedResults" } ], - "doc": "Notification event" + "doc": "" }, { - "name": "planId", + "name": "ranges", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.RangeResults" } ], - "doc": "Plan unique ID" + "doc": "" }, { - "name": "prevBenefit", + "name": "scalar", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Benefit" + "referenceType": "wix-bookings-v2.Services.ScalarResult" } ], - "doc": "Previous benefit" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BookAfterStartPolicy", - "members": [ + "doc": "" + }, { - "name": "enabled", + "name": "values", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.ValueResults" } ], - "doc": "Whether booking is allowed after the start of the schedule. When `true`,\ncustomers can book after the start of the schedule.\n\nDefault: `false`\n" + "doc": "" } ], "docs": { "description": [ - "The policy for whether a session can be booked after the start of the schedule.\nThis policy and `LimitLateBookingPolicy` cannot be enabled at the same time. So if this policy\nis enabled, the `LimitLateBookingPolicy` policy must be disabled." + "" ] } }, { - "name": "BookingPolicy", + "name": "ApplicationError", "members": [ { - "name": "_createdDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Date and time the policy was created." - }, - { - "name": "_id", + "name": "code", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The ID to the policy for the booking." + "doc": "Error code." }, { - "name": "_updatedDate", - "readOnly": true, + "name": "data", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "Object" } ], - "doc": "Date and time the policy was updated." + "doc": "Data related to the error." }, { - "name": "bookAfterStartPolicy", - "readOnly": true, + "name": "description", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BookAfterStartPolicy" + "nativeType": "string" } ], - "doc": "Policy on booking an entity after the start of the schedule." - }, + "doc": "Description of the error." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Availability", + "members": [ { - "name": "cancellationPolicy", - "readOnly": true, + "name": "constraints", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CancellationPolicy" + "referenceType": "wix-bookings-v2.Services.V1AvailabilityConstraints" } ], - "doc": "Policy for canceling a booked entity." + "doc": "Constraints for calculating the schedule's availability." }, { - "name": "customPolicyDescription", - "readOnly": true, + "name": "end", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.PolicyDescription" + "nativeType": "Date" } ], - "doc": "Custom description for the policy. This policy is displayed to the participant." + "doc": "Date and time the schedule stops being available for booking. No value indicates no end time." }, { - "name": "default", - "readOnly": true, + "name": "linkedSchedules", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.LinkedSchedule" + } + ] + } } ], - "doc": "Whether the policy is the default for the meta site." + "doc": "Other schedules that impact the availability calculation. Relevant only when there are availability constraints." }, { - "name": "limitEarlyBookingPolicy", - "readOnly": true, + "name": "start", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.LimitEarlyBookingPolicy" + "nativeType": "Date" } ], - "doc": "Policy for limiting early bookings." - }, + "doc": "Date and time the schedule starts to be available for booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AvailabilityConstraints", + "members": [ { - "name": "limitLateBookingPolicy", - "readOnly": true, + "name": "sessionDurations", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.LimitLateBookingPolicy" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "number" + } + ] + } } ], - "doc": "Policy for limiting late bookings." + "doc": "A list of duration options for sessions, in minutes.\n\nThe availability calculation generates slots for sessions with these durations, unless there is a conflict with existing sessions or other availability constraints exist.\nRequired for services of type `APPOINTMENT` to allow the customer to book a session of the service. Not relevant for other service types.\n\n\nMin: 1 minute, Max: 30 days, 23 hours, and 59 minutes\n" }, { - "name": "name", - "readOnly": true, + "name": "timeBetweenSessions", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Name of the policy." - }, - { - "name": "participantsPolicy", - "readOnly": true, + "doc": "The number of minutes between the end of a session and the start of the next.\n\nMin: 0 minutes\nMax: 720 minutes\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AvailabilityPolicy", + "members": [ + { + "name": "splitInterval", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantsPolicy" + "referenceType": "wix-bookings-v2.Services.SplitInterval" } ], - "doc": "Policy regarding the participants per booking." - }, + "doc": "Specify how to split the schedule slots in intervals of minutes." + } + ], + "docs": { + "description": [ + "Availability policy applied to all site schedules." + ] + } + }, + { + "name": "AvailabilityPolicyUpdated", + "members": [ { - "name": "reschedulePolicy", - "readOnly": true, + "name": "availabilityPolicy", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ReschedulePolicy" + "referenceType": "wix-bookings-v2.Services.AvailabilityPolicy" } ], - "doc": "Policy for rescheduling a booked entity." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Behavior", + "members": [ { - "name": "revision", - "readOnly": true, + "name": "defaultBehavior", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.EntryPass" } ], - "doc": "Revision number, which increments by 1 each time the policy is updated. To prevent conflicting changes, the existing revision must be used when updating a policy." + "doc": "Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events." }, { - "name": "waitlistPolicy", - "readOnly": true, + "name": "discount", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.WaitlistPolicy" + "referenceType": "wix-bookings-v2.Services.Discount" } ], - "doc": "Waitlist policy for the service." + "doc": "Discount applied to paid resources" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfBehaviorBehaviorOneOf", + "members": [ + "defaultBehavior", + "discount" + ] + } + ] + }, "docs": { "description": [ - "`BookingPolicy` is the main entity of `BookingPolicyService` and specifies a set of rules for booking a service\nby visitors and members." + "" ] } }, { - "name": "BookingPolicyWithServices", + "name": "BehaviorBehaviorOneOf", "members": [ { - "name": "bookingPolicy", + "name": "defaultBehavior", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BookingPolicy" + "referenceType": "wix-bookings-v2.Services.EntryPass" } ], - "doc": "The booking policy." + "doc": "Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events." }, { - "name": "services", + "name": "discount", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Service" - } - ] - } + "referenceType": "wix-bookings-v2.Services.Discount" } ], - "doc": "The services associated with the booking policy." + "doc": "Discount applied to paid resources" } ], "docs": { @@ -1001,116 +3177,92 @@ } }, { - "name": "BulkActionMetadata", + "name": "Benefit", "members": [ { - "name": "totalFailures", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items that couldn't be processed." + "doc": "Benefit unique ID" }, { - "name": "totalSuccesses", + "name": "appDefId", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items that were successfully processed." + "doc": "Id of the app associated with this benefit" }, { - "name": "undetailedFailures", + "name": "behavior", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.Behavior" } ], - "doc": "Number of failures without details because detailed failure threshold was exceeded." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkCreateServicesOptions", - "members": [ + "doc": "Benefit behavior" + }, { - "name": "returnEntity", + "name": "benefitType", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "`true` if the created entities must be included in the response, otherwise no entities are included in the response." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkCreateServicesRequest", - "members": [ + "doc": "Benefit Type" + }, { - "name": "returnEntity", + "name": "creditAmount", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "`true` if the created entities must be included in the response, otherwise no entities are included in the response." + "doc": "Amount of credits that provided by this benefit" }, { - "name": "services", + "name": "customFields", + "optional": true, "type": [ { "complexType": { - "nativeType": "Array", + "nativeType": "Record", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" + }, + { + "nativeType": "string" } ] } } ], - "doc": "Services to create" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkCreateServicesResponse", - "members": [ + "doc": "additional details related to benefit; limited to 20 entries, 20 symbols for key and 20 symbols for value" + }, { - "name": "bulkActionMetadata", + "name": "editable", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BulkActionMetadata" + "nativeType": "boolean" } ], - "doc": "Create statistics." + "doc": "return value only in case it required in the ListRequest, true means that benefit's type could be updated" }, { - "name": "results", + "name": "resourceIds", "optional": true, "type": [ { @@ -1118,13 +3270,13 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.BulkServiceResult" + "nativeType": "string" } ] } } ], - "doc": "The result of each service creation." + "doc": "Resource IDs that serves by this benefit" } ], "docs": { @@ -1134,73 +3286,57 @@ } }, { - "name": "BulkDeleteServicesOptions", + "name": "BenefitNotification", "members": [ { - "name": "participantNotification", + "name": "appDefId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "App def ID" }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "benefit", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Benefit" } ], - "doc": "Whether to preserve future sessions with participants. Optional, default is false." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkDeleteServicesRequest", - "members": [ + "doc": "Current benefit details" + }, { - "name": "ids", + "name": "event", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "" + "doc": "Notification event" }, { - "name": "participantNotification", + "name": "planId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "Plan unique ID" }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "prevBenefit", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Benefit" } ], - "doc": "Whether to preserve future sessions with participants. Optional, default is false." + "doc": "Previous benefit" } ], "docs": { @@ -1210,258 +3346,245 @@ } }, { - "name": "BulkDeleteServicesResponse", + "name": "BookAfterStartPolicy", "members": [ { - "name": "bulkActionMetadata", + "name": "enabled", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BulkActionMetadata" + "nativeType": "boolean" } ], - "doc": "Update statistics." - }, - { - "name": "results", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.BulkServiceResult" - } - ] - } - } - ], - "doc": "The result of each service removal." + "doc": "Whether booking is allowed after the start of the schedule. When `true`,\ncustomers can book after the start of the schedule.\n\nDefault: `false`\n" } ], "docs": { "description": [ - "" + "The policy for whether a session can be booked after the start of the schedule.\nThis policy and `LimitLateBookingPolicy` cannot be enabled at the same time. So if this policy\nis enabled, the `LimitLateBookingPolicy` policy must be disabled." ] } }, { - "name": "BulkServiceResult", + "name": "BookingPolicy", "members": [ { - "name": "item", + "name": "_createdDate", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "Date" } ], - "doc": "" + "doc": "Date and time the policy was created." }, { - "name": "itemMetadata", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ItemMetadata" + "nativeType": "string" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkUpdateServicesOptions", - "members": [ + "doc": "The ID to the policy for the booking." + }, { - "name": "returnEntity", + "name": "_updatedDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "Date" } ], - "doc": "`true` if the updated entities must be included in the response, otherwise no entities are included in the response." + "doc": "Date and time the policy was updated." }, { - "name": "services", + "name": "bookAfterStartPolicy", + "readOnly": true, "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.MaskedService" - } - ] - } + "referenceType": "wix-bookings-v2.Services.BookAfterStartPolicy" } ], - "doc": "Services to update." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkUpdateServicesRequest", - "members": [ + "doc": "Policy on booking an entity after the start of the schedule." + }, { - "name": "returnEntity", + "name": "cancellationFeePolicy", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.CancellationFeePolicy" } ], - "doc": "`true` if the updated entities must be included in the response, otherwise no entities are included in the response." + "doc": "Rules for cancellation fees." }, { - "name": "services", + "name": "cancellationPolicy", + "readOnly": true, "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.MaskedService" - } - ] - } + "referenceType": "wix-bookings-v2.Services.CancellationPolicy" } ], - "doc": "Services to update." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkUpdateServicesResponse", - "members": [ + "doc": "Policy for canceling a booked entity." + }, { - "name": "bulkActionMetadata", + "name": "customPolicyDescription", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BulkActionMetadata" + "referenceType": "wix-bookings-v2.Services.PolicyDescription" } ], - "doc": "Update statistics." + "doc": "Custom description for the policy. This policy is displayed to the participant." }, { - "name": "results", + "name": "default", + "readOnly": true, "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.BulkServiceResult" - } - ] - } + "nativeType": "boolean" } ], - "doc": "The result of each service update." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BusinessLocationOptions", - "members": [ + "doc": "Whether the policy is the default for the meta site." + }, { - "name": "_id", + "name": "limitEarlyBookingPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.LimitEarlyBookingPolicy" + } + ], + "doc": "Policy for limiting early bookings." + }, + { + "name": "limitLateBookingPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.LimitLateBookingPolicy" + } + ], + "doc": "Policy for limiting late bookings." + }, + { + "name": "name", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Business location ID." + "doc": "Name of the policy." }, { - "name": "address", + "name": "participantsPolicy", "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Address" + "referenceType": "wix-bookings-v2.Services.ParticipantsPolicy" } ], - "doc": "Business location address. The address is derived from the business location and is read-only." + "doc": "Policy regarding the participants per booking." }, { - "name": "default", + "name": "reschedulePolicy", "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.ReschedulePolicy" } ], - "doc": "Whether this is the default location. There can only be 1 default location per site. The default location can't be archived." + "doc": "Policy for rescheduling a booked entity." }, { - "name": "name", + "name": "resourcesPolicy", "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ResourcesPolicy" } ], - "doc": "Business location name." + "doc": "Policy for allocating resources." + }, + { + "name": "saveCreditCardPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SaveCreditCardPolicy" + } + ], + "doc": "Rule for saving credit card." + }, + { + "name": "waitlistPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.WaitlistPolicy" + } + ], + "doc": "Waitlist policy for the service." } ], "docs": { "description": [ - "" + "`BookingPolicy` is the main entity of `BookingPolicyService` and specifies a set of rules for booking a service\nby visitors and members." ] } }, { - "name": "BusinessSchedule", + "name": "BookingPolicyWithServices", "members": [ { - "name": "periods", + "name": "bookingPolicy", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.TimePeriod" - } - ] - } + "referenceType": "wix-bookings-v2.Services.BookingPolicy" } ], - "doc": "Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods." + "doc": "The booking policy." }, { - "name": "specialHourPeriod", + "name": "countOfServices", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of services associated with the booking policy." + }, + { + "name": "hasMoreServices", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there are more services associated with the booking policy." + }, + { + "name": "services", "optional": true, "type": [ { @@ -1469,113 +3592,146 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.SpecialHourPeriod" + "referenceType": "wix-bookings-v2.Services.Service" } ] } } ], - "doc": "Exceptions to the business's regular hours. The business can be open or closed during the exception." + "doc": "The services associated with the booking policy. Up to 5 services are returned per policy." } ], "docs": { "description": [ - "Business schedule. Regular and exceptional time periods when the business is open or the service is available." + "" ] } }, { - "name": "CalendarConference", + "name": "BulkActionMetadata", "members": [ { - "name": "_id", + "name": "totalFailures", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Wix Calendar conference ID." + "doc": "Number of items that couldn't be processed." }, { - "name": "accountOwnerId", + "name": "totalSuccesses", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of the account owner in the video conferencing service." + "doc": "Number of items that were successfully processed." }, { - "name": "conferenceType", + "name": "undetailedFailures", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Conference type.\n" - }, - { - "name": "description", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Conference description." - }, + "doc": "Number of failures without details because detailed failure threshold was exceeded." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCreateServicesOptions", + "members": [ { - "name": "externalId", + "name": "returnEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Conference meeting ID in the provider's conferencing system." - }, + "doc": "`true` if the created entities must be included in the response, otherwise no entities are included in the response." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCreateServicesRequest", + "members": [ { - "name": "guestUrl", + "name": "returnEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "URL used by a guest to join the conference." + "doc": "`true` if the created entities must be included in the response, otherwise no entities are included in the response." }, { - "name": "hostUrl", - "optional": true, + "name": "services", "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ] + } } ], - "doc": "URL used by the host to start the conference." - }, + "doc": "Services to create" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkCreateServicesResponse", + "members": [ { - "name": "password", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.BulkActionMetadata" } ], - "doc": "Password to join the conference." + "doc": "Create statistics." }, { - "name": "providerId", + "name": "results", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.BulkServiceResult" + } + ] + } } ], - "doc": "Conference provider ID." + "doc": "The result of each service creation." } ], "docs": { @@ -1585,38 +3741,27 @@ } }, { - "name": "CalendarDateTime", + "name": "BulkDeleteServicesOptions", "members": [ { - "name": "localDateTime", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.LocalDateTime" - } - ], - "doc": "An object containing the local date and time for the business's time zone." - }, - { - "name": "timeZone", - "readOnly": true, + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ParticipantNotification" } ], - "doc": "The time zone. Optional. Derived from the schedule's time zone.\nIn case this field is associated with recurring session, this field is empty." + "doc": "Whether to preserve future sessions with participants.\n\nDefault: `false`.\n" }, { - "name": "timestamp", + "name": "preserveFutureSessionsWithParticipants", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "boolean" } ], - "doc": "UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\nRequired if `localDateTime` is not specified.\nIf `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone." + "doc": "" } ], "docs": { @@ -1626,189 +3771,184 @@ } }, { - "name": "CancellationPolicy", + "name": "BulkDeleteServicesRequest", "members": [ { - "name": "enabled", - "optional": true, + "name": "ids", "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Whether canceling a booking is allowed. When `true`, customers\ncan cancel the booking.\n\nDefault: `false`\n" + "doc": "" }, { - "name": "latestCancellationInMinutes", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.ParticipantNotification" } ], - "doc": "Minimum number of minutes before the start of the booked session that the booking can be canceled.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + "doc": "Whether to preserve future sessions with participants.\n\nDefault: `false`.\n" }, { - "name": "limitLatestCancellation", + "name": "preserveFutureSessionsWithParticipants", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether there is a limit on the latest cancellation time. When `true`,\na time limit is enforced.\n\nDefault: `false`\n" + "doc": "" } ], "docs": { "description": [ - "The policy for canceling a booked session." + "" ] } }, { - "name": "Category", + "name": "BulkDeleteServicesResponse", "members": [ { - "name": "_id", - "readOnly": true, + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.BulkActionMetadata" } ], - "doc": "Category ID. Read-only." + "doc": "Update statistics." }, { - "name": "customProperties", + "name": "results", "optional": true, "type": [ { "complexType": { - "nativeType": "Record", + "nativeType": "Array", "typeParams": [ { - "nativeType": "string" - }, - { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.BulkServiceResult" } ] } } ], - "doc": "Custom properties that can be associated with the category." - }, - { - "name": "name", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Category name." - }, - { - "name": "sortOrder", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Sorting order of the category for Wix Bookings UI." - }, - { - "name": "status", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Category status Read-only." + "doc": "The result of each service removal." } ], "docs": { "description": [ - "Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI." + "" ] } }, { - "name": "CategoryNotification", + "name": "BulkServiceResult", "members": [ { - "name": "category", + "name": "item", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Category" + "referenceType": "wix-bookings-v2.Services.Service" } ], "doc": "" }, { - "name": "event", + "name": "itemMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ItemMetadata" } ], - "doc": "Supported values:\n- `'Created'`\n- `'Deleted'`\n- `'Updated'`" + "doc": "" } ], "docs": { "description": [ - "An event sent every time a category entity is changed." + "" ] } }, { - "name": "CloneServiceOptions", + "name": "BulkUpdateServicesOptions", "members": [ { - "name": "cloneServiceName", + "name": "returnEntity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule." + "doc": "`true` if the updated entities must be included in the response, otherwise no entities are included in the response." }, { - "name": "copyPricingPlans", + "name": "services", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.MaskedService" + } + ] + } } ], - "doc": "copy benefits with pricing plans that are connected to the source service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`." - }, + "doc": "Services to update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BulkUpdateServicesRequest", + "members": [ { - "name": "copyRecurringSessions", + "name": "returnEntity", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "copy recurring sessions of an active service's schedule" + "doc": "`true` if the updated entities must be included in the response, otherwise no entities are included in the response." }, { - "name": "hideService", + "name": "services", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.MaskedService" + } + ] + } } ], - "doc": "whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it" + "doc": "Services to update." } ], "docs": { @@ -1818,56 +3958,107 @@ } }, { - "name": "CloneServiceRequest", + "name": "BulkUpdateServicesResponse", "members": [ { - "name": "cloneServiceName", + "name": "bulkActionMetadata", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.BulkActionMetadata" } ], - "doc": "the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule." + "doc": "Update statistics." }, { - "name": "copyPricingPlans", + "name": "results", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.BulkServiceResult" + } + ] + } } ], - "doc": "copy benefits with pricing plans that are connected to the source service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`." + "doc": "The result of each service update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BusinessLocation", + "members": [ + { + "name": "locationId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the business location. Has to be non-empty" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BusinessLocationOptions", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business location ID." }, { - "name": "copyRecurringSessions", + "name": "address", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Address" } ], - "doc": "copy recurring sessions of an active service's schedule" + "doc": "Business location address. The address is derived from the business location and is read-only." }, { - "name": "hideService", + "name": "default", + "readOnly": true, "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it" + "doc": "Whether this is the default location. There can only be 1 default location per site. The default location can't be archived." }, { - "name": "sourceServiceId", + "name": "name", + "readOnly": true, + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of a source service" + "doc": "Business location name." } ], "docs": { @@ -1877,10 +4068,10 @@ } }, { - "name": "CloneServiceResponse", + "name": "BusinessSchedule", "members": [ { - "name": "errors", + "name": "periods", "optional": true, "type": [ { @@ -1888,201 +4079,208 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.TimePeriod" } ] } } ], - "doc": "List of entity types that we failed to clone" + "doc": "Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods." }, { - "name": "service", + "name": "specialHourPeriod", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.SpecialHourPeriod" + } + ] + } } ], - "doc": "Cloned service" + "doc": "Exceptions to the business's regular hours. The business can be open or closed during the exception." } ], "docs": { "description": [ - "" + "Business schedule. Regular and exceptional time periods when the business is open or the service is available." ] } }, { - "name": "CommonAddress", + "name": "CalendarConference", "members": [ { - "name": "addressLine", + "name": "_id", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Main address line, usually street and number, as free text." + "doc": "Wix Calendar conference ID." }, { - "name": "addressLine2", + "name": "accountOwnerId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." + "doc": "ID of the account owner in the video conferencing service." }, { - "name": "city", + "name": "conferenceType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "City name." + "doc": "Conference type." }, { - "name": "country", + "name": "description", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Country code." + "doc": "Conference description." }, { - "name": "countryFullname", + "name": "externalId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Country full name." + "doc": "Conference meeting ID in the provider's conferencing system." }, { - "name": "formattedAddress", + "name": "guestUrl", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "A string containing the full address of this location." + "doc": "URL used by a guest to join the conference." }, { - "name": "geocode", + "name": "hostUrl", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CommonAddressLocation" + "nativeType": "string" } ], - "doc": "Coordinates of the physical address." + "doc": "URL used by the host to start the conference." }, { - "name": "hint", + "name": "password", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Free text to help find the address." + "doc": "Password to join the conference." }, { - "name": "postalCode", + "name": "providerId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Zip/postal code." - }, + "doc": "Conference provider ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalendarDateTime", + "members": [ { - "name": "streetAddress", + "name": "localDateTime", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CommonStreetAddress" + "referenceType": "wix-bookings-v2.Services.LocalDateTime" } ], - "doc": "Street name, number and apartment number." + "doc": "An object containing the local date and time for the business's time zone." }, { - "name": "subdivision", + "name": "timeZone", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + "doc": "The time zone. Optional. Derived from the schedule's time zone.\nIn case this field is associated with recurring session, this field is empty." }, { - "name": "subdivisions", + "name": "timestamp", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Subdivision" - } - ] - } + "nativeType": "Date" } ], - "doc": "Multi-level subdivisions from top to bottom." + "doc": "UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\nRequired if `localDateTime` is not specified.\nIf `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfCommonAddressStreetOneOf", - "members": [ - "addressLine", - "streetAddress" - ] - } - ] - }, "docs": { "description": [ - "Physical address" + "" ] } }, { - "name": "CommonAddressLocation", + "name": "CancellationFeePolicy", "members": [ { - "name": "latitude", + "name": "cancellationWindows", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.CancellationWindow" + } + ] + } } ], - "doc": "Address latitude." + "doc": "Cancellation windows describing the time of cancellation and the fee to charge." }, { - "name": "longitude", + "name": "enabled", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Address longitude." + "doc": "Whether canceling a booking will result in a cancellation fee\n\nDefault: `false`\n" } ], "docs": { @@ -2092,69 +4290,90 @@ } }, { - "name": "CommonAddressStreetOneOf", + "name": "CancellationPolicy", "members": [ { - "name": "addressLine", + "name": "enabled", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Main address line, usually street and number, as free text." + "doc": "Whether canceling a booking is allowed. When `true`, customers\ncan cancel the booking.\n\nDefault: `false`\n" }, { - "name": "streetAddress", + "name": "latestCancellationInMinutes", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CommonStreetAddress" + "nativeType": "number" } ], - "doc": "Street name, number and apartment number." + "doc": "Minimum number of minutes before the start of the booked session that the booking can be canceled.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + }, + { + "name": "limitLatestCancellation", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there is a limit on the latest cancellation time. When `true`,\na time limit is enforced.\n\nDefault: `false`\n" } ], "docs": { "description": [ - "" + "The policy for canceling a booked session." ] } }, { - "name": "CommonStreetAddress", + "name": "CancellationWindow", "members": [ { - "name": "apt", + "name": "amount", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.CommonMoney" } ], - "doc": "Apartment number." + "doc": "Amount to be charged as a cancellation fee." }, { - "name": "name", + "name": "percentage", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Street name." + "doc": "Percentage of the original price to be charged as a cancellation fee." }, { - "name": "number", + "name": "startInMinutes", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Street number." + "doc": "The fee will be applied if the booked session starts within this start time in minutes." } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCancellationWindowFeeOneOf", + "members": [ + "amount", + "percentage" + ] + } + ] + }, "docs": { "description": [ "" @@ -2162,17 +4381,27 @@ } }, { - "name": "ConferenceProvider", + "name": "CancellationWindowFeeOneOf", "members": [ { - "name": "providerId", + "name": "amount", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CommonMoney" + } + ], + "doc": "Amount to be charged as a cancellation fee." + }, + { + "name": "percentage", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Conferencing provider ID" + "doc": "Percentage of the original price to be charged as a cancellation fee." } ], "docs": { @@ -2182,57 +4411,44 @@ } }, { - "name": "Conferencing", + "name": "Categories", "members": [ { - "name": "enabled", + "name": "businessTermId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether a conference link is generated for the service's sessions." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CountServicesOptions", - "members": [ + "doc": "Business Term Id" + }, { - "name": "filter", + "name": "primary", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "The filters for performing the count." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CountServicesRequest", - "members": [ + "doc": "Primary site category." + }, { - "name": "filter", + "name": "secondary", "optional": true, "type": [ { - "nativeType": "Object" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "The filters for performing the count." + "doc": "Secondary site category." } ], "docs": { @@ -2242,181 +4458,129 @@ } }, { - "name": "CountServicesResponse", + "name": "Category", "members": [ { - "name": "count", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" - } - ], - "doc": "The number of services matching the given filter." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CreateServiceRequest", - "members": [ - { - "name": "service", - "type": [ - { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" } ], - "doc": "Service to be created." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CreateServiceResponse", - "members": [ + "doc": "Category ID." + }, { - "name": "service", + "name": "name", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" } ], - "doc": "The created service." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CursorPaging", - "members": [ + "doc": "Category name." + }, { - "name": "cursor", + "name": "sortOrder", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + "doc": "Sort order of the category in the Dashboard." }, { - "name": "limit", + "name": "status", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items to load." + "doc": "Category status.\n\nSupported values:\n- `\"CREATED\"`: The category is created.\n- `\"DELETED\"`: The category is deleted.\n\nDefault: `\"CREATED\"`" } ], "docs": { "description": [ - "" + "Categories are used to group multiple services together. A service must be associated with a category in order to be exposed in the Wix Bookings UI." ] } }, { - "name": "CursorPagingMetadata", + "name": "CategoryNotification", "members": [ { - "name": "count", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items returned in the response." - }, - { - "name": "cursors", + "name": "category", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Cursors" + "referenceType": "wix-bookings-v2.Services.Category" } ], - "doc": "Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." + "doc": "" }, { - "name": "hasNext", + "name": "event", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." + "doc": "Supported values:\n- `'Created'`\n- `'Deleted'`\n- `'Updated'`" } ], "docs": { "description": [ - "" + "An event sent every time a category entity is changed." ] } }, { - "name": "CursorQuery", + "name": "ChangeContext", "members": [ { - "name": "cursorPaging", + "name": "propertiesChange", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CursorPaging" + "referenceType": "wix-bookings-v2.Services.PropertiesChange" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." + "doc": "Properties were updated." }, { - "name": "filter", + "name": "siteCloned", "optional": true, "type": [ { - "nativeType": "Object" + "referenceType": "wix-bookings-v2.Services.SiteCloned" } ], - "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" + "doc": "Properties were cloned on site cloning." }, { - "name": "sort", + "name": "siteCreated", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Sorting" - } - ] - } + "referenceType": "wix-bookings-v2.Services.SiteCreated" } ], - "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" + "doc": "Default properties were created on site creation." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfCursorQueryPagingMethodOneOf", + "name": "oneOfChangeContextPayloadOneOf", "members": [ - "cursorPaging" + "propertiesChange", + "siteCloned", + "siteCreated" ] } ] @@ -2428,47 +4592,37 @@ } }, { - "name": "CursorQueryPagingMethodOneOf", + "name": "ChangeContextPayloadOneOf", "members": [ { - "name": "cursorPaging", + "name": "propertiesChange", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CursorPaging" + "referenceType": "wix-bookings-v2.Services.PropertiesChange" } ], - "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Cursors", - "members": [ + "doc": "Properties were updated." + }, { - "name": "next", + "name": "siteCloned", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.SiteCloned" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Properties were cloned on site cloning." }, { - "name": "prev", + "name": "siteCreated", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.SiteCreated" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "Default properties were created on site creation." } ], "docs": { @@ -2478,67 +4632,47 @@ } }, { - "name": "CustomLocationOptions", + "name": "CloneServiceOptions", "members": [ { - "name": "address", + "name": "cloneServiceName", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Address" + "nativeType": "string" } ], - "doc": "A custom address for the location." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "CustomPayment", - "members": [ + "doc": "the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule." + }, { - "name": "description", + "name": "copyPricingPlans", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "A custom description explaining to the customer how to pay for the service." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DeleteServiceOptions", - "members": [ + "doc": "copy benefits with pricing plans that are connected to the source service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`." + }, { - "name": "participantNotification", + "name": "copyRecurringSessions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "copy recurring sessions of an active service's schedule" }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "hideService", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to preserve future sessions with participants. Optional, default is false." + "doc": "whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it" } ], "docs": { @@ -2548,72 +4682,56 @@ } }, { - "name": "DeleteServiceRequest", + "name": "CloneServiceRequest", "members": [ { - "name": "participantNotification", + "name": "cloneServiceName", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message." + "doc": "the name of the clone service. The title of the clone service's schedule will also be set to this name. When this parameter is omitted then the clone service will have the same name as the source service and the clone service's schedule will get the same title as the source service's active schedule." }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "copyPricingPlans", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether to preserve future sessions with participants. Optional, default is false." + "doc": "copy benefits with pricing plans that are connected to the source service. If the source service is connected to more than 120 benefits with pricing plans then they will not be copied. In that case the field `error_types` in the response will include `PRICING_PLANS`." }, { - "name": "serviceId", + "name": "copyRecurringSessions", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the service to delete." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DeleteServiceResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DisablePricingPlansForServiceOptions", - "members": [ + "doc": "copy recurring sessions of an active service's schedule" + }, { - "name": "pricingPlanIds", + "name": "hideService", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "boolean" } ], - "doc": "ID of the pricing plans to disconnect from the service." + "doc": "whether to hide service from the list or not. Empty means that we will copy this value from the source service without overriding it" + }, + { + "name": "sourceServiceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a source service" } ], "docs": { @@ -2623,10 +4741,10 @@ } }, { - "name": "DisablePricingPlansForServiceRequest", + "name": "CloneServiceResponse", "members": [ { - "name": "pricingPlanIds", + "name": "errors", "optional": true, "type": [ { @@ -2640,16 +4758,17 @@ } } ], - "doc": "ID of the pricing plans to disconnect from the service." + "doc": "List of entity types that we failed to clone" }, { - "name": "serviceId", + "name": "service", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "ID of the service to disconnect the pricing plans from." + "doc": "Cloned service" } ], "docs": { @@ -2659,233 +4778,207 @@ } }, { - "name": "DisablePricingPlansForServiceResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Discount", + "name": "CommonAddress", "members": [ { - "name": "moneyOffAmount", + "name": "addressLine", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Absolute amount discount" + "doc": "Main address line, usually street and number, as free text." }, { - "name": "percentOffRate", + "name": "addressLine2", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Fixed-rate percent off discount" - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfDiscountDiscountOneOf", - "members": [ - "moneyOffAmount", - "percentOffRate" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DiscountDiscountOneOf", - "members": [ + "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." + }, { - "name": "moneyOffAmount", + "name": "city", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Absolute amount discount" + "doc": "City name." }, { - "name": "percentOffRate", + "name": "country", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Fixed-rate percent off discount" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "DomainEvent", - "members": [ + "doc": "Country code." + }, { - "name": "_id", + "name": "countryFullname", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "random GUID so clients can tell if event was already handled" + "doc": "Country full name." }, { - "name": "actionEvent", + "name": "formattedAddress", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ActionEvent" + "nativeType": "string" } ], - "doc": "" + "doc": "A string containing the full address of this location." }, { - "name": "createdEvent", + "name": "geocode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntityCreatedEvent" + "referenceType": "wix-bookings-v2.Services.CommonAddressLocation" } ], - "doc": "" + "doc": "Coordinates of the physical address." }, { - "name": "deletedEvent", + "name": "hint", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntityDeletedEvent" + "nativeType": "string" } ], - "doc": "" + "doc": "Free text to help find the address." }, { - "name": "entityEventSequence", + "name": "postalCode", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + "doc": "Zip/postal code." }, { - "name": "entityFqdn", + "name": "streetAddress", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.CommonStreetAddress" } ], - "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" + "doc": "Street name, number and apartment number." }, { - "name": "entityId", + "name": "subdivision", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Assuming that all messages including Actions have id\nExample: The id of the specific order, the id of a specific campaign" + "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." }, { - "name": "eventTime", + "name": "subdivisions", "optional": true, "type": [ { - "nativeType": "Date" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Subdivision" + } + ] + } } ], - "doc": "The time of the event. Useful if there was a delay in dispatching" - }, + "doc": "Multi-level subdivisions from top to bottom." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCommonAddressStreetOneOf", + "members": [ + "addressLine", + "streetAddress" + ] + } + ] + }, + "docs": { + "description": [ + "Physical address" + ] + } + }, + { + "name": "CommonAddressLocation", + "members": [ { - "name": "extendedFieldsUpdatedEvent", + "name": "latitude", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ExtendedFieldsUpdatedEvent" + "nativeType": "number" } ], - "doc": "" + "doc": "Address latitude." }, { - "name": "originatedFrom", + "name": "longitude", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "If present, indicates the action that triggered the event." - }, + "doc": "Address longitude." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CommonAddressStreetOneOf", + "members": [ { - "name": "slug", + "name": "addressLine", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" - }, - { - "name": "triggeredByAnonymizeRequest", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "A field that should be set if this event was triggered by an anonymize request.\nFor example you must set it to true when sending an event as a result of a GDPR right to be forgotten request.\nNOTE: This field is not relevant for `EntityCreatedEvent` but is located here for better ergonomics of consumers." + "doc": "Main address line, usually street and number, as free text." }, { - "name": "updatedEvent", + "name": "streetAddress", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntityUpdatedEvent" + "referenceType": "wix-bookings-v2.Services.CommonStreetAddress" } ], - "doc": "" + "doc": "Street name, number and apartment number." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfDomainEventBodyOneOf", - "members": [ - "actionEvent", - "createdEvent", - "deletedEvent", - "extendedFieldsUpdatedEvent", - "updatedEvent" - ] - } - ] - }, "docs": { "description": [ "" @@ -2893,128 +4986,78 @@ } }, { - "name": "DomainEventBodyOneOf", + "name": "CommonMoney", "members": [ { - "name": "actionEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.ActionEvent" - } - ], - "doc": "" - }, - { - "name": "createdEvent", + "name": "currency", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntityCreatedEvent" + "nativeType": "string" } ], - "doc": "" + "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." }, { - "name": "deletedEvent", + "name": "formattedValue", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.EntityDeletedEvent" + "nativeType": "string" } ], - "doc": "" + "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." }, { - "name": "extendedFieldsUpdatedEvent", + "name": "value", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ExtendedFieldsUpdatedEvent" + "nativeType": "string" } ], - "doc": "" - }, - { - "name": "updatedEvent", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.EntityUpdatedEvent" - } - ], - "doc": "" + "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." } ], "docs": { "description": [ - "" - ] - } - }, - { - "name": "Empty", - "members": [], - "docs": { - "description": [ - "" + "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." ] } }, { - "name": "EnablePricingPlansForServiceRequest", + "name": "CommonStreetAddress", "members": [ { - "name": "pricingPlanIds", + "name": "apt", + "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "IDs of the pricing plans to connect to the service." + "doc": "Apartment number." }, { - "name": "serviceId", + "name": "name", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the service to add the pricing plans to." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "EnablePricingPlansForServiceResponse", - "members": [ + "doc": "Street name." + }, { - "name": "pricingPlanIds", + "name": "number", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "IDs of the pricing plans connect to the service." + "doc": "Street number." } ], "docs": { @@ -3024,17 +5067,17 @@ } }, { - "name": "EntityCreatedEvent", + "name": "ConferenceProvider", "members": [ { - "name": "entityAsJson", + "name": "providerId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Conferencing provider ID" } ], "docs": { @@ -3044,26 +5087,17 @@ } }, { - "name": "EntityDeletedEvent", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "EntityUpdatedEvent", + "name": "Conferencing", "members": [ { - "name": "currentEntityAsJson", + "name": "enabled", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + "doc": "Whether a conference link is generated for the service's sessions." } ], "docs": { @@ -3073,106 +5107,57 @@ } }, { - "name": "EntryPass", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ExtendedFields", + "name": "ConsentPolicy", "members": [ { - "name": "namespaces", + "name": "advertising", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "nativeType": "Object" - } - ] - } + "nativeType": "boolean" } ], - "doc": "Data Extensions extended fields\nKey: Namespace\nValue: extended fields data in Struct format" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ExtendedFieldsUpdatedEvent", - "members": [ + "doc": "Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor." + }, { - "name": "currentEntityAsJson", + "name": "analytics", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ExternalCalendarInfo", - "members": [ + "doc": "Whether the site uses cookies that collect analytics about how the site is used (in order to improve it)." + }, { - "name": "calendarType", + "name": "dataToThirdParty", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ExternalCalendarOverrides", - "members": [ + "doc": "CCPA compliance flag." + }, { - "name": "description", + "name": "essential", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Synced description of the external calendar event." + "doc": "Whether the site uses cookies that are essential to site operation." }, { - "name": "title", + "name": "functional", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Synced title of the external calendar event." + "doc": "Whether the site uses cookies that affect site performance and other functional measurements." } ], "docs": { @@ -3182,27 +5167,17 @@ } }, { - "name": "FixedPayment", + "name": "CountServicesOptions", "members": [ { - "name": "deposit", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.Money" - } - ], - "doc": "The deposit price required to book the service.\n\nRequired when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`\n" - }, - { - "name": "price", + "name": "filter", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Money" + "nativeType": "Object" } ], - "doc": "The fixed price required to book the service.\n\nRequired when: `rateType` is `FIXED`\n" + "doc": "The filters for performing the count." } ], "docs": { @@ -3212,17 +5187,17 @@ } }, { - "name": "Form", + "name": "CountServicesRequest", "members": [ { - "name": "_id", + "name": "filter", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Object" } ], - "doc": "ID of the form associated with the service.\nForm information submitted when booking, including contact details, participants, and other form fields, set up for the service." + "doc": "The filters for performing the count." } ], "docs": { @@ -3232,17 +5207,17 @@ } }, { - "name": "FormSettings", + "name": "CountServicesResponse", "members": [ { - "name": "hidden", + "name": "count", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the service booking form should be hidden from the site." + "doc": "The number of services matching the given filter." } ], "docs": { @@ -3252,17 +5227,16 @@ } }, { - "name": "Frequency", + "name": "CreateServiceRequest", "members": [ { - "name": "repetition", - "optional": true, + "name": "service", "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." + "doc": "Service to be created." } ], "docs": { @@ -3272,16 +5246,17 @@ } }, { - "name": "GetServiceRequest", + "name": "CreateServiceResponse", "members": [ { - "name": "serviceId", + "name": "service", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "ID of the service to retrieve." + "doc": "The created service." } ], "docs": { @@ -3291,17 +5266,27 @@ } }, { - "name": "GetServiceResponse", + "name": "CursorPaging", "members": [ { - "name": "service", + "name": "cursor", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" } ], - "doc": "The retrieved service." + "doc": "Pointer to the next or previous page in the list of results.\n\nYou can get the relevant cursor token\nfrom the `pagingMetadata` object in the previous call's response.\nNot relevant for the first request.\n" + }, + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." } ], "docs": { @@ -3311,47 +5296,37 @@ } }, { - "name": "Interval", + "name": "CursorPagingMetadata", "members": [ { - "name": "daysOfWeek", + "name": "count", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." + "doc": "Number of items returned in the response." }, { - "name": "duration", + "name": "cursors", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.Cursors" } ], - "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation. minimum: 1, maximum: 86400." + "doc": "Use these cursor to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging)." }, { - "name": "hourOfDay", + "name": "hasNext", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." - }, - { - "name": "minuteOfHour", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." + "doc": "Indicates if there are more results after the current page.\nIf `true`, another page of results can be retrieved.\nIf `false`, this is the last page." } ], "docs": { @@ -3361,56 +5336,56 @@ } }, { - "name": "IntervalSplit", + "name": "CursorQuery", "members": [ { - "name": "intervals", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.RecurringInterval" - } - ] - } - } - ], - "doc": "" - }, - { - "name": "newScheduleVersion", + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.CursorPaging" } ], - "doc": "" + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." }, { - "name": "oldScheduleVersion", + "name": "filter", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "Object" } ], - "doc": "" + "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`" }, { - "name": "scheduleId", + "name": "sort", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Sorting" + } + ] + } } ], - "doc": "" + "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCursorQueryPagingMethodOneOf", + "members": [ + "cursorPaging" + ] + } + ] + }, "docs": { "description": [ "" @@ -3418,27 +5393,17 @@ } }, { - "name": "InvalidPricingPlan", + "name": "CursorQueryPagingMethodOneOf", "members": [ { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The invalid pricing plan id." - }, - { - "name": "message", + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.CursorPaging" } ], - "doc": "The reason for the pricing plan considered as invalid" + "doc": "Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`." } ], "docs": { @@ -3448,49 +5413,83 @@ } }, { - "name": "ItemMetadata", + "name": "CursorSearch", "members": [ { - "name": "_id", + "name": "aggregations", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Aggregation" + } + ] + } } ], - "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." + "doc": "Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition." }, { - "name": "error", + "name": "cursorPaging", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ApplicationError" + "referenceType": "wix-bookings-v2.Services.CursorPaging" } ], - "doc": "Details about the error in case of failure." + "doc": "Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort'" }, { - "name": "originalIndex", + "name": "filter", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "Object" } ], - "doc": "Index of the item within the request array. Allows for correlation between request and response items." + "doc": "A filter object. See documentation [here](https:// bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf)" }, { - "name": "success", + "name": "search", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.SearchDetails" } ], - "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." + "doc": "Free text to match in searchable fields" + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Sorting" + } + ] + } + } + ], + "doc": "Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}]" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfCursorSearchPagingMethodOneOf", + "members": [ + "cursorPaging" + ] + } + ] + }, "docs": { "description": [ "" @@ -3498,27 +5497,17 @@ } }, { - "name": "Keyword", + "name": "CursorSearchPagingMethodOneOf", "members": [ { - "name": "isMain", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the keyword is the main focus keyword." - }, - { - "name": "term", + "name": "cursorPaging", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.CursorPaging" } ], - "doc": "Keyword value." + "doc": "Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort'" } ], "docs": { @@ -3528,98 +5517,117 @@ } }, { - "name": "LimitEarlyBookingPolicy", + "name": "Cursors", "members": [ { - "name": "earliestBookingInMinutes", + "name": "next", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Maximum number of minutes before the start of the session that a booking can be made. This value must be greater\nthan `latest_booking_in_minutes` in the `LimitLateBookingPolicy` policy.\n\nDefault: 10080 minutes (7 days)\nMin: 1 minute\n" + "doc": "Cursor pointing to next page in the list of results." }, { - "name": "enabled", + "name": "prev", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether there is a limit on how early a customer\ncan book. When `false`, there is no limit on the earliest\nbooking time and customers can book in advance, as early as they like.\n\nDefault: `false`\n" + "doc": "Cursor pointing to previous page in the list of results." } ], "docs": { "description": [ - "The policy for limiting early bookings." + "" ] } }, { - "name": "LimitLateBookingPolicy", + "name": "CustomLocationOptions", "members": [ { - "name": "enabled", + "name": "address", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Address" } ], - "doc": "Whether there is a limit on how late a customer\ncan book. When `false`, there is no limit on the latest\nbooking time and customers can book up to the last minute.\n\nDefault: `false`\n" - }, + "doc": "A custom address for the location." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CustomPayment", + "members": [ { - "name": "latestBookingInMinutes", + "name": "description", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Minimum number of minutes before the start of the session that a booking can be made.\nFor a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions.\nThis value must be less than `earliest_booking_in_minutes` in the `LimitEarlyBookingPolicy` policy.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + "doc": "A custom description explaining to the customer how to pay for the service." } ], "docs": { "description": [ - "The policy for limiting late bookings." + "" ] } }, { - "name": "LinkedSchedule", + "name": "DateHistogramAggregation", "members": [ { - "name": "scheduleId", + "name": "interval", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Schedule ID." - }, + "doc": "Supported values:\n- `'DAY'`\n- `'HOUR'`\n- `'MINUTE'`\n- `'MONTH'`\n- `'SECOND'`\n- `'UNKNOWN_INTERVAL'`\n- `'WEEK'`\n- `'YEAR'`" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DateHistogramResult", + "members": [ { - "name": "scheduleOwnerId", - "readOnly": true, + "name": "count", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Owner ID, of the linked schedule." + "doc": "" }, { - "name": "transparency", + "name": "value", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + "doc": "" } ], "docs": { @@ -3629,57 +5637,74 @@ } }, { - "name": "LocalDateTime", + "name": "DateHistogramResults", "members": [ { - "name": "dayOfMonth", + "name": "results", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.DateHistogramResult" + } + ] + } } ], - "doc": "Day of the month, from 1-31." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Delete", + "members": [ { - "name": "hourOfDay", + "name": "entityId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Hour of the day in 24-hour format, from 0-23." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DeleteServiceOptions", + "members": [ { - "name": "minutesOfHour", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "number" - } - ], - "doc": "Minute, from 0-59." - }, - { - "name": "monthOfYear", - "optional": true, - "type": [ - { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.ParticipantNotification" } ], - "doc": "Month number, from 1-12." + "doc": "Whether to notify participants about the change and an optional custom message." }, { - "name": "year", + "name": "preserveFutureSessionsWithParticipants", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Year. 4-digit format." + "doc": "Whether to preserve future sessions with participants.\n\nDefault: `false`\n" } ], "docs": { @@ -3689,61 +5714,47 @@ } }, { - "name": "Location", + "name": "DeleteServiceRequest", "members": [ { - "name": "business", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.BusinessLocationOptions" - } - ], - "doc": "The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations)." - }, - { - "name": "calculatedAddress", - "readOnly": true, + "name": "participantNotification", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Address" + "referenceType": "wix-bookings-v2.Services.ParticipantNotification" } ], - "doc": "The location address, based on the location `type`. If `type` is `CUSTOMER`, this address is empty." + "doc": "Whether to notify participants about the change and an optional custom message." }, { - "name": "custom", + "name": "preserveFutureSessionsWithParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CustomLocationOptions" + "nativeType": "boolean" } ], - "doc": "The service is offered at a custom location." + "doc": "Whether to preserve future sessions with participants.\n\nDefault: `false`\n" }, { - "name": "type", - "optional": true, + "name": "serviceId", "type": [ { "nativeType": "string" } ], - "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, as defined for the by the Business Info [Locations API](https://www.wix.com/velo/reference/wix-business-tools-v2/locations).\n- `CUSTOMER`: Will be determined by the customer. For appointments only." + "doc": "ID of the service to delete." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfLocationOptionsOneOf", - "members": [ - "business", - "custom" - ] - } + "docs": { + "description": [ + "" ] - }, + } + }, + { + "name": "DeleteServiceResponse", + "members": [], "docs": { "description": [ "" @@ -3751,27 +5762,24 @@ } }, { - "name": "LocationOptionsOneOf", + "name": "DisablePricingPlansForServiceOptions", "members": [ { - "name": "business", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.BusinessLocationOptions" - } - ], - "doc": "The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations)." - }, - { - "name": "custom", + "name": "pricingPlanIds", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CustomLocationOptions" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "The service is offered at a custom location." + "doc": "ID of the pricing plans to disconnect from the service." } ], "docs": { @@ -3781,59 +5789,96 @@ } }, { - "name": "LocationsAddress", + "name": "DisablePricingPlansForServiceRequest", "members": [ { - "name": "city", + "name": "pricingPlanIds", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "City name." + "doc": "ID of the pricing plans to disconnect from the service." }, { - "name": "country", - "optional": true, + "name": "serviceId", "type": [ { "nativeType": "string" } ], - "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." - }, + "doc": "ID of the service to disconnect the pricing plans from." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DisablePricingPlansForServiceResponse", + "members": [ { - "name": "postalCode", + "name": "service", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "Postal or zip code." - }, + "doc": "The service after the pricing plans update." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Discount", + "members": [ { - "name": "streetAddress", + "name": "moneyOffAmount", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.LocationsStreetAddress" + "nativeType": "string" } ], - "doc": "Street address. Includes street name, number, and apartment number in separate fields." + "doc": "Absolute amount discount" }, { - "name": "subdivision", + "name": "percentOffRate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." + "doc": "Fixed-rate percent off discount" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDiscountDiscountOneOf", + "members": [ + "moneyOffAmount", + "percentOffRate" + ] + } + ] + }, "docs": { "description": [ "" @@ -3841,234 +5886,242 @@ } }, { - "name": "LocationsAddressLocation", + "name": "DiscountDiscountOneOf", "members": [ { - "name": "latitude", + "name": "moneyOffAmount", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Latitude of the location. Must be between -90 and 90." + "doc": "Absolute amount discount" }, { - "name": "longitude", + "name": "percentOffRate", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Longitude of the location. Must be between -180 and 180." + "doc": "Fixed-rate percent off discount" } ], "docs": { "description": [ - "Address Geolocation" + "" ] } }, { - "name": "LocationsLocation", + "name": "DomainEvent", "members": [ { "name": "_id", - "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location ID." - }, - { - "name": "address", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.LocationsAddress" - } - ], - "doc": "Address." - }, - { - "name": "archived", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." }, { - "name": "businessSchedule", + "name": "actionEvent", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BusinessSchedule" + "referenceType": "wix-bookings-v2.Services.ActionEvent" } ], - "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" + "doc": "" }, { - "name": "default", - "readOnly": true, + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.EntityCreatedEvent" } ], - "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + "doc": "" }, { - "name": "description", + "name": "deletedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.EntityDeletedEvent" } ], - "doc": "Location description." + "doc": "" }, { - "name": "email", + "name": "entityEventSequence", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Email address." + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." }, { - "name": "fax", + "name": "entityFqdn", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Fax number." + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" }, { - "name": "locationType", + "name": "entityId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Location type. **Note:** Currently not supported." + "doc": "ID of the entity associated with the event." }, { - "name": "name", + "name": "eventTime", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Location name." + "doc": "Event timestamp." }, { - "name": "phone", + "name": "originatedFrom", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Phone number." + "doc": "If present, indicates the action that triggered the event." }, { - "name": "revision", + "name": "slug", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" }, { - "name": "status", + "name": "triggeredByAnonymizeRequest", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Location status. Defaults to `ACTIVE`.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status. `INACTIVE` is currently not supported." + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." }, { - "name": "timeZone", + "name": "updatedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.EntityUpdatedEvent" } ], - "doc": "Timezone in `America/New_York` format." + "doc": "" } ], - "docs": { - "description": [ + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, + "docs": { + "description": [ "" ] } }, { - "name": "LocationsStreetAddress", + "name": "DomainEventBodyOneOf", "members": [ { - "name": "apt", + "name": "actionEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ActionEvent" } ], - "doc": "Apartment number." + "doc": "" }, { - "name": "name", + "name": "createdEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.EntityCreatedEvent" } ], - "doc": "Street name." + "doc": "" }, { - "name": "number", + "name": "deletedEvent", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.EntityDeletedEvent" } ], - "doc": "Street number." + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.EntityUpdatedEvent" + } + ], + "doc": "" } ], "docs": { "description": [ - "Street address. Includes street name, number, and apartment number in separate fields." + "" ] } }, { - "name": "MaskedService", + "name": "Empty", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EnablePricingPlansForServiceRequest", "members": [ { - "name": "mask", - "optional": true, + "name": "pricingPlanIds", "type": [ { "complexType": { @@ -4081,17 +6134,16 @@ } } ], - "doc": "Explicit list of fields to update." + "doc": "IDs of the pricing plans to connect to the service." }, { - "name": "service", - "optional": true, + "name": "serviceId", "type": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" } ], - "doc": "Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported." + "doc": "ID of the service to add the pricing plans to." } ], "docs": { @@ -4101,20 +6153,10 @@ } }, { - "name": "Media", + "name": "EnablePricingPlansForServiceResponse", "members": [ { - "name": "coverMedia", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.MediaItem" - } - ], - "doc": "Cover media associated with the service." - }, - { - "name": "items", + "name": "pricingPlanIds", "optional": true, "type": [ { @@ -4122,23 +6164,23 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.MediaItem" + "nativeType": "string" } ] } } ], - "doc": "Media items associated with the service." + "doc": "IDs of the pricing plans connected to the service." }, { - "name": "mainMedia", + "name": "service", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MediaItem" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "Primary media associated with the service." + "doc": "The service after the pricing plans update." } ], "docs": { @@ -4148,29 +6190,19 @@ } }, { - "name": "MediaItem", + "name": "EntityCreatedEvent", "members": [ { - "name": "image", + "name": "entityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Details of the image associated with the service, such as URL and size." + "doc": "" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfMediaItemItemOneOf", - "members": [ - "image" - ] - } - ] - }, "docs": { "description": [ "" @@ -4178,17 +6210,17 @@ } }, { - "name": "MediaItemItemOneOf", + "name": "EntityDeletedEvent", "members": [ { - "name": "image", + "name": "deletedEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Details of the image associated with the service, such as URL and size." + "doc": "Entity that was deleted" } ], "docs": { @@ -4198,34 +6230,56 @@ } }, { - "name": "MigrationData", + "name": "EntityUpdatedEvent", "members": [ { - "name": "businessId", + "name": "currentEntityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" - }, + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntryPass", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ExtendedFields", + "members": [ { - "name": "staffs", + "name": "namespaces", "optional": true, "type": [ { "complexType": { - "nativeType": "Array", + "nativeType": "Record", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.StaffData" + "nativeType": "string" + }, + { + "nativeType": "Object" } ] } } ], - "doc": "" + "doc": "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n" } ], "docs": { @@ -4235,17 +6289,17 @@ } }, { - "name": "MigrationEvent", + "name": "ExternalCalendarInfo", "members": [ { - "name": "migrationData", + "name": "calendarType", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MigrationData" + "nativeType": "string" } ], - "doc": "" + "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." } ], "docs": { @@ -4255,57 +6309,57 @@ } }, { - "name": "Money", + "name": "ExternalCalendarOverrides", "members": [ { - "name": "currency", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." - }, - { - "name": "formattedValue", + "name": "description", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." + "doc": "Synced description of the external calendar event." }, { - "name": "value", + "name": "title", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." + "doc": "Synced title of the external calendar event." } ], "docs": { "description": [ - "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." + "" ] } }, { - "name": "MoveToNewLocationsOptions", + "name": "FixedPayment", "members": [ { - "name": "newLocation", + "name": "deposit", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Location" + "referenceType": "wix-bookings-v2.Services.Money" } ], - "doc": "The new location to move existing sessions currently set to a removed location, used when `action` is `MOVE_TO_LOCATION`." + "doc": "The deposit price required to book the service.\n\nRequired when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`\n" + }, + { + "name": "price", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Money" + } + ], + "doc": "The fixed price required to book the service.\n\nRequired when: `rateType` is `FIXED`\n" } ], "docs": { @@ -4315,24 +6369,17 @@ } }, { - "name": "MultipleSessionsCreated", + "name": "Form", "members": [ { - "name": "schedulesWithSessions", + "name": "_id", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.ScheduleWithSessions" - } - ] - } + "nativeType": "string" } ], - "doc": "" + "doc": "ID of the form associated with the service.\nForm information submitted when booking, including contact details, participants, and other form fields, set up for the service." } ], "docs": { @@ -4342,37 +6389,37 @@ } }, { - "name": "OnlineBooking", + "name": "FormSettings", "members": [ { - "name": "allowMultipleRequests", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Multiple customers can request to book the same time slot. Relevant when `requireManualApproval` is `true`." - }, - { - "name": "enabled", + "name": "hidden", "optional": true, "type": [ { "nativeType": "boolean" } ], - "doc": "Whether this service can be booked online.\nWhen set to `true`, customers can book the service online. Configuring the payment options is done via `service.payment` property.\nWhen set to `false`, customers cannot book the service online, and the service can only be paid for in person." - }, + "doc": "Whether the service booking form should be hidden from the site." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Frequency", + "members": [ { - "name": "requireManualApproval", + "name": "repetition", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Booking the service requires approval by the business owner." + "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." } ], "docs": { @@ -4382,87 +6429,46 @@ } }, { - "name": "Paging", + "name": "GeoCoordinates", "members": [ { - "name": "limit", + "name": "latitude", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Number of items to load." + "doc": "Latitude of the location. Must be between -90 and 90." }, { - "name": "offset", + "name": "longitude", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Number of items to skip in the current sort order." + "doc": "Longitude of the location. Must be between -180 and 180." } ], "docs": { "description": [ - "" + "Geocoordinates for a particular address." ] } }, { - "name": "PagingMetadataV2", + "name": "GetServiceAvailabilityConstraintsRequest", "members": [ { - "name": "count", - "optional": true, + "name": "serviceId", "type": [ { - "nativeType": "number" - } - ], - "doc": "Number of items returned in the response." - }, - { - "name": "cursors", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.Cursors" - } - ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, - { - "name": "offset", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Offset that was requested." - }, - { - "name": "tooManyToCount", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Flag that indicates the server failed to calculate the `total` field." - }, - { - "name": "total", - "optional": true, - "type": [ - { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + "doc": "ID of the service to retrieve." } ], "docs": { @@ -4472,58 +6478,85 @@ } }, { - "name": "Participant", + "name": "GetServiceAvailabilityConstraintsResponse", "members": [ { - "name": "_id", + "name": "constraints", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ServiceAvailabilityConstraints" } ], - "doc": "Participant ID. Currently represents the booking.id." - }, + "doc": "The retrieved availability constraints of the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetServiceOptions", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetServiceRequest", + "members": [ { - "name": "approvalStatus", - "optional": true, + "name": "serviceId", "type": [ { "nativeType": "string" } ], - "doc": "Approval status for the participant.\n\n" - }, + "doc": "ID of the service to retrieve." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetServiceResponse", + "members": [ { - "name": "contactId", + "name": "service", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "Contact ID." - }, + "doc": "The retrieved service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GroupByAggregation", + "members": [ { - "name": "email", + "name": "fieldPath", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Participant's email address." - }, - { - "name": "inherited", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + "doc": "" }, { "name": "name", @@ -4533,29 +6566,29 @@ "nativeType": "string" } ], - "doc": "Participant's name." - }, - { - "name": "partySize", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + "doc": "" }, { - "name": "phone", + "name": "value", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ValueAggregation" } ], - "doc": "Participant's phone number." + "doc": "" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfGroupByAggregationKindOneOf", + "members": [ + "value" + ] + } + ] + }, "docs": { "description": [ "" @@ -4563,27 +6596,17 @@ } }, { - "name": "ParticipantNotification", + "name": "GroupByAggregationKindOneOf", "members": [ { - "name": "message", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Custom message to send to the participants about the changes to the booking." - }, - { - "name": "notifyParticipants", + "name": "value", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.ValueAggregation" } ], - "doc": "Whether to send the message about the changes to the customer. `false` by default" + "doc": "" } ], "docs": { @@ -4593,89 +6616,87 @@ } }, { - "name": "ParticipantsPolicy", + "name": "GroupByValueResults", "members": [ { - "name": "enabled", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the maximum number of participants applies. When `false`, there is\nno maximum.\n\nDefault: `false`\n" - }, - { - "name": "maxParticipantsPerBooking", + "name": "results", "optional": true, "type": [ { - "nativeType": "number" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.NestedValueAggregationResult" + } + ] + } } ], - "doc": "Maximum number of participants allowed.\n\nDefault: 1 participant\nMin: 1 participant\n" + "doc": "" } ], "docs": { "description": [ - "The policy for the maximum number of participants per booking." + "" ] } }, { - "name": "Payment", + "name": "HtmlSitePublished", "members": [ { - "name": "custom", + "name": "appInstanceId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CustomPayment" + "nativeType": "string" } ], - "doc": "The details for the custom price of the service.\n\nRequired when: `rateType` is `CUSTOM`\n" + "doc": "Application instance ID" }, { - "name": "fixed", + "name": "appType", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.FixedPayment" + "nativeType": "string" } ], - "doc": "The details for the fixed price of the service.\n\nRequired when: `rateType` is `FIXED`\n" + "doc": "Application type" }, { - "name": "options", + "name": "branchId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.PaymentOptions" + "nativeType": "string" } ], - "doc": "The payment options a customer can use to pay for the service." + "doc": "optional branch id if publish is done from branch" }, { - "name": "pricingPlanIds", - "readOnly": true, + "name": "lastTransactionId", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "IDs of pricing plans that can be used as payment for the service." + "doc": "The site's last transactionId" }, { - "name": "pricingPlansIds", - "readOnly": true, + "name": "metaSiteId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "MSID" + }, + { + "name": "pages", "optional": true, "type": [ { @@ -4683,47 +6704,35 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Page" } ] } } ], - "doc": "IDs of pricing plans that can be used as payment for the service." + "doc": "A list of the site's pages" }, { - "name": "rateType", + "name": "publishDate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The rate the customer is expected to pay for the service.\nCan be:\n- `FIXED`: The service has a fixed price.\n- `CUSTOM`: The service has a custom price, expressed as a price description.\n- `VARIED`: This service is offered with a set of different prices based on different terms.\n- `NO_FEE`: This service is offered free of charge." + "doc": "Site's publish date" }, { - "name": "varied", + "name": "revision", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.VariedPayment" + "nativeType": "string" } ], - "doc": "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`\n" + "doc": "Revision" } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfPaymentRateOneOf", - "members": [ - "custom", - "fixed", - "varied" - ] - } - ] - }, "docs": { "description": [ "" @@ -4731,87 +6740,121 @@ } }, { - "name": "PaymentOptions", + "name": "IdentificationData", "members": [ { - "name": "deposit", + "name": "anonymousVisitorId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified." + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "inPerson", + "name": "appId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Customers can pay for the service in person." + "doc": "ID of an app." }, { - "name": "online", + "name": "identityType", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be either `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.default_price` must be specified respectively. Read more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)." + "doc": "Supported values:\n- `'ANONYMOUS_VISITOR'`\n- `'APP'`\n- `'MEMBER'`\n- `'UNKNOWN'`\n- `'WIX_USER'`" }, { - "name": "pricingPlan", + "name": "memberId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Customers can pay for the service using a pricing plan." - } - ], - "docs": { + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfIdentificationDataIdOneOf", + "members": [ + "anonymousVisitorId", + "appId", + "memberId", + "wixUserId" + ] + } + ] + }, + "docs": { "description": [ "" ] } }, { - "name": "PaymentRateOneOf", + "name": "IdentificationDataIdOneOf", "members": [ { - "name": "custom", + "name": "anonymousVisitorId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CustomPayment" + "nativeType": "string" } ], - "doc": "The details for the custom price of the service.\n\nRequired when: `rateType` is `CUSTOM`\n" + "doc": "ID of a site visitor that has not logged in to the site." }, { - "name": "fixed", + "name": "appId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.FixedPayment" + "nativeType": "string" } ], - "doc": "The details for the fixed price of the service.\n\nRequired when: `rateType` is `FIXED`\n" + "doc": "ID of an app." }, { - "name": "varied", + "name": "memberId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.VariedPayment" + "nativeType": "string" } ], - "doc": "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`\n" + "doc": "ID of a site visitor that has logged in to the site." + }, + { + "name": "wixUserId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of a Wix user (site owner, contributor, etc.)." } ], "docs": { @@ -4821,86 +6864,67 @@ } }, { - "name": "PolicyDescription", + "name": "IncludeMissingValuesOptions", "members": [ { - "name": "description", + "name": "addToBucket", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The description to display.\n\nDefault: Empty\nMax length: 1000 characters\n" - }, - { - "name": "enabled", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the description should be displayed. If `true`, the description is displayed.\n\nDefault: `false`\n" + "doc": "can specify custom bucket name. Defaults are [string -> \"N/A\"], [int -> \"0\"], [bool -> \"false\"] ..." } ], "docs": { "description": [ - "A description of the policy to display to participants." + "" ] } }, { - "name": "Price", + "name": "Interval", "members": [ { - "name": "amount", + "name": "daysOfWeek", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Required payment amount." + "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." }, { - "name": "currency", + "name": "duration", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Currency in which the amount is quoted." + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." }, { - "name": "downPayAmount", + "name": "hourOfDay", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Amount of a down payment or deposit as part of the transaction." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "QueryPoliciesRequest", - "members": [ + "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." + }, { - "name": "query", + "name": "minuteOfHour", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CursorQuery" + "nativeType": "number" } ], - "doc": "WQL expression." + "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." } ], "docs": { @@ -4910,10 +6934,10 @@ } }, { - "name": "QueryPoliciesResponse", + "name": "IntervalSplit", "members": [ { - "name": "bookingPolicies", + "name": "intervals", "optional": true, "type": [ { @@ -4921,42 +6945,43 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.BookingPolicyWithServices" + "referenceType": "wix-bookings-v2.Services.RecurringInterval" } ] } } ], - "doc": "The retrieved policies." + "doc": "" }, { - "name": "pagingMetadata", + "name": "newScheduleVersion", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CursorPagingMetadata" + "nativeType": "number" } ], - "doc": "Paging metadata, including offset and count." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "QueryServicesRequest", - "members": [ + "doc": "" + }, { - "name": "query", + "name": "oldScheduleVersion", + "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.QueryV2" + "nativeType": "number" } ], - "doc": "WQL expression." + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" } ], "docs": { @@ -4966,34 +6991,27 @@ } }, { - "name": "QueryServicesResponse", + "name": "InvalidPricingPlan", "members": [ { - "name": "pagingMetadata", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.PagingMetadataV2" + "nativeType": "string" } ], - "doc": "Paging metadata, including offset and count." + "doc": "The invalid pricing plan id." }, { - "name": "services", + "name": "message", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Service" - } - ] - } + "nativeType": "string" } ], - "doc": "The retrieved services." + "doc": "The reason for the pricing plan considered as invalid" } ], "docs": { @@ -5003,57 +7021,49 @@ } }, { - "name": "QueryV2", + "name": "ItemMetadata", "members": [ { - "name": "filter", + "name": "_id", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "string" } ], - "doc": "Filter object in the following format:\n\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\n\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n\nRead more about [supported fields and operators](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting).\n" + "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." }, { - "name": "paging", + "name": "error", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Paging" + "referenceType": "wix-bookings-v2.Services.ApplicationError" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "Details about the error in case of failure." }, { - "name": "sort", + "name": "originalIndex", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Sorting" - } - ] - } + "nativeType": "number" } ], - "doc": "Sort object in the following format:\n`[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"},\n{\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n\nRead more about [sorting](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting#wix-bookings_services-v2_filtering-and-sorting_sorting).\n" + "doc": "Index of the item within the request array. Allows for correlation between request and response items." + }, + { + "name": "success", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfQueryV2PagingMethodOneOf", - "members": [ - "cursorPaging", - "paging" - ] - } - ] - }, "docs": { "description": [ "" @@ -5061,17 +7071,27 @@ } }, { - "name": "QueryV2PagingMethodOneOf", + "name": "Keyword", "members": [ { - "name": "paging", + "name": "isMain", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Paging" + "nativeType": "boolean" } ], - "doc": "Paging options to limit and skip the number of items." + "doc": "Whether the keyword is the main focus keyword." + }, + { + "name": "term", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Keyword value." } ], "docs": { @@ -5081,125 +7101,98 @@ } }, { - "name": "Rate", + "name": "LimitEarlyBookingPolicy", "members": [ { - "name": "labeledPriceOptions", + "name": "earliestBookingInMinutes", "optional": true, "type": [ { - "complexType": { - "nativeType": "Record", - "typeParams": [ - { - "nativeType": "string" - }, - { - "referenceType": "wix-bookings-v2.Services.Price" - } - ] - } + "nativeType": "number" } ], - "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + "doc": "Maximum number of minutes before the start of the session that a booking can be made. This value must be greater\nthan `latest_booking_in_minutes` in the `LimitLateBookingPolicy` policy.\n\nDefault: 10080 minutes (7 days)\nMin: 1 minute\n" }, { - "name": "priceText", + "name": "enabled", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + "doc": "Whether there is a limit on how early a customer\ncan book. When `false`, there is no limit on the earliest\nbooking time and customers can book in advance, as early as they like.\n\nDefault: `false`\n" } ], "docs": { "description": [ - "" + "The policy for limiting early bookings." ] } }, { - "name": "RecurringInterval", + "name": "LimitLateBookingPolicy", "members": [ { - "name": "_id", - "readOnly": true, + "name": "enabled", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The recurring interval identifier." + "doc": "Whether there is a limit on how late a customer\ncan book. When `false`, there is no limit on the latest\nbooking time and customers can book up to the last minute.\n\nDefault: `false`\n" }, { - "name": "affectedSchedules", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.LinkedSchedule" - } - ] - } - } - ], - "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." - }, - { - "name": "end", - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." - }, - { - "name": "frequency", + "name": "latestBookingInMinutes", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Frequency" + "nativeType": "number" } ], - "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." - }, + "doc": "Minimum number of minutes before the start of the session that a booking can be made.\nFor a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions.\nThis value must be less than `earliest_booking_in_minutes` in the `LimitEarlyBookingPolicy` policy.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + } + ], + "docs": { + "description": [ + "The policy for limiting late bookings." + ] + } + }, + { + "name": "LinkedSchedule", + "members": [ { - "name": "interval", + "name": "scheduleId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Interval" + "nativeType": "string" } ], - "doc": "The interval rules. The day, hour and minutes the interval is recurring." + "doc": "Schedule ID." }, { - "name": "intervalType", + "name": "scheduleOwnerId", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The type of recurring interval.\n" + "doc": "Owner ID, of the linked schedule." }, { - "name": "start", + "name": "transparency", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "The start time of the recurring interval. Required." + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions." } ], "docs": { @@ -5209,54 +7202,57 @@ } }, { - "name": "RecurringSessionSplit", + "name": "LocalDateTime", "members": [ { - "name": "newScheduleVersion", + "name": "dayOfMonth", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "" + "doc": "Day of the month, from 1-31." }, { - "name": "oldScheduleVersion", + "name": "hourOfDay", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "" + "doc": "Hour of the day in 24-hour format, from 0-23." }, { - "name": "recurringSessions", + "name": "minutesOfHour", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Session" - } - ] - } + "nativeType": "number" } ], - "doc": "" + "doc": "Minute, from 0-59." }, { - "name": "scheduleId", + "name": "monthOfYear", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "" + "doc": "Month number, from 1-12." + }, + { + "name": "year", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Year. 4-digit format." } ], "docs": { @@ -5266,41 +7262,27 @@ } }, { - "name": "RecurringSessionsUpdated", + "name": "Locale", "members": [ { - "name": "newRecurringSessions", + "name": "country", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Session" - } - ] - } + "nativeType": "string" } ], - "doc": "New schedule's recurring session list." + "doc": "Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format." }, { - "name": "oldRecurringSessions", + "name": "languageCode", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Session" - } - ] - } + "nativeType": "string" } ], - "doc": "Old schedule's recurring session list." + "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." } ], "docs": { @@ -5310,35 +7292,57 @@ } }, { - "name": "RemovedLocationSessionsAction", + "name": "Location", "members": [ { - "name": "action", + "name": "business", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.BusinessLocationOptions" } ], - "doc": "The action to perform on sessions currently set to a removed location." + "doc": "The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations)." }, { - "name": "moveToLocationOptions", + "name": "calculatedAddress", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MoveToNewLocationsOptions" + "referenceType": "wix-bookings-v2.Services.Address" } ], - "doc": "Options related to the action, such as a new location to move existing sessions to." + "doc": "The location address, based on the location `type`. If `type` is `CUSTOMER`, this address is empty." + }, + { + "name": "custom", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CustomLocationOptions" + } + ], + "doc": "The service is offered at a custom location." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of location:\n- `CUSTOM`: The location is specific to this service, and is not derived from the business location.\n- `BUSINESS`: A business location, as defined for the by the Business Info [Locations API](https://www.wix.com/velo/reference/wix-business-tools-v2/locations).\n- `CUSTOMER`: Will be determined by the customer. For appointments only." } ], "extra": { "oneOfGroups": [ { - "name": "oneOfRemovedLocationSessionsActionActionOptionsOneOf", + "name": "oneOfLocationOptionsOneOf", "members": [ - "moveToLocationOptions" + "business", + "custom" ] } ] @@ -5350,219 +7354,107 @@ } }, { - "name": "RemovedLocationSessionsActionActionOptionsOneOf", - "members": [ - { - "name": "moveToLocationOptions", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.MoveToNewLocationsOptions" - } - ], - "doc": "Options related to the action, such as a new location to move existing sessions to." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ReschedulePolicy", + "name": "LocationOptionsOneOf", "members": [ { - "name": "enabled", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether rescheduling a booking is allowed. When `true`, customers\ncan reschedule the booking.\n\nDefault: `false`\n" - }, - { - "name": "latestRescheduleInMinutes", + "name": "business", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.BusinessLocationOptions" } ], - "doc": "Minimum number of minutes before the start of the booked session that the booking can be rescheduled.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + "doc": "The service is offered at the referenced business location, the location has to reference a location from the Business Info [Locations API](https://dev.wix.com/api/rest/business-info/locations)." }, { - "name": "limitLatestReschedule", + "name": "custom", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.CustomLocationOptions" } ], - "doc": "Whether there is a limit on the latest reschedule time. When `true`,\na time limit is enforced.\n\nDefault: `false`\n" + "doc": "The service is offered at a custom location." } ], "docs": { "description": [ - "The policy for rescheduling a booked session." + "" ] } }, { - "name": "Resource", + "name": "LocationsAddress", "members": [ { - "name": "_id", - "readOnly": true, + "name": "city", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource ID." + "doc": "City name." }, { - "name": "description", + "name": "country", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource description." + "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, { - "name": "email", + "name": "formatted", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource email address." + "doc": "Full address of the location." }, { - "name": "images", + "name": "location", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Services.LocationsAddressLocation" } ], - "doc": "Resource images." + "doc": "Geographic coordinates of location." }, { - "name": "name", + "name": "postalCode", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Resource name." + "doc": "Postal or zip code." }, { - "name": "phone", + "name": "streetAddress", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.LocationsStreetAddress" } ], - "doc": "Resource phone number." + "doc": "Street address. Includes street name, number, and apartment number in separate fields." }, { - "name": "scheduleIds", - "readOnly": true, + "name": "subdivision", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "List of IDs of schedules owned by this resource." - }, - { - "name": "schedules", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.V1Schedule" - } - ] - } - } - ], - "doc": "Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1." - }, - { - "name": "status", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Resource status.\n" - }, - { - "name": "tag", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Deprecated. Please use tags." - }, - { - "name": "tags", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'." - }, - { - "name": "wixUserId", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.\n" + "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." } ], "docs": { @@ -5572,37 +7464,37 @@ } }, { - "name": "ResourceNotification", + "name": "LocationsAddressLocation", "members": [ { - "name": "event", + "name": "latitude", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Event type." + "doc": "Latitude of the location. Must be between -90 and 90." }, { - "name": "resource", + "name": "longitude", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Resource" + "nativeType": "number" } ], - "doc": "Updated resource entity.\n'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead." + "doc": "Longitude of the location. Must be between -180 and 180." } ], "docs": { "description": [ - "" + "Address Geolocation" ] } }, { - "name": "Schedule", + "name": "LocationsLocation", "members": [ { "name": "_id", @@ -5613,270 +7505,219 @@ "nativeType": "string" } ], - "doc": "Schedule ID, used to manage the service's sessions." + "doc": "Location ID." }, { - "name": "availabilityConstraints", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.AvailabilityConstraints" - } - ], - "doc": "Limitations dictating the way session availability is calculated. For appointments only." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ScheduleCancelled", - "members": [ - { - "name": "oldSchedule", + "name": "address", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Schedule" + "referenceType": "wix-bookings-v2.Services.LocationsAddress" } ], - "doc": "" + "doc": "Address." }, { - "name": "participantNotification", + "name": "archived", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + "nativeType": "boolean" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." }, { - "name": "schedule", + "name": "businessSchedule", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Schedule" + "referenceType": "wix-bookings-v2.Services.BusinessSchedule" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ScheduleCreated", - "members": [ + "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, { - "name": "schedule", + "name": "default", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Schedule" + "nativeType": "boolean" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "ScheduleNotification", - "members": [ + "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + }, { - "name": "availabilityPolicyUpdated", + "name": "description", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.AvailabilityPolicyUpdated" + "nativeType": "string" } ], - "doc": "" + "doc": "Location description." }, { - "name": "instanceId", + "name": "email", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "" + "doc": "Email address." }, { - "name": "intervalSplit", + "name": "fax", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.IntervalSplit" + "nativeType": "string" } ], - "doc": "" + "doc": "Fax number." }, { - "name": "migrationEvent", + "name": "locationType", + "readOnly": false, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MigrationEvent" + "nativeType": "string" } ], - "doc": "supported only for schedule migration apis." + "doc": "Location type.\n\n**Note:** Currently not supported." }, { - "name": "multipleSessionsCreated", + "name": "locationTypes", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MultipleSessionsCreated" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "supported only for schedule migration apis." + "doc": "Location types." }, { - "name": "notifyParticipants", + "name": "name", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + "doc": "Location name." }, { - "name": "preserveFutureSessionsWithParticipants", + "name": "phone", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "" + "doc": "Phone number." }, { - "name": "recurringSessionSplit", + "name": "revision", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.RecurringSessionSplit" + "nativeType": "string" } ], - "doc": "" + "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." }, { - "name": "scheduleCancelled", + "name": "status", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleCancelled" + "nativeType": "string" } ], - "doc": "" + "doc": "Location status. Defaults to `ACTIVE`.\n__Notes:__\n- [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status.\n- `INACTIVE` status is currently not supported." }, { - "name": "scheduleCreated", + "name": "timeZone", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleCreated" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "Timezone in `America/New_York` format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "LocationsStreetAddress", + "members": [ { - "name": "scheduleUnassignedFromUser", + "name": "apt", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleUnassignedFromUser" + "nativeType": "string" } ], - "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + "doc": "Apartment number." }, { - "name": "scheduleUpdated", + "name": "name", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleUpdated" + "nativeType": "string" } ], - "doc": "" + "doc": "Street name." }, { - "name": "sessionCancelled", + "name": "number", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SessionCancelled" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "Street number." + } + ], + "docs": { + "description": [ + "Street address. Includes street name, number, and apartment number in separate fields." + ] + } + }, + { + "name": "MaskedService", + "members": [ { - "name": "sessionCreated", + "name": "service", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SessionCreated" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "" - }, - { - "name": "sessionUpdated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.SessionUpdated" - } - ], - "doc": "" - }, - { - "name": "siteProperties", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.SitePropertiesOnScheduleCreation" - } - ], - "doc": "site properties. Optional. Given in create schedule notification." + "doc": "Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported." } ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfScheduleNotificationEventOneOf", - "members": [ - "availabilityPolicyUpdated", - "intervalSplit", - "migrationEvent", - "multipleSessionsCreated", - "recurringSessionSplit", - "scheduleCancelled", - "scheduleCreated", - "scheduleUnassignedFromUser", - "scheduleUpdated", - "sessionCancelled", - "sessionCreated", - "sessionUpdated" - ] - } - ] - }, "docs": { "description": [ "" @@ -5884,124 +7725,178 @@ } }, { - "name": "ScheduleNotificationEventOneOf", + "name": "Media", "members": [ { - "name": "availabilityPolicyUpdated", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.AvailabilityPolicyUpdated" - } - ], - "doc": "" - }, - { - "name": "intervalSplit", + "name": "coverMedia", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.IntervalSplit" + "referenceType": "wix-bookings-v2.Services.MediaItem" } ], - "doc": "" + "doc": "Cover media associated with the service." }, { - "name": "migrationEvent", + "name": "items", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MigrationEvent" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.MediaItem" + } + ] + } } ], - "doc": "supported only for schedule migration apis." + "doc": "Media items associated with the service." }, { - "name": "multipleSessionsCreated", + "name": "mainMedia", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.MultipleSessionsCreated" + "referenceType": "wix-bookings-v2.Services.MediaItem" } ], - "doc": "supported only for schedule migration apis." - }, + "doc": "Primary media associated with the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MediaItem", + "members": [ { - "name": "recurringSessionSplit", + "name": "image", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.RecurringSessionSplit" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "The image's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfMediaItemItemOneOf", + "members": [ + "image" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MediaItemItemOneOf", + "members": [ { - "name": "scheduleCancelled", + "name": "image", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleCancelled" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "The image's Wix media URL in the following format: `'wix:image://v1//#originWidth=&originHeight=[&watermark=]'`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MessageEnvelope", + "members": [ { - "name": "scheduleCreated", + "name": "data", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleCreated" + "nativeType": "string" } ], - "doc": "" + "doc": "Stringify payload." }, { - "name": "scheduleUnassignedFromUser", + "name": "eventType", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleUnassignedFromUser" + "nativeType": "string" } ], - "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + "doc": "Event type." }, { - "name": "scheduleUpdated", + "name": "identity", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ScheduleUpdated" + "referenceType": "wix-bookings-v2.Services.IdentificationData" } ], - "doc": "" + "doc": "The identification type and identity data." }, { - "name": "sessionCancelled", + "name": "instanceId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SessionCancelled" + "nativeType": "string" } ], - "doc": "" - }, + "doc": "App instance ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MigrationData", + "members": [ { - "name": "sessionCreated", + "name": "businessId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SessionCreated" + "nativeType": "string" } ], "doc": "" }, { - "name": "sessionUpdated", + "name": "staffs", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SessionUpdated" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.StaffData" + } + ] + } } ], "doc": "" @@ -6014,87 +7909,77 @@ } }, { - "name": "ScheduleUnassignedFromUser", + "name": "MigrationEvent", "members": [ { - "name": "schedule", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.V1Schedule" - } - ], - "doc": "The schedule that was unassigned from the user." - }, - { - "name": "userId", + "name": "migrationData", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.MigrationData" } ], - "doc": "The Wix user id." + "doc": "" } ], "docs": { "description": [ - "Schedule unassigned from user." + "" ] } }, { - "name": "ScheduleUpdated", + "name": "Money", "members": [ { - "name": "newSchedule", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.V1Schedule" - } - ], - "doc": "The new schedule after the update." - }, - { - "name": "oldSchedule", + "name": "currency", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Schedule" + "nativeType": "string" } ], - "doc": "The old schedule before the update." + "doc": "Currency code. Must be valid ISO 4217 currency code (e.g., USD)." }, { - "name": "participantNotification", + "name": "formattedValue", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative." }, { - "name": "recurringSessions", + "name": "value", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.RecurringSessionsUpdated" + "nativeType": "string" } ], - "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." - }, + "doc": "Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative." + } + ], + "docs": { + "description": [ + "Money.\nDefault format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003." + ] + } + }, + { + "name": "MoveToNewLocationsOptions", + "members": [ { - "name": "triggeredByAnonymizeRequest", + "name": "newLocation", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Location" } ], - "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + "doc": "The new location to move existing sessions currently set to a removed location, used when `action` is `MOVE_TO_LOCATION`." } ], "docs": { @@ -6104,20 +7989,29 @@ } }, { - "name": "ScheduleWithSessions", + "name": "MultiServiceEnabledNotification", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Multilingual", "members": [ { - "name": "schedule", + "name": "autoRedirect", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Schedule" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether to redirect to user language." }, { - "name": "sessions", + "name": "supportedLanguages", "optional": true, "type": [ { @@ -6125,20 +8019,37 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.Session" + "referenceType": "wix-bookings-v2.Services.SupportedLanguage" } ] } } ], - "doc": "" - }, + "doc": "Supported languages list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MultipleSessionsCreated", + "members": [ { - "name": "siteProperties", + "name": "schedulesWithSessions", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SitePropertiesOnScheduleCreation" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleWithSessions" + } + ] + } } ], "doc": "" @@ -6151,20 +8062,10 @@ } }, { - "name": "SeoSchema", + "name": "NestedAggregation", "members": [ { - "name": "settings", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.Settings" - } - ], - "doc": "SEO general settings." - }, - { - "name": "tags", + "name": "nestedAggregations", "optional": true, "type": [ { @@ -6172,345 +8073,4302 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.Tag" + "referenceType": "wix-bookings-v2.Services.NestedAggregationItem" } ] } } ], - "doc": "SEO tag information." + "doc": "" } ], "docs": { "description": [ - "The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\nThe search engines use this information for ranking purposes, or to display snippets in the search results.\nThis data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself." + "nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one" ] } }, { - "name": "Service", + "name": "NestedAggregationItem", "members": [ { - "name": "_createdDate", - "readOnly": true, + "name": "dateHistogram", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Services.DateHistogramAggregation" } ], - "doc": "Date and time the service was created." + "doc": "" }, { - "name": "_id", - "readOnly": true, + "name": "fieldPath", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Service ID." + "doc": "" }, { - "name": "_updatedDate", - "readOnly": true, + "name": "name", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "Date and time the service was updated." + "doc": "" }, { - "name": "bookingPolicy", + "name": "range", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BookingPolicy" + "referenceType": "wix-bookings-v2.Services.RangeAggregation" } ], - "doc": "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." + "doc": "" }, { - "name": "category", + "name": "scalar", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V2Category" + "referenceType": "wix-bookings-v2.Services.ScalarAggregation" } ], - "doc": "The category the service is associated with." + "doc": "" }, { - "name": "conferencing", + "name": "type", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Conferencing" + "nativeType": "string" } ], - "doc": "Conferencing options for this service." + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" }, { - "name": "defaultCapacity", + "name": "value", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.ValueAggregation" } ], - "doc": "Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity." + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfNestedAggregationItemKindOneOf", + "members": [ + "dateHistogram", + "range", + "scalar", + "value" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedAggregationItemKindOneOf", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.DateHistogramAggregation" + } + ], + "doc": "" }, { - "name": "description", + "name": "range", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.RangeAggregation" } ], - "doc": "Service description, such as `High-class hair styling, cuts, straightening and color.`" + "doc": "" }, { - "name": "form", + "name": "scalar", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Form" + "referenceType": "wix-bookings-v2.Services.ScalarAggregation" } ], - "doc": "The form used when booking the service." + "doc": "" }, { - "name": "hidden", + "name": "value", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.ValueAggregation" } ], - "doc": "Whether the service is hidden from the site." + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedAggregationResults", + "members": [ + { + "name": "fieldPath", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" }, { - "name": "locations", - "readOnly": true, + "name": "name", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Location" - } - ] - } + "nativeType": "string" } ], - "doc": "The locations this service is offered at.\nOnly multiple locations of type `BUSINESS` are supported. multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.\nFor courses only: Currently, only 1 location is supported, for all location types.\nUse `setServiceLocations` method to change the locations this service is offered at." + "doc": "" }, { - "name": "mainSlug", - "readOnly": true, + "name": "ranges", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Slug" + "referenceType": "wix-bookings-v2.Services.RangeResults" } ], - "doc": "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.\n`mainSlug` is used to construct the service's URLs." + "doc": "" }, { - "name": "media", + "name": "scalar", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Media" + "referenceType": "wix-bookings-v2.Services.ScalarResult" } ], - "doc": "Media associated with the service." + "doc": "" }, { - "name": "name", + "name": "type", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Service name." + "doc": "Supported values:\n- `'DATE_HISTOGRAM'`\n- `'NESTED'`\n- `'RANGE'`\n- `'SCALAR'`\n- `'UNKNOWN_AGGREGATION_TYPE'`\n- `'VALUE'`" }, { - "name": "onlineBooking", + "name": "values", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.OnlineBooking" + "referenceType": "wix-bookings-v2.Services.ValueResults" } ], - "doc": "Online booking settings." - }, + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfNestedAggregationResultsResultOneOf", + "members": [ + "ranges", + "scalar", + "values" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedAggregationResultsResultOneOf", + "members": [ { - "name": "payment", + "name": "ranges", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Payment" + "referenceType": "wix-bookings-v2.Services.RangeResults" } ], - "doc": "Payment options for booking the service." + "doc": "" }, { - "name": "revision", - "readOnly": true, + "name": "scalar", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ScalarResult" } ], - "doc": "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." + "doc": "" }, { - "name": "schedule", - "readOnly": true, + "name": "values", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Schedule" + "referenceType": "wix-bookings-v2.Services.ValueResults" } ], - "doc": "The service's schedule, which can be used to manage the service's sessions." + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedResultValue", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ValueResult" + } + ], + "doc": "" }, { - "name": "seoData", + "name": "range", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SeoSchema" + "referenceType": "wix-bookings-v2.Services.RangeResult" } ], - "doc": "Custom SEO data for the service." + "doc": "" }, { - "name": "sortOrder", + "name": "scalar", "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.NestedResultsScalarResult" } ], - "doc": "Order of a service within a category." + "doc": "" }, { - "name": "staffMemberIds", + "name": "value", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "referenceType": "wix-bookings-v2.Services.ValueResult" } ], - "doc": "IDs of the staff members providing the service. For appointments only." + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfNestedResultValueResultOneOf", + "members": [ + "dateHistogram", + "range", + "scalar", + "value" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedResultValueResultOneOf", + "members": [ + { + "name": "dateHistogram", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ValueResult" + } + ], + "doc": "" }, { - "name": "staffMembersIds", - "readOnly": true, + "name": "range", "optional": true, "type": [ { - "complexType": { + "referenceType": "wix-bookings-v2.Services.RangeResult" + } + ], + "doc": "" + }, + { + "name": "scalar", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.NestedResultsScalarResult" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ValueResult" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Results" } ] } } ], - "doc": "IDs of the staff members providing the service. For appointments only." + "doc": "" + } + ], + "docs": { + "description": [ + "results of `NESTED` aggregation type in a flattened form\naggregations in resulting array are keyed by requested aggregation `name`." + ] + } + }, + { + "name": "NestedResultsScalarResult", + "members": [ + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "NestedValueAggregationResult", + "members": [ + { + "name": "nestedResults", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.NestedAggregationResults" + } + ], + "doc": "" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "OnlineBooking", + "members": [ + { + "name": "allowMultipleRequests", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Multiple customers can request to book the same time slot. Relevant when `requireManualApproval` is `true`." + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this service can be booked online.\nWhen set to `true`, customers can book the service online. Configuring the payment options is done via `service.payment` property.\nWhen set to `false`, customers cannot book the service online, and the service can only be paid for in person." + }, + { + "name": "requireManualApproval", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Booking the service requires approval by the business owner." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Page", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Page's Id" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Paging", + "members": [ + { + "name": "limit", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to load." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items to skip in the current sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PagingMetadataV2", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of items returned in the response." + }, + { + "name": "cursors", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Cursors" + } + ], + "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." + }, + { + "name": "offset", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Offset that was requested." + }, + { + "name": "tooManyToCount", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag that indicates the server failed to calculate the `total` field." + }, + { + "name": "total", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Participant", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant ID. Currently represents the booking.id." + }, + { + "name": "approvalStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Approval status for the participant.\n" + }, + { + "name": "contactId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact ID." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's email address." + }, + { + "name": "inherited", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's name." + }, + { + "name": "partySize", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's phone number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ParticipantNotification", + "members": [ + { + "name": "message", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Custom message to send to the participants about the changes to the booking." + }, + { + "name": "notifyParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ParticipantsPolicy", + "members": [ + { + "name": "maxParticipantsPerBooking", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants allowed.\n\nDefault: 1 participant\nMin: 1 participant\n" + } + ], + "docs": { + "description": [ + "The policy for the maximum number of participants per booking." + ] + } + }, + { + "name": "Payment", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CustomPayment" + } + ], + "doc": "The details for the custom price of the service.\n\nRequired when: `rateType` is `CUSTOM`\n" + }, + { + "name": "fixed", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.FixedPayment" + } + ], + "doc": "The details for the fixed price of the service.\n\nRequired when: `rateType` is `FIXED`\n" + }, + { + "name": "options", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.PaymentOptions" + } + ], + "doc": "The payment options a customer can use to pay for the service." + }, + { + "name": "pricingPlanIds", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "IDs of pricing plans that can be used as payment for the service." + }, + { + "name": "rateType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The rate the customer is expected to pay for the service.\nCan be:\n- `FIXED`: The service has a fixed price.\n- `CUSTOM`: The service has a custom price, expressed as a price description.\n- `VARIED`: This service is offered with a set of different prices based on different terms.\n- `NO_FEE`: This service is offered free of charge." + }, + { + "name": "varied", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.VariedPayment" + } + ], + "doc": "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`\n" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfPaymentRateOneOf", + "members": [ + "custom", + "fixed", + "varied" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PaymentOptions", + "members": [ + { + "name": "deposit", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "This service requires a deposit to be made online in order to book it.\nWhen `true`:\n+ `rateType` must be `VARIED` or `FIXED`.\n+ A `deposit` must be specified." + }, + { + "name": "inPerson", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Customers can pay for the service in person." + }, + { + "name": "online", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Customers can pay for the service online.\nWhen `true`:\n+ `rateType` must be either `FIXED` or `VARIED`.\n+ `fixed.price` or `varied.default_price` must be specified respectively. Read more about [getting paid online](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online)." + }, + { + "name": "pricingPlan", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Customers can pay for the service using a pricing plan." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PaymentRateOneOf", + "members": [ + { + "name": "custom", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CustomPayment" + } + ], + "doc": "The details for the custom price of the service.\n\nRequired when: `rateType` is `CUSTOM`\n" + }, + { + "name": "fixed", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.FixedPayment" + } + ], + "doc": "The details for the fixed price of the service.\n\nRequired when: `rateType` is `FIXED`\n" + }, + { + "name": "varied", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.VariedPayment" + } + ], + "doc": "The details for the varied pricing of the service.\nRead more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).\n\nRequired when: `rateType` is `VARIED`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PolicyDescription", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The description to display.\n\nDefault: Empty\nMax length: 2500 characters\n" + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the description should be displayed. If `true`, the description is displayed.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "A description of the policy to display to participants." + ] + } + }, + { + "name": "Price", + "members": [ + { + "name": "amount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Required payment amount." + }, + { + "name": "currency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency in which the amount is quoted." + }, + { + "name": "downPayAmount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Amount of a down payment or deposit as part of the transaction." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Properties", + "members": [ + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V4Address" + } + ], + "doc": "Address." + }, + { + "name": "businessConfig", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n\nSite business type.\n" + }, + { + "name": "businessName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Business name." + }, + { + "name": "businessSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.BusinessSchedule" + } + ], + "doc": "Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, + { + "name": "categories", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Categories" + } + ], + "doc": "Site categories." + }, + { + "name": "consentPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ConsentPolicy" + } + ], + "doc": "Cookie policy the site owner defined for their site (before the users interacts with/limits it)." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Email address." + }, + { + "name": "externalSiteUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "External site url that uses Wix as its headless business solution" + }, + { + "name": "fax", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fax number." + }, + { + "name": "language", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site language.\n\nTwo-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n" + }, + { + "name": "locale", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Locale" + } + ], + "doc": "Site locale." + }, + { + "name": "logo", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Path to the site's logo in Wix Media (without Wix Media base URL)." + }, + { + "name": "multilingual", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Multilingual" + } + ], + "doc": "Supported languages of a site and the primary language." + }, + { + "name": "paymentCurrency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site currency format used to bill customers.\n\nThree-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n" + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Phone number." + }, + { + "name": "siteDisplayName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Site display name." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Timezone in `America/New_York` format." + }, + { + "name": "trackClicksAnalytics", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Track clicks analytics" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "PropertiesChange", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryPoliciesRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CursorQuery" + } + ], + "doc": "WQL expression." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryPoliciesResponse", + "members": [ + { + "name": "bookingPolicies", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.BookingPolicyWithServices" + } + ] + } + } + ], + "doc": "The retrieved policies." + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CursorPagingMetadata" + } + ], + "doc": "Paging metadata, including offset and count." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryServicesOptions", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryServicesRequest", + "members": [ + { + "name": "query", + "type": [ + { + "referenceType": "wix-bookings-v2.Services.QueryV2" + } + ], + "doc": "WQL expression." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryServicesResponse", + "members": [ + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.PagingMetadataV2" + } + ], + "doc": "Paging metadata, including offset and count." + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ] + } + } + ], + "doc": "The retrieved services." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryV2", + "members": [ + { + "name": "filter", + "optional": true, + "type": [ + { + "nativeType": "Object" + } + ], + "doc": "Filter object in the following format:\n\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\n\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`\n\nRead more about [supported fields and operators](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting).\n" + }, + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + }, + { + "name": "sort", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Sorting" + } + ] + } + } + ], + "doc": "Sort object in the following format:\n`[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"},\n{\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n\nRead more about [sorting](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting#wix-bookings_services-v2_filtering-and-sorting_sorting).\n" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfQueryV2PagingMethodOneOf", + "members": [ + "cursorPaging", + "paging" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "QueryV2PagingMethodOneOf", + "members": [ + { + "name": "paging", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Paging" + } + ], + "doc": "Paging options to limit and skip the number of items." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RangeAggregation", + "members": [ + { + "name": "buckets", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.RangeBucket" + } + ] + } + } + ], + "doc": "Range buckets" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RangeAggregationResult", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "to", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RangeBucket", + "members": [ + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Inclusive lower bound of the range. Required if to is not given." + }, + { + "name": "to", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Exclusive upper bound of the range. Required if from is not given." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RangeResult", + "members": [ + { + "name": "count", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "to", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RangeResults", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.RangeAggregationResult" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Rate", + "members": [ + { + "name": "labeledPriceOptions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.Services.Price" + } + ] + } + } + ], + "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + }, + { + "name": "priceText", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RecurringInterval", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The recurring interval identifier." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.LinkedSchedule" + } + ] + } + } + ], + "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." + }, + { + "name": "frequency", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Frequency" + } + ], + "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." + }, + { + "name": "interval", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Interval" + } + ], + "doc": "The interval rules. The day, hour and minutes the interval is recurring." + }, + { + "name": "intervalType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of recurring interval." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The start time of the recurring interval. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RecurringSessionSplit", + "members": [ + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RecurringSessionsUpdated", + "members": [ + { + "name": "newRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ] + } + } + ], + "doc": "New schedule's recurring session list." + }, + { + "name": "oldRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ] + } + } + ], + "doc": "Old schedule's recurring session list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ReindexMessage", + "members": [ + { + "name": "delete", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Delete" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "entityFqdn", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "" + }, + { + "name": "schema", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Schema" + } + ], + "doc": "" + }, + { + "name": "tenantId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "upsert", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Upsert" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfReindexMessageActionOneOf", + "members": [ + "delete", + "upsert" + ] + } + ] + }, + "docs": { + "description": [ + "Message for reindexing search data to a given search schema. Support both upsert and delete flows as well as\nperforms context manipulation with adding tenant, provided in message to callscope." + ] + } + }, + { + "name": "ReindexMessageActionOneOf", + "members": [ + { + "name": "delete", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Delete" + } + ], + "doc": "" + }, + { + "name": "upsert", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Upsert" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RemovedLocationSessionsAction", + "members": [ + { + "name": "action", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location." + }, + { + "name": "moveToLocationOptions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.MoveToNewLocationsOptions" + } + ], + "doc": "Options related to the action, such as a new location to move existing sessions to." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfRemovedLocationSessionsActionActionOptionsOneOf", + "members": [ + "moveToLocationOptions" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RemovedLocationSessionsActionActionOptionsOneOf", + "members": [ + { + "name": "moveToLocationOptions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.MoveToNewLocationsOptions" + } + ], + "doc": "Options related to the action, such as a new location to move existing sessions to." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ReschedulePolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether rescheduling a booking is allowed. When `true`, customers\ncan reschedule the booking.\n\nDefault: `false`\n" + }, + { + "name": "latestRescheduleInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minimum number of minutes before the start of the booked session that the booking can be rescheduled.\n\nDefault: 1440 minutes (1 day)\nMin: 1 minute\n" + }, + { + "name": "limitLatestReschedule", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether there is a limit on the latest reschedule time. When `true`,\na time limit is enforced.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "The policy for rescheduling a booked session." + ] + } + }, + { + "name": "Resource", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource ID." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource email address." + }, + { + "name": "images", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource images." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource phone number." + }, + { + "name": "scheduleIds", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "List of IDs of schedules owned by this resource." + }, + { + "name": "schedules", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ] + } + } + ], + "doc": "Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Resource status." + }, + { + "name": "tag", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Deprecated. Please use tags." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'." + }, + { + "name": "wixUserId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Wix user ID, if the resource is associated with the Wix user.\nA staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourceGroup", + "members": [ + { + "name": "requiredResourcesNumber", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "How many resources of the group / resource ids are required in order to book the service.\nDefaults to 1." + }, + { + "name": "resourceGroupId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "An optional resource group id, if provided it references a resource group in the resource groups API.\nTODO - referenced_entity annotation" + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ResourceIds" + } + ], + "doc": "Resource ids, each referencing a resource in resources API. may be a subset of resources within a resource group.\nTODO - referenced_entity annotation" + }, + { + "name": "selectableResource", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "If set to `true`, the custom can select the specific resources while booking the service.\nIf set to `false`, the resources required for to book the service would be auto selected at the time of the booking.\nDefaults to false." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourceIds", + "members": [ + { + "name": "values", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Values of the resource ids. TODO - referenced_entity annotation" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourceNotification", + "members": [ + { + "name": "event", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event type." + }, + { + "name": "resource", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Resource" + } + ], + "doc": "Updated resource entity.\n'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourceType", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of the resource." + }, + { + "name": "name", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The name of the resource type." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ResourcesPolicy", + "members": [ + { + "name": "autoAssignAllowed", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "`true`, if it is allowed to automatically assign a resource when booking an appointment,\n`false`, if the client must always select a resource.\n\nDefault: `false`\n" + }, + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "`true` if this policy is enabled, `false` otherwise.\nWhen `false` then the client must always select a resource when booking an appointment." + } + ], + "docs": { + "description": [ + "The policy regarding the allocation of resources (e.g. staff members)." + ] + } + }, + { + "name": "Results", + "members": [ + { + "name": "results", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.Services.NestedResultValue" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SaveCreditCardPolicy", + "members": [ + { + "name": "enabled", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether customer credit card details should be stored.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScalarAggregation", + "members": [ + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'AVG'`\n- `'COUNT_DISTINCT'`\n- `'MAX'`\n- `'MIN'`\n- `'SUM'`\n- `'UNKNOWN_SCALAR_TYPE'`" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScalarResult", + "members": [ + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Supported values:\n- `'AVG'`\n- `'COUNT_DISTINCT'`\n- `'MAX'`\n- `'MIN'`\n- `'SUM'`\n- `'UNKNOWN_SCALAR_TYPE'`" + }, + { + "name": "value", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Schedule", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID, used to manage the service's sessions." + }, + { + "name": "availabilityConstraints", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.AvailabilityConstraints" + } + ], + "doc": "Limitations dictating the way session availability is calculated. For appointments only." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleCancelled", + "members": [ + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleCreated", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleNotification", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "notifyParticipants", + "readOnly": false, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + }, + { + "name": "preserveFutureSessionsWithParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionUpdated" + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SitePropertiesOnScheduleCreation" + } + ], + "doc": "site properties. Optional. Given in create schedule notification." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfScheduleNotificationEventOneOf", + "members": [ + "availabilityPolicyUpdated", + "intervalSplit", + "migrationEvent", + "multipleSessionsCreated", + "recurringSessionSplit", + "scheduleCancelled", + "scheduleCreated", + "scheduleUnassignedFromUser", + "scheduleUpdated", + "sessionCancelled", + "sessionCreated", + "sessionUpdated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleNotificationEventOneOf", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionUpdated" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleUnassignedFromUser", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "The schedule that was unassigned from the user." + }, + { + "name": "userId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The Wix user id." + } + ], + "docs": { + "description": [ + "Schedule unassigned from user." + ] + } + }, + { + "name": "ScheduleUpdated", + "members": [ + { + "name": "newSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "The new schedule after the update." + }, + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "The old schedule before the update." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.RecurringSessionsUpdated" + } + ], + "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleWithSessions", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Schedule" + } + ], + "doc": "" + }, + { + "name": "sessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SitePropertiesOnScheduleCreation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Schema", + "members": [ + { + "name": "clusterName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "label", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SearchDetails", + "members": [ + { + "name": "expression", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Search term or expression" + }, + { + "name": "fields", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Fields to search in. If empty - server will search in own default fields" + }, + { + "name": "fuzzy", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm)" + }, + { + "name": "mode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Boolean search mode" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SearchServicesRequest", + "members": [ + { + "name": "search", + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CursorSearch" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SearchServicesResponse", + "members": [ + { + "name": "aggregationData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.AggregationData" + } + ], + "doc": "Response aggregation data" + }, + { + "name": "pagingMetadata", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CursorPagingMetadata" + } + ], + "doc": "Cursor paging metadata" + }, + { + "name": "services", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ] + } + } + ], + "doc": "The retrieved services." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SeoSchema", + "members": [ + { + "name": "settings", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Settings" + } + ], + "doc": "SEO general settings." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Tag" + } + ] + } + } + ], + "doc": "SEO tag information." + } + ], + "docs": { + "description": [ + "The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\nThe search engines use this information for ranking purposes, or to display snippets in the search results.\nThis data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself." + ] + } + }, + { + "name": "Service", + "members": [ + { + "name": "_createdDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the service was created." + }, + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service ID." + }, + { + "name": "_updatedDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the service was updated." + }, + { + "name": "bookingPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.BookingPolicy" + } + ], + "doc": "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." + }, + { + "name": "category", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V2Category" + } + ], + "doc": "The category the service is associated with." + }, + { + "name": "conferencing", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Conferencing" + } + ], + "doc": "Conferencing options for this service." + }, + { + "name": "defaultCapacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "extendedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ExtendedFields" + } + ], + "doc": "Extensions enabling users to save custom data related to the service." + }, + { + "name": "form", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Form" + } + ], + "doc": "The form used when booking the service." + }, + { + "name": "hidden", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the service is hidden from the site." + }, + { + "name": "locations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Location" + } + ] + } + } + ], + "doc": "The locations this service is offered at.\nIn case of multiple (more than 1) location, All locations must be of type `BUSINESS`.\nFor courses only: Currently, only 1 location is supported, for all location types." + }, + { + "name": "mainSlug", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Slug" + } + ], + "doc": "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.\n`mainSlug` is used to construct the service's URLs." + }, + { + "name": "media", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Media" + } + ], + "doc": "Media associated with the service." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "onlineBooking", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.OnlineBooking" + } + ], + "doc": "Online booking settings." + }, + { + "name": "payment", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Payment" + } + ], + "doc": "Payment options for booking the service." + }, + { + "name": "revision", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "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." + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Schedule" + } + ], + "doc": "The service's schedule, which can be used to manage the service's sessions." + }, + { + "name": "seoData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SeoSchema" + } + ], + "doc": "Custom SEO data for the service." + }, + { + "name": "sortOrder", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Order of a service within a category." + }, + { + "name": "staffMemberIds", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "IDs of the staff members providing the service. For appointments only." + }, + { + "name": "supportedSlugs", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Slug" + } + ] + } + } + ], + "doc": "A slug is the last part of the URL address that serves as a unique identifier of the service.\nThe list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner." + }, + { + "name": "tagLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Service type." + }, + { + "name": "urls", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.URLs" + } + ], + "doc": "URLs to various service-related pages, such as the calendar page and the booking page." + } + ], + "docs": { + "description": [ + "The `Service` object represents the business offering that a business provides to its customers." + ] + } + }, + { + "name": "ServiceAvailabilityConstraints", + "members": [ + { + "name": "bookingPolicy", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.BookingPolicy" + } + ], + "doc": "The booking policy." + }, + { + "name": "locations", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Location" + } + ] + } + } + ], + "doc": "The locations this service is offered at.\nOnly multiple locations of type `BUSINESS` are supported. multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.\nFor courses only: Currently, only 1 location is supported, for all location types.\nUse `setServiceLocations` method to change the locations this service is offered at." + }, + { + "name": "onlineBooking", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.OnlineBooking" + } + ], + "doc": "Online booking settings." + }, + { + "name": "resourceGroups", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.ResourceGroup" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "schedule", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Schedule" + } + ], + "doc": "The service schedule, including the schedule id and availability constraints." + }, + { + "name": "serviceResources", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.ServiceResource" + } + ] + } + } + ], + "doc": "Resource groups required to book the service" + }, + { + "name": "slotsSplitInterval", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1SplitInterval" + } + ], + "doc": "The time between available slots' start times.\nFor example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc.\nIs applied to all schedules of the site.\nFor appointment only." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ServiceResource", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The unique identifier for the service resource, if not provided, would default to the resource type id." + }, + { + "name": "requiredResourcesNumber", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "How many resources of the are required in order to book the service.\nDefaults to 1." + }, + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ResourceIds" + } + ], + "doc": "Resource ids, each referencing a resource in resources API. Must be a subset of resources within the selected resource type." + }, + { + "name": "resourceType", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ResourceType" + } + ], + "doc": "" + }, + { + "name": "selectableResource", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "If set to `true`, the customer can select the specific resources while booking the service.\nIf set to `false`, the resources required for to book the service would be auto selected at the time of the booking.\nDefaults to false." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfServiceResourceSelectionOneOf", + "members": [ + "resourceIds" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ServiceResourceSelectionOneOf", + "members": [ + { + "name": "resourceIds", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ResourceIds" + } + ], + "doc": "Resource ids, each referencing a resource in resources API. Must be a subset of resources within the selected resource type." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ServicesUrlsChanged", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Session", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session ID." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.LinkedSchedule" + } + ] + } + } + ], + "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." + }, + { + "name": "calendarConference", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CalendarConference" + } + ], + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CalendarDateTime" + } + ], + "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + }, + { + "name": "externalCalendarOverrides", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." + }, + { + "name": "instanceOfRecurrence", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Location" + } + ], + "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + }, + { + "name": "notes", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." + }, + { + "name": "originalStart", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + }, + { + "name": "participants", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Participant" + } + ] + } + } + ], + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, + { + "name": "rate", + "readOnly": false, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Rate" + } + ], + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + }, + { + "name": "recurrence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" + }, + { + "name": "recurringIntervalId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." + }, + { + "name": "recurringSessionId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the schedule that the session belongs to." + }, + { + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the resource or service that the session's schedule belongs to." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.CalendarDateTime" + } + ], + "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session status." + }, + { + "name": "tags", + "readOnly": false, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "timeReservedAfter", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "totalNumberOfParticipants", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session type." + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.SessionVersion" + } + ], + "doc": "The session version.\nComposed by the schedule, session and participants versions." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionCancelled", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionCreated", + "members": [ + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionUpdated", + "members": [ + { + "name": "newSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ], + "doc": "" + }, + { + "name": "oldSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Session" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionVersion", + "members": [ + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetCustomSlugEvent", + "members": [ + { + "name": "mainSlug", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Slug" + } + ], + "doc": "The main slug for the service after the update" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetCustomSlugRequest", + "members": [ + { + "name": "serviceId", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the service to assign the custom slug to." + }, + { + "name": "slugName", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The custom name to set as the active slug for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetCustomSlugResponse", + "members": [ + { + "name": "service", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Service" + } + ], + "doc": "The service after the custom slug update." + }, + { + "name": "slug", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Slug" + } + ], + "doc": "The new slug set as the active slug for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetServiceLocationsOptions", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change of location, and an optional custom message." }, { - "name": "supportedSlugs", - "readOnly": true, + "name": "removedLocationSessionsAction", "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.RemovedLocationSessionsAction" + } + ], + "doc": "The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SetServiceLocationsRequest", + "members": [ + { + "name": "locations", "type": [ { "complexType": { "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.Slug" + "referenceType": "wix-bookings-v2.Services.Location" } ] } } ], - "doc": "A slug is the last part of the URL address that serves as a unique identifier of the service.\nThe list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner." + "doc": "The locations you specify replace the existing service locations." }, { - "name": "tagLine", + "name": "participantNotification", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ParticipantNotification" } ], - "doc": "Short service description, such as `Hair styling.`" + "doc": "Whether to notify participants about the change of location, and an optional custom message." }, { - "name": "type", + "name": "removedLocationSessionsAction", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.RemovedLocationSessionsAction" } ], - "doc": "Service type." + "doc": "The action to perform on sessions currently set to a removed location. For example, move existing sessions to a new specified location." }, { - "name": "urls", - "readOnly": true, - "optional": true, + "name": "serviceId", "type": [ { - "referenceType": "wix-bookings-v2.Services.URLs" + "nativeType": "string" } ], - "doc": "URLs to various service-related pages, such as the calendar page and the booking page." + "doc": "ID of the service." } ], "docs": { "description": [ - "The `Service` object represents the business offering that a business provides to its customers." + "" ] } }, { - "name": "Session", + "name": "SetServiceLocationsResponse", "members": [ { - "name": "_id", - "readOnly": true, + "name": "service", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "Session ID." - }, + "doc": "The updated service with the newly set locations." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Settings", + "members": [ { - "name": "affectedSchedules", + "name": "keywords", "optional": true, "type": [ { @@ -6518,115 +12376,136 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.LinkedSchedule" + "referenceType": "wix-bookings-v2.Services.Keyword" } ] } } ], - "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." + "doc": "User-selected keyword terms for a specific page." }, { - "name": "calendarConference", + "name": "preventAutoRedirect", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CalendarConference" + "nativeType": "boolean" } ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule." - }, + "doc": "Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n\nDefault: `false` (Auto Redirect is enabled.)\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SiteCloned", + "members": [ { - "name": "capacity", + "name": "originMetaSiteId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." - }, + "doc": "Origin site id." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SiteCreated", + "members": [ { - "name": "end", + "name": "originTemplateId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CalendarDateTime" + "nativeType": "string" } ], - "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." - }, + "doc": "Origin template site id." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SitePropertiesEvent", + "members": [ { - "name": "externalCalendarOverrides", + "name": "properties", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ExternalCalendarOverrides" + "referenceType": "wix-bookings-v2.Services.Properties" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings).\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Updated properties." }, { - "name": "inheritedFields", - "readOnly": true, + "name": "version", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "number" } ], - "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." - }, + "doc": "Version of the site's properties represented by this update." + } + ], + "docs": { + "description": [ + "The actual update event for a particular notification." + ] + } + }, + { + "name": "SitePropertiesNotification", + "members": [ { - "name": "instanceOfRecurrence", - "readOnly": true, + "name": "changeContext", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ChangeContext" } ], - "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." + "doc": "Context of the notification" }, { - "name": "location", + "name": "event", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Location" + "referenceType": "wix-bookings-v2.Services.SitePropertiesEvent" } ], - "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + "doc": "The actual update event." }, { - "name": "notes", + "name": "metasiteId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." - }, - { - "name": "originalStart", - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + "doc": "The site ID for which this update notification applies." }, { - "name": "participants", + "name": "translations", "optional": true, "type": [ { @@ -6634,166 +12513,256 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.Participant" + "referenceType": "wix-bookings-v2.Services.Translation" } ] } } ], - "doc": "List of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty." + "doc": "A convenience set of mappings from the MetaSite ID to its constituent services." + } + ], + "docs": { + "description": [ + "Encapsulates all details written to the Greyhound topic when a site's properties are updated." + ] + } + }, + { + "name": "SitePropertiesOnScheduleCreation", + "members": [ + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The global time zone value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Slug", + "members": [ + { + "name": "_createdDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the slug was created. This is a system field." }, { - "name": "rate", + "name": "custom", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Rate" + "nativeType": "boolean" } ], - "doc": "The price options offered for the session. Defaults to the schedule rate.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Whether the slug was generated or customized. If `true`, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name." }, { - "name": "recurrence", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" - }, + "doc": "The unique part of service's URL that identifies the service's information page. For example, `service-1` in `https:/example.com/services/service-1`." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Sorting", + "members": [ { - "name": "recurringIntervalId", - "readOnly": true, + "name": "fieldName", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." + "doc": "Name of the field to sort by." }, { - "name": "recurringSessionId", - "readOnly": true, + "name": "order", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." - }, + "doc": "Sort order." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SpecialHourPeriod", + "members": [ { - "name": "scheduleId", + "name": "comment", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the schedule that the session belongs to." + "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" }, - { - "name": "scheduleOwnerId", - "readOnly": true, + { + "name": "endDate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the resource or service that the session's schedule belongs to." + "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." }, { - "name": "start", + "name": "isClosed", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CalendarDateTime" + "nativeType": "boolean" } ], - "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." + "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" }, { - "name": "status", - "readOnly": true, + "name": "startDate", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session status.\n" - }, + "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + } + ], + "docs": { + "description": [ + "Exception to the business's regular hours. The business can be open or closed during the exception." + ] + } + }, + { + "name": "SplitInterval", + "members": [ { - "name": "tags", + "name": "sameAsDuration", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "boolean" } ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." }, { - "name": "timeReservedAfter", + "name": "valueInMinutes", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." - }, + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." + } + ], + "docs": { + "description": [ + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." + ] + } + }, + { + "name": "StaffData", + "members": [ { - "name": "title", + "name": "refreshToken", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "" }, { - "name": "totalNumberOfParticipants", - "readOnly": true, + "name": "resourceId", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." + "doc": "" }, { - "name": "type", + "name": "syncRequestEmail", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "StaffMember", + "members": [ + { + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Session type.\n" + "doc": "Name of the staff member" }, { - "name": "version", + "name": "staffMemberId", "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SessionVersion" + "nativeType": "string" } ], - "doc": "The session version.\nComposed by the schedule, session and participants versions." + "doc": "ID of the staff member providing the service, can be used to retrieve resource information using wix-bookings-backend resources API." } ], "docs": { @@ -6803,47 +12772,67 @@ } }, { - "name": "SessionCancelled", + "name": "StreetAddress", "members": [ { - "name": "participantNotification", + "name": "apt", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Apartment number." }, { - "name": "session", + "name": "name", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Session" + "nativeType": "string" } ], - "doc": "" + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." } ], "docs": { "description": [ - "" + "Street address. Includes street name, number, and apartment number in separate fields." ] } }, { - "name": "SessionCreated", + "name": "Subdivision", "members": [ { - "name": "session", + "name": "code", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Session" + "nativeType": "string" } ], - "doc": "" + "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision full name." } ], "docs": { @@ -6853,67 +12842,57 @@ } }, { - "name": "SessionUpdated", + "name": "SupportedLanguage", "members": [ { - "name": "newSession", + "name": "countryCode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Session" + "nativeType": "string" } ], - "doc": "" + "doc": "Language icon." }, { - "name": "oldSession", + "name": "isPrimary", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Session" + "nativeType": "boolean" } ], - "doc": "" + "doc": "Whether the supported language is the primary language for the site." }, { - "name": "participantNotification", + "name": "languageCode", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change and an optional custom message" + "doc": "Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format." }, { - "name": "triggeredByAnonymizeRequest", + "name": "locale", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Locale" } ], - "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SessionVersion", - "members": [ + "doc": "Locale." + }, { - "name": "number", + "name": "resolutionMethod", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." + "doc": "How the language will be resolved. For internal use." } ], "docs": { @@ -6923,95 +12902,67 @@ } }, { - "name": "SetCustomSlugEvent", + "name": "Tag", "members": [ { - "name": "mainSlug", + "name": "children", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Slug" + "nativeType": "string" } ], - "doc": "The main slug for the service after the update" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SetCustomSlugRequest", - "members": [ + "doc": "SEO tag inner content. For example, ` inner content `." + }, { - "name": "serviceId", + "name": "custom", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "ID of the service to assign the custom slug to." + "doc": "Whether the tag is a custom tag." }, { - "name": "slugName", + "name": "disabled", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "The custom name to set as the active slug for the service." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SetCustomSlugResponse", - "members": [ + "doc": "Whether the tag is disabled." + }, { - "name": "slug", + "name": "meta", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Slug" + "nativeType": "Object" } ], - "doc": "The new slug set as the active slug for the service." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SetServiceLocationsOptions", - "members": [ + "doc": "SEO tag meta data. For example, `{height: 300, width: 240}`." + }, { - "name": "participantNotification", + "name": "props", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + "nativeType": "Object" } ], - "doc": "Whether to notify participants about the change, and an optional custom message." + "doc": "A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\nFor example: `{'name': 'description', 'content': 'the description itself'}`." }, { - "name": "removedLocationSessionsAction", + "name": "type", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.RemovedLocationSessionsAction" + "nativeType": "string" } ], - "doc": "The action to perform on sessions currently set to a removed location." + "doc": "SEO tag type.\n\nSupported values: `title`, `meta`, `script`, `link`.\n" } ], "docs": { @@ -7021,171 +12972,130 @@ } }, { - "name": "SetServiceLocationsRequest", + "name": "TimePeriod", "members": [ { - "name": "locations", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Location" - } - ] - } - } - ], - "doc": "The locations you specify replace the existing service locations." - }, - { - "name": "participantNotification", + "name": "closeDay", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ParticipantNotification" + "nativeType": "string" } ], - "doc": "Whether to notify participants about the change, and an optional custom message." + "doc": "Day of the week the period ends on." }, { - "name": "removedLocationSessionsAction", + "name": "closeTime", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.RemovedLocationSessionsAction" + "nativeType": "string" } ], - "doc": "The action to perform on sessions currently set to a removed location." + "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" }, { - "name": "serviceId", + "name": "openDay", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "ID of the service." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SetServiceLocationsResponse", - "members": [ + "doc": "Day of the week the period starts on." + }, { - "name": "service", + "name": "openTime", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" } ], - "doc": "The updated service with the newly set locations." + "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." } ], "docs": { "description": [ - "" + "Weekly recurring time periods when the business is regularly open or the service is available." ] } }, { - "name": "Settings", + "name": "Translation", "members": [ { - "name": "keywords", + "name": "appDefId", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Keyword" - } - ] - } + "nativeType": "string" } ], - "doc": "User-selected keyword terms for a specific page." + "doc": "The application definition ID; this only applies to services of type ThirdPartyApps." }, { - "name": "preventAutoRedirect", + "name": "instanceId", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.\n\nDefault: `false` (Auto Redirect is enabled.)\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SitePropertiesOnScheduleCreation", - "members": [ + "doc": "The instance ID of the service." + }, { - "name": "timeZone", + "name": "serviceType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The global time zone value." + "doc": "The service type." } ], "docs": { "description": [ - "" + "A single mapping from the MetaSite ID to a particular service." ] } }, { - "name": "Slug", + "name": "URLs", "members": [ { - "name": "_createdDate", + "name": "bookingPage", "readOnly": true, "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "Date and time the slug was created. This is a system field." + "doc": "The URL for the booking entry point. It can be either to the calendar or to the service page." }, { - "name": "custom", + "name": "calendarPage", "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether the slug was generated or customized. If `true`, the slug was customized manually by the business owner. Otherwise, the slug was automatically generated from the service name." + "doc": "The URL for the calendar. Can be empty if no calendar exists." }, { - "name": "name", + "name": "servicePage", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The unique part of service's URL that identifies the service's information page. For example, `service-1` in `https:/example.com/services/service-1`." + "doc": "The URL for the service page." } ], "docs": { @@ -7195,380 +13105,374 @@ } }, { - "name": "Sorting", + "name": "UpdateService", "members": [ { - "name": "fieldName", + "name": "_createdDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Name of the field to sort by." + "doc": "Date and time the service was created." }, { - "name": "order", + "name": "_id", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Sort order." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "SpecialHourPeriod", - "members": [ + "doc": "Service ID." + }, { - "name": "comment", + "name": "_updatedDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" + "doc": "Date and time the service was updated." }, { - "name": "endDate", + "name": "bookingPolicy", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.BookingPolicy" } ], - "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + "doc": "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." }, { - "name": "isClosed", + "name": "category", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.V2Category" } ], - "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" + "doc": "The category the service is associated with." }, { - "name": "startDate", + "name": "conferencing", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Conferencing" } ], - "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." - } - ], - "docs": { - "description": [ - "Exception to the business's regular hours. The business can be open or closed during the exception." - ] - } - }, - { - "name": "SplitInterval", - "members": [ + "doc": "Conferencing options for this service." + }, { - "name": "sameAsDuration", + "name": "defaultCapacity", "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." + "doc": "Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity." }, { - "name": "valueInMinutes", + "name": "description", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." - } - ], - "docs": { - "description": [ - "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." - ] - } - }, - { - "name": "StaffData", - "members": [ + "doc": "" + }, { - "name": "refreshToken", + "name": "extendedFields", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.ExtendedFields" } ], - "doc": "" + "doc": "Extensions enabling users to save custom data related to the service." }, { - "name": "resourceId", + "name": "form", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Form" } ], - "doc": "" + "doc": "The form used when booking the service." }, { - "name": "syncRequestEmail", + "name": "hidden", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "boolean" } ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "StreetAddress", - "members": [ + "doc": "Whether the service is hidden from the site." + }, { - "name": "apt", + "name": "locations", "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Location" + } + ] + } } ], - "doc": "Apartment number." + "doc": "The locations this service is offered at.\nIn case of multiple (more than 1) location, All locations must be of type `BUSINESS`.\nFor courses only: Currently, only 1 location is supported, for all location types." }, { - "name": "name", + "name": "mainSlug", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Slug" } ], - "doc": "Street name." + "doc": "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.\n`mainSlug` is used to construct the service's URLs." }, { - "name": "number", + "name": "media", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Media" } ], - "doc": "Street number." - } - ], - "docs": { - "description": [ - "Street address. Includes street name, number, and apartment number in separate fields." - ] - } - }, - { - "name": "Subdivision", - "members": [ + "doc": "Media associated with the service." + }, { - "name": "code", + "name": "name", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + "doc": "" }, { - "name": "name", + "name": "onlineBooking", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.OnlineBooking" + } + ], + "doc": "Online booking settings." + }, + { + "name": "payment", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.Payment" } ], - "doc": "Subdivision full name." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "Tag", - "members": [ + "doc": "Payment options for booking the service." + }, { - "name": "children", + "name": "revision", + "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "SEO tag inner content. For example, ` inner content `." + "doc": "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." }, { - "name": "custom", + "name": "schedule", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.Schedule" } ], - "doc": "Whether the tag is a custom tag." + "doc": "The service's schedule, which can be used to manage the service's sessions." }, { - "name": "disabled", + "name": "seoData", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.SeoSchema" } ], - "doc": "Whether the tag is disabled." + "doc": "Custom SEO data for the service." }, { - "name": "meta", + "name": "sortOrder", "optional": true, "type": [ { - "nativeType": "Object" + "nativeType": "number" } ], - "doc": "SEO tag meta data. For example, `{height: 300, width: 240}`." + "doc": "Order of a service within a category." }, { - "name": "props", + "name": "staffMemberIds", "optional": true, "type": [ { - "nativeType": "Object" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "A `{'key':'value'}` pair object where each SEO tag property (`'name'`, `'content'`, `'rel'`, `'href'`) contains a value.\nFor example: `{'name': 'description', 'content': 'the description itself'}`." + "doc": "IDs of the staff members providing the service. For appointments only." }, { - "name": "type", + "name": "supportedSlugs", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.Slug" + } + ] + } } ], - "doc": "SEO tag type.\n\nSupported values: `title`, `meta`, `script`, `link`.\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "TimePeriod", - "members": [ + "doc": "A slug is the last part of the URL address that serves as a unique identifier of the service.\nThe list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner." + }, { - "name": "closeDay", + "name": "tagLine", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Day of the week the period ends on." + "doc": "" }, { - "name": "closeTime", + "name": "type", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" + "doc": "Service type." }, { - "name": "openDay", + "name": "urls", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.URLs" } ], - "doc": "Day of the week the period starts on." - }, + "doc": "URLs to various service-related pages, such as the calendar page and the booking page." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "UpdateServiceOptions", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "UpdateServiceRequest", + "members": [ { - "name": "openTime", - "optional": true, + "name": "service", "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." + "doc": "Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported." } ], "docs": { "description": [ - "Weekly recurring time periods when the business is regularly open or the service is available." + "" ] } }, { - "name": "URLs", + "name": "UpdateServiceResponse", "members": [ { - "name": "bookingPage", - "readOnly": true, + "name": "service", "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Service" } ], - "doc": "The URL for the booking entry point. It can be either to the calendar or to the service page." - }, + "doc": "The updated service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Upsert", + "members": [ { - "name": "calendarPage", - "readOnly": true, + "name": "entityAsJson", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The URL for the calendar. Can be empty if no calendar exists." + "doc": "" }, { - "name": "servicePage", - "readOnly": true, + "name": "entityId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The URL for the service page." + "doc": "" } ], "docs": { @@ -7578,224 +13482,266 @@ } }, { - "name": "UpdateService", + "name": "UserDomainInfoChangedEvent", "members": [ { - "name": "_createdDate", - "readOnly": true, + "name": "changeTime", "optional": true, "type": [ { "nativeType": "Date" } ], - "doc": "Date and time the service was created." + "doc": "" }, { - "name": "_id", - "readOnly": true, + "name": "crudType", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Service ID." + "doc": "Supported values:\n- `'CREATE'`\n- `'CREATE_OR_UPDATE'`\n- `'DELETE'`\n- `'INVALID_CRUD_TYPE'`\n- `'UPDATE'`" }, { - "name": "_updatedDate", - "readOnly": true, + "name": "domainName", "optional": true, "type": [ { - "nativeType": "Date" + "nativeType": "string" } ], - "doc": "Date and time the service was updated." + "doc": "" }, { - "name": "bookingPolicy", + "name": "metaSiteId", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.BookingPolicy" + "nativeType": "string" } ], - "doc": "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." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "V1AvailabilityConstraints", + "members": [ { - "name": "category", + "name": "slotDurations", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V2Category" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "number" + } + ] + } } ], - "doc": "The category the service is associated with." + "doc": "A list of duration options for slots, in minutes. Minimum value for a duration is 1.\nThe availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints." }, { - "name": "conferencing", + "name": "slotsSplitInterval", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Conferencing" + "referenceType": "wix-bookings-v2.Services.SplitInterval" } ], - "doc": "Conferencing options for this service." + "doc": "An object defining the time between available slots' start times. For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration." }, { - "name": "defaultCapacity", + "name": "splitInterval", + "readOnly": false, "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity." + "doc": "Specify how to split the slots in intervals of minutes.\nThis value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\nOptional. The default is the first duration in slot_durations field.\nDeprecated. Use the `split_slots_interval.value_in_minutes`." }, { - "name": "description", + "name": "timeBetweenSlots", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Service description, such as `High-class hair styling, cuts, straightening and color.`" - }, + "doc": "The number of minutes between the `end` of one slot, and the `start` of the next.\nMinimum value is 0, maximum value is 120." + } + ], + "docs": { + "description": [ + "Describes how to calculate the specific slots that are available for booking." + ] + } + }, + { + "name": "V1Location", + "members": [ { - "name": "form", + "name": "address", + "readOnly": false, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Form" + "nativeType": "string" } ], - "doc": "The form used when booking the service." + "doc": "Free text address used when locationType is `OWNER_CUSTOM`." }, { - "name": "hidden", + "name": "customAddress", "optional": true, "type": [ { - "nativeType": "boolean" + "referenceType": "wix-bookings-v2.Services.CommonAddress" } ], - "doc": "Whether the service is hidden from the site." + "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." }, { - "name": "locations", - "readOnly": true, + "name": "locationType", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Location" - } - ] - } + "nativeType": "string" } ], - "doc": "The locations this service is offered at.\nOnly multiple locations of type `BUSINESS` are supported. multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.\nFor courses only: Currently, only 1 location is supported, for all location types.\nUse `setServiceLocations` method to change the locations this service is offered at." - }, + "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "V1ParticipantNotification", + "members": [ { - "name": "mainSlug", - "readOnly": true, + "name": "message", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Slug" + "nativeType": "string" } ], - "doc": "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.\n`mainSlug` is used to construct the service's URLs." + "doc": "Custom message to send to the participants about the changes to the booking." }, { - "name": "media", + "name": "notifyParticipants", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Media" + "nativeType": "boolean" } ], - "doc": "Media associated with the service." - }, + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "V1Schedule", + "members": [ { - "name": "name", + "name": "_id", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Service name." + "doc": "Schedule ID." }, { - "name": "onlineBooking", + "name": "availability", + "readOnly": false, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.OnlineBooking" + "referenceType": "wix-bookings-v2.Services.Availability" } ], - "doc": "Online booking settings." + "doc": "__Deprecated.__" }, { - "name": "payment", + "name": "calendarConference", + "readOnly": false, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Payment" + "referenceType": "wix-bookings-v2.Services.CalendarConference" } ], - "doc": "Payment options for booking the service." + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { - "name": "revision", - "readOnly": true, + "name": "capacity", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "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." + "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." }, { - "name": "schedule", - "readOnly": true, + "name": "conferenceProvider", + "readOnly": false, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Schedule" + "referenceType": "wix-bookings-v2.Services.ConferenceProvider" } ], - "doc": "The service's schedule, which can be used to manage the service's sessions." + "doc": "__Deprecated.__" }, { - "name": "seoData", + "name": "created", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SeoSchema" + "nativeType": "Date" } ], - "doc": "Custom SEO data for the service." + "doc": "Schedule creation date." }, { - "name": "sortOrder", + "name": "externalCalendarOverrides", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "number" + "referenceType": "wix-bookings-v2.Services.ExternalCalendarOverrides" } ], - "doc": "Order of a service within a category." + "doc": "__Deprecated.__" }, { - "name": "staffMemberIds", + "name": "inheritedFields", + "readOnly": true, "optional": true, "type": [ { @@ -7809,11 +13755,11 @@ } } ], - "doc": "IDs of the staff members providing the service. For appointments only." + "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." }, { - "name": "staffMembersIds", - "readOnly": true, + "name": "intervals", + "readOnly": false, "optional": true, "type": [ { @@ -7821,16 +13767,26 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.RecurringInterval" } ] } } ], - "doc": "IDs of the staff members providing the service. For appointments only." + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." }, { - "name": "supportedSlugs", + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Services.V1Location" + } + ], + "doc": "Default location for the schedule's sessions." + }, + { + "name": "participants", "readOnly": true, "optional": true, "type": [ @@ -7839,105 +13795,49 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-bookings-v2.Services.Slug" + "referenceType": "wix-bookings-v2.Services.Participant" } ] } } ], - "doc": "A slug is the last part of the URL address that serves as a unique identifier of the service.\nThe list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner." + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { - "name": "tagLine", + "name": "rate", + "readOnly": false, "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.Rate" } ], - "doc": "Short service description, such as `Hair styling.`" + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { - "name": "type", + "name": "scheduleOwnerId", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Service type." + "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." }, { - "name": "urls", + "name": "status", "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.URLs" - } - ], - "doc": "URLs to various service-related pages, such as the calendar page and the booking page." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "UpdateServiceOptions", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "UpdateServiceRequest", - "members": [ - { - "name": "service", - "type": [ - { - "referenceType": "wix-bookings-v2.Services.Service" - } - ], - "doc": "Service to update. [Partial updates](https://dev.wix.com/api/rest/wix-bookings/bookings/patch-endpoints-and-field-masks-in-update-requests) are supported." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "UpdateServiceResponse", - "members": [ - { - "name": "service", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Services.Service" + "nativeType": "string" } ], - "doc": "The updated service." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "V1AvailabilityConstraints", - "members": [ + "doc": "Schedule status." + }, { - "name": "slotDurations", + "name": "tags", + "readOnly": false, "optional": true, "type": [ { @@ -7945,124 +13845,139 @@ "nativeType": "Array", "typeParams": [ { - "nativeType": "number" + "nativeType": "string" } ] } } ], - "doc": "A list of duration options for slots, in minutes. Minimum value for a duration is 1.\nThe availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints." + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." }, { - "name": "slotsSplitInterval", + "name": "timeZone", "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.SplitInterval" + "nativeType": "string" } ], - "doc": "An object defining the time between available slots' start times. For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration." + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." }, { - "name": "splitInterval", + "name": "title", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Specify how to split the slots in intervals of minutes.\nThis value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\nOptional. The default is the first duration in slot_durations field.\nDeprecated. Use the `split_slots_interval.value_in_minutes`." + "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." }, { - "name": "timeBetweenSlots", + "name": "totalNumberOfParticipants", + "readOnly": true, "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "The number of minutes between the `end` of one slot, and the `start` of the next.\nMinimum value is 0, maximum value is 120." - } - ], - "docs": { - "description": [ - "Describes how to calculate the specific slots that are available for booking." - ] - } - }, - { - "name": "V1Location", - "members": [ + "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." + }, { - "name": "address", + "name": "updated", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "Date" } ], - "doc": "Free text address used when locationType is `OWNER_CUSTOM`." + "doc": "Schedule last update date." }, { - "name": "businessLocation", + "name": "version", + "readOnly": true, "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.LocationsLocation" + "nativeType": "number" } ], - "doc": "Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n\n`businessSchedule` is not supported by Wix Bookings\n" - }, + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "V1SplitInterval", + "members": [ { - "name": "customAddress", + "name": "sameAsDuration", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CommonAddress" + "nativeType": "boolean" } ], - "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." }, { - "name": "locationType", + "name": "valueInMinutes", "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." } ], "docs": { "description": [ - "" + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." ] } }, { - "name": "V1ParticipantNotification", + "name": "V2Category", "members": [ { - "name": "message", + "name": "_id", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Custom message to send to the participants about the changes to the booking." + "doc": "Category ID." }, { - "name": "notifyParticipants", + "name": "name", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Category name." + }, + { + "name": "sortOrder", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "number" } ], - "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + "doc": "Order of a category within a category list." } ], "docs": { @@ -8072,175 +13987,177 @@ } }, { - "name": "V1Schedule", + "name": "V4Address", "members": [ { - "name": "_id", + "name": "apartmentNumber", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Schedule ID." + "doc": "Apartment number." }, { - "name": "availability", + "name": "city", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.Availability" + "nativeType": "string" } ], - "doc": "An object describing how to calculate the schedule's availability.\nAn empty object indicates that the schedule is not available for booking." + "doc": "City name." }, { - "name": "calendarConference", + "name": "coordinates", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.CalendarConference" + "referenceType": "wix-bookings-v2.Services.GeoCoordinates" } ], - "doc": "A conference created for the schedule. This is used when a participant is added to a schedule." + "doc": "Geographic coordinates of location." }, { - "name": "capacity", + "name": "country", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." + "doc": "Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, { - "name": "conferenceProvider", + "name": "googleFormattedAddress", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ConferenceProvider" + "nativeType": "string" } ], - "doc": "Conferencing Provider. A schedule with a conferencing provider will use to provider information to create a conference on the provider's system when a session is created on the schedule or on one of its linked schedule's." + "doc": "Google-formatted version of this address." }, { - "name": "created", - "readOnly": true, + "name": "hint", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Services.AddressHint" } ], - "doc": "Schedule creation date." + "doc": "Extra information to be displayed in the address." }, { - "name": "externalCalendarOverrides", + "name": "isPhysical", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.ExternalCalendarOverrides" + "nativeType": "boolean" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings)." + "doc": "Whether this address represents a physical location." }, { - "name": "inheritedFields", - "readOnly": true, + "name": "state", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "string" } ], - "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + "doc": "State." }, { - "name": "intervals", + "name": "street", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.RecurringInterval" - } - ] - } + "nativeType": "string" } ], - "doc": "Specifies the intervals for the sessions calculation. Optional. e.g. when creating class service you can add\npattern for recurring intervals, these intervals can be returned as schedule's sessions or available slots if\nthere are no other availability calculation constraints and the capacity is bigger then the current total number of sessions' participants." + "doc": "Street name." }, { - "name": "location", + "name": "streetNumber", "optional": true, "type": [ { - "referenceType": "wix-bookings-v2.Services.V1Location" + "nativeType": "string" } ], - "doc": "Default location for the schedule's sessions." + "doc": "Street number." }, { - "name": "participants", - "readOnly": true, + "name": "zip", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Services.Participant" - } - ] - } + "nativeType": "string" } ], - "doc": "Participants currently registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule." - }, + "doc": "Zip or postal code." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ValidateSlugOptions", + "members": [ { - "name": "rate", - "optional": true, + "name": "slugName", "type": [ { - "referenceType": "wix-bookings-v2.Services.Rate" + "nativeType": "string" } ], - "doc": "Price options offered when booking this schedule's slots. Default is no rate." - }, + "doc": "The custom name to validate as a slug for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ValidateSlugRequest", + "members": [ { - "name": "scheduleOwnerId", - "optional": true, + "name": "serviceId", "type": [ { "nativeType": "string" } ], - "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." + "doc": "ID of the service to validate the slug name for." }, { - "name": "status", - "readOnly": true, - "optional": true, + "name": "slugName", "type": [ { "nativeType": "string" } ], - "doc": "Schedule status." - }, + "doc": "The custom name to validate as a slug for the service." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ValidateSlugResponse", + "members": [ { - "name": "tags", + "name": "errors", "optional": true, "type": [ { @@ -8254,104 +14171,99 @@ } } ], - "doc": "Tags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." - }, - { - "name": "timeZone", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "" + "doc": "If the slug is invalid, this field is populated with the reasons why the slug is invalid. Validation errors may include `SLUG_IS_TOO_LONG`, `SLUG_CONTAIN_ILLEGAL_CHARACTERS`, and `SLUG_ALREADY_EXISTS`." }, { - "name": "title", + "name": "slugName", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." + "doc": "The requested custom slug name to validate. If valid, the slug name can be set as a slug for the service and is populated with the requested slug. Otherwise, `slugName` is empty." }, { - "name": "totalNumberOfParticipants", - "readOnly": true, + "name": "valid", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "boolean" } ], - "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." - }, + "doc": "Whether the requested slug name is valid." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ValueAggregation", + "members": [ { - "name": "updated", - "readOnly": true, + "name": "includeOptions", "optional": true, "type": [ { - "nativeType": "Date" + "referenceType": "wix-bookings-v2.Services.IncludeMissingValuesOptions" } ], - "doc": "Schedule last update date." + "doc": "options for including missing values" }, { - "name": "version", - "readOnly": true, + "name": "limit", "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Schedule version number, updated each time the schedule is updated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "V2Category", - "members": [ + "doc": "How many aggregations would you like to return? Can be between 1 and 250. 10 is the default." + }, { - "name": "_id", + "name": "missingValues", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Category ID." + "doc": "should missing values be included or excluded from the aggregation results. Default is EXCLUDE" }, { - "name": "name", - "readOnly": true, + "name": "sortDirection", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Category name." + "doc": "Supported values:\n- `'ASC'`\n- `'DESC'`" }, { - "name": "sortOrder", - "readOnly": true, + "name": "sortType", "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Order of a category within a category list." + "doc": "Supported values:\n- `'COUNT'`\n- `'VALUE'`" } ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfValueAggregationOptionsOneOf", + "members": [ + "includeOptions" + ] + } + ] + }, "docs": { "description": [ "" @@ -8359,16 +14271,17 @@ } }, { - "name": "ValidateSlugOptions", + "name": "ValueAggregationOptionsOneOf", "members": [ { - "name": "slugName", + "name": "includeOptions", + "optional": true, "type": [ { - "nativeType": "string" + "referenceType": "wix-bookings-v2.Services.IncludeMissingValuesOptions" } ], - "doc": "The custom name to validate as a slug for the service." + "doc": "options for including missing values" } ], "docs": { @@ -8378,25 +14291,27 @@ } }, { - "name": "ValidateSlugRequest", + "name": "ValueAggregationResult", "members": [ { - "name": "serviceId", + "name": "count", + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "ID of the service to validate the slug name for." + "doc": "" }, { - "name": "slugName", + "name": "value", + "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The custom name to validate as a slug for the service." + "doc": "" } ], "docs": { @@ -8406,44 +14321,54 @@ } }, { - "name": "ValidateSlugResponse", + "name": "ValueResult", "members": [ { - "name": "errors", + "name": "count", "optional": true, "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } + "nativeType": "number" } ], - "doc": "If the slug is invalid, this field is populated with the reasons why the slug is invalid. Validation errors may include `SLUG_IS_TOO_LONG`, `SLUG_CONTAIN_ILLEGAL_CHARACTERS`, and `SLUG_ALREADY_EXISTS`." + "doc": "" }, { - "name": "slugName", + "name": "value", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The requested custom slug name to validate. If valid, the slug name can be set as a slug for the service and is populated with the requested slug. Otherwise, `slugName` is empty." - }, + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ValueResults", + "members": [ { - "name": "valid", + "name": "results", "optional": true, "type": [ { - "nativeType": "boolean" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.Services.ValueAggregationResult" + } + ] + } } ], - "doc": "Whether the requested slug name is valid." + "doc": "" } ], "docs": { diff --git a/wix-bookings-v2/wix-bookings-v2/Services/ServicesQueryResult.service.json b/wix-bookings-v2/wix-bookings-v2/Services/ServicesQueryResult.service.json index 1da019b396..80aa6919fc 100644 --- a/wix-bookings-v2/wix-bookings-v2/Services/ServicesQueryResult.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Services/ServicesQueryResult.service.json @@ -11,6 +11,9 @@ { "name": "currentPage", "type": [ + { + "nativeType": "undefined" + }, { "nativeType": "number" } @@ -209,6 +212,9 @@ { "name": "totalCount", "type": [ + { + "nativeType": "undefined" + }, { "nativeType": "number" } @@ -245,6 +251,9 @@ { "name": "totalPages", "type": [ + { + "nativeType": "undefined" + }, { "nativeType": "number" } diff --git a/wix-bookings-v2/wix-bookings-v2/Sessions.service.json b/wix-bookings-v2/wix-bookings-v2/Sessions.service.json index 9b7531e47a..01f0abf6f5 100644 --- a/wix-bookings-v2/wix-bookings-v2/Sessions.service.json +++ b/wix-bookings-v2/wix-bookings-v2/Sessions.service.json @@ -9,143 +9,6 @@ "relatedGuides": [], "properties": [], "operations": [ - { - "name": "createSession", - "params": [ - { - "name": "session", - "type": [ - { - "referenceType": "wix-bookings-v2.Sessions.Session" - } - ], - "doc": "The session to create.", - "required": true - } - ], - "requiredFields": [ - "session", - "session.end", - "session.scheduleId", - "session.start" - ], - "ret": { - "type": [ - { - "complexType": { - "nativeType": "Promise", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Sessions.Session" - } - ] - } - } - ], - "doc": "The created session.\n" - }, - "docs": { - "summary": "Creates a session.", - "description": [ - "The `createSession()` function returns a Promise that resolves when a session is created.\n\n\nA session's `type` is one of the following:\n+ `EVENT`: Reserved period of time on any schedule. For example, an appointment, class, or course. Events are visible in the Dashboard in the Bookings app's [Booking Calendar](https://support.wix.com/en/article/wix-bookings-about-the-wix-bookings-calendar) page. Set `type` to `EVENT` when creating sessions that reserve time on a service's schedule, or when creating a blocked time for a resource.\n+ `WORKING_HOURS`: Placeholder for available time on a resource’s schedule. Set `type` to `WORKING_HOURS` when creating sessions for resource availability.\n\nSessions belong to a schedule. Schedules are owned by a resource or a service.\n\nA session may be an individual session or a recurring session.\nAn individual session has a discrete start and end date, while a recurring session defines a series of repeating sessions. An instance of a recurring session is a specific session in a series of repeating sessions, generated according to the recurrence rule.\n\nThe `start` and `end` properties set the time and duration of the session. For non-recurring sessions, you can use either the `timestamp` or `localDateTime` properties.\nFor recurring sessions, use the `localDateTime` property only.\n\nFor recurring sessions, the `start` property sets the date and time of the first recurring session, subject to the recurrence rule. For example, if you set the `start` to Saturday, May 1 and your recurrence rule says every second Monday, then the first session will only be on Monday, May 10.\n\nThe `year`, `monthOfYear` and `dayOfMonth` properties in the `end` property are used with the `hourOfDay` and `minutesOfHour` properties to set the duration of each session relative to the `start`.\n\nThe `UNTIL` keyword in the `recurrence` property sets the date for the last recurring session.\n\nYou can create a session that blocks hours on the resource's calendar, making the resource unavailable, by creating a non-recurring session of type `\"EVENT\"`, and add `\"Blocked\"` to the `tags` array.\n\n>**Notes:**\n> + For properties where there is no explicit timezone information, the timezone used is the business’s timezone.\n> + This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." - ], - "examples": [ - { - "title": "Create a session ", - "body": [ - "import {sessions} from 'wix-bookings.v2';", - "", - "async function createSession(scheduleId) {", - " const createdSession =", - " await sessions.createSession({", - " scheduleId,", - " start: {", - " timestamp: new Date('2023-01-01T12:00:00Z')", - " },", - " end: {", - " timestamp: new Date('2023-01-01T13:00:00Z')", - " }", - " })", - " return createdSession", - "}" - ] - } - ] - }, - "isVeloEvent": false, - "customLabels": [ - { - "id": "maturity-beta" - } - ] - }, - { - "name": "deleteSession", - "params": [ - { - "name": "sessionId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The ID of the session to delete.", - "required": true - }, - { - "name": "options", - "type": [ - { - "referenceType": "wix-bookings-v2.Sessions.DeleteSessionOptions" - } - ], - "doc": "Options to use when deleting a session.\n", - "required": false - } - ], - "requiredFields": [ - "sessionId" - ], - "ret": { - "type": [ - { - "complexType": { - "nativeType": "Promise", - "typeParams": [ - { - "nativeType": "void" - } - ] - } - } - ], - "doc": null - }, - "docs": { - "summary": "Deletes a session.", - "description": [ - "The `deleteSession()` function returns a Promise that resolves when the session has been deleted.\n\nUse the `options.participantNotification` property to send an email notification to the participants when the session is deleted.\n\nWhen deleting a session of type `EVENT` where a booking exists, the booking's status is updated to `CANCELED`.\n\nTo delete a set of recurring sessions, specify the session's `recurringSessionId` in the `sessionId` parameter.\nWhen deleting a recurrence, only future instances of the recurrence are deleted.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." - ], - "examples": [ - { - "title": "Delete a session by ID", - "body": [ - "import {sessions} from 'wix-bookings.v2';", - "", - "async function deleteSession(sessionId) {", - " await sessions.deleteSession(sessionId)", - "}" - ] - } - ] - }, - "isVeloEvent": false, - "customLabels": [ - { - "id": "maturity-beta" - } - ] - }, { "name": "getSession", "params": [ @@ -212,7 +75,9 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "getSession", + "isAdminMethod": true }, { "name": "listSessions", @@ -241,7 +106,7 @@ "referenceType": "wix-bookings-v2.Sessions.ListSessionsOptions" } ], - "doc": "Options to use when retrieving a list of sessions.\n", + "doc": "Options to use when retrieving a list of sessions.", "required": false } ], @@ -287,7 +152,9 @@ { "id": "maturity-beta" } - ] + ], + "syntaxName": "listSessions", + "isAdminMethod": true }, { "name": "querySessions", @@ -364,7 +231,36 @@ "To return session objects including personal information, use the `ALL_PI` fieldset. This requires elevating permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", "", "For details on fieldsets, see [Sessions: Supported Fieldsets](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/fieldsets).", - "For details on filters, see [Sessions: Supported Filters](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/supported-filters)." + "For details on supported filters, see [Sessions: Supported Filters](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/supported-filters).", + "", + "", + "|PROPERTY\t|SUPPORTED FILTERS & SORTING\t", + "|:---:|:---:|", + "|`scheduleId`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`scheduleOwnerId`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`affectedSchedules.scheduleId`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq)|", + "|`affectedSchedules.transparency`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`affectedSchedules.scheduleOwnerId`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`title`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#startsWith)|", + "|`tags`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`hasAll()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasAll),[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq)|", + "|`location`|[`exists()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#exists)|", + "|`location.locationType`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`location.customAddress`|[`exists()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#exists)|", + "|`location.customAddress.formattedAddress`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#startsWith)|", + "|`location.businessLocation.id`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`location.businessLocation.name`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#startsWith)|", + "|`location.businessLocation.address.formattedAddress`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`startsWith()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#startsWith)|", + "|`capacity`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`gt()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#gt),[`lt()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#lt),[`ge()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ge),[`le()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#le)|", + "|`participants.id`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`participants.contactId`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq)|", + "|`participants.approvalStatus`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`inheritedFields`|[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`hasAll()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasAll)|", + "|`recurringSessionId`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`exists()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#exists)|", + "|`calendarConference`|[`exists()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#exists)|", + "|`calendarConference.id`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`calendarConference.externalId`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`calendarConference.providerId`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome)|", + "|`instanceOfRecurrence`|[`eq()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#eq),[`ne()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#ne),[`hasSome()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#hasSome),[`exists()`](wix-bookings-v2.Sessions.SessionsQueryBuilder#exists)|" ], "examples": [ { @@ -437,89 +333,8 @@ { "id": "maturity-beta" } - ] - }, - { - "name": "updateSession", - "params": [ - { - "name": "_id", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Session ID.", - "required": true - }, - { - "name": "session", - "type": [ - { - "referenceType": "wix-bookings-v2.Sessions.UpdateSession" - } - ], - "doc": "", - "required": true - }, - { - "name": "options", - "type": [ - { - "referenceType": "wix-bookings-v2.Sessions.UpdateSessionOptions" - } - ], - "doc": "Options to use when updating a session.", - "required": false - } ], - "requiredFields": [ - "_id", - "session" - ], - "ret": { - "type": [ - { - "complexType": { - "nativeType": "Promise", - "typeParams": [ - { - "referenceType": "wix-bookings-v2.Sessions.Session" - } - ] - } - } - ], - "doc": "The updated session.\n" - }, - "docs": { - "summary": "Updates a session.", - "description": [ - "The `updateSession()` function updates a session and returns a Promise that resolves to the updated session.\n\nWhen you update a recurring session, only the future instances of the recurrence will be updated. Changing an individual instance's `start` or `end` time will change the way updates to `start` and `end` on the recurring session pattern definition affect the session instance:\n|Change made to the instance | Effect of changes made to the recurrence\n|--|--|\n|Instance `start` time changed.|Changes to the recurring session's `start` or `end` time will not update the instance.|\n|Instance `end` time changed, changing the session's duration| Changes made to the recurring session's start time will be updated on the instance while keeping the new duration, but changes to the recurring session's `end` time not be updated on the instance.\n|Updating a changed `start` time for an instance back to the recurring session's value.|Future changes to the recurring session `start` and `end` times will update the instance's `starts` and `end` time.\n\nChanges to properties on the recurring session, other than `start` and `end`, are always updated on the recurrence instance.\n\nUse the `options.participantNotification` object to notify participants if the session has been booked.\n\n>**Notes:**\n> + Where there is no explicit timezone information, the timezone used is the business’s timezone.\n> + This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." - ], - "examples": [ - { - "title": "Update a session by ID", - "body": [ - "import {sessions} from 'wix-bookings.v2';", - "", - "async function updateSession(sessionId) {", - " const updatedSession =", - " await sessions.updateSession(sessionId, {", - " title: \"An updated title\"", - " })", - " return updatedSession", - "}" - ] - } - ] - }, - "isVeloEvent": false, - "customLabels": [ - { - "id": "maturity-beta" - } - ] + "syntaxName": "querySessions" } ], "messages": [ @@ -1067,7 +882,7 @@ "nativeType": "string" } ], - "doc": "Cursor pointing to next page in the list of results." + "doc": "Cursor string pointing to the next page in the list of results." }, { "name": "prev", @@ -1077,7 +892,7 @@ "nativeType": "string" } ], - "doc": "Cursor pointing to previous page in the list of results." + "doc": "Cursor pointing to the previous page in the list of results." } ], "docs": { @@ -1917,16 +1732,6 @@ ], "doc": "Free text address used when locationType is `OWNER_CUSTOM`." }, - { - "name": "businessLocation", - "optional": true, - "type": [ - { - "referenceType": "wix-bookings-v2.Sessions.LocationsLocation" - } - ], - "doc": "Valid when `locationType` is `OWNER_BUSINESS`. Defaults to the business's location.\n\n`businessSchedule` is not supported by Wix Bookings\n" - }, { "name": "customAddress", "optional": true, @@ -1977,6 +1782,26 @@ ], "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.Sessions.LocationsAddressLocation" + } + ], + "doc": "Geographic coordinates of location." + }, { "name": "postalCode", "optional": true, @@ -2138,7 +1963,24 @@ "nativeType": "string" } ], - "doc": "Location type. **Note:** Currently not supported." + "doc": "Location type.\n\n**Note:** Currently not supported.\n" + }, + { + "name": "locationTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Location types." }, { "name": "name", @@ -2898,7 +2740,7 @@ "referenceType": "wix-bookings-v2.Sessions.CalendarConference" } ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule." + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { "name": "capacity", @@ -2928,7 +2770,7 @@ "referenceType": "wix-bookings-v2.Sessions.ExternalCalendarOverrides" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings).\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__" }, { "name": "inheritedFields", @@ -3004,7 +2846,7 @@ } } ], - "doc": "List of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty." + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { "name": "rate", @@ -3014,7 +2856,7 @@ "referenceType": "wix-bookings-v2.Sessions.Rate" } ], - "doc": "The price options offered for the session. Defaults to the schedule rate.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { "name": "recurrence", @@ -3105,7 +2947,7 @@ } } ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { "name": "timeReservedAfter", @@ -3513,7 +3355,7 @@ "referenceType": "wix-bookings-v2.Sessions.CalendarConference" } ], - "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule." + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." }, { "name": "capacity", @@ -3543,7 +3385,7 @@ "referenceType": "wix-bookings-v2.Sessions.ExternalCalendarOverrides" } ], - "doc": "Title and description values to override session defaults when syncing to an external calendar.\nLearn more about [syncing calendars](https://support.wix.com/en/article/wix-bookings-important-information-about-syncing-google-calendars-with-wix-bookings).\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__" }, { "name": "inheritedFields", @@ -3619,7 +3461,7 @@ } } ], - "doc": "List of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty." + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." }, { "name": "rate", @@ -3629,7 +3471,7 @@ "referenceType": "wix-bookings-v2.Sessions.Rate" } ], - "doc": "The price options offered for the session. Defaults to the schedule rate.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." }, { "name": "recurrence", @@ -3720,7 +3562,7 @@ } } ], - "doc": "Tags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." }, { "name": "timeReservedAfter", diff --git a/wix-bookings-v2/wix-bookings-v2/Sessions/guides/Sample-Flows.md b/wix-bookings-v2/wix-bookings-v2/Sessions/guides/Sample-Flows.md new file mode 100644 index 0000000000..4799707853 --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/Sessions/guides/Sample-Flows.md @@ -0,0 +1,23 @@ +# Sample Flows + +This article shares a possible use case your implementation could support, as well as a sample flow. You're not limited to this use case, but it can be a helpful jumping off point for your planing. + +## Sync Ongoing Changes to an External System + +1. Subscribe to the [Session View Updated](./session-view-updated-webhook) Webhook +2. Apply changes to the external system, based on the `actionEvent` type, which may be one of the following: + - `sessionAddedOrUpdated`- add or update the session, if its version is newer. See [Versioning](./versioning) for more details. + - `sessionRemoved`- remove session. + +> **Note** +> Since event ordering is not guaranteed, it is recommended to store an indication for removal, even in the absence of a previous `sessionAddedOrUpdated` event. + +## Full Sync to an External System + +1. Sync ongoing changes by following the instructions above. +2. Retrieve the sessions view end date by calling [Get Session View](./get-session-view). +3. Query for sessions by calling the [Query Sessions](https://dev.wix.com/api/rest/wix-bookings/calendar/sessions/query-sessions) API + - `fromDate` is up to you to determine. + - `toDate` should match the sessions view end date, retrieved in the previous step. + - You may provide additional query filters based on your use case. See [Filtering](https://dev.wix.com/api/rest/wix-bookings/calendar/sessions/filtering) for more details. +4. Add or update the sessions retrieved in the previous step, if their version is newer. See [Versioning](./versioning) for more details. diff --git a/wix-bookings-v2/wix-bookings-v2/Sessions/guides/introduction.md b/wix-bookings-v2/wix-bookings-v2/Sessions/guides/introduction.md new file mode 100644 index 0000000000..fc8a01ecd1 --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/Sessions/guides/introduction.md @@ -0,0 +1,53 @@ +--- +title: Introduction +--- + +# About the Sessions API + +  + +
+ Developer Preview +
+ APIs in Developer Preview are subject to change and are not intended for use in production.
Send us your suggestions for improving this API. Your feedback is valuable to us.
+
+ +  + +> **Note:** This module is [universal](/api-overview/api-versions#universal-modules). Functions in this module can run on both the backend and frontend, unless specified otherwise. + +The Wix Sessions API enables you to access and manage sessions in the business calendar. + +A session is any occupied period of time in a schedule. Sessions are the building blocks of appointments, classes, and courses. + +With the Sessions API, you can: + ++ Create, update, and delete sessions in the business calendar. ++ Retrieve information about a specific session or multiple sessions. ++ Query session instances in the calendar between specified dates. ++ Query sessions with advanced filtering and paging functionality. + + +To use the Sessions API, import `{ sessions }` from the `wix-bookings.v2` module: + +```javascript +import { sessions } from 'wix-bookings.v2'; +``` + +## Before you begin + +It's important to note the following points before starting to code: + ++ To query all event instances within a time range of up to 1 year, use [`querySessions()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/querysessions) with the `options.startDate` and `options.endDate` parameters, and with `options.type` set to `EVENT`. ++ By default, [`getSession()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/getsession), [`querySessions()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/querysessions), and [`listSessions()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/listsessions) return session objects without personal information. To retrieve full session objects including personal information, use the `ALL_PI` [fieldset](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/fieldsets). ++ Use [`listSessions()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/listsessions) for retrieving multiple sessions by their IDs. Use [`querySessions()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/querysessions) to retrieve based on other filters. ++ The [`querySessions()`](https://www.wix.com/velo/reference/wix-bookings-v2/sessions/querysessions) function sorts results by `start.timestamp` in ascending order. You can't override this default sorting. + +## Terminology + ++ __Calendar:__ General overview about the availability and bookings of the business, including its services and resources. ++ __Session:__ An occupied period of time on a schedule. A session of type `EVENT` is a recurring or single session that appears in a specific block of time in a calendar, such as an appointment or class. ++ __Recurring session:__ A recurring session defines a pattern for repeating sessions that occur on a regular basis. ++ __Slot:__ An available period of time in a schedule that can be booked by a customer. ++ __Resource:__ Business asset like a staff member, room, or equipment that's needed to provide a service. ++ __Schedule:__ Collection of all sessions that belong to the same class, course, appointment, or resource. diff --git a/wix-bookings-v2/wix-bookings-v2/Sessions/guides/versioning.md b/wix-bookings-v2/wix-bookings-v2/Sessions/guides/versioning.md new file mode 100644 index 0000000000..a2fef5ce66 --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/Sessions/guides/versioning.md @@ -0,0 +1,14 @@ +# Versioning + +While changes will mostly be delivered in the order in which they occur, it is not guaranteed. +Therefore, and in order to ensure data consistency, it is recommended to apply changes while considering the session version. + +## Adding or Updating Sessions + +Apply updates to sessions in the target, only if the `session.version.number` in hand is greater than the target session version. +This applies to all sessions, either pushed to subscribed webhooks or retrieved by calling the Sessions APIs. + +## Removing Sessions + +Since event ordering is not guaranteed, it is recommended to store an indication for session removal along with the session version. +Even in the absence of a previous `sessionAddedOrUpdated` event. \ No newline at end of file diff --git a/wix-bookings-v2/wix-bookings-v2/SessionsView.service.json b/wix-bookings-v2/wix-bookings-v2/SessionsView.service.json new file mode 100644 index 0000000000..1d3df2de70 --- /dev/null +++ b/wix-bookings-v2/wix-bookings-v2/SessionsView.service.json @@ -0,0 +1,4290 @@ +{ + "name": "SessionsView", + "memberOf": "wix-bookings-v2", + "mixes": [], + "callbacks": [], + "extra": {}, + "clientId": "wix-bookings.v2-session_view", + "docs": {}, + "relatedGuides": [], + "properties": [], + "operations": [ + { + "name": "getSessionView", + "params": [], + "requiredFields": [], + "ret": { + "type": [ + { + "complexType": { + "nativeType": "Promise", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.GetSessionViewResponse" + } + ] + } + } + ], + "doc": null + }, + "docs": { + "summary": "Gets the sessions view information.\nE.g. the current view end date, or the future duration in days the view should strive for.", + "description": [], + "examples": [ + { + "title": "Retrieve the end date of the site's session view ", + "body": [ + "import {sessionsView} from 'wix-bookings.v2';", + "", + "async function getSessionViewEndDate() {", + " const {sessionView} = await sessionsView.getSessionView()", + " const endDate = sessionView.endDate", + " return endDate", + "}" + ] + } + ] + }, + "isVeloEvent": false, + "customLabels": [ + { + "id": "maturity-beta" + } + ], + "syntaxName": "getSessionView", + "isAdminMethod": true + } + ], + "messages": [ + { + "name": "ActionEvent", + "members": [ + { + "name": "bodyAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Address", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number, as free text." + }, + { + "name": "addressLine2", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text providing more detailed address info. Usually contains Apt, Suite, and Floor." + }, + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Country code." + }, + { + "name": "countryFullname", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Country full name." + }, + { + "name": "formattedAddress", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string containing the full address of this location." + }, + { + "name": "geocode", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.AddressLocation" + } + ], + "doc": "Coordinates of the physical address." + }, + { + "name": "hint", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text to help find the address." + }, + { + "name": "postalCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Zip/postal code." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.StreetAddress" + } + ], + "doc": "Street name, number and apartment number." + }, + { + "name": "subdivision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, + { + "name": "subdivisions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Subdivision" + } + ] + } + } + ], + "doc": "Multi-level subdivisions from top to bottom." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfAddressStreetOneOf", + "members": [ + "addressLine", + "streetAddress" + ] + } + ] + }, + "docs": { + "description": [ + "Physical address" + ] + } + }, + { + "name": "AddressLocation", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Address latitude." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Address longitude." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AddressStreetOneOf", + "members": [ + { + "name": "addressLine", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Main address line, usually street and number, as free text." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.StreetAddress" + } + ], + "doc": "Street name, number and apartment number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Availability", + "members": [ + { + "name": "constraints", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.AvailabilityConstraints" + } + ], + "doc": "Constraints for calculating the schedule's availability." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the schedule stops being available for booking. No value indicates no end time." + }, + { + "name": "linkedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LinkedSchedule" + } + ] + } + } + ], + "doc": "Other schedules that impact the availability calculation. Relevant only when there are availability constraints." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Date and time the schedule starts to be available for booking." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "AvailabilityConstraints", + "members": [ + { + "name": "slotDurations", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "number" + } + ] + } + } + ], + "doc": "A list of duration options for slots, in minutes. Minimum value for a duration is 1.\nThe availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints." + }, + { + "name": "slotsSplitInterval", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SplitInterval" + } + ], + "doc": "An object defining the time between available slots' start times. For example, a slot with slots_split_interval=5 can start every 5 minutes. The default is the slot duration." + }, + { + "name": "splitInterval", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Specify how to split the slots in intervals of minutes.\nThis value indicates the time between available slots' start time. e.g., from 5 minute slots (3:00, 3:05, 3:15) and 1 hour slots (3:00, 4:00, 5:00).\nOptional. The default is the first duration in slot_durations field.\nDeprecated. Use the `split_slots_interval.value_in_minutes`." + }, + { + "name": "timeBetweenSlots", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of minutes between the `end` of one slot, and the `start` of the next.\nMinimum value is 0, maximum value is 120." + } + ], + "docs": { + "description": [ + "Describes how to calculate the specific slots that are available for booking." + ] + } + }, + { + "name": "AvailabilityPolicy", + "members": [ + { + "name": "splitInterval", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SplitInterval" + } + ], + "doc": "Specify how to split the schedule slots in intervals of minutes." + } + ], + "docs": { + "description": [ + "Availability policy applied to all site schedules." + ] + } + }, + { + "name": "AvailabilityPolicyUpdated", + "members": [ + { + "name": "availabilityPolicy", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.AvailabilityPolicy" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "BusinessSchedule", + "members": [ + { + "name": "periods", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.TimePeriod" + } + ] + } + } + ], + "doc": "Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods." + }, + { + "name": "specialHourPeriod", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SpecialHourPeriod" + } + ] + } + } + ], + "doc": "Exceptions to the business's regular hours. The business can be open or closed during the exception." + } + ], + "docs": { + "description": [ + "Business schedule. Regular and exceptional time periods when the business is open or the service is available." + ] + } + }, + { + "name": "CalendarConference", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Wix Calendar conference ID." + }, + { + "name": "accountOwnerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the account owner in the video conferencing service." + }, + { + "name": "conferenceType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference type.\n" + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference description." + }, + { + "name": "externalId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference meeting ID in the provider's conferencing system." + }, + { + "name": "guestUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "URL used by a guest to join the conference." + }, + { + "name": "hostUrl", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "URL used by the host to start the conference." + }, + { + "name": "password", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Password to join the conference." + }, + { + "name": "providerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conference provider ID." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "CalendarDateTime", + "members": [ + { + "name": "localDateTime", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LocalDateTime" + } + ], + "doc": "An object containing the local date and time for the business's time zone." + }, + { + "name": "timeZone", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The time zone. Optional. Derived from the schedule's time zone.\nIn case this field is associated with recurring session, this field is empty." + }, + { + "name": "timestamp", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "UTC date-time in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. If a time zone offset is specified, the time is converted to UTC. For example, if you specify `new Date('2021-01-06T16:00:00.000-07:00')`, the stored value will be `\"2021-01-06T23:00:00.000Z\"`.\nRequired if `localDateTime` is not specified.\nIf `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Cancel", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Complete", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ConferenceProvider", + "members": [ + { + "name": "providerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Conferencing provider ID" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DomainEvent", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Unique event ID.\nAllows clients to ignore duplicate webhooks." + }, + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "entityEventSequence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A sequence number defining the order of updates to the underlying entity.\nFor example, given that some entity was updated at 16:00 and than again at 16:01,\nit is guaranteed that the sequence number of the second update is strictly higher than the first.\nAs the consumer, you can use this value to ensure that you handle messages in the correct order.\nTo do so, you will need to persist this number on your end, and compare the sequence number from the\nmessage against the one you have stored. Given that the stored number is higher, you should ignore the message." + }, + { + "name": "entityFqdn", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Assumes actions are also always typed to an entity_type\nExample: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction" + }, + { + "name": "entityId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the entity associated with the event." + }, + { + "name": "eventTime", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Event timestamp." + }, + { + "name": "originatedFrom", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "If present, indicates the action that triggered the event." + }, + { + "name": "slug", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)\nThis is although the created/updated/deleted notion is duplication of the oneof types\nExample: created/updated/deleted/started/completed/email_opened" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the event was triggered as a result of a privacy regulation application\n(for example, GDPR)." + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfDomainEventBodyOneOf", + "members": [ + "actionEvent", + "createdEvent", + "deletedEvent", + "updatedEvent" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "DomainEventBodyOneOf", + "members": [ + { + "name": "actionEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ActionEvent" + } + ], + "doc": "" + }, + { + "name": "createdEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.EntityCreatedEvent" + } + ], + "doc": "" + }, + { + "name": "deletedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.EntityDeletedEvent" + } + ], + "doc": "" + }, + { + "name": "updatedEvent", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.EntityUpdatedEvent" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Empty", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntityCreatedEvent", + "members": [ + { + "name": "entityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntityDeletedEvent", + "members": [ + { + "name": "deletedEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Entity that was deleted" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "EntityUpdatedEvent", + "members": [ + { + "name": "currentEntityAsJson", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\nThis means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\nWe don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ExtendSessionViewRequest", + "members": [ + { + "name": "futureDurationInDays", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of days the view lasts into the future.\nMust be greater than the current value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ExtendSessionViewResponse", + "members": [ + { + "name": "sessionView", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionView" + } + ], + "doc": "The updated sessions view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ExternalCalendarInfo", + "members": [ + { + "name": "calendarType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The external calendar type (e.g. Google Calendar, iCal, etc)." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ExternalCalendarOverrides", + "members": [ + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Synced description of the external calendar event." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Synced title of the external calendar event." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "FeedEvent", + "members": [ + { + "name": "sessionAddedOrUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionAddedOrUpdated" + } + ], + "doc": "Session has been added or updated within the feed window." + }, + { + "name": "sessionRemoved", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionRemoved" + } + ], + "doc": "Session has been removed from the feed." + }, + { + "name": "windowExtended", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.WindowExtended" + } + ], + "doc": "The feed window has been extended." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfFeedEventTypeOneOf", + "members": [ + "sessionAddedOrUpdated", + "sessionRemoved", + "windowExtended", + "windowMoved" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "FeedEventTypeOneOf", + "members": [ + { + "name": "sessionAddedOrUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionAddedOrUpdated" + } + ], + "doc": "Session has been added or updated within the feed window." + }, + { + "name": "sessionRemoved", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionRemoved" + } + ], + "doc": "Session has been removed from the feed." + }, + { + "name": "windowExtended", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.WindowExtended" + } + ], + "doc": "The feed window has been extended." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "FeedReplayEvent", + "members": [ + { + "name": "replayCompleted", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ReplayCompleted" + } + ], + "doc": "Sessions replay completed." + }, + { + "name": "replayId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "sessionAdded", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionAdded" + } + ], + "doc": "Session has been added within the feed window." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfFeedReplayEventTypeOneOf", + "members": [ + "replayCompleted", + "sessionAdded" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "FeedReplayEventTypeOneOf", + "members": [ + { + "name": "replayCompleted", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ReplayCompleted" + } + ], + "doc": "Sessions replay completed." + }, + { + "name": "sessionAdded", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionAdded" + } + ], + "doc": "Session has been added within the feed window." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Frequency", + "members": [ + { + "name": "repetition", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The frequency of the recurrence in weeks. i.e. when this value is 4, the interval occurs every 4 weeks. Optional. The default is 1. minimum: 1, maximum: 52." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetSessionViewRequest", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "GetSessionViewResponse", + "members": [ + { + "name": "sessionView", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionView" + } + ], + "doc": "The sessions view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Interval", + "members": [ + { + "name": "daysOfWeek", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The day the interval accrue. Optional. The default is the day of the recurring interval's start time." + }, + { + "name": "duration", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The duration of the interval in minutes. Required. Part of the session end time calculation." + }, + { + "name": "hourOfDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The hour of the day the interval accrue. must be consistent with the Interval start time. Options. The default is 0. minimum: 0, maximum: 23." + }, + { + "name": "minuteOfHour", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The minutes of hour the interval accrue. must be consistent with the Interval end time. Options. The default is 0. minimum: 0, maximum: 59." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "IntervalSplit", + "members": [ + { + "name": "intervals", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.RecurringInterval" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "LinkedSchedule", + "members": [ + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Owner ID, of the linked schedule." + }, + { + "name": "transparency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `\"BUSY\"`.\n\nIf set to `\"BUSY\"`, this schedule cannot have any available slots during the linked schedule's sessions.\nIf set to `\"FREE\"`, this schedule can have available slots during the linked schedule's sessions.\n\n\n\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "LocalDateTime", + "members": [ + { + "name": "dayOfMonth", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Day of the month, from 1-31." + }, + { + "name": "hourOfDay", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Hour of the day in 24-hour format, from 0-23." + }, + { + "name": "minutesOfHour", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Minute, from 0-59." + }, + { + "name": "monthOfYear", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Month number, from 1-12." + }, + { + "name": "year", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Year. 4-digit format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Location", + "members": [ + { + "name": "address", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Free text address used when locationType is `OWNER_CUSTOM`." + }, + { + "name": "customAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Address" + } + ], + "doc": "Custom address, used when locationType is `\"OWNER_CUSTOM\"`. Might be used when locationType is `\"CUSTOM\"` in case the owner sets a custom address for the session which is different from the default." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\nOne of:\n- `\"OWNER_BUSINESS\"` The business address as set in the site’s general settings.\n- `\"OWNER_CUSTOM\"` The address as set when creating the service.\n- `\"CUSTOM\"` The address set for the individual session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "LocationsAddress", + "members": [ + { + "name": "city", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "City name." + }, + { + "name": "country", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format." + }, + { + "name": "formatted", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Full address of the location." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LocationsAddressLocation" + } + ], + "doc": "Geographic coordinates of location." + }, + { + "name": "postalCode", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Postal or zip code." + }, + { + "name": "streetAddress", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LocationsStreetAddress" + } + ], + "doc": "Street address. Includes street name, number, and apartment number in separate fields." + }, + { + "name": "subdivision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "LocationsAddressLocation", + "members": [ + { + "name": "latitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Latitude of the location. Must be between -90 and 90." + }, + { + "name": "longitude", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Longitude of the location. Must be between -180 and 180." + } + ], + "docs": { + "description": [ + "Address Geolocation" + ] + } + }, + { + "name": "LocationsLocation", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location ID." + }, + { + "name": "address", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LocationsAddress" + } + ], + "doc": "Address." + }, + { + "name": "archived", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the location is archived. Archived locations can't be updated.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect its `status`." + }, + { + "name": "businessSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.BusinessSchedule" + } + ], + "doc": "Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.\n\n__Note:__ Not supported by Wix Bookings.\n" + }, + { + "name": "default", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this is the default location. There can only be one default location per site. The default location can't be archived." + }, + { + "name": "description", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location description." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Email address." + }, + { + "name": "fax", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Fax number." + }, + { + "name": "locationType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location type.\n\n**Note:** Currently not supported.\n" + }, + { + "name": "locationTypes", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Location types." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location name." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Phone number." + }, + { + "name": "revision", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Revision number, which increments by 1 each time the location is updated.\nTo prevent conflicting changes, the existing revision must be used when updating a location." + }, + { + "name": "status", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Location status. Defaults to `ACTIVE`.\n__Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)\ndoesn't affect the location's status. `INACTIVE` is currently not supported." + }, + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Timezone in `America/New_York` format." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "LocationsStreetAddress", + "members": [ + { + "name": "apt", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + } + ], + "docs": { + "description": [ + "Street address. Includes street name, number, and apartment number in separate fields." + ] + } + }, + { + "name": "MigrationData", + "members": [ + { + "name": "businessId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "staffs", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.StaffData" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MigrationEvent", + "members": [ + { + "name": "migrationData", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.MigrationData" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "MultipleSessionsCreated", + "members": [ + { + "name": "schedulesWithSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleWithSessions" + } + ] + } + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Participant", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant ID. Currently represents the booking.id." + }, + { + "name": "approvalStatus", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Approval status for the participant.\n\n" + }, + { + "name": "contactId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Contact ID." + }, + { + "name": "email", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's email address." + }, + { + "name": "inherited", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the participant was inherited from the schedule, as opposed to being booked directly to the session." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's name." + }, + { + "name": "partySize", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Group or party size. The number of people attending. Defaults to 0. Maximum is 250." + }, + { + "name": "phone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Participant's phone number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ParticipantNotification", + "members": [ + { + "name": "message", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Custom message to send to the participants about the changes to the booking." + }, + { + "name": "notifyParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to send the message about the changes to the customer.\n\nDefault: `false`\n" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Price", + "members": [ + { + "name": "amount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Required payment amount." + }, + { + "name": "currency", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Currency in which the amount is quoted." + }, + { + "name": "downPayAmount", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Amount of a down payment or deposit as part of the transaction." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Rate", + "members": [ + { + "name": "labeledPriceOptions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Record", + "typeParams": [ + { + "nativeType": "string" + }, + { + "referenceType": "wix-bookings-v2.SessionsView.Price" + } + ] + } + } + ], + "doc": "Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + }, + { + "name": "priceText", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.\nWhen present in an update request, the `default_varied_price` is ignored to support backward compatibility." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RecurringInterval", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The recurring interval identifier." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LinkedSchedule" + } + ] + } + } + ], + "doc": "Specifies the list of linked schedules and the way this link affects the corresponding schedules' availability. Can be calculated from the schedule or overridden on the recurring interval." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The end time of the recurring interval. Optional. Empty value indicates that there is no end time." + }, + { + "name": "frequency", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Frequency" + } + ], + "doc": "The frequency of the interval. Optional. The default is frequency with the default repetition." + }, + { + "name": "interval", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Interval" + } + ], + "doc": "The interval rules. The day, hour and minutes the interval is recurring." + }, + { + "name": "intervalType", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The type of recurring interval.\n" + }, + { + "name": "start", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The start time of the recurring interval. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RecurringSessionSplit", + "members": [ + { + "name": "newScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "oldScheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "RecurringSessionsUpdated", + "members": [ + { + "name": "newRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ] + } + } + ], + "doc": "New schedule's recurring session list." + }, + { + "name": "oldRecurringSessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ] + } + } + ], + "doc": "Old schedule's recurring session list." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ReplayCompleted", + "members": [ + { + "name": "totalSessions", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The (minimum) number of sessions that were replayed." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ReplayRequest", + "members": [ + { + "name": "affectedScheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Filter by either `session.schedule_id` or `session.affectedSchedules[*].scheduleId`. Optional." + }, + { + "name": "from", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The date to replay sessions from. Required." + }, + { + "name": "replayId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The replay id. Required." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ReplayResponse", + "members": [ + { + "name": "window", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Window" + } + ], + "doc": "The feed window." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Reschedule", + "members": [ + { + "name": "executeAt", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "" + }, + { + "name": "payload", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Schedule", + "members": [ + { + "name": "_id", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule ID." + }, + { + "name": "availability", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Availability" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "calendarConference", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.CalendarConference" + } + ], + "doc": "A conference created for the schedule. This is used when a participant is added to a schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants that can be added to the schedule's sessions.\nMust be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app." + }, + { + "name": "conferenceProvider", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ConferenceProvider" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "created", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Schedule creation date." + }, + { + "name": "externalCalendarOverrides", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "Fields which were inherited from the Business Info page under Settings in the Dashboard." + }, + { + "name": "intervals", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.RecurringInterval" + } + ] + } + } + ], + "doc": "Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Location" + } + ], + "doc": "Default location for the schedule's sessions." + }, + { + "name": "participants", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Participant" + } + ] + } + } + ], + "doc": "*Partial list** of participants which are registered to sessions in this schedule.\nParticipants who are registered in the schedule are automatically registered to any session that is created for the schedule.\nTo retrieve the full list of schedule participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, + { + "name": "rate", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Rate" + } + ], + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + }, + { + "name": "scheduleOwnerId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the schedule's owner entity. This may be a resource ID or a service ID." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule status." + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "__Deprecated.__\nTags for grouping schedules. These tags are the default tags for the schedule's sessions.\nThe Wix Bookings app uses the following predefined tags to set schedule type: `\"INDIVIDUAL\"`, `\"GROUP\"`, and `\"COURSE\"`. Once the schedule type is set using these tags, you cannot update it. In addition to the app's tags, you can create and update your own tags." + }, + { + "name": "timeZone", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.\nDerived from the Wix Business time zone." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Default title for the schedule's sessions. Maximum length: 6000 characters." + }, + { + "name": "totalNumberOfParticipants", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes." + }, + { + "name": "updated", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Schedule last update date." + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleCancelled", + "members": [ + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleCreated", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleNotification", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "notifyParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether to notify participants about changed sessions. deprecated, use participant_notification" + }, + { + "name": "preserveFutureSessionsWithParticipants", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionUpdated" + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SitePropertiesOnScheduleCreation" + } + ], + "doc": "site properties. Optional. Given in create schedule notification." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfScheduleNotificationEventOneOf", + "members": [ + "availabilityPolicyUpdated", + "intervalSplit", + "migrationEvent", + "multipleSessionsCreated", + "recurringSessionSplit", + "scheduleCancelled", + "scheduleCreated", + "scheduleUnassignedFromUser", + "scheduleUpdated", + "sessionCancelled", + "sessionCreated", + "sessionUpdated" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleNotificationEventOneOf", + "members": [ + { + "name": "availabilityPolicyUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.AvailabilityPolicyUpdated" + } + ], + "doc": "" + }, + { + "name": "intervalSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.IntervalSplit" + } + ], + "doc": "" + }, + { + "name": "recurringSessionSplit", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.RecurringSessionSplit" + } + ], + "doc": "" + }, + { + "name": "scheduleCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleCancelled" + } + ], + "doc": "" + }, + { + "name": "scheduleCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleCreated" + } + ], + "doc": "" + }, + { + "name": "scheduleUnassignedFromUser", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleUnassignedFromUser" + } + ], + "doc": "Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead." + }, + { + "name": "scheduleUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ScheduleUpdated" + } + ], + "doc": "" + }, + { + "name": "sessionCancelled", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionCancelled" + } + ], + "doc": "" + }, + { + "name": "sessionCreated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionCreated" + } + ], + "doc": "" + }, + { + "name": "sessionUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionUpdated" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleUnassignedFromUser", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "The schedule that was unassigned from the user." + }, + { + "name": "userId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The Wix user id." + } + ], + "docs": { + "description": [ + "Schedule unassigned from user." + ] + } + }, + { + "name": "ScheduleUpdated", + "members": [ + { + "name": "newSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "The new schedule after the update." + }, + { + "name": "oldSchedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "The old schedule before the update." + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "recurringSessions", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.RecurringSessionsUpdated" + } + ], + "doc": "Recurring sessions updated event. If this field is given, the reason for the schedule updated event was\nupdating at least one of the given schedule's recurring sessions.\nThis event is triggered by create/update/delete recurring session apis." + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "ScheduleWithSessions", + "members": [ + { + "name": "schedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Schedule" + } + ], + "doc": "" + }, + { + "name": "sessions", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ] + } + } + ], + "doc": "" + }, + { + "name": "siteProperties", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SitePropertiesOnScheduleCreation" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Session", + "members": [ + { + "name": "_id", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session ID." + }, + { + "name": "affectedSchedules", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.LinkedSchedule" + } + ] + } + } + ], + "doc": "An object specifying a list of schedules and the way each schedule's availability is affected by the session. For example, the schedule of an instructor is affected by sessions of the class that they instruct.\nThe array is inherited from the schedule and can be overridden even if the session is a recurring session." + }, + { + "name": "calendarConference", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.CalendarConference" + } + ], + "doc": "A conference created for the session according to the details set in the schedule's conference provider information.\nIf the session is a recurring session, this field is inherited from the schedule.\n**Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported." + }, + { + "name": "capacity", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Maximum number of participants that can be added to the session. Defaults to the schedule capacity.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "end", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.CalendarDateTime" + } + ], + "doc": "An object specifying the end date and time of the session. The `end` time must be after the `start` time and be same type as `start`.\nIf the session is a recurring session, `end` must contain a `localDateTime`." + }, + { + "name": "externalCalendarOverrides", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ExternalCalendarOverrides" + } + ], + "doc": "__Deprecated.__" + }, + { + "name": "inheritedFields", + "readOnly": true, + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "A list of properties for which values were inherited from the schedule.\nThis does not include participants that were inherited from the schedule." + }, + { + "name": "instanceOfRecurrence", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.\nEmpty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty." + }, + { + "name": "location", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Location" + } + ], + "doc": "An object describing the location where the session takes place.\nDefaults to the schedule location.\nFor single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`." + }, + { + "name": "notes", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Additional information about the session.\nNotes are not supported for recurring sessions." + }, + { + "name": "originalStart", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format." + }, + { + "name": "participants", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Participant" + } + ] + } + } + ], + "doc": "*Partial list** list of participants booked for the session.\nThe list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.\nIf the session is a recurring session, this field must be empty.\nTo retrieve the full list of session participants please use the [Query Extended Bookings API](https://dev.wix.com/api/rest/wix-bookings/bookings-reader-v2/query-extended-bookings)." + }, + { + "name": "rate", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Rate" + } + ], + "doc": "Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead." + }, + { + "name": "recurrence", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "A string representing a recurrence rule (RRULE) for a recurring session, as defined in [iCalendar RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-3-10-recurrence-rule.html).\nIf the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.\nThe RRULE defines a rule for repeating a session.\nSupported parameters are:\n\n|Keyword|Description|Supported values|\n|--|--|---|\n|`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|\n|`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|\n|`UNTIL`|The UTC end date and time of the recurrence. Optional.|\n|`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|\n\n\nFor example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:\n`\"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z\"`\n\n\n" + }, + { + "name": "recurringIntervalId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.\nFor exmaple, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.\nThis field is omitted for single sessions or instances of recurring sessions.\nSpecified when the session was originally generated from a schedule recurring interval.\nDeprecated. Use `recurringSessionId`." + }, + { + "name": "recurringSessionId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The ID of the recurring session if this session is an instance of a recurrence. Use this ID to update the recurrence and all of the instances." + }, + { + "name": "scheduleId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the schedule that the session belongs to." + }, + { + "name": "scheduleOwnerId", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the resource or service that the session's schedule belongs to." + }, + { + "name": "start", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.CalendarDateTime" + } + ], + "doc": "An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`." + }, + { + "name": "status", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session status.\n" + }, + { + "name": "tags", + "optional": true, + "type": [ + { + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } + } + ], + "doc": "__Deprecated.__\nTags for the session.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "timeReservedAfter", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.\nIf the session is a recurring session, this field must be empty." + }, + { + "name": "title", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session title.\nThe value is inherited from the schedule and can be overridden unless the session is a recurring session." + }, + { + "name": "totalNumberOfParticipants", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of participants booked for the session. Read-only.\nCalculated as the sum of the party sizes." + }, + { + "name": "type", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Session type.\n" + }, + { + "name": "version", + "readOnly": true, + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionVersion" + } + ], + "doc": "The session version.\nComposed by the schedule, session and participants versions." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionAdded", + "members": [ + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "The session which was added within the feed window." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionAddedOrUpdated", + "members": [ + { + "name": "previousSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "Optionally, the previous session." + }, + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "The session which was added or updated within the view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionCancelled", + "members": [ + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionCreated", + "members": [ + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionRemoved", + "members": [ + { + "name": "previousSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "Optionally, the previous session." + }, + { + "name": "session", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "The updated session which was removed from the view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionUpdated", + "members": [ + { + "name": "newSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "" + }, + { + "name": "oldSession", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Session" + } + ], + "doc": "" + }, + { + "name": "participantNotification", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.ParticipantNotification" + } + ], + "doc": "Whether to notify participants about the change and an optional custom message" + }, + { + "name": "triggeredByAnonymizeRequest", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether this notification was created as a result of an anonymization request, such as GDPR.\nAn anonymized participant will have the following details:\nname = \"deleted\"\nphone = \"deleted\"\nemail = \"deleted@deleted.com\"" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionVersion", + "members": [ + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Incremental version number, which is updated on each change to the session or on changes affecting the session." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionView", + "members": [ + { + "name": "endDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The view end date." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionViewExtended", + "members": [ + { + "name": "extendedSessionViewEndDate", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The extended session view end date." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionViewUpdated", + "members": [ + { + "name": "sessionAddedOrUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionAddedOrUpdated" + } + ], + "doc": "Session has been added or updated within the view." + }, + { + "name": "sessionRemoved", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionRemoved" + } + ], + "doc": "Session has been removed from the view." + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfSessionViewUpdatedTypeOneOf", + "members": [ + "sessionAddedOrUpdated", + "sessionRemoved" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SessionViewUpdatedTypeOneOf", + "members": [ + { + "name": "sessionAddedOrUpdated", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionAddedOrUpdated" + } + ], + "doc": "Session has been added or updated within the view." + }, + { + "name": "sessionRemoved", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.SessionRemoved" + } + ], + "doc": "Session has been removed from the view." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SitePropertiesOnScheduleCreation", + "members": [ + { + "name": "timeZone", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "The global time zone value." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "SpecialHourPeriod", + "members": [ + { + "name": "comment", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Additional info about the exception. For example, \"We close earlier on New Year's Eve.\"" + }, + { + "name": "endDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + }, + { + "name": "isClosed", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the business is closed (or the service is not available) during the exception.\n\nDefault: `true`.\n" + }, + { + "name": "startDate", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)." + } + ], + "docs": { + "description": [ + "Exception to the business's regular hours. The business can be open or closed during the exception." + ] + } + }, + { + "name": "SplitInterval", + "members": [ + { + "name": "sameAsDuration", + "optional": true, + "type": [ + { + "nativeType": "boolean" + } + ], + "doc": "Whether the slot duration is used as the split interval value.\nIf `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in\n`schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field." + }, + { + "name": "valueInMinutes", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Number of minutes between available slots' start times when `same_as_duration` is `false`." + } + ], + "docs": { + "description": [ + "The time between available slots' start times. For example, For 5 minute slots, 3:00, 3:05, 3:15 etc. For 1 hour slots, 3:00, 4:00, 5:00 etc." + ] + } + }, + { + "name": "StaffData", + "members": [ + { + "name": "refreshToken", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "resourceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "syncRequestEmail", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "StreetAddress", + "members": [ + { + "name": "apt", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Apartment number." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street name." + }, + { + "name": "number", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Street number." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Subdivision", + "members": [ + { + "name": "code", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)." + }, + { + "name": "name", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Subdivision full name." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Task", + "members": [ + { + "name": "executeAt", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "" + }, + { + "name": "key", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.TaskKey" + } + ], + "doc": "" + }, + { + "name": "payload", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TaskAction", + "members": [ + { + "name": "cancel", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Cancel" + } + ], + "doc": "" + }, + { + "name": "complete", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Complete" + } + ], + "doc": "" + }, + { + "name": "reschedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Reschedule" + } + ], + "doc": "" + } + ], + "extra": { + "oneOfGroups": [ + { + "name": "oneOfTaskActionActionOneOf", + "members": [ + "cancel", + "complete", + "reschedule" + ] + } + ] + }, + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TaskActionActionOneOf", + "members": [ + { + "name": "cancel", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Cancel" + } + ], + "doc": "" + }, + { + "name": "complete", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Complete" + } + ], + "doc": "" + }, + { + "name": "reschedule", + "optional": true, + "type": [ + { + "referenceType": "wix-bookings-v2.SessionsView.Reschedule" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TaskKey", + "members": [ + { + "name": "appId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "instanceId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + }, + { + "name": "subjectId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "" + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "TimePeriod", + "members": [ + { + "name": "closeDay", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Day of the week the period ends on." + }, + { + "name": "closeTime", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day.\n\n__Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n" + }, + { + "name": "openDay", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Day of the week the period starts on." + }, + { + "name": "openTime", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\nmidnight at the end of the specified day." + } + ], + "docs": { + "description": [ + "Weekly recurring time periods when the business is regularly open or the service is available." + ] + } + }, + { + "name": "Version", + "members": [ + { + "name": "participantsVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Participants version number, updated each time the schedule participants are updated." + }, + { + "name": "scheduleVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "Schedule version number, updated each time the schedule is updated." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "Window", + "members": [ + { + "name": "endDate", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The window end date." + }, + { + "name": "futureDurationInDays", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The number of days the window lasts into the future." + }, + { + "name": "version", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The window version." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "WindowExtended", + "members": [ + { + "name": "windowEndDate", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The updated window end date." + } + ], + "docs": { + "description": [ + "" + ] + } + }, + { + "name": "WindowMoved", + "members": [ + { + "name": "edge", + "optional": true, + "type": [ + { + "nativeType": "Date" + } + ], + "doc": "The updated window edge." + }, + { + "name": "windowVersion", + "optional": true, + "type": [ + { + "nativeType": "number" + } + ], + "doc": "The window version." + } + ], + "docs": { + "description": [ + "Deprecated. Please use `window_extended` instead." + ] + } + } + ] +} diff --git a/wix-bookings.v2/metadata.json b/wix-bookings.v2/metadata.json index 8ca7f33c69..3671c3f2a8 100644 --- a/wix-bookings.v2/metadata.json +++ b/wix-bookings.v2/metadata.json @@ -1,6 +1,6 @@ { "name": "@wix/wix-bookings.v2", - "fingerprint": "8a8421d8c4f0ba070e448847b9ebd73bf54f0228f8edce6af6d740bf", + "fingerprint": "b48da589853e322c219b9e59d7d02abc9a1b01ee641db43575756d70", "groupId": "com.wixpress.velo-autogen", "artifactId": "wix-bookings-v2-velo-autogen", "module": "wix-bookings.v2" diff --git a/wix-editor/wix-editor.service.json b/wix-editor/wix-editor.service.json index b40c136054..24d53004d5 100644 --- a/wix-editor/wix-editor.service.json +++ b/wix-editor/wix-editor.service.json @@ -35,12 +35,12 @@ [ "wix-editor.Viewport" ] }, "doc": "Fulfilled - Object with the current Editor viewport." }, "locations": - [ { "lineno": 110, + [ { "lineno": 111, "filename": "editor.js" } ], "docs": { "summary": "Gets the viewport currently selected in the Editor.", "description": - [ "The `getCurrentViewport()` function returns a Promise that resolves to an object containing details about the currently selected viewport. To use this function on an inner (nested) widget, use [`getScopedWixEditor()`](#getScopedWixEditor)." ], + [ "The `getCurrentViewport()` function returns a Promise that resolves to an object containing details about the currently selected viewport." ], "links": [], "examples": [ { "title": "Get the current viewport", @@ -49,59 +49,19 @@ "", "// ...", "", - "wixEditor.getCurrentViewport()", - " .then(viewport => {", - " // Your code that uses the 'viewport' value goes here", - " }); ", - " ", - "/* For example, `viewport` can be: ", - " {", + "const viewport = await wixEditor.getCurrentViewport(); ", + "", + "/* Returns:", + "", + "{", " type: \"DESKTOP\",", " range: {", - " minWidth: 1001,", - " maxWidth: undefined", + " minWidth: 1001,", + " maxWidth: undefined", " }", - " }", - "*/" ], - "extra": - { } } ], - "extra": - { } }, - "extra": - { } }, - { "name": "getScopedWixEditor", - "labels": - [ "changed" ], - "nameParams": [], - "params": - [ { "name": "Selector", - "type": "string", - "doc": "A string of one or more nested widget selectors, which can include a few levels of nesting from outer to inner, separated by spaces. For example: `(\"#nestedWidget1\")`, or `(\"#nestedWidget1 #nestedWidget2\")`." } ], - "ret": - { "type": - { "name": "Promise", - "typeParams": - [ "Object" ] }, - "doc": "Fulfilled - The `wix-editor` module scoped to the nested widget." }, - "locations": - [ { "lineno": 121, - "filename": "editor.js" } ], - "docs": - { "summary": "Gets the `wix-editor` module scoped of an [inner (nested) widget](https://support.wix.com/en/article/wix-blocks-creating-and-managing-widgets-within-widgets).", - "description": - [ "The `getScopedWixEditor()` function lets you use `wix-editor` functions on inner (nested) widgets. It receives a selector of an inner widget and returns a promise that resolves with an object representing the scope of the inner widget." ], - "links": [], - "examples": - [ { "title": "Removes an element in an inner (nested) widget", - "body": - [ "import wixEditor from 'wix-editor';", - "", - "// ...", + "}", "", - "wixEditor.getScopedWixEditor(\"#nestedWidget1 #nestedWidget2\") ////nestedWidget2 is inside nestedWidget1", - " .then(nestedWidget => {", - " nestedWidget.removeElement(\"#title1\"); //removes title1 from nestedWidget2", - "});" ], + "*/" ], "extra": { } } ], "extra": @@ -122,14 +82,14 @@ [ "void" ] }, "doc": "Fulfilled - `true` if the element was removed and `false` if it exists." }, "locations": - [ { "lineno": 72, + [ { "lineno": 73, "filename": "editor.js" } ], "docs": { "summary": "Checks if an element is removed from the widget.", "description": [ "The `isRemoved()` function returns a Promise that resolves to `true` if the element is removed.", "", - "The element selector is a string with the hash symbol (`#`) followed by the ID of the item you want to select (e.g. `\"#myElement\"`). To use this function on an inner (nested) widget, use [`getScopedWixEditor()`](#getScopedWixEditor)." ], + "The element selector is a string with the hash symbol (`#`) followed by the ID of the item you want to select (e.g. `\"#myElement\"`)." ], "links": [], "examples": [ { "title": "Check if an element is removed", @@ -138,10 +98,7 @@ "", "// ...", "", - "wixEditor.isRemoved('#title')", - " .then(isRemoved => {", - " // Your code that uses the 'isRemoved' value goes here", - " });" ], + "const isRemoved = await wixEditor.isRemoved('#title');" ], "extra": { } } ], "extra": @@ -161,12 +118,12 @@ [ "string" ] } ] }, "doc": "Fulfilled - A list of of selectors of removed elements." }, "locations": - [ { "lineno": 86, + [ { "lineno": 87, "filename": "editor.js" } ], "docs": { "summary": "Gets a list of all removed widget elements.", "description": - [ "The `listRemovedElements()` function returns a Promise that resolves to a list of selectors of removed elements that are part of the widget with which the panel is associated, for example: `[‘title’, ‘description’]`. To use this function on an inner (nested) widget, use [`getScopedWixEditor()`](#getScopedWixEditor)." ], + [ "The `listRemovedElements()` function returns a Promise that resolves to a list of selectors of removed elements that are part of the widget with which the panel is associated, for example: `[‘title’, ‘description’]`." ], "links": [], "examples": [ { "title": "Get all the removed elements", @@ -175,12 +132,7 @@ "", "// ...", "", - "wixEditor.listRemovedElements()", - " .then(allRemovedElements => {", - " // Code to execute with the allRemovedElements array ", - " })", - " ", - "// For example, allRemovedElements can be: [\"#title\", \"#button1\"]" ], + "const allRemovedElements = wixEditor.listRemovedElements(); // [\"#title\", \"#button1\"]" ], "extra": { } } ], "extra": @@ -201,7 +153,7 @@ [ "void" ] }, "doc": "Fulfilled - when the Dashboard is open." }, "locations": - [ { "lineno": 97, + [ { "lineno": 98, "filename": "editor.js" } ], "docs": { "summary": "Opens the [Dashboard](https://support.wix.com/en/article/about-your-wix-dashboard) for the current site.", @@ -216,10 +168,7 @@ "", "// ...", "", - "wixEditor.openDashboardPanel({ url: 'blog' })", - " .then(() => {", - " // Code to execute after opening the dashboard panel", - " })" ], + "wixEditor.openDashboardPanel({url: 'blog'});" ], "extra": { } } ], "extra": @@ -246,12 +195,21 @@ { "summary": "Removes a widget element from the stage.", "description": [ "The `removeElement()` function returns a Promise that is resolved when the element is removed. You can only remove elements that are part of the widget with which the panel is associated. ", - "The element selector is a string with the hash symbol (`#`) followed by the ID of the item you want to select (for example, `\"#myElement\"`). To use this function on an inner (nested) widget, use [`getScopedWixEditor()`](#getScopedWixEditor)." ], + "The element selector is a string with the hash symbol (`#`) followed by the ID of the item you want to select (for example, `\"#myElement\"`). To select an element that is nested within an internal widget, include both the inner widget's ID and the nested element's ID, separated by a space, for example: `\"#inner-widget #text1\"`." ], "links": [ "[restoreElement( )](#restoreElement)", "[isRemoved( )](#isRemoved)" ], "examples": - [ { "title": "Use a toggle switch to remove/restore a widget element", + [ { "title": "Remove an element", + "body": + [ "import wixEditor from 'wix-editor';", + "", + "// ...", + "", + "wixEditor.removeElement('#title');" ], + "extra": + { } }, + { "title": "Use a toggle switch to remove/restore a widget element", "body": [ "// In this example, we use a toggle switch to remove or restore an element in our widget.", "", @@ -286,14 +244,14 @@ [ "void" ] }, "doc": "Fulfilled - when the element is restored." }, "locations": - [ { "lineno": 55, + [ { "lineno": 56, "filename": "editor.js" } ], "docs": { "summary": "Restores (shows) a widget element on the stage.", "description": [ "The `restoreElement()` function returns a Promise that is resolved when the element is restored. You can only restore elements that are part of the widget with which the panel is associated.", "", - "The element selector is a string with the hash symbol (`#`) followed by the ID of the item you want to select (for example, `\"#myElement\"`). To use this function on an inner (nested) widget, use [`getScopedWixEditor()`](#getScopedWixEditor)." ], + "The element selector is a string with the hash symbol (`#`) followed by the ID of the item you want to select (for example, `\"#myElement\"`). To select an element that is nested within an internal widget, include both the inner widget's ID and the nested element's ID, separated by a space, for example: `\"#inner-widget #text1\"`." ], "links": [ "[removeElement( )](#removeElement)", "[isRemoved( )](#isRemoved)" ], @@ -361,9 +319,7 @@ [ { "name": "type", "type": "string", "doc": "Type of viewport (`DESKTOP`, `MOBILE`, or `TABLET`)" }, - { "name": "An", - "type": "wix-editor.viewportRange", - "doc": "object representing the current viewport's range." } ], + { "type": "wix-editor.viewportRange" } ], "extra": { }, "labels": [] }, diff --git a/wix-loyalty.v2/metadata.json b/wix-loyalty.v2/metadata.json index 8f82c8853e..1bd1201bdd 100644 --- a/wix-loyalty.v2/metadata.json +++ b/wix-loyalty.v2/metadata.json @@ -1,6 +1,6 @@ { "name": "@wix/wix-loyalty.v2", - "fingerprint": "df7ae7ed3461a42c2731f44af30e466cdb15a85438f9b19a572e46c0", + "fingerprint": "09817feeb2ecac817faf7c4c702fc0bffbfa1af5b14b53dc99c9d2ad", "groupId": "com.wixpress.velo-autogen", "artifactId": "wix-loyalty-v2-velo-autogen", "module": "wix-loyalty.v2" diff --git a/wix-media-v2/wix-media-v2.service.json b/wix-media-v2/wix-media-v2.service.json index bde9fb8a03..53a1dd7ad5 100644 --- a/wix-media-v2/wix-media-v2.service.json +++ b/wix-media-v2/wix-media-v2.service.json @@ -8,36 +8,6 @@ "docs": {}, "relatedGuides": [], "properties": [ - { - "name": "enterpriseMediaCategories", - "type": [ - { - "referenceType": "wix-media-v2.EnterpriseMediaCategories" - } - ], - "docs": { - "summary": "", - "links": [], - "examples": [], - "extra": {} - }, - "hidden": true - }, - { - "name": "enterpriseMediaItems", - "type": [ - { - "referenceType": "wix-media-v2.EnterpriseMediaItems" - } - ], - "docs": { - "summary": "", - "links": [], - "examples": [], - "extra": {} - }, - "hidden": true - }, { "name": "files", "type": [ @@ -67,36 +37,6 @@ "extra": {} }, "hidden": true - }, - { - "name": "generation", - "type": [ - { - "referenceType": "wix-media-v2.Generation" - } - ], - "docs": { - "summary": "", - "links": [], - "examples": [], - "extra": {} - }, - "hidden": true - }, - { - "name": "storage", - "type": [ - { - "referenceType": "wix-media-v2.Storage" - } - ], - "docs": { - "summary": "", - "links": [], - "examples": [], - "extra": {} - }, - "hidden": true } ], "operations": [], diff --git a/wix-media-v2/wix-media-v2/Events.service.json b/wix-media-v2/wix-media-v2/Events.service.json index e31135963c..93c577e1d7 100644 --- a/wix-media-v2/wix-media-v2/Events.service.json +++ b/wix-media-v2/wix-media-v2/Events.service.json @@ -20,7 +20,7 @@ "displayName": "FileDescriptorDeleted" } ], - "doc": "Contains metadata for the event.\n", + "doc": "", "required": false } ], @@ -35,32 +35,20 @@ }, "docs": { "summary": "Triggered when a file is deleted.", - "description": [], + "description": [ + "If the `movedToTrash` property in the event object `true`, the file was moved to the Media Manager's trash bin. If the `movedToTrash` property in the event object is `false`, the file was permanently deleted." + ], "examples": [ { - "title": "An event that triggers when a file is deleted", + "title": "onFileDescriptorDeleted example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", "", - "export function wixMediaSiteMedia_onFileDescriptorDeleted(event) {", - " const eventTime = event.metadata.eventTime;", - " const entityId = event.metadata.entityId;", - " ", - " console.log(`File with ID ${entityId} was deleted at ${eventTime}.`);", - "}", - " ", - "/* Full event object:", - " * {", - " * \"metadata\": {", - " * \"entityId\": \"d4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg\",", - " * \"eventTime\": \"2023-09-18T10:22:56.532Z\",", - " * \"id\": \"c5ad126c-26f0-4ccf-a53c-fa43ea1428bf\",", - " * \"triggeredByAnonymizeRequest\": false", - " * }", - " * }", - " */" + " export function wixMediaSiteMedia_onFileDescriptorDeleted(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", + "", + " " ] } ] @@ -70,8 +58,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFileDescriptorDeleted" + ] }, { "name": "onFileDescriptorFileFailed", @@ -84,7 +71,7 @@ "displayName": "FileDescriptorFileFailed" } ], - "doc": "Information about the failed file and metadata for the event.\n", + "doc": "", "required": false } ], @@ -102,32 +89,15 @@ "description": [], "examples": [ { - "title": "An event that triggers when a file fails during essential post-upload processing", + "title": "onFileDescriptorFileFailed example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", "", - "export function wixMediaSiteMedia_onFileDescriptorFileFailed(event) {", - " const eventTime = event.metadata.eventTime;", - " const entityId = event.metadata.entityId;", - " ", - " console.log(`File with ID ${entityId} failed during essential post-upload processing at ${eventTime}.`);", - "}", - " ", - "/* Full event object:", - " * {", - " * \"metadata\": {", - " * \"entityId\": \"d4dde1_f6660fb1274c41bf87514db2f5926ae0\",", - " * \"eventTime\": \"2023-09-18T10:27:33.046Z\",", - " * \"id\": \"8cf0189d-9f49-45c5-9f3c-bc7928a42e34\",", - " * \"triggeredByAnonymizeRequest\": false", - " * },", - " * \"data\": {", - " * \"externalInfo\": {}", - " * }", - " * }", - " */" + " export function wixMediaSiteMedia_onFileDescriptorFileFailed(event) {", + " const eventId = event.metadata.id", + " const entityId = event.data.fileDescriptor._id;", + " }", + "", + " " ] } ] @@ -137,8 +107,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFileDescriptorFileFailed" + ] }, { "name": "onFileDescriptorFileReady", @@ -151,7 +120,7 @@ "displayName": "FileDescriptorFileReady" } ], - "doc": "Information about the file and metadata for the event.\n", + "doc": "", "required": false } ], @@ -167,149 +136,19 @@ "docs": { "summary": "Triggered when a file is ready to be used, after any post-upload processing.", "description": [ - "This event is also triggered when a file is restored from the Media Manager's trash bin." + "This event is also triggred when a file is restored from the Media Manager's trash bin." ], "examples": [ { - "title": "An event that triggers when a file is ready to be used, after any post-upload processing", + "title": "onFileDescriptorFileReady example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", - "", - "export function wixMediaSiteMedia_onFileDescriptorFileReady(event) {", - " const fileName = event.data.file.displayName;", - " const parentFolderId = event.data.parentFolderId;", - " const eventTime = event.metadata.eventTime;", "", - " console.log(`${fileName}, located in the parent folder with ID ${parentFolderId}, is ready to be used. Completion of post-upload processing was at ${eventTime}.`)", - "}", + " export function wixMediaSiteMedia_onFileDescriptorFileReady(event) {", + " const eventId = event.metadata.id", + " const entityId = event.data.fileDescriptor._id;", + " }", "", - "/* Full event object:", - " * {", - " * \"data\": {", - " * \"externalInfo\": {},", - " * \"file\": {", - " * \"_createdDate\": \"2023-08-09T08:45:49.000Z\",", - " * \"_id\": \"d4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg\",", - " * \"_updatedDate\": \"2023-08-09T08:45:49.000Z\",", - " * \"displayName\": \"mountains.jpg\",", - " * \"hash\": \"800fae3e0cb7908518a391c25864436c\",", - " * \"labels\": [", - " * \"mountainous range\",", - " * \"mountain range\",", - " * \"mountain peak\",", - " * \"mountains\",", - " * \"snow capped mountains\",", - " * \"mountainous landscape\"", - " * ],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 47,", - " * \"g\": 36,", - " * \"r\": 31", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 155,", - " * \"g\": 153,", - " * \"r\": 195", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 141,", - " * \"g\": 123,", - " * \"r\": 138", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 177,", - " * \"g\": 161,", - " * \"r\": 190", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 179,", - " * \"g\": 178,", - " * \"r\": 217", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 160,", - " * \"g\": 176,", - " * \"r\": 229", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 176,", - " * \"g\": 151,", - " * \"r\": 162", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 93,", - " * \"g\": 78,", - " * \"r\": 71", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 45,", - " * \"g\": 63,", - " * \"r\": 107", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 104,", - " * \"g\": 88,", - " * \"r\": 82", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 47,", - " * \"g\": 36,", - " * \"r\": 31", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg/mountains.jpg#originWidth=5833&originHeight=3894\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"c96bcd13-173a-4938-88e0-a126391adf49\",", - " * \"sizeInBytes\": \"3013886\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/d4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/d4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg\"", - " * },", - " * \"triggeredByUndelete\": true", - " * },", - " * \"metadata\": {", - " * \"entityId\": \"d4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg\",", - " * \"eventTime\": \"2023-09-18T10:22:49.159Z\",", - " * \"id\": \"6057a4bd-86d1-428e-bfe5-026dcc869ec3\",", - " * \"triggeredByAnonymizeRequest\": false", - " * }", - " * }", - " */", - "" + " " ] } ] @@ -319,8 +158,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFileDescriptorFileReady" + ] }, { "name": "onFileDescriptorUpdated", @@ -333,7 +171,7 @@ "displayName": "FileDescriptorUpdated" } ], - "doc": "Information about the updated file and metadata for the event.\n", + "doc": "", "required": false } ], @@ -351,136 +189,15 @@ "description": [], "examples": [ { - "title": "An event that triggers when a file is updated", + "title": "onFileDescriptorUpdated example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", "", - "export function wixMediaSiteMedia_onFileDescriptorUpdated(event) {", - " const eventTime = event.metadata.eventTime;", - " const fileName = event.entity.displayName;", - " const parentFolder = event.entity.parentFolderId;", - " ", - " console.log(`${fileName}, currently located in the parent folder with ID ${parentFolder}, was updated at ${eventTime}.`)", - "}", + " export function wixMediaSiteMedia_onFileDescriptorUpdated(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", "", - "/* Full event object:", - " * {", - " * \"metadata\": {", - " * \"id\": \"acfe4b7a-bc6a-41f5-8fb3-d0f1301fea51\",", - " * \"entityId\": \"d4dde1_e76448de45bf4deb912b373bc7c3ac6f~mv2.jpg\",", - " * \"eventTime\": \"2023-09-18T10:22:39.193Z\",", - " * \"triggeredByAnonymizeRequest\": false", - " * },", - " * \"entity\": {", - " * \"displayName\": \"image1\",", - " * \"mediaType\": \"IMAGE\",", - " * \"private\": false,", - " * \"operationStatus\": \"READY\",", - " * \"url\": \"https://static.wixstatic.com/media/d4dde1_e76448de45bf4deb912b373bc7c3ac6f~mv2.jpg\",", - " * \"_id\": \"d4dde1_e76448de45bf4deb912b373bc7c3ac6f~mv2.jpg\",", - " * \"_createdDate\": \"2023-08-09T08:45:43.000Z\",", - " * \"_updatedDate\": \"2023-09-18T10:22:38.000Z\",", - " * \"hash\": \"7fc91042c9a56b42223aa2f94ccdcecd\",", - " * \"labels\": [", - " * \"label1\",", - " * \"label2\"", - " * ],", - " * \"sizeInBytes\": \"6312959\",", - " * \"media\": {", - " * \"image\": {", - " * \"image\": \"wix:image://v1/d4dde1_e76448de45bf4deb912b373bc7c3ac6f~mv2.jpg/image1#originWidth=5616&originHeight=3744\",", - " * \"colors\": {", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"r\": 39,", - " * \"g\": 36,", - " * \"b\": 26", - " * }", - " * },", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"r\": 39,", - " * \"g\": 36,", - " * \"b\": 26", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 119,", - " * \"g\": 125,", - " * \"b\": 135", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 208,", - " * \"g\": 209,", - " * \"b\": 208", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 130,", - " * \"g\": 108,", - " * \"b\": 40", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 75,", - " * \"g\": 101,", - " * \"b\": 133", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 94,", - " * \"g\": 78,", - " * \"b\": 36", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 148,", - " * \"g\": 161,", - " * \"b\": 178", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 163,", - " * \"g\": 177,", - " * \"b\": 192", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 208,", - " * \"g\": 184,", - " * \"b\": 159", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"r\": 183,", - " * \"g\": 159,", - " * \"b\": 137", - " * }", - " * }", - " * ]", - " * },", - " * \"faces\": []", - " * }", - " * },", - " * \"siteId\": \"c96bcd13-173a-4938-88e0-a126391adf49\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/d4dde1_e76448de45bf4deb912b373bc7c3ac6f~mv2.jpg\",", - " * \"parentFolderId\": \"b2bc72834460412494c93617d88b8c89\"", - " * }", - " * }", - " */" + " " ] } ] @@ -490,8 +207,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFileDescriptorUpdated" + ] }, { "name": "onFolderCreated", @@ -504,7 +220,7 @@ "displayName": "FolderCreated" } ], - "doc": "Information about the created file and metadata for the event.\n", + "doc": "", "required": false } ], @@ -520,41 +236,19 @@ "docs": { "summary": "Triggered when a folder is created.", "description": [ - "This event is also triggered when a folder is restored from the Media Manager's trash bin." + "This event is also triggred when a folder is restored from the Media Manager's trash bin." ], "examples": [ { - "title": "An event that triggers when a folder is created", + "title": "onFolderCreated example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", "", - "export function wixMediaSiteMedia_onFolderCreated(event) {", - " const displayName = event.entity.displayName;", - " const parentFolderId = event.entity.parentFolderId;", - " const eventTime = event.metadata.eventTime;", + " export function wixMediaSiteMedia_onFolderCreated(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", "", - " console.log(`New folder, \"${displayName},\" was created in the parent folder with ID ${parentFolderId} at ${eventTime}.`);", - "}", - "", - "/* Full event object:", - " * {", - " * \"entity\": {", - " * \"_createdDate\": \"2023-09-18T10:20:23.000Z\",", - " * \"_id\": \"a7b49f96836a48febefb10f669c14ab0\",", - " * \"_updatedDate\": \"2023-09-18T10:20:23.000Z\",", - " * \"displayName\": \"Videos\",", - " * \"parentFolderId\": \"media-root\"", - " * },", - " * \"metadata\": {", - " * \"entityId\": \"a7b49f96836a48febefb10f669c14ab0\",", - " * \"eventTime\": \"2023-09-18T10:20:24.401Z\",", - " * \"id\": \"00c0a4d0-1987-4d2f-9cb4-0dec0b969d60\",", - " * \"triggeredByAnonymizeRequest\": false", - " * }", - " * }", - " */" + " " ] } ] @@ -564,8 +258,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFolderCreated" + ] }, { "name": "onFolderDeleted", @@ -578,7 +271,7 @@ "displayName": "FolderDeleted" } ], - "doc": "Contains metadata for the event.\n", + "doc": "", "required": false } ], @@ -593,32 +286,20 @@ }, "docs": { "summary": "Triggered when a folder is deleted.", - "description": [], + "description": [ + "If the `movedToTrash` property in the event object is `true`, the folder was moved to the Media Manager's trash bin. If the `movedToTrash` property in the event object is `false`, the folder was permanently deleted." + ], "examples": [ { - "title": "An event that triggers when a folder is deleted", + "title": "onFolderDeleted example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", - "", - "export function wixMediaSiteMedia_onFolderDeleted(event) {", - " const folderId = event.metadata.entityId;", - " const eventTime = event.metadata.eventTime;", "", - " console.log(`Folder with ID ${folderId} was deleted at ${eventTime}.`)", - "}", + " export function wixMediaSiteMedia_onFolderDeleted(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", "", - "/* Full event object:", - " * {", - " * \"metadata\": {", - " * \"entityId\": \"a7b49f96836a48febefb10f669c14ab0\",", - " * \"eventTime\": \"2023-09-18T10:25:38.721Z\",", - " * \"id\": \"2ce042ce-3a31-4c3a-8b34-4c5e223a4b15\",", - " * \"triggeredByAnonymizeRequest\": false", - " * }", - " * }", - " */" + " " ] } ] @@ -628,8 +309,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFolderDeleted" + ] }, { "name": "onFolderUpdated", @@ -642,7 +322,7 @@ "displayName": "FolderUpdated" } ], - "doc": "Information about the updated file and metadata for the event.\n", + "doc": "", "required": false } ], @@ -660,37 +340,15 @@ "description": [], "examples": [ { - "title": "An event that triggers when a folder is updated", + "title": "onFolderUpdated example", "body": [ - "// Place this code in the events.js file", - "// of your site's Backend section.", - "// Add the file if it doesn't exist.", "", - "export function wixMediaSiteMedia_onFolderUpdated(event) {", - " const displayName = event.entity.displayName;", - " const parentFolderId = event.entity.parentFolderId;", - " const eventTime = event.metadata.eventTime;", - " ", - " console.log(`Folder, \"${displayName},\" that is found in the folder with ID ${parentFolderId}, was updated at ${eventTime}.`);", - "}", + " export function wixMediaSiteMedia_onFolderUpdated(event) {", + " const eventId = event.metadata.id", + " const entityId = event.entity._id;", + " }", "", - "/* Full event object:", - " * {", - " * \"entity\": {", - " * \"_createdDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"_id\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"_updatedDate\": \"2023-09-18T10:20:49.000Z\",", - " * \"displayName\": \"Folder31\",", - " * \"parentFolderId\": \"media-root\"", - " * },", - " * \"metadata\": {", - " * \"entityId\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"eventTime\": \"2023-09-18T10:20:50.411Z\",", - " * \"id\": \"f5b62b5f-9f83-41d3-b0cd-8cae506b3d35\",", - " * \"triggeredByAnonymizeRequest\": false", - " * }", - " * }", - " */" + " " ] } ] @@ -700,251 +358,63 @@ { "id": "maturity-beta" } - ], - "syntaxName": "wixMediaSiteMedia_onFolderUpdated" + ] } ], "messages": [ { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryBackendEventMetadata", - "members": [ - { - "name": "entityId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the entity associated with the event." - }, - { - "name": "eventTime", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Event timestamp." - }, - { - "name": "id", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Event ID." - }, - { - "name": "triggeredByAnonymizeRequest", - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryCreateCategoryRequest", - "members": [ - { - "name": "category", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "The category object that will be created" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryCreateCategoryResponse", - "members": [ - { - "name": "category", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "A list of items matching the request" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryDeleteCategoryRequest", - "members": [ - { - "name": "categoryId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Category id" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryDeleteCategoryResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", + "name": "mediaSiteMediaV1FileDescriptorArchive", "members": [ - { - "name": "_createdDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Date and time the category was created." - }, { "name": "_id", - "readOnly": true, "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Id of the category" - }, - { - "name": "_updatedDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Date and time the category was updated." + "doc": "WixMedia ID." }, { - "name": "displayName", + "name": "filename", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "The display name that will be shown for the item" + "doc": "Archive filename." }, { - "name": "parentCategoryId", + "name": "sizeInBytes", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Id of the parent category, will default to the account master category" + "doc": "Archive size in bytes." }, { - "name": "publishStatus", + "name": "url", "optional": true, "type": [ { "nativeType": "string" } ], - "doc": "Publish status of the category" + "doc": "Archive URL." }, { - "name": "sortOrder", + "name": "urlExpirationDate", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" - } - ], - "doc": "Sort order number of the category, will determine the order of the category with other categories under the same parent category" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryCreated", - "members": [ - { - "name": "entity", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "" - }, - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryDeleted", - "members": [ - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryBackendEventMetadata", - "displayName": "BackendEventMetadata" + "nativeType": "Date" } ], - "doc": "" + "doc": "Archive URL expiration date (when relevant)." } ], "docs": { @@ -954,21 +424,20 @@ } }, { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryTree", + "name": "mediaSiteMediaV1FileDescriptorAudioV2", "members": [ { - "name": "category", + "name": "_id", "optional": true, "type": [ { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" + "nativeType": "string" } ], - "doc": "Category information" + "doc": "WixMedia ID." }, { - "name": "subCategories", + "name": "assets", "optional": true, "type": [ { @@ -976,2647 +445,57 @@ "nativeType": "Array", "typeParams": [ { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryTree", - "displayName": "EnterpriseCategoryTree" + "nativeType": "string" } ] } } ], - "doc": "Information about the sub categories" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryUpdated", - "members": [ - { - "name": "entity", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "" + "doc": "Audio formats available for this file." }, { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseOnboardingRequest", - "members": [ - { - "name": "accountId", + "name": "bitrate", + "readOnly": true, + "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } ], - "doc": "The account id of the organization - will be used as the organization category id" + "doc": "Audio bitrate. Optional." }, { - "name": "accountName", + "name": "duration", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "string" + "nativeType": "number" } - ], - "doc": "The account name of the organization - will be used as the organization category name" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseOnboardingResponse", - "members": [ - { - "name": "category", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "The enterprise category" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryGetCategoryRequest", - "members": [ - { - "name": "categoryId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Category id" - }, - { - "name": "levels", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "number of sub category levels" - }, - { - "name": "publishStatus", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "filter categories by publish statuses. When empty will return PUBLISHED and UNPUBLISHED" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryGetCategoryResponse", - "members": [ - { - "name": "category", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryTree", - "displayName": "EnterpriseCategoryTree" - } - ], - "doc": "The category details" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryGetMediaManagerCategoriesRequest", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryGetMediaManagerCategoriesResponse", - "members": [ - { - "name": "category", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategoryTree", - "displayName": "EnterpriseCategoryTree" - } - ], - "doc": "The category details" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryLinkItemsToCategoryRequest", - "members": [ - { - "name": "categoryId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The category to link to" - }, - { - "name": "itemIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The item ids that will be added to the category" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryLinkItemsToCategoryResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryUnlinkItemsFromCategoryRequest", - "members": [ - { - "name": "categoryId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The category to link to" - }, - { - "name": "itemIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The item ids that will be added to the category" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryUnlinkItemsFromCategoryResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryUpdateCategoryRequest", - "members": [ - { - "name": "category", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "The category object that will be created" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseCategoryUpdateCategoryResponse", - "members": [ - { - "name": "category", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseCategoryEnterpriseCategory", - "displayName": "EnterpriseCategory" - } - ], - "doc": "The updated category" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemApplicationError", - "members": [ - { - "name": "code", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Error code." - }, - { - "name": "data", - "optional": true, - "type": [ - { - "nativeType": "Object" - } - ], - "doc": "Data related to the error." - }, - { - "name": "description", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Description of the error." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemArchive", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "WixMedia ID." - }, - { - "name": "filename", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Archive filename." - }, - { - "name": "sizeInBytes", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Archive size in bytes." - }, - { - "name": "url", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Archive URL." - }, - { - "name": "urlExpirationDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Archive URL expiration date (when relevant)." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemBackendEventMetadata", - "members": [ - { - "name": "entityId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the entity associated with the event." - }, - { - "name": "eventTime", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Event timestamp." - }, - { - "name": "id", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Event ID." - }, - { - "name": "triggeredByAnonymizeRequest", - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemBulkActionMetadata", - "members": [ - { - "name": "totalFailures", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items that couldn't be processed." - }, - { - "name": "totalSuccesses", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items that were successfully processed." - }, - { - "name": "undetailedFailures", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of failures without details because detailed failure threshold was exceeded." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemBulkItemUpdateResult", - "members": [ - { - "name": "item", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "only returned if operation was successful and if returnEntity flag was on" - }, - { - "name": "itemMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemItemMetadata", - "displayName": "ItemMetadata" - } - ], - "doc": "updated item metadata" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemBulkUpdateItemRequest", - "members": [ - { - "name": "returnEntity", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Should the response return the updated item" - }, - { - "name": "updateItemRequests", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemUpdateItemRequest", - "displayName": "UpdateItemRequest" - } - ] - } - } - ], - "doc": "Requests to update individual item" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemBulkUpdateItemResponse", - "members": [ - { - "name": "bulkActionMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemBulkActionMetadata", - "displayName": "BulkActionMetadata" - } - ], - "doc": "Metadata of the operation" - }, - { - "name": "results", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemBulkItemUpdateResult", - "displayName": "BulkItemUpdateResult" - } - ] - } - } - ], - "doc": "Requests to update individual item" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemCursors", - "members": [ - { - "name": "next", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Cursor pointing to next page in the list of results." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseItemCreated", - "members": [ - { - "name": "entity", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "" - }, - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseItemItemCategoriesChanged", - "members": [ - { - "name": "data", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemItemCategoriesChanged", - "displayName": "ItemCategoriesChanged" - } - ], - "doc": "" - }, - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseItemPublishStatusChanged", - "members": [ - { - "name": "data", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPublishStatusChanged", - "displayName": "PublishStatusChanged" - } - ], - "doc": "" - }, - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseItemUpdated", - "members": [ - { - "name": "entity", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "" - }, - { - "name": "metadata", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemBackendEventMetadata", - "displayName": "BackendEventMetadata" - } - ], - "doc": "" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "members": [ - { - "name": "_createdDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Date and time the item was created." - }, - { - "name": "_id", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Id of the item in public media" - }, - { - "name": "_updatedDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Date and time the item was updated." - }, - { - "name": "assets", - "readOnly": true, - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemItemAssets", - "displayName": "ItemAssets" - } - ], - "doc": "The aspect ratio of the item\nAn object containing urls for different views of the item" - }, - { - "name": "displayTags", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Tags describing the image, part of searchable fields" - }, - { - "name": "internalId", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "An internal id used with different wix media systems" - }, - { - "name": "internalTags", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Tags for internal client use, part of searchable fields" - }, - { - "name": "mediaType", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Media type of the item" - }, - { - "name": "parentCategoryIds", - "readOnly": true, - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Category ids this item belongs to" - }, - { - "name": "publishStatus", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Status of the item" - }, - { - "name": "sizeInBytes", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Size of the uploaded file in bytes." - }, - { - "name": "systemTags", - "readOnly": true, - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Tags for filtering items in the search" - }, - { - "name": "title", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The item title, part of searchable fields" - } - ], - "docs": { - "description": [ - "Duration for video fits better if there will be type specific media item.. however, is it ok to implement\nan additional one of field called details?" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemGenerateFileUploadUrlRequest", - "members": [ - { - "name": "categoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "An optional list of categories to link the created item to\nThe item will be linked to the account category automatically" - }, - { - "name": "contentType", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The file mime-type - will be used to identify the type of media" - }, - { - "name": "fileName", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The uploaded original file name including the extension" - }, - { - "name": "sizeInBytes", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "The file size in bytes" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemGenerateFileUploadUrlResponse", - "members": [ - { - "name": "uploadUrl", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The upload url to upload the file to" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemGetItemRequest", - "members": [ - { - "name": "itemId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Item id" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemGetItemResponse", - "members": [ - { - "name": "item", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "item info" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemImportFileRequest", - "members": [ - { - "name": "categoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "An optional list of categories to link the created item to\nThe item will be linked to the account category automatically" - }, - { - "name": "contentType", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The file mime-type - will be used to identify the type of media" - }, - { - "name": "fileName", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The uploaded original file name including the extension - will be used as the initial display name" - }, - { - "name": "mediaType", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The media type of the uploaded file" - }, - { - "name": "sizeInBytes", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "The file size in bytes" - }, - { - "name": "uploaderInfoSystemTag", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "An additional container for external information\nmostly used to pass identifying information of related entities in external services\nThis information will exist in the system_tags field prefixed by '_external_uploader_info:{uploader_info_system_tag}'" - }, - { - "name": "uploaderSystemTag", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "A unique identifier of the client that imported the file\nThis information will exist in the system_tags field prefixed by '_external_uploader:{uploader_system_tag}'" - }, - { - "name": "url", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The url to the file to be imported" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemImportFileResponse", - "members": [ - { - "name": "item", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "Partial item - without the assets\nAt this stage of implementation only the 'internal_id' will be filled\nall other required values will be fake values" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemItemAssets", - "members": [ - { - "name": "archive", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemArchive", - "displayName": "Archive" - } - ], - "doc": "Information about the archive." - }, - { - "name": "audio", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for audio media type" - }, - { - "name": "document", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for document media type" - }, - { - "name": "image", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for image media type" - }, - { - "name": "model3d", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemModel3D", - "displayName": "Model3D" - } - ], - "doc": "Information about the 3D Model." - }, - { - "name": "vector", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for vector media type" - }, - { - "name": "video", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for video media type" - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfItemAssetsAssetsOneOf", - "members": [ - "archive", - "audio", - "document", - "image", - "model3d", - "vector", - "video" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemItemAssetsAssetsOneOf", - "members": [ - { - "name": "archive", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemArchive", - "displayName": "Archive" - } - ], - "doc": "Information about the archive." - }, - { - "name": "audio", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for audio media type" - }, - { - "name": "document", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for document media type" - }, - { - "name": "image", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for image media type" - }, - { - "name": "model3d", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemModel3D", - "displayName": "Model3D" - } - ], - "doc": "Information about the 3D Model." - }, - { - "name": "vector", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for vector media type" - }, - { - "name": "video", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Assets for video media type" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemItemCategoriesChanged", - "members": [ - { - "name": "itemCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "A list of the current item categories" - }, - { - "name": "linkedCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "A list of the categories that where linked to the item" - }, - { - "name": "unlinkedCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "A list of the categories that where unlinked from the item" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemItemMetadata", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." - }, - { - "name": "error", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemApplicationError", - "displayName": "ApplicationError" - } - ], - "doc": "Details about the error in case of failure." - }, - { - "name": "originalIndex", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Index of the item within the request array. Allows for correlation between request and response items." - }, - { - "name": "success", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemItemUploadCallbackRequest", - "members": [ - { - "name": "callbackToken", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The callback passed to the upload endpoint" - }, - { - "name": "itemId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The item id of the created item" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemItemUploadCallbackResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemLinkItemToCategoriesRequest", - "members": [ - { - "name": "categoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The category ids that the item will be linked to" - }, - { - "name": "itemId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The item id" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemLinkItemToCategoriesResponse", - "members": [ - { - "name": "linkedCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The linked category ids" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemModel3D", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "WixMedia 3D ID." - }, - { - "name": "altText", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "3D alt text." - }, - { - "name": "filename", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "3D filename." - }, - { - "name": "sizeInBytes", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "3D size in bytes." - }, - { - "name": "thumbnail", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "3D thumbnail Image" - }, - { - "name": "url", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "3D URL." - }, - { - "name": "urlExpirationDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "3D URL expiration date (when relevant)." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemOverwriteItemCategoriesRequest", - "members": [ - { - "name": "categoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The category ids the item will be linked to after this operation" - }, - { - "name": "itemId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The item id" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemOverwriteItemCategoriesResponse", - "members": [ - { - "name": "linkedCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The linked category ids" - }, - { - "name": "unlinkedCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The unlinked category ids" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemPaging", - "members": [ - { - "name": "limit", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items to load." - }, - { - "name": "offset", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items to skip in the current sort order." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemPagingMetadataV2", - "members": [ - { - "name": "count", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items returned in the response." - }, - { - "name": "cursors", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemCursors", - "displayName": "Cursors" - } - ], - "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, - { - "name": "offset", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Offset that was requested." - }, - { - "name": "total", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemPublishStatusChanged", - "members": [ - { - "name": "publishStatus", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The new item status" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemQueryItemsRequest", - "members": [ - { - "name": "query", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemQueryV2", - "displayName": "QueryV2" - } - ], - "doc": "Items query" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemQueryItemsResponse", - "members": [ - { - "name": "items", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ] - } - } - ], - "doc": "A list of items matching the request" - }, - { - "name": "pagingMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPagingMetadataV2", - "displayName": "PagingMetadataV2" - } - ], - "doc": "Information for the next request." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemQueryV2", - "members": [ - { - "name": "filter", - "optional": true, - "type": [ - { - "nativeType": "Object" - } - ], - "doc": "Filter object in the following format:\n`\"filter\" : {\n\"fieldName1\": \"value1\",\n\"fieldName2\":{\"$operator\":\"value2\"}\n}`\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`" - }, - { - "name": "paging", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPaging", - "displayName": "Paging" - } - ], - "doc": "Paging options to limit and skip the number of items." - }, - { - "name": "sort", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemSorting", - "displayName": "Sorting" - } - ] - } - } - ], - "doc": "Sort object in the following format:\n`[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`" - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfQueryV2PagingMethodOneOf", - "members": [ - "paging" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemQueryV2PagingMethodOneOf", - "members": [ - { - "name": "paging", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPaging", - "displayName": "Paging" - } - ], - "doc": "Paging options to limit and skip the number of items." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemSearch", - "members": [ - { - "name": "filter", - "optional": true, - "type": [ - { - "nativeType": "Object" - } - ], - "doc": "A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf)" - }, - { - "name": "paging", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPaging", - "displayName": "Paging" - } - ], - "doc": "Pointer to page of results using offset. Can not be used together with 'cursor_paging'" - }, - { - "name": "search", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemSearchDetails", - "displayName": "SearchDetails" - } - ], - "doc": "free text to match in searchable fields" - } - ], - "extra": { - "oneOfGroups": [ - { - "name": "oneOfSearchPagingMethodOneOf", - "members": [ - "paging" - ] - } - ] - }, - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemSearchDetails", - "members": [ - { - "name": "expression", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "search term or expression" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemSearchItemsRequest", - "members": [ - { - "name": "query", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemSearch", - "displayName": "Search" - } - ], - "doc": "Items search query" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemSearchItemsResponse", - "members": [ - { - "name": "items", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ] - } - } - ], - "doc": "A list of items matching the request" - }, - { - "name": "pagingMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPagingMetadataV2", - "displayName": "PagingMetadataV2" - } - ], - "doc": "Information about the search results." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemSearchPagingMethodOneOf", - "members": [ - { - "name": "paging", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemPaging", - "displayName": "Paging" - } - ], - "doc": "Pointer to page of results using offset. Can not be used together with 'cursor_paging'" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemSorting", - "members": [ - { - "name": "fieldName", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Name of the field to sort by." - }, - { - "name": "order", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Sort order." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemUnlinkItemFromCategoriesRequest", - "members": [ - { - "name": "categoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The category ids that the item will be unlinked from" - }, - { - "name": "itemId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The item id" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemUnlinkItemFromCategoriesResponse", - "members": [ - { - "name": "unlinkedCategoryIds", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "The unlinked category ids" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemUpdateItemRequest", - "members": [ - { - "name": "item", - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "The category object that will be created" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemUpdateItemResponse", - "members": [ - { - "name": "item", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaEnterprisePublicMediaV1EnterpriseItemEnterpriseMediaItem", - "displayName": "EnterpriseMediaItem" - } - ], - "doc": "Updated item info" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaEnterprisePublicMediaV1EnterpriseItemVideoResolution", - "members": [ - { - "name": "format", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Video format\nPossible values: ['144p.mp4' '144p.webm' '240p.mp4' '240p.webm' '360p.mp4' '360p.webm' '480p.mp4' '480p.webm'\n'720p.mp4' '720p.webm' '1080p.mp4' '1080p.webm' ]" - }, - { - "name": "height", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Video height." - }, - { - "name": "url", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Video URL." - }, - { - "name": "width", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Video width." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorApplicationError", - "members": [ - { - "name": "code", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Error code." - }, - { - "name": "data", - "optional": true, - "type": [ - { - "nativeType": "Object" - } - ], - "doc": "Data related to the error." - }, - { - "name": "description", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Description of the error." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorArchive", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "WixMedia ID." - }, - { - "name": "filename", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Archive filename." - }, - { - "name": "sizeInBytes", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Archive size in bytes." - }, - { - "name": "url", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Archive URL." - }, - { - "name": "urlExpirationDate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "Date" - } - ], - "doc": "Archive URL expiration date (when relevant)." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorAudioV2", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "WixMedia ID." - }, - { - "name": "assets", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "Audio formats available for this file." - }, - { - "name": "bitrate", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Audio bitrate." - }, - { - "name": "duration", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Audio duration in seconds." - }, - { - "name": "format", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Audio format." - }, - { - "name": "sizeInBytes", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Audio size in bytes." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorBackendEventMetadata", - "members": [ - { - "name": "entityId", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "ID of the entity associated with the event." - }, - { - "name": "eventTime", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Event timestamp." - }, - { - "name": "id", - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Event ID." - }, - { - "name": "triggeredByAnonymizeRequest", - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorBulkActionMetadata", - "members": [ - { - "name": "totalFailures", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items that couldn't be processed." - }, - { - "name": "totalSuccesses", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of items that were successfully processed." - }, - { - "name": "undetailedFailures", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Number of failures without details because detailed failure threshold was exceeded." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorBulkDeleteFilesRequest", - "members": [ - { - "name": "fileIds", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "nativeType": "string" - } - ] - } - } - ], - "doc": "IDs of the files to move to the Media Manager's trash bin." - }, - { - "name": "permanent", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the specified files are permanently deleted.
\nDefault: `false`" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorBulkDeleteFilesResponse", - "members": [], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "mediaSiteMediaV1FileDescriptorBulkImportFileRequest", - "members": [ - { - "name": "importFileRequests", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaSiteMediaV1FileDescriptorImportFileRequest", - "displayName": "ImportFileRequest" - } - ] - } + ], + "doc": "Audio duration in seconds. Optional." + }, + { + "name": "format", + "readOnly": true, + "optional": true, + "type": [ + { + "nativeType": "string" } ], - "doc": "Information about the files to import." + "doc": "Audio format. Optional." }, { - "name": "returnEntity", + "name": "sizeInBytes", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "boolean" + "nativeType": "string" } ], - "doc": "Whether to include the imported File Descriptor in the response. Set to `false` to exclude the File Descriptor from the returned object.\n\nDefault: `true`\n" + "doc": "Audio size in bytes. Optional." } ], "docs": { @@ -3626,36 +505,43 @@ } }, { - "name": "mediaSiteMediaV1FileDescriptorBulkImportFileResponse", + "name": "mediaSiteMediaV1FileDescriptorBackendEventMetadata", "members": [ { - "name": "bulkActionMetadata", - "optional": true, + "name": "entityId", "type": [ { - "referenceType": "wix-media-v2.Events.mediaSiteMediaV1FileDescriptorBulkActionMetadata", - "displayName": "BulkActionMetadata" + "nativeType": "string" } ], - "doc": "Bulk action metadata." + "doc": "ID of the entity associated with the event." }, { - "name": "results", - "optional": true, + "name": "eventTime", "type": [ { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Events.mediaSiteMediaV1FileDescriptorBulkImportFileResult", - "displayName": "BulkImportFileResult" - } - ] - } + "nativeType": "string" + } + ], + "doc": "Event timestamp." + }, + { + "name": "id", + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Event ID." + }, + { + "name": "triggeredByAnonymizeRequest", + "type": [ + { + "nativeType": "boolean" } ], - "doc": "Items created by bulk action." + "doc": "Whether the event was triggered as a result of a privacy regulation application (for example, [GDPR](https://support.wix.com/en/article/gdpr-frequently-asked-questions)). For advanced users." } ], "docs": { @@ -3665,29 +551,33 @@ } }, { - "name": "mediaSiteMediaV1FileDescriptorBulkImportFileResult", + "name": "mediaSiteMediaV1FileDescriptorBulkDeleteFilesRequest", "members": [ { - "name": "item", - "optional": true, + "name": "fileIds", "type": [ { - "referenceType": "wix-media-v2.Events.mediaSiteMediaV1FileDescriptorFileDescriptor", - "displayName": "FileDescriptor" + "complexType": { + "nativeType": "Array", + "typeParams": [ + { + "nativeType": "string" + } + ] + } } ], - "doc": "Imported file. This field is returned if the operation was successful and `returnEntity` is not set to `false`." + "doc": "IDs of the files to move to the Media Manager's trash bin." }, { - "name": "itemMetadata", + "name": "permanent", "optional": true, "type": [ { - "referenceType": "wix-media-v2.Events.mediaSiteMediaV1FileDescriptorItemMetadata", - "displayName": "ItemMetadata" + "nativeType": "boolean" } ], - "doc": "Item metadata." + "doc": "Whether the specified files are permanently deleted.
\nDefault: `false`" } ], "docs": { @@ -3696,6 +586,15 @@ ] } }, + { + "name": "mediaSiteMediaV1FileDescriptorBulkDeleteFilesResponse", + "members": [], + "docs": { + "description": [ + "" + ] + } + }, { "name": "mediaSiteMediaV1FileDescriptorBulkImportFilesRequest", "members": [ @@ -4286,7 +1185,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -4306,7 +1205,7 @@ "displayName": "FileFailed" } ], - "doc": "File import or upload information." + "doc": "" }, { "name": "metadata", @@ -4316,7 +1215,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -4336,7 +1235,7 @@ "displayName": "FileReady" } ], - "doc": "File import or upload information." + "doc": "" }, { "name": "metadata", @@ -4346,7 +1245,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -4366,7 +1265,7 @@ "displayName": "FileDescriptor" } ], - "doc": "Updated file descriptor." + "doc": "" }, { "name": "metadata", @@ -4376,7 +1275,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -4495,7 +1394,6 @@ "document", "image", "model3d", - "other", "vector", "video" ] @@ -4655,16 +1553,6 @@ ], "doc": "Keys for downloading different assets (format and quality) of a file.\nDefault: `src`, key representing the original file's format and quality." }, - { - "name": "contentDisposition", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Whether the link downloads the file or opens the file in the browser.\n\n- `ATTACHMENT`: The link downloads the file.\n- `INLINE`: The link opens the file in the browser.\n\nDefault: `ATTACHMENT`\n" - }, { "name": "downloadFileName", "optional": true, @@ -4800,7 +1688,6 @@ }, { "name": "sizeInBytes", - "readOnly": true, "optional": true, "type": [ { @@ -4938,7 +1825,6 @@ }, { "name": "sizeInBytes", - "readOnly": true, "optional": true, "type": [ { @@ -5193,50 +2079,9 @@ ] } }, - { - "name": "mediaSiteMediaV1FileDescriptorIdentityInfo", - "members": [ - { - "name": "identityId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "User Id. empty when UNKNOWN" - }, - { - "name": "identityType", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The type of the user that uploaded the file" - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "mediaSiteMediaV1FileDescriptorImageMedia", "members": [ - { - "name": "caption", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Optional, An AI generated description of the image" - }, { "name": "colors", "optional": true, @@ -5342,7 +2187,7 @@ "nativeType": "string" } ], - "doc": "Media type of the file to import.\nexcluding: OTHER media type" + "doc": "Media type of the file to import." }, { "name": "mimeType", @@ -5431,57 +2276,6 @@ ] } }, - { - "name": "mediaSiteMediaV1FileDescriptorItemMetadata", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." - }, - { - "name": "error", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Events.mediaSiteMediaV1FileDescriptorApplicationError", - "displayName": "ApplicationError" - } - ], - "doc": "Details about the error in case of failure." - }, - { - "name": "originalIndex", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Index of the item within the request array. Allows for correlation between request and response items." - }, - { - "name": "success", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "mediaSiteMediaV1FileDescriptorListDeletedFilesRequest", "members": [ @@ -5500,7 +2294,7 @@ } } ], - "doc": "File media type.\nexcluding: OTHER media type" + "doc": "File media type." }, { "name": "paging", @@ -5542,7 +2336,7 @@ "displayName": "Sorting" } ], - "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\n* `sizeInBytes`\nDefault: `updatedDate` in `desc` order." + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -5608,7 +2402,7 @@ } } ], - "doc": "File media type.\nexcluding: OTHER media type" + "doc": "File media type." }, { "name": "paging", @@ -5650,7 +2444,7 @@ "displayName": "Sorting" } ], - "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\n* `sizeInBytes`\nDefault: `updatedDate` in `desc` order." + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -5781,48 +2575,6 @@ ] } }, - { - "name": "mediaSiteMediaV1FileDescriptorOtherMedia", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "WixMedia ID. for use with Site Media APIs only" - }, - { - "name": "internalMediaType", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The media type of the file: 'site_icon', 'swf', 'package', 'ufont'" - }, - { - "name": "sizeInBytes", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "size in bytes. Optional." - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "mediaSiteMediaV1FileDescriptorPagingMetadataV2", "members": [ @@ -5836,16 +2588,6 @@ } ], "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, - { - "name": "total", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Total number of items that match the query." } ], "docs": { @@ -5872,7 +2614,7 @@ } } ], - "doc": "File media type.\nexcluding: OTHER media type" + "doc": "File media type." }, { "name": "paging", @@ -5924,7 +2666,7 @@ "displayName": "Sorting" } ], - "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\n* `sizeInBytes`\nDefault: `updatedDate` in `desc` order." + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -6480,7 +3222,7 @@ "displayName": "Folder" } ], - "doc": "Created folder." + "doc": "" }, { "name": "metadata", @@ -6490,7 +3232,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -6510,7 +3252,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -6530,7 +3272,7 @@ "displayName": "Folder" } ], - "doc": "Updated folder." + "doc": "" }, { "name": "metadata", @@ -6540,7 +3282,7 @@ "displayName": "BackendEventMetadata" } ], - "doc": "Event metadata." + "doc": "" } ], "docs": { @@ -6803,16 +3545,6 @@ } ], "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, - { - "name": "total", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Total number of items that match the query." } ], "docs": { @@ -6945,6 +3677,16 @@ { "name": "mediaSiteMediaV1FolderUpdateFolderRequest", "members": [ + { + "name": "displayName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Folder name that appears in the Media Manager." + }, { "name": "folder", "type": [ @@ -6954,6 +3696,26 @@ } ], "doc": "The folder to update." + }, + { + "name": "folderId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the folder to update." + }, + { + "name": "parentFolderId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the folder's parent folder." } ], "docs": { diff --git a/wix-media-v2/wix-media-v2/Events/guides/events-intro.md b/wix-media-v2/wix-media-v2/Events/guides/events-intro.md index 64abef8e7f..e1d364c5bf 100644 --- a/wix-media-v2/wix-media-v2/Events/guides/events-intro.md +++ b/wix-media-v2/wix-media-v2/Events/guides/events-intro.md @@ -35,7 +35,7 @@ Event handler functions are defined using the following pattern: export function _(event) {} ``` -For example, an event handler that handles the update of a file descriptor looks like: +For example, an event handler that handles the creation of a category looks like: ```javascript -export function wixMediaSiteMedia_onFileDescriptorUpdated(event) {} +export function wixMedia_onFileDescriptorUpdated(event) {} ``` \ No newline at end of file diff --git a/wix-media-v2/wix-media-v2/Files.service.json b/wix-media-v2/wix-media-v2/Files.service.json index 35646bfe6a..3706f1559a 100644 --- a/wix-media-v2/wix-media-v2/Files.service.json +++ b/wix-media-v2/wix-media-v2/Files.service.json @@ -36,7 +36,7 @@ "referenceType": "wix-media-v2.Files.BulkDeleteFilesOptions" } ], - "doc": "Options to use when deleting files.", + "doc": "Options to use when deleting files.\n", "required": false } ], @@ -61,467 +61,26 @@ "docs": { "summary": "Deletes the specified files from the Media Manager.", "description": [ - "The `bulkDeleteFiles()` function returns a Promise that resolves when the files are deleted.\n\nThe deleted files are moved to the Media Manager's trash bin (`TRASH_ROOT` folder) unless permanently deleted. To permanently delete files, pass the `permanent` parameter with the value `true`. Permanently deleting files isn't reversible, so make sure that these files aren't being used in a site or in any other way as the files will no longer be accessible.\n\n>**Notes:**\n> - The specified files can be from different folders.\n> - Moving multiple files at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.\n> - Attempting to delete files that are already in the trash bin doesn't result in an error.\n> - If your site contains deleted media files, the deleted media files still appear on your site as the files are still in the Media Manager (in the trash bin).\n> - You can use `bulkRestoreFilesFromTrashBin()` to restore files from the Media Manager's trash bin." + "The deleted files are moved to the Media Manager's trash bin (`TRASH-ROOT` folder) unless permanently deleted. To permanently delete files, pass the `permanent` parameter with the value `true`. Permanently deleting files isn't reversible, so make sure that these files aren't being used in a site or in any other way as the files will no longer be accessible.\n\nNote the following:\n* The specified files can be from different folders.\n* Moving multiple files at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.\n* Attempting to delete files that are already in the trash bin doesn't result in an error.\n* If your site contains deleted media files, the deleted media files still appear on your site as the files are still in the Media Manager (in the trash bin).\n* You can use the [Bulk Restore Files From Trash Bin](https://www.wix.com/velo/reference/wix-media-v2/files/bulkrestorefilesfromtrashbin) endpoint to restore files from the Media Manager's trash bin.\n\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Bulk delete files", + "title": "bulkDeleteFiles example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileIds value: ", - " * [", - " * 'w8ide0_v12i2pi4549locqdfeb5yy5b8iyh39az.pdf',", - " * 'w8ide0_ye3x8yyf5izwe01ovn682pa76bzrrcyt.pdf'", - " * ]", - " * ", - " * Sample options value:", - " * {", - " * permanent: true", - " * }", - " */", - "", - "async function myBulkDeleteFilesFunction(fileIds, options) {", - " try {", - " const elevatedBulkDeleteFiles = elevate(files.bulkDeleteFiles);", - " await elevatedBulkDeleteFiles(fileIds, options);", - "", - " console.log('Permanently deleted files.');", - " return;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to void */" - ] - }, - { - "title": "Bulk delete all files found in a chosen folder ", - "body": [ - "/****************************************", - " * Backend code - bulk-delete-files.jsw *", - " ***************************************/", - "", - "import { files } from 'wix-business-tools.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function deleteFiles (fileIds, options) {", - " try {", - " const elevatedBulkDeleteFiles = elevate(files.bulkDeleteFiles) ", - " await elevatedBulkDeleteFiles(fileIds, options); ", - "", - " console.log(`Permanently deleted files with ids: ${fileIds.toString()}.`);", - " return true;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function searchFileIds (parentFolderId) {", - " try {", - " const options = { parentFolder: parentFolderId}", - " const elevatedSearchFiles = elevate(files.searchFiles) ", - " const returnedFiles = await elevatedSearchFiles(options); ", - "", - " const fileIds = returnedFiles.map((file) => {", - " return file._id", - " });", - "", - " return fileIds;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { deleteFiles, searchFileIds } from 'backend/bulk-delete-files';", - "", - "$w.onReady(() => {", - " $w('#delete').onClick(async () => {", - " const isDeletePermanently = $w('#deletePermanently').checked;", - " const options = {permanent: isDeletePermanently};", - "", - " const parentFolder = $w('#parentFolder').value;", - " const fileIds = await searchFileIds(parentFolder);", - "", - " await deleteFiles(fileIds, options);", - " $w('#successMessage').show();", - " });", - "});" - ], - "extra": { - "description": "This code shows a page where the visitor chooses a folder by typing the folder's name in an input box, and then all the files in the chosen folder are deleted. Only visitors with permission to manage the site's media would have access to this page." - } - } - ] - }, - "isVeloEvent": false, - "customLabels": [ - { - "id": "maturity-beta" - } - ], - "syntaxName": "bulkDeleteFiles", - "isAdminMethod": true - }, - { - "name": "bulkImportFile", - "params": [ - { - "name": "importFileRequests", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Files.ImportFileRequest" - } - ] - } - } - ], - "doc": "Information about the files to import.", - "required": true - }, - { - "name": "options", - "type": [ - { - "referenceType": "wix-media-v2.Files.BulkImportFileOptions" - } - ], - "doc": "Options to include the file descriptor in the response.", - "required": false - } - ], - "requiredFields": [ - "importFileRequests", - "importFileRequests.url" - ], - "ret": { - "type": [ - { - "complexType": { - "nativeType": "Promise", - "typeParams": [ - { - "referenceType": "wix-media-v2.Files.BulkImportFileResponse" - } - ] - } - } - ], - "doc": null - }, - "docs": { - "summary": "Imports a bulk of files to the Media Manager using external urls.", - "description": [ - "The `bulkImportFile()` function returns a Promise that resolves to an object containing bulk import metadata and an array of imported files' descriptors and metadata.\n\nReturns information about the imported files. Use the `parentFolderId` parameter to specify in which folder you want each file to be imported.\nIf no folder is specified, the file is imported to the `media-root` folder.\n\nTo import a file, you need to pass one of the following:\n- The file's [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` parameter of the request. For example, `'image/png'`.\n- The file's name and extension. For example, `'my-image.png'`.\n- If you don't know the file's extension or MIME type, its [media type](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) in the `mediaType` parameter of the request. For example, `'IMAGE'`. Note that this option only works if the server hosting the media allows a 'HEAD' request." - ], - "examples": [ - { - "title": "Bulk import file ", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample importFileRequests value:", - " * [", - " * {", - " * displayName: 'image1',", - " * mediaType: 'IMAGE',", - " * mimeType: 'image/jpeg',", - " * parentFolderId: 'igje5u22nij3qkltzsnol37j3dnthvvh',", - " * url: 'https://www.site1.com/example.jpg'", - " * }, ", - " * {", - " * displayName: 'vectorArt1',", - " * mediaType: 'VECTOR',", - " * labels : ['label1', 'label2'],", - " * url: 'https://cdn.vectorstock.com/example-vector-art.webp'", - " * },", - " * {", - " * displayName: 'video1',", - " * mediaType: 'VIDEO',", - " * url: 'https://cdn.pixabay.com/example-video.mp4'", - " * }", - " * ]", - " */", - "", - "async function mybulkImportFileFunction(importFileRequests) {", - " try {", - " const elevatedbulkImportFile = elevate(files.bulkImportFile)", - " const importedFiles = await elevatedbulkImportFile(importFileRequests);", - "", - " console.log(\"Imported files:\", importedFiles);", - " return importedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to: ", - " * {", - " * \"bulkActionMetadata\": {", - " * \"totalFailures\": 0,", - " * \"totalSuccesses\": 3,", - " * \"undetailedFailures\": 0", - " * },", - " * \"results\": [", - " * {", - " * \"item\": {", - " * \"_createdDate\": \"2023-12-26T10:22:31.000Z\",", - " * \"_id\": \"a8a52b_f8c86723942347488316f1ab35119411~mv2.jpg\",", - " * \"_updatedDate\": \"2023-12-26T10:22:31.000Z\",", - " * \"addedBy\": {", - " * \"identityId\": \"a8a52bb9-bac0-4bba-a55c-0611b5cdaa16\",", - " * \"identityType\": \"MEMBER\"", - " * },", - " * \"displayName\": \"image1.jpg\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"igje5u22nij3qkltzsnol37j3dnthvvh\",", - " * \"private\": false,", - " * \"siteId\": \"49dcb500-1081-47b0-b13b-368b9bed8fa9\",", - " * \"sizeInBytes\": \"-1\",", - " * \"sourceUrl\": \"https://www.site1.com/example.jpg\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/a8a52b_f8c86723942347488316f1ab35119411~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/a8a52b_f8c86723942347488316f1ab35119411~mv2.jpg\"", - " * },", - " * \"itemMetadata\": {", - " * \"_id\": \"a8a52b_f8c86723942347488316f1ab35119411~mv2.jpg\",", - " * \"originalIndex\": 0,", - " * \"success\": true", - " * }", - " * },", - " * {", - " * \"item\": {", - " * \"_createdDate\": \"2023-12-26T10:22:32.000Z\",", - " * \"_id\": \"a8a52b_43eb6841371f4d738ddfcb7fa2bb62be-tmp.svg\",", - " * \"_updatedDate\": \"2023-12-26T10:22:32.000Z\",", - " * \"addedBy\": {", - " * \"identityId\": \"a8a52bb9-bac0-4bba-a55c-0611b5cdaa16\",", - " * \"identityType\": \"MEMBER\"", - " * },", - " * \"displayName\": \"vectorArt1.webp.svg\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [\"label1\", \"label2\"],", - " * \"mediaType\": \"VECTOR\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"49dcb500-1081-47b0-b13b-368b9bed8fa9\",", - " * \"sizeInBytes\": \"-1\",", - " * \"sourceUrl\": \"https://cdn.vectorstock.com/example-vector-art.webp\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/shapes/a8a52b_43eb6841371f4d738ddfcb7fa2bb62be-tmp.svg\",", - " * \"url\": \"https://static.wixstatic.com/shapes/a8a52b_43eb6841371f4d738ddfcb7fa2bb62be-tmp.svg\"", - " * },", - " * \"itemMetadata\": {", - " * \"_id\": \"a8a52b_43eb6841371f4d738ddfcb7fa2bb62be-tmp.svg\",", - " * \"originalIndex\": 1,", - " * \"success\": true", - " * }", - " * },", - " * {", - " * \"item\": {", - " * \"_createdDate\": \"2023-12-26T10:22:32.000Z\",", - " * \"_id\": \"a8a52b_fec67a695b474a729e3a31010afbb0af\",", - " * \"_updatedDate\": \"2023-12-26T10:22:32.000Z\",", - " * \"addedBy\": {", - " * \"identityId\": \"a8a52bb9-bac0-4bba-a55c-0611b5cdaa16\",", - " * \"identityType\": \"MEMBER\"", - " * },", - " * \"displayName\": \"video1.mp4\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"mediaType\": \"VIDEO\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"49dcb500-1081-47b0-b13b-368b9bed8fa9\",", - " * \"sizeInBytes\": \"-1\",", - " * \"sourceUrl\": \"https://cdn.pixabay.com/example-video.mp4\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/54ece48fa04e492fa46bd79980105f0d.png\",", - " * \"url\": \"https://video.wixstatic.com/video/a8a52b_fec67a695b474a729e3a31010afbb0af/file\"", - " * },", - " * \"itemMetadata\": {", - " * \"_id\": \"a8a52b_fec67a695b474a729e3a31010afbb0af\",", - " * \"originalIndex\": 2,", - " * \"success\": true", - " * }", - " * }", - " * ]", - " * }", - " */" - ] - }, - { - "title": "Bulk import file with options", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample importFileRequests value:", - " * [", - " * {", - " * displayName: 'image1',", - " * mediaType: 'IMAGE',", - " * mimeType: 'image/jpeg',", - " * parentFolderId: 'igje5u22nij3qkltzsnol37j3dnthvvh',", - " * url: 'https://www.site1.com/example.jpg'", - " * }, ", - " * {", - " * displayName: 'vectorArt1',", - " * mediaType: 'VECTOR',", - " * labels : ['label1', 'label2'],", - " * url: 'https://cdn.vectorstock.com/example-vector-art.webp'", - " * },", - " * {", - " * displayName: 'video1',", - " * mediaType: 'VIDEO',", - " * url: 'https://cdn.pixabay.com/example-video.mp4'", - " * }", - " * ]", - " * Sample options value:", - " * {", - " * returnEntity: false", - " * }", - " */", - "", - "async function mybulkImportFileFunction(importFileRequests, options) {", - " try {", - " const elevatedbulkImportFile = elevate(files.bulkImportFile)", - " const importedFiles = await elevatedbulkImportFile(importFileRequests, options);", - "", - " console.log(\"Imported files:\", importedFiles);", - " return importedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"bulkActionMetadata\": {", - " * \"totalSuccesses\": 3,", - " * \"totalFailures\": 0,", - " * \"undetailedFailures\": 0", - " * },", - " * \"results\": [", - " * {", - " * \"itemMetadata\": {", - " * \"_id\": \"a8a52b_f8388ed2a42440c6a649e6b68194f18f~mv2.jpg\",", - " * \"originalIndex\": 0,", - " * \"success\": true", - " * }", - " * },", - " * {", - " * \"itemMetadata\": {", - " * \"_id\": \"a8a52b_21186dbad3154343a379786e9b6cd6c4-tmp.svg\",", - " * \"originalIndex\": 1,", - " * \"success\": true", - " * }", - " * },", - " * {", - " * \"itemMetadata\": {", - " * \"_id\": \"a8a52b_722acdc3e90c4d509a656ea93d531dc6\",", - " * \"originalIndex\": 2,", - " * \"success\": true", - " * }", - " * }", - " * ]", - " * }", - " */", - "" - ] - }, - { - "title": "Bulk import files from visitor input into a form ", - "body": [ - "/****************************************", - " * Backend code - bulk-import-files.jsw *", - " ***************************************/", - "", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function importFiles(importFileRequests) {", - " try {", - " const elevatedBulkImportFile = elevate(files.bulkImportFile)", - " const importedFiles = await elevatedBulkImportFile(importFileRequests);", - "", - " console.log(\"Imported files:\", importedFiles);", - " return importedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", " ", - " ", - "/*************", - " * Page code *", - " ************/", - "", - "import { importFiles } from 'backend/bulk-import-files';", - "", - "$w.onReady(() => {", - " const newMedia = [];", - " ", - " $w('#addMedia').onClick( () => {", - " const newMediaFile = {", - " displayName: $w('#displayName').value,", - " mediaType: $w('#mediaType').value,", - " parentFolderId: $w('#parentFolderId').value,", - " url: $w('#url').value", - " }", - " newMedia.push(newMediaFile);", - "", - " // show message to remind user to submit media", - " // after adding all media files for 5 seconds", - " $w('#rememberToUploadMessage').show();", - " setTimeout(() => {", - " $w('#rememberToUploadMessage').hide();", - " }, 5000)", - " });", - "", - " $w('#uploadMedia').onClick(async () => {", - " if (newMedia.length === 0) {", - " // if no media has been added then", - " // show message to add media", - " $w('#addMediaMsg').show()", - " } else {", - " await importFiles(newMedia);", - "", - " $w('#successfulUploadMsg').show();", - " setTimeout(() => {", - " $w('#successfulUploadMsg').hide();", - " }, 10000);", - " }", - " });", - "});" - ], - "extra": { - "description": "This code shows a page where the visitor adds basic media file data to a form and then adds it to the `newMedia` array. When the visitor clicks the upload button, all added media files are uploaded using the `bulkImportFile()` function." - } + " async function bulkDeleteFiles(fileIds, options) {", + " try {", + " const result = await files.bulkDeleteFiles(fileIds, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] } ] }, @@ -530,9 +89,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "bulkImportFile", - "isAdminMethod": true + ] }, { "name": "bulkImportFiles", @@ -575,190 +132,28 @@ "doc": null }, "docs": { - "summary": "> **Deprecated.**\n> This function has been replaced with `bulkImportFile()`, and will be removed on March 31, 2024.", + "summary": "Imports a bulk of files to the Media Manager using external urls.", "description": [ - "The `bulkImportFiles()` function returns a Promise that resolves to an array of the imported files' descriptors.\n\nImports a bulk of files to the Media Manager using external urls.\n\nReturns information about the imported files. Use the `parentFolderId` parameter to specify in which folder you want each file to be imported.\nIf no folder is specified, the file is imported to the `media-root` folder.\n\nTo import a file, you need to pass one of the following:\n- The file's [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` parameter of the request. For example, `'image/png'`.\n- The file's name and extension. For example, `'my-image.png'`.\n- If you don't know the file's extension or MIME type, its [media type](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) in the `mediaType` parameter of the request. For example, `'IMAGE'`. Note that this option only works if the server hosting the media allows a 'HEAD' request.\n\n>**Note:** The `media` property isn't returned in the `files` response object." + "Returns information about the imported files. Use the `parentFolderId` parameter to specify in which folder you want each file to be imported to.\nIf no folder is specified, the file is imported to the `media-root` folder.\n\nTo import files, you need to provide one of the following:\n1. Pass each file's [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` parameter of the request. For example, `'image/png'`.\n2. Pass each file's name and extension. For example, `'my-image.png'`.\n3. If you don't know a file's extension or MIME type, pass its [media type](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) in the `mediaType` parameter of the request. For example, `'IMAGE'`. Note that this option only works if the server hosting the media allows a 'HEAD' request.\n\n>**Notes:**\n> - This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n> - The `media` property isn't returned in the `files` response object." ], "examples": [ { - "title": "Bulk import files ", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample importFileRequests value:", - " * [", - " * {", - " * displayName: 'image1',", - " * mediaType: 'IMAGE',", - " * mimeType: 'image/jpeg',", - " * parentFolderId: 'igje5u22nij3qkltzsnol37j3dnthvvh',", - " * url: 'https://www.site1.com/example.jpg'", - " * }, ", - " * {", - " * displayName: 'vectorArt1',", - " * mediaType: 'VECTOR',", - " * labels : ['label1', 'label2'],", - " * url: 'https://cdn.vectorstock.com/example-vector-art.webp'", - " * },", - " * {", - " * displayName: 'video1',", - " * mediaType: 'VIDEO'", - " * url: 'https://cdn.pixabay.com/example-video.mp4',", - " * }", - " * ]", - " */", - "", - "async function myBulkImportFilesFunction(importFileRequests) {", - " try {", - " const elevatedBulkImportFiles = elevate(files.bulkImportFiles)", - " const importedFiles = await elevatedBulkImportFiles(importFileRequests);", - "", - " console.log(\"Imported files:\", importedFiles);", - " return importedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to: ", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-07-23T12:15:49.000Z\",", - " * \"_id\": \"w8ide0_h8bpmhc3j3qhgncce0et1nnkghsfozl2~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-23T12:15:49.000Z\",", - " * \"displayName\": \"image1.jpg\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"igje5u22nij3qkltzsnol37j3dnthvvh\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"-1\",", - " * \"sourceUrl\": \"https://www.site1.com/example.jpg\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_h8bpmhc3j3qhgncce0et1nnkghsfozl2~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_h8bpmhc3j3qhgncce0et1nnkghsfozl2~mv2.jpg\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-23T12:15:50.000Z\",", - " * \"_id\": \"w8ide0_e9xsr959r1ze5aavswj2978r6jt05bwl-tmp.svg\",", - " * \"_updatedDate\": \"2023-07-23T12:15:50.000Z\",", - " * \"displayName\": \"vectorArt1.webp.svg\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [", - " * \"label1\", ", - " * \"label2\"", - " * ],", - " * \"mediaType\": \"VECTOR\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"20532\",", - " * \"sourceUrl\": \"https://cdn.vectorstock.com/example-vector-art.webp\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/shapes/w8ide0_e9xsr959r1ze5aavswj2978r6jt05bwl-tmp.svg\",", - " * \"url\": \"https://static.wixstatic.com/shapes/w8ide0_e9xsr959r1ze5aavswj2978r6jt05bwl-tmp.svg\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-23T12:15:50.000Z\",", - " * \"_id\": \"w8ide0_f6e8f09e5055432286db483917ba923e\",", - " * \"_updatedDate\": \"2023-07-23T12:15:50.000Z\",", - " * \"displayName\": \"video1.mp4\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"mediaType\": \"VIDEO\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"-1\",", - " * \"sourceUrl\": \"https://cdn.pixabay.com/example-video.mp4\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/yibv80byru0wei9ficri8fd8o1rghueu.png\",", - " * \"url\": \"https://video.wixstatic.com/video/w8ide0_f6e8f09e5055432286db483917ba923e/file\"", - " * }", - " * ]", - " * }", - " */" - ] - }, - { - "title": "Bulk import files from visitor input into a form ", + "title": "bulkImportFiles example", "body": [ - "/****************************************", - " * Backend code - bulk-import-files.jsw *", - " ***************************************/", - "", "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function importFiles(importFileRequests) {", - " try {", - " const elevatedBulkImportFiles = elevate(files.bulkImportFiles)", - " const importedFiles = await elevatedBulkImportFiles(importFileRequests);", - "", - " console.log(\"Imported files:\", importedFiles);", - " return importedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", " ", - " ", - "/*************", - " * Page code *", - " ************/", - "", - "import { importFiles } from 'backend/bulk-import-files';", - "", - "$w.onReady(() => {", - " const newMedia = [];", - " ", - " $w('#addMedia').onClick( () => {", - " const newMediaFile = {", - " displayName: $w('#displayName').value,", - " mediaType: $w('#mediaType').value,", - " parentFolderId: $w('#parentFolderId').value,", - " url: $w('#url').value", - " }", - " newMedia.push(newMediaFile);", - "", - " // show message to remind user to submit media", - " // after adding all media files for 5 seconds", - " $w('#rememberToUploadMessage').show();", - " setTimeout(() => {", - " $w('#rememberToUploadMessage').hide();", - " }, 5000)", - " });", - "", - " $w('#uploadMedia').onClick(async () => {", - " if (newMedia.length === 0) {", - " // if no media has been added then", - " // show message to add media", - " $w('#addMediaMsg').show()", - " } else {", - " await importFiles(newMedia);", - "", - " $w('#successfulUploadMsg').show();", - " setTimeout(() => {", - " $w('#successfulUploadMsg').hide();", - " }, 10000);", - " }", - " });", - "});" - ], - "extra": { - "description": "This code shows a page where the visitor adds basic media file data to a form and then adds it to the `newMedia` array. When the visitor clicks the upload button, all added media files are uploaded using the `bulkImportFiles()` function." - } + " async function bulkImportFiles(importFileRequests) {", + " try {", + " const result = await files.bulkImportFiles(importFileRequests);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] } ] }, @@ -767,9 +162,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "bulkImportFiles", - "isAdminMethod": true + ] }, { "name": "bulkRestoreFilesFromTrashBin", @@ -811,119 +204,26 @@ "doc": null }, "docs": { - "summary": "Restores the specified files from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.", - "description": [ - "The `bulkRestoreFilesFromTrashBin()` function returns a Promise that resolves when the files have been restored." - ], + "summary": "Restores the specified files from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", + "description": [], "examples": [ { - "title": "Bulk restore deleted files by IDs", + "title": "bulkRestoreFilesFromTrashBin example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileIds value:", - " * [", - " * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg',", - " * 'd4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png',", - " * 'd4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg'", - " * ]", - " */", - "", - "async function myBulkRestoreFilesFromTrashBinFunction(fileIds) {", - " try {", - " const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);", - " const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(fileIds);", - "", - " console.log('Restored Files:', restoredFiles);", - " return restoredFiles;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "/* Promise resolves to void */" + " ", + " async function bulkRestoreFilesFromTrashBin(fileIds) {", + " try {", + " const result = await files.bulkRestoreFilesFromTrashBin(fileIds);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] - }, - { - "title": "Bulk restores all non-permanently deleted files of chosen types ", - "body": [ - "/*****************************************", - " * Backend code - bulk-restore-files.jsw *", - " ****************************************/", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function restoreFiles(mediaTypes) {", - " let idList = []", - " try {", - " const options = {", - " mediaTypes: mediaTypes", - " };", - " const elevatedListDeletedFiles = elevate(files.listDeletedFiles)", - " const deletedFiles = await elevatedListDeletedFiles(options);", - "", - " idList = deletedFiles.files.map((file) => {", - " return file._id", - " });", - " } catch (error) {", - " console.error(error);", - " }", - "", - " try {", - " const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);", - " const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(idList);", - "", - " console.log('Restored Files:', restoredFiles);", - " return restoredFiles;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { restoreFiles } from 'backend/bulk-import-files';", - "", - "$w.onReady(() => {", - " $w('#restoreMedia').onClick(async () => {", - " const mediaTypes = []", - " if ($w('#image').checked) {", - " mediaTypes.push(\"IMAGE\")", - " }", - " if ($w('#video').checked) {", - " mediaTypes.push(\"VIDEO\")", - " }", - " if ($w('#audio').checked) {", - " mediaTypes.push(\"AUDIO\")", - " }", - " if ($w('#document').checked) {", - " mediaTypes.push(\"DOCUMENT\")", - " }", - " if ($w('#vector').checked) {", - " mediaTypes.push(\"VECTOR\")", - " }", - " if ($w('#archive').checked) {", - " mediaTypes.push(\"ARCHIVE\")", - " }", - " if ($w('#model3d').checked) {", - " mediaTypes.push(\"MODEL3D\")", - " }", - " await restoreFiles(mediaTypes);", - "", - " $w('#filesRestoredMsg').show();", - " setTimeout(() => {", - " $w('#filesRestoredMsg').hide();", - " }, 5000);", - " });", - "});" - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a media type (or types). All files of that type/those types in which have been (non-permanently) deleted are restored." - } } ] }, @@ -932,9 +232,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "bulkRestoreFilesFromTrashBin", - "isAdminMethod": true + ] }, { "name": "generateFileDownloadUrl", @@ -956,7 +254,7 @@ "referenceType": "wix-media-v2.Files.GenerateFileDownloadUrlOptions" } ], - "doc": "Options to use when generating a file's download URL.", + "doc": "Options to use when generating a file's download URL.\n", "required": false } ], @@ -981,88 +279,35 @@ "docs": { "summary": "Generates one or more temporary URLs for downloading a specific file in the Media Manager.", "description": [ - "The `generateFileDownloadUrl()` function returns a Promise that resolves to an array containing download URLs for the assets specified in the options parameter.\n\nTo download different assets of the file, use the `assetKeys` parameter which generates a download URL for each asset.\nIf no asset key is specified, it defaults to `src`, which generates one download URL in the original file's format and quality.\n\nUse this endpoint to grant external clients access to a private media file. Use the `expirationInMinutes` parameter to set the URL expiration time, and the `expirationRedirectUrl` parameter to add a redirect URL when the URL expires." + "To download different assets of the file, use the `assetKeys` parameter which generates a download URL for each asset.\nIf no `assetKey` is specified, it defaults to `src`, which generates one download URL in the original file's format and quality.\n\nUse this endpoint to grant external clients access to a private media file. Use the `expirationInMinutes` parameter to set the URL expiration time, and the `expirationRedirectUrl` parameter to add a redirect url when the URL expires.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Generate a file download URL ", + "title": "generateFileDownloadUrl example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileId value: 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg' */", - "", - "async function myGenerateFileDownloadUrlFunction(fileId) {", - " try {", - " const elevatedGenerateFileDonwloadUrl = elevate(files.generateFileDownloadUrl)", - " const result = await elevatedGenerateFileDonwloadUrl(fileId);", - "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"downloadUrls\": [", - " * {", - " * \"assetKey\": \"src\",", - " * \"url\": \"https://download-files.wixmp.com/media/d4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1cm46YXBwOmU2NjYzMGU3MTRmMDQ5MGFhZWExZjE0OWIzYjY5ZTMyIiwic3ViIjoidXJuOmFwcDplNjY2MzBlNzE0ZjA0OTBhYWVhMWYxNDliM2I2OWUzMiIsImF1ZCI6WyJ1cm46c2VydmljZTpmaWxlLmRvd25sb2FkIl0sImlhdCI6MTY5MjAyMTMxNSwiZXhwIjoxNjkyMDU3MzI1LCJqdGkiOiJjZTA1MzUxYy1jNDA4LTRlYmMtYWI0OC04MWM0NWJlZDlkM2IiLCJvYmoiOltbeyJwYXRoIjoiL21lZGlhL2Q0ZGRlMV9kZWUxOGM5YWRhMTc0YTgxOGNjZjc1YzUwZTcyYzczOX5tdjIuanBnIn1dXSwiZGlzIjp7ImZpbGVuYW1lIjoibmVvbS1BZGtKLUxncFRyRS11bnNwbGFzaC5qcGciLCJ0eXBlIjoiYXR0YWNobWVudCJ9fQ.HfZiuG7UFavOpgh2T0lVn56oZ9NpLoV3z9Gmnqptt8Y\"", - " * }", - " * ]", - " * }", - " */" - ] - }, - { - "title": "Generate a file download URL with options ", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileId value: 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg'", - " * ", - " * Sample options value: ", - " * {", - " * assetKeys: ['320kbs.mp3'],", - " * downloadFileName: 'MyAudio.mp3',", - " * expirationInMinutes: '60',", - " * expirationRedirectUrl: 'www.example.com/store'", - " * }", - " */", - "", - "async function myGenerateFileDownloadUrlFunction(fileId, options) {", - " try {", - " const elevatedGenerateFileDonwloadUrl = elevate(files.generateFileDownloadUrl)", - " const result = await elevatedGenerateFileDonwloadUrl(fileId, options);", - "", - " const url = result.downloadUrls[0].url;", - " return url;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"downloadUrls\": [", - " * {", - " * \"assetKey\": \"320kbs.mp3\",", - " * \"url\": \"https://download-files.wixmp.com/mp3/d4dde1_by0oqi7mrlyvhnodnhoywu6rr2egzujz-320.mp3?token=eyJhmHWBeilpRrgQGkzYAMcWQsyoISC4MSuG.eyJpc3MiOiJ1cm46YXBwOmU2NjYzMGU3MTRmMDQ5MGFhZWExZjE0OWIzYjY5ZTMyIiwic3ViIjoidXJuOmFwcDplNjY2MzBlNzE0ZjA0OTBhYWVhMWYxNDliM2I2OWUzMiIsImF1ZCI6WyJ1cm46c2VydmljZTpmaWxlLmRvd25sb2FkIl0sImlhdCI6MTY5MjI3MTQzMCwiZXhwIjoxNjkyMjcxNTYwLCJqdGkiOiJlZmZjZjdmMy1hZTdiLTQwMTUtYmIyZi00ZmE3ZDYzMGVlMTkiLCJvYmoiOltbeyJwYXRoIjoiL21wMy9kNGRkZTFfMjM2YzhlMDJmMTdlNDkyMjhlMjE3N2RjMjlkOWJkNzEtMzIwLm1wMyJ9XV0sInJlZCI6Imh0dHBzOi8vd3d3LmpodS5lZHUvIiwiZGlzIjp7ImZpbGVuYW1lIjoiR29yaWxsYXogLSBGZWVsIEdvb2QgSW5jLm1wMyIsInR5cGUiOiJhdHRhY2htZW50In19.qczf9WH3nz-tZ65D_RE8tzW-7o_cuq3b-oXX7QSYeAw\"", - " * }", - " * ]", - " * }", - " */" + " ", + " async function generateFileDownloadUrl(fileId, options) {", + " try {", + " const result = await files.generateFileDownloadUrl(fileId, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] }, "isVeloEvent": false, - "syntaxName": "generateFileDownloadUrl", - "isAdminMethod": true + "customLabels": [ + { + "id": "maturity-beta" + } + ] }, { "name": "generateFileResumableUploadUrl", @@ -1084,7 +329,7 @@ "referenceType": "wix-media-v2.Files.GenerateFileResumableUploadUrlOptions" } ], - "doc": "Options to use when generating a resumable upload URL.", + "doc": "Options to use when generating a resumable upload URL.\n", "required": false } ], @@ -1107,74 +352,27 @@ "doc": null }, "docs": { - "summary": "Generates a resumable upload URL to allow external clients to upload large files over 10MB to the Media Manager.", + "summary": "Generates a resumable upload URL to allow external clients to easily upload large files over 10MB to the Media Manager.", "description": [ - "The `generateFileResumableUploadUrl()` function returns a Promise that resolves to an upload URL, token, and protocol.\n\nWhen using the resumable upload URL, any interruptions will pause the file upload process, which automatically resumes once the interruption is resolved. The resumable upload URL is also helpful when network connection is poor.\n\nTo learn how external clients can use the generated upload URL in the response to upload large files to the Media Manager, see the Resumable Upload API article." + "With the resumable upload URL, any interruptions in the upload process pauses the file upload, and resumes the file upload process after the interruption. The resumable upload URL is also helpful when network connection is poor.\n\nTo learn how external clients can use the generated upload URL in the response to upload large files to the Media Manager, see the [Resumable Upload API](https://www.wix.com/velo/reference/wix-media-v2/resumable-upload-api) article.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Generate a file resumable upload url ", + "title": "generateFileResumableUploadUrl example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample mimeType value: 'image/jpeg'", - " *", - " * Sample options value:", - " * {", - " * fileName: 'image1.jpeg',", - " * parentFolderId: '103601562ec94214bee61f470b403dd5',", - " * labels: ['nature', 'outdoors']", - " * }", - " */", - "", - "async function myGenerateFileResumableUploadUrlFunction(mimeType, options) {", - " try {", - " const elevatedGenerateFileResumableUploadUrl = elevate(files.generateFileResumableUploadUrl);", - " const result = await elevatedGenerateFileResumableUploadUrl(mimeType, options);", " ", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "} ", - " ", - "/* Promise resolves to:", - " * {", - " * \"uploadProtocol\": \"TUS\",", - " * \"uploadToken\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlMWIwNTkxYi0wMTQyLTRkOTctYjg2My1lOTQwN2ZiZjdhMDEiLCJhdWQiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJpc3MiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJleHAiOjE3MDIzNjM0NTIsImlhdCI6MTcwMTc1ODY0MiwiYnVja2V0IjoidXBsb2FkLXRtcC13aXhtcC1jZGZjMzg0ZjE1ODQxYWFhNWVhYjE2YjEiLCJwYXRoIjoibWVkaWEvYThhNTJiXzFhYTNkZDQzMTY4OTQxYjhiMDE0M2M0ZTA5MDY1M2U1fm12Mi5qcGVnIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL3dpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS5hcHBzcG90LmNvbS9fYXBpL3YzL3VwbG9hZC9jYWxsYmFjaz91cGxvYWRUb2tlbj1leUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKcGMzTWlPaUoxY200NmMyVnlkbWxqWlRwbWFXeGxMblZ3Ykc5aFpDSXNJbUYxWkNJNkluVnlianB6WlhKMmFXTmxPbVpwYkdVdWRYQnNiMkZrSWl3aWMzVmlJam9pZFhKdU9tRndjRHBsTmpZMk16QmxOekUwWmpBME9UQmhZV1ZoTVdZeE5EbGlNMkkyT1dVek1pSXNJbWxoZENJNk1UY3dNVGMxT0RZME1pd2laWGh3SWpveE56QXhPREF4T0RReUxDSnFkR2tpT2lJME5EbGxNakE0WkdZNE5XRWlMQ0ppYTNRaU9pSnpkR0YwYVdNdWQybDRjM1JoZEdsakxtTnZiU0lzSW5CMGFDSTZJaTl0WldScFlTOWhPR0UxTW1KZk1XRmhNMlJrTkRNeE5qZzVOREZpT0dJd01UUXpZelJsTURrd05qVXpaVFYtYlhZeUxtcHdaV2NpTENKaFkyd2lPaUp3ZFdKc2FXTWlMQ0pzWm1NaU9tNTFiR3dzSW1Oc1lpSTZleUoxY213aU9pSm9kSFJ3Y3pvdkwzZHBlSEJ5YVhaaGRHVnRaV1JwWVM1aGNIQnpjRzkwTG1OdmJTOTJNeTl0Y0M5bWFXeGxjeTkxY0d4dllXUXZiV1ZrYVdFdllUaGhOVEppWHpGaFlUTmtaRFF6TVRZNE9UUXhZamhpTURFME0yTTBaVEE1TURZMU0yVTFmbTEyTWk1cWNHVm5JaXdpWVhSMFlXTm9iV1Z1ZENJNmV5SndZWFJvSWpvaUwyMWxaR2xoTDJFNFlUVXlZbDh4WVdFelpHUTBNekUyT0RrME1XSTRZakF4TkROak5HVXdPVEEyTlRObE5YNXRkakl1YW5CbFp5SXNJblZ3Ykc5aFpGOTBiMnRsYmlJNklrSk1iRlp0U0MxMFZVNDNhV2hIUWpOUGJFZEtTbnBVVm1WeVZqQjBPWFp2YkhFM2MzcFZSbkZ5YWpCS1QyOWhaalJMTkZwUE9IbENNSGhrT1dka2EyZzFMWFYxZEUxalpWcFRTblZhZEVKTVYyOTJjMFpOVERSbk9IQnVPWFJwWVZCV2JrOW9MVEZvWmtVNGJqTjFPWEZZVWxKSVdVWXdSMFF5ZVVSS1RraDNlVWxUUzBkaVUydGpNVEl3WDFCTFl5MXFTV2xMT1daVFptZDZkRkpFZFhWemJubDNWa1JyZEdsalgxOHhkazVUWTJOYVFXcHBORmt5UTJaWFJ6Sm1VemxaT0cxTGVqZEZZakpHWmtaTGJVSlBYMlIzUzBweVgweGFaakJqYTIxS1pEZHZaVlIzYjJwR2JFa3dWemR6UzNoVVNFdDRWbVZoYzFKMlYySnljbEU0V0RkeU1IcDNUREYyV1c5MVNXdE1ielJRWlhFMU5VNVNSMEpRZG5OVFpXbFZWV2xFVUZRMldrbG1WMmRQZFZoUGRrcGFkVWhDVTA5Vk9EbEdjbEozU2taTVVqUk9UbTlJZDA1bGVsSlBTVnB2YmtWV2FUUlNaSE5OZDB0dVMzRTNOMUUwUW5GT1RUUnBaV1YwYWs1RFYzSmxjMnRRUXkwMVVsQllSbVp6YlVad1QwaGxRVlJXVW1NdFdqZFRZbTFIVTBGMFN6UlJRVFpSU1MxQk5IUTJVVm94T0dSWlRVbEJjMDlxTkZNdFgyZHhTakYzTmxCb2NYSmhUR1pGWDNabWFrZDROMDlKUjJWSVFuZzBYMU51T1UxeGNteExRMlJ1VWpCQlZGOTJjVnB5U2s5T1ZWbE1UM0JTVEU1bFExTlhjVzQzUzA1V2RuTjBVR2RyU3paMlZXa3pWMHMyY2xvdFNYbHhlRFZMU1ZFNFdFaDBjakkxYm1sU1p6VlNVMkYzUzFWS01FWlhNall4VDAxM1RWcGhWUzB4YUhoUk5HcFdWR2h2V1VJMU5GcEZTbUZPVFZSYVdHeHVSM2xxY2tkWWFFWTRiMVI0VTJjMFJUUlFlVFJSV1V4NVRrbGhaREkzY21zOUluMHNJbWhsWVdSbGNuTWlPbTUxYkd3c0luQmhjM04wYUhKdmRXZG9JanAwY25WbGZYMC5nN1FFMDduUk9CNTZ6MlljQ0ZLazdRUkZJaDJ6c0FnNUlXODlsSmJCejRnIiwiYWNsIjoicHVibGljIiwicHJvdG9jb2wiOiJ0dXMiLCJtaW1lVHlwZSI6ImltYWdlL2pwZWciLCJzZXNzaW9uVVJMIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vdXBsb2FkL3N0b3JhZ2UvdjEvYi91cGxvYWQtdG1wLXdpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS9vP3ByZWRlZmluZWRBY2w9cHVibGljUmVhZFx1MDAyNnByb2plY3Rpb249ZnVsbFx1MDAyNnVwbG9hZFR5cGU9cmVzdW1hYmxlXHUwMDI2dXBsb2FkX2lkPUFCUHRjUHJ6QkVoaHRaTm1yM0ViZG5pOXcwUy1DVmdZZnFmYVgyUXZPT29yNEt2bFBhVUtRdGlwMkNwXzdYTndxblRWSmRaWkxOYlE3TU90M1NlTmx6R3pLOGpZRXZMNHA5QUFtbi1RTE96LThxQWQifQ.hHvZwmkHImDu4khcqyWx44TgWT_d26wIhcAbRUH37oI\",", - " * \"uploadUrl\": \"https://upload.wixmp.com/upload/tus\"", - " * }", - " */" - ] - }, - { - "title": "Use a file upload url in an external node.js application", - "body": [ - "/********************************", - " * External Node.js application *", - " *******************************/", - "", - "import axios from 'axios';", - "", - "/* Sample fileName value: 'video1.mp4'", - " * Sample contentType value: 'video/mp4'", - " * Sample videoToUpload value: 'path/to/yourVideo.mp4'", - " */", - "", - "async function myUploadVideoFunction(generatedUploadUrl, videoToUpload, fileName, contentType) {", - " const response = await axios.put(generatedUploadUrl, videoToUpload, {", - " headers: {", - " 'Content-Type': contentType", - " },", - " params: {", - " filename: fileName", - " }", - " });", - "", - " return `${response[0].uploadUrl}`;", - "}" + " async function generateFileResumableUploadUrl(mimeType, options) {", + " try {", + " const result = await files.generateFileResumableUploadUrl(mimeType, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -1184,9 +382,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "generateFileResumableUploadUrl", - "isAdminMethod": true + ] }, { "name": "generateFileUploadUrl", @@ -1208,7 +404,7 @@ "referenceType": "wix-media-v2.Files.GenerateFileUploadUrlOptions" } ], - "doc": "Options to use when generating a file's upload URL.", + "doc": "Options to use when generating a file's upload URL.\n", "required": false } ], @@ -1233,70 +429,25 @@ "docs": { "summary": "Generates an upload URL to allow external clients to upload a file to the Media Manager.", "description": [ - "The `generateFileUploadUrl()` function returns a Promise that resolves to an upload URL.\n\nTo learn how external clients can use the generated upload URL in the response to upload a file to the Media Manager, see the Upload API article.\n\n> **Note:** Any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, use `generateFileResumableUploadUrl()` instead. With the resumable upload URL, any interruption in the upload process pauses the file upload, and resumes the file upload process after the interruption." + "To learn how external clients can use the generated upload URL in the response to upload a file to the Media Manager, see the [Upload API](https://www.wix.com/velo/reference/wix-media-v2/upload-api).\n> **Notes:**\n> - This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n> - Any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, use the [Generate File Resumable Upload Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileresumableuploadurl) instead. With the resumable upload URL, any interruption in the upload process pauses the file upload, and resumes the file upload process after the interruption." ], "examples": [ { - "title": "Generate a file upload url ", + "title": "generateFileUploadUrl example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample mimeType value: 'image/jpeg'", - " * Sample options value:", - " * {", - " * fileName: 'image1.jpeg',", - " * parentFolderId: '103601562ec94214bee61f470b403dd5',", - " * labels: ['nature', 'outdoors']", - " * }", - " */", - "", - "async function myGenerateFileUploadUrlFunction(mimeType, options) {", - " try {", - " const elevatedGenerateFileUploadUrl = elevate(files.generateFileUploadUrl);", - " const result = await elevatedGenerateFileUploadUrl(mimeType, options);", - " ", - " const url = result.uploadUrl;", - " return url;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "} ", " ", - "/* Promise resolves to:", - " * {", - " * \"uploadUrl\": \"https://upload.wixmp.com/upload/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzYTk0N2E5Ni01ZmFiLTQ0NjAtODVkNS1hNTIxNWRjNzRiMjEiLCJhdWQiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJpc3MiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJleHAiOjE2OTM5MTk3MjksImlhdCI6MTY5MzgzMzMxOSwiYnVja2V0IjoidXBsb2FkLXRtcC13aXhtcC1jZGZjMzg0ZjE1ODQxYWFhNWVhYjE2YjEiLCJwYXRoIjoibWVkaWEvZDRkZGUxXzE4Nzk3M2ZhYWRmNjQ3MGM4OTRhN2JjNmMyNjA2Yjkzfm12Mi5qcGVnIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL3dpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS5hcHBzcG90LmNvbS9fYXBpL3YzL3VwbG9hZC9jYWxsYmFjaz91cGxvYWRUb2tlbj1leUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKcGMzTWlPaUoxY200NmMyVnlkbWxqWlRwbWFXeGxMblZ3Ykc5aFpDSXNJbUYxWkNJNkluVnlianB6WlhKMmFXTmxPbVpwYkdVdWRYQnNiMkZrSWl3aWMzVmlJam9pZFhKdU9tRndjRHBsTmpZMk16QmxOekUwWmpBME9UQmhZV1ZoTVdZeE5EbGlNMkkyT1dVek1pSXNJbWxoZENJNk1UWTVNemd6TXpNeE9Td2laWGh3SWpveE5qa3pPRGMyTlRFNUxDSnFkR2tpT2lJeU9ERXpaR013T1dJNU9EQWlMQ0ppYTNRaU9pSnpkR0YwYVdNdWQybDRjM1JoZEdsakxtTnZiU0lzSW5CMGFDSTZJaTl0WldScFlTOWtOR1JrWlRGZk1UZzNPVGN6Wm1GaFpHWTJORGN3WXpnNU5HRTNZbU0yWXpJMk1EWmlPVE4tYlhZeUxtcHdaV2NpTENKaFkyd2lPaUp3ZFdKc2FXTWlMQ0pzWm1NaU9tNTFiR3dzSW1Oc1lpSTZleUoxY213aU9pSm9kSFJ3Y3pvdkwzZHBlSEJ5YVhaaGRHVnRaV1JwWVM1aGNIQnpjRzkwTG1OdmJTOTJNeTl0Y0M5bWFXeGxjeTkxY0d4dllXUXZiV1ZrYVdFdlpEUmtaR1V4WHpFNE56azNNMlpoWVdSbU5qUTNNR000T1RSaE4ySmpObU15TmpBMllqa3pmbTEyTWk1cWNHVm5JaXdpWVhSMFlXTm9iV1Z1ZENJNmV5SndZWFJvSWpvaUwyMWxaR2xoTDJRMFpHUmxNVjh4T0RjNU56Tm1ZV0ZrWmpZME56QmpPRGswWVRkaVl6WmpNall3Tm1JNU0zNXRkakl1YW5CbFp5SXNJblZ3Ykc5aFpGOTBiMnRsYmlJNklrSk1iRlp0U0MxMFZVNDNhV2hIUWpOUGJFZEtTbnBVVm1WeVZqQjBPWFp2YkhFM2MzcFZSbkZ5YWpCS1QyOWhaalJMTkZwUE9IbENNSGhrT1dka2EyZzFMWFYxZEUxalpWcFRTblZhZEVKTVYyOTJjMFpOVERSbk9IQnVPWFJwWVZCV2JrOW9MVEZvWmtVNGJqTjFPWEZZVWxKSVdVWXdSMFF5ZVVSS1RraDNlVWxUUzBkaVUydGpNVEl3WDFCTFl5MXFTV2xMT1daVFptZDZkRkpFZFhWemJubDNWa1JyZEdsalgxOHhkazVUWTJOYVFXcHBORmt5UTJaWFJ6Sm1VemxaT0cxTGVqZEZZakpHWmtaTGJVSlBYMlIzUzBweVgweGFaakJqYTIxS1pEZHZaVlIzYjJwR2JFa3dWemR6UzNoVVNFdDRWbVZoYzFKMlYySnljbEU0V0RkeU1IcDNUREYyV1c5MVNXdE1ielJRWlhFMU5VNVNSMEpRZG5OVFpXbFZWV2xFVUZRMldrbG1WMmRQZFZoUGRrcGFkVWhDVTA5Vk9EbEdjbEozTm14R00xcFNRVkZST0RKWVpXRktRMmRWU1U1bFNHeFlkVTlzZWtNelVtSTFUQzFoTWtKRlVsQlpSRlpXWVRReWJEWTBiMnhzZUVKMk5qZG9lRjloU2tad1QwaGxRVlJXVW1NdFdqZFRZbTFIVTBGMFN6ZG1ZWEV4VlhOaFpsSnZVRWx5UzBwVWEydE5NREZOUkMwNFUzVTFVR1l4WWpWTWVsRXhNV0ZpYWt4M1pVWXdVMnRmV2xKZldHSTVja3Q1U0hadWRVSkxRMlJ1VWpCQlZGOTJjVnB5U2s5T1ZWbE1UM0JTVEU1bFExTlhjVzQzUzA1V2RuTjBVR2RyU3paMllXTnVjbTlRWDA5MGFTMUdOamRrU2tWelpWZFJhM0I2VW5WUGNIQkpTa1ZUUTJkMVpERkZRa2xOYlUxM1RWcGhWUzB4YUhoUk5HcFdWR2h2V1VJMU5FRnFhSGRpWlZSemRVbEVSRGxFT1dWWGVtaG5VVGhQZUV3MWVHdElORXN3UTFOWE5qSkRRazlQUlVrOUluMHNJbWhsWVdSbGNuTWlPbTUxYkd3c0luQmhjM04wYUhKdmRXZG9JanAwY25WbGZYMC5iRWJSTzdnYkQxaXR0TW9Hb29QUTBsbDZrbW5jSEdfc05pRjRXZzFZWTc0IiwiYWNsIjoicHVibGljIiwibWltZVR5cGUiOiJpbWFnZS9qcGVnIn0.pd9ZssMw0NOTIxmNm0gm3r5WP6ySCy4vBxlT8ufU_Vw\"", - " * }", - " */" - ] - }, - { - "title": "Use a file upload url in an external node.js application", - "body": [ - "/********************************", - " * External Node.js application *", - " *******************************/", - "", - "import axios from 'axios';", - "", - "/* Sample fileName value: 'video1.mp4'", - " * Sample contentType value: 'video/mp4'", - " * Sample videoToUpload value: 'path/to/yourVideo.mp4'", - " */", - "", - "async function myUploadVideoFunction(generatedUploadUrl, videoToUpload, fileName, contentType) {", - " const response = await axios.put(generatedUploadUrl, videoToUpload, {", - " headers: {", - " 'Content-Type': contentType", - " },", - " params: {", - " filename: fileName", - " }", - " });", - "", - " return `${response[0].uploadUrl}`;", - "}" + " async function generateFileUploadUrl(mimeType, options) {", + " try {", + " const result = await files.generateFileUploadUrl(mimeType, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -1306,9 +457,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "generateFileUploadUrl", - "isAdminMethod": true + ] }, { "name": "generateFilesDownloadUrl", @@ -1352,106 +501,26 @@ "docs": { "summary": "Generates a URL for downloading a compressed file containing specific files in the Media Manager.", "description": [ - "The `generateFilesDownloadUrl()` function returns a Promise that resolves to a download URL.\n\nThe compressed file can contain up to 1000 files." + "The compressed file can contain up to 1000 files.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Generate a download url for multiple files ", + "title": "generateFilesDownloadUrl example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileIds value:", - " * [", - " * 'd4dde1_dee18c9ada174a818ccf75c50e72c739~mv2.jpg',", - " * 'd4dde1_84a62b7aeb874f73a7b736cad663d6f2.pdf',", - " * 'd4dde1_e26da94b5cb440649ede0c433425449c~mv2.jpg'", - " * ]", - " */", - "", - "async function myGenerateFilesDownloadUrlFunction(fileIds) {", - " try {", - " const elevatedGenerateFilesDownloadUrl = elevate(files.generateFilesDownloadUrl)", - " const generatedUrl = await elevatedGenerateFilesDownloadUrl(fileIds);", - "", - " const url = generatedUrl.downloadUrl;", - " return url;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"downloadUrl\": \"https://archive.wixmp.com/archive/wix/38f69e35c283495187e85be0c8c06caf\"", - " * }", - " */" - ] - }, - { - "title": "Generate a download url for all images in media ", - "body": [ - "/**************************************", - " * Backend code - download-files-url.jsw *", - " *************************************/", - "", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function generateDownloadUrl(fileIds) {", - " try {", - " const elevatedGenerateFilesDownloadUrl = elevate(files.generateFilesDownloadUrl)", - " const generatedUrl = await elevatedGenerateFilesDownloadUrl(fileIds);", - "", - " return generatedUrl.downloadUrl;", - " } catch (error) {", - " console.error(error);", - " }", - "}", " ", - "export async function listImages() {", - " const listOptions = {", - " mediaTypes: [\"IMAGE\"]", - " }", - "", - " try {", - " const elevatedListFiles = elevate(files.listFiles)", - " const images = await elevatedListFiles(listOptions);", - "", - " return images.files;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { listImages, generateDownloadUrl } from 'backend/download-files-url';", - "", - "$w.onReady(() => {", - " $w('#downloadFiles').disable();", - " getDownloadUrl();", - "});", - "", - "async function getDownloadUrl() {", - " const images = await listImages();", - "", - " const imageIds = images.map((image) => {", - " return image._id;", - " });", - " const downloadUrl = await generateDownloadUrl(imageIds);", - "", - " $w('#downloadFiles').link = downloadUrl;", - " await $w('#downloadFiles').enable();", - "}" - ], - "extra": { - "description": "This is an example of a function running on page ready. The function lists all the images from media, and then uses their IDs to create a download url." - } + " async function generateFilesDownloadUrl(fileIds) {", + " try {", + " const result = await files.generateFilesDownloadUrl(fileIds);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] } ] }, @@ -1460,9 +529,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "generateFilesDownloadUrl", - "isAdminMethod": true + ] }, { "name": "generateVideoStreamingUrl", @@ -1484,7 +551,7 @@ "referenceType": "wix-media-v2.Files.GenerateVideoStreamingUrlOptions" } ], - "doc": "Options to use when generating a video file's streaming URL.", + "doc": "Options to use when generating a video file's streaming URL.\n", "required": false } ], @@ -1509,43 +576,25 @@ "docs": { "summary": "Generates a URL for streaming a specific video file in the Media Manager.", "description": [ - "The `generateVideoStreamingUrl()` function returns a Promise that resolves to a download URL and its asset key.\n\nTo stream different assets of the file, use the `assetKeys` parameter which generates a video streaming URL for each asset. If no asset key is specified, it defaults to `src`, which generates one video streaming URL in the original file's format and quality." + "To stream different assets of the file, use the `assetKeys` parameter which generates a video streaming URL for each asset. If no assetKey is specified, it defaults to `src`, which generates one video streaming URL in the original file's format and quality.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Generate a video streaming url ", + "title": "generateVideoStreamingUrl example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample ID value: 'd4dde1_6ce66a7e99db49f5964ef9f3ef97eefc'", - " * ", - " * Sample options value:", - " * {", - " * format: 'HLS'", - " * }", - " */", - "", - "async function myGenerateVideoStreamingUrlFunction(fileId, options) {", - " try {", - " const elevatedGenerateVideoStreamingUrl = elevate(files.generateVideoStreamingUrl);", - " const streamingUrl = await elevatedGenerateVideoStreamingUrl(fileId, options);", - "", - " return streamingUrl;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"downloadUrl\": {", - " * \"assetKey\": \"HLS\",", - " * \"url\": \"https://repackager.wixmp.com/video.wixstatic.com/video/d4dde1_6ce66a7e99db49f5964ef9f3ef97eefc/,720p,360p,1080p,480p,/mp4/file.mp4.urlset/master.m3u8\"", - " * }", - " * }", - " */" + " ", + " async function generateVideoStreamingUrl(fileId, options) {", + " try {", + " const result = await files.generateVideoStreamingUrl(fileId, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -1555,9 +604,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "generateVideoStreamingUrl", - "isAdminMethod": true + ] }, { "name": "getFileDescriptor", @@ -1583,68 +630,34 @@ "nativeType": "Promise", "typeParams": [ { - "referenceType": "wix-media-v2.Files.FileDescriptor" + "referenceType": "wix-media-v2.Files.GetFileDescriptorResponse" } ] } } ], - "doc": "Information about the file.\n" + "doc": null }, "docs": { - "summary": "Gets information about the specified file in the Media Manager.", - "description": [ - "The `getFileDescriptor()` function returns a Promise that resolves to the specified file's descriptor.\n\nUse `getFileDescriptors()` to get multiple file descriptors at once." - ], + "summary": "Gets information about a specific file in the Media Manager.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", + "description": [], "examples": [ { - "title": "Get a file descriptor ", + "title": "getFileDescriptor example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileId value: 'w8ide0_989yy3iic89mi8880kq9jkr9x7nxiz7l~mv2.jpg' */", - "", - "async function myGetFileDescriptorFunction(fileId) {", - " try {", - " const elevatedGetFileDescriptor = elevate(files.getFileDescriptor);", - " const descriptor = await elevatedGetFileDescriptor(fileId);", - "", - " console.log('Retrieved descriptor:', descriptor);", - " return descriptor;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"_createdDate\": \"2023-07-23T10:33:00.000Z\",", - " * \"_id\": \"w8ide0_989yy3iic89mi8880kq9jkr9x7nxiz7l~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-23T10:33:00.000Z\",", - " * \"displayName\": \"example.jpg\",", - " * \"hash\": \"x5bq2o4p8fj68xqt25v49wdnasys04xe\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"media\": {", - " * \"image\": {", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/w8ide0_989yy3iic89mi8880kq9jkr9x7nxiz7l~mv2.jpg/example.jpg\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"igje5u22nij3qkltzsnol37j3dnthvvh\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"47177\",", - " * \"sourceUrl\": \"https://example.org/filename.jpg\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_989yy3iic89mi8880kq9jkr9x7nxiz7l~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_989yy3iic89mi8880kq9jkr9x7nxiz7l~mv2.jpg\"", - " * }", - " */" + " ", + " async function getFileDescriptor(fileId) {", + " try {", + " const result = await files.getFileDescriptor(fileId);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -1654,9 +667,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "getFileDescriptor", - "isAdminMethod": true + ] }, { "name": "getFileDescriptors", @@ -1698,119 +709,25 @@ "doc": null }, "docs": { - "summary": "Gets information about the specified files in the Media Manager.", - "description": [ - "The `getFileDescriptors()` function returns a Promise that resolves to an array containing the specified files' descriptors.\n\nUse `getFileDescriptor()` to get a single file descriptor." - ], + "summary": "Gets information about the specified files in the Media Manager.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", + "description": [], "examples": [ { - "title": "Get file descriptors ", + "title": "getFileDescriptors example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample fileIds value:", - " * [ ", - " * 'w8ide0_87051wjiadg6qj2ywxb07vn5snqxxp2q', ", - " * 'w8ide0_mnk3lozhxu0w4f1g5wuusmwqedox2w1p~mv2.jpg', ", - " * 'w8ide0_578uul37zvr7b6d7ji3cbm91rlf5dvjy.zip'", - " * ]", - " */", - "", - "async function myGetFileDescriptorsFunction(fileIds) {", - " try {", - " const elevatedGetFileDescriptors = elevate(files.getFileDescriptors);", - " const descriptors = await elevatedGetFileDescriptors(fileIds);", - "", - " console.log('Retrieved descriptors:', descriptors);", - " return descriptors;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-07-23T09:05:12.000Z\",", - " * \"_id\": \"w8ide0_mnk3lozhxu0w4f1g5wuusmwqedox2w1p~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-23T09:05:12.000Z\",", - " * \"displayName\": \"image1.jpg\",", - " * \"hash\": \"d7ltmbrrmdspiyrw3db29bpi1g8lsacz\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"media\": {", - " * \"image\": {", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/w8ide0_mnk3lozhxu0w4f1g5wuusmwqedox2w1p~mv2.jpg/image1.jpg#originWidth=1000&originHeight=714\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"112689\",", - " * \"sourceUrl\": \"https://website.org/image1.jpg\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_mnk3lozhxu0w4f1g5wuusmwqedox2w1p~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_mnk3lozhxu0w4f1g5wuusmwqedox2w1p~mv2.jpg\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-16T08:56:10.000Z\",", - " * \"_id\": \"w8ide0_578uul37zvr7b6d7ji3cbm91rlf5dvjy.zip\",", - " * \"_updatedDate\": \"2023-07-20T07:16:55.000Z\",", - " * \"displayName\": \"pics\",", - " * \"hash\": \"tmk0uafvzzgkddrgwgl6od1h9jsp1j9e\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"archive\": {", - " * \"_id\": \"w8ide0_578uul37zvr7b6d7ji3cbm91rlf5dvjy.zip\",", - " * \"filename\": \"riverpics\",", - " * \"sizeInBytes\": \"49546083\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/archives/w8ide0_578uul37zvr7b6d7ji3cbm91rlf5dvjy.zip\"", - " * }", - " * },", - " * \"mediaType\": \"ARCHIVE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"49546083\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/48c4fbc47d7298cd4406936294b4c532.png\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/archives/w8ide0_578uul37zvr7b6d7ji3cbm91rlf5dvjy.zip\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-23T12:15:55.000Z\",", - " * \"_id\": \"w8ide0_87051wjiadg6qj2ywxb07vn5snqxxp2q\",", - " * \"_updatedDate\": \"2023-07-23T12:16:14.000Z\",", - " * \"displayName\": \"video1.mp4\",", - " * \"hash\": \"pdrepnjy3cdjq8bt2lzmpdvuc47mm921\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"media\": {", - " * \"video\": \"wix:video://v1/w8ide0_87051wjiadg6qj2ywxb07vn5snqxxp2q/video1.mp4#posterUri=w8ide0_87051wjiadg6qj2ywxb07vn5snqxxp2qf001.jpg&posterWidth=1280&posterHeight=720\"", - " * },", - " * \"mediaType\": \"VIDEO\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"4384468\",", - " * \"sourceUrl\": \"https://cdn.pixabay.com/example.mp4\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_87051wjiadg6qj2ywxb07vn5snqxxp2qf002.jpg\",", - " * \"url\": \"https://video.wixstatic.com/video/w8ide0_87051wjiadg6qj2ywxb07vn5snqxxp2q/file\"", - " * }", - " * ]", - " * }", - " */" + " ", + " async function getFileDescriptors(fileIds) {", + " try {", + " const result = await files.getFileDescriptors(fileIds);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -1820,9 +737,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "getFileDescriptors", - "isAdminMethod": true + ] }, { "name": "importFile", @@ -1844,7 +759,7 @@ "referenceType": "wix-media-v2.Files.ImportFileOptions" } ], - "doc": "Options to use when importing a single file.", + "doc": "Options to use when importing a single file.\n", "required": false } ], @@ -1867,111 +782,27 @@ "doc": null }, "docs": { - "summary": "Imports a file to the Media Manager using an external URL.", + "summary": "Imports a file to the Media Manager using an external url.", "description": [ - "The `importFile()` function returns a Promise that resolves to the imported file's descriptor.\n\nThis function returns information about the imported file. Importing a file is the method through which you can add files to the Media Manager.\nUse the `parentFolderId` parameter to specify which folder you want the file to be imported to.\nIf no folder is specified, the file is imported to the `media-root` folder.\n\nTo import a file, you need to pass one of the following:\n- The file's [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` parameter of the request. For example, `'image/png'`.\n- The file's name and extension. For example, `'my-image.png'`.\n- If you don't know the file's extension or MIME type, its [media type](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) in the `mediaType` parameter of the request. For example, `'IMAGE'`. Note that this option only works if the server hosting the media allows a 'HEAD' request." + "This function returns information about the imported file.\nUse the `parentFolderId` parameter to specify which folder you want the file to be imported to.\nIf no folder is specified, the file is imported to the `media-root` folder.\n\nTo import a file, you need to provide one of the following:\n1. Pass the file's [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) in the `mimeType` parameter of the request. For example, `'image/png'`.\n2. Pass the file's name and extension. For example, `'my-image.png'`.\n3. If you don't know the file's extension or MIME type, pass its [media type](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) in the `mediaType` parameter of the request. For example, `'IMAGE'`. Note that this option only works if the server hosting the media allows a 'HEAD' request.\n\n>**Notes:**\n> - This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n> - The `media` property isn't returned in the `files` response object.\n" ], "examples": [ { - "title": "Import a file ", + "title": "importFile example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample url value: 'https://example.org/filename.jpg' */", - "", - "async function myImportFileFunction(url) {", - " try {", - " const elevatedImportFile = elevate(files.importFile);", - " const importedFile = await elevatedImportFile(url);", - "", - " console.log('Imported file successfully:', importedFile);", - " return importedFile;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "", - "/* Promise resolves to:", - " * {", - " * \"file\": {", - " * \"_createdDate\": \"2023-07-23T09:19:05.000Z\",", - " * \"_id\": \"w8ide0_leac4pwk8o11v8725j9ugcbe70x3alc0~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-23T09:19:05.000Z\",", - " * \"displayName\": \"image1.jpg\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"sizeInBytes\": \"20167\",", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sourceUrl\": \"https://example.org/filename.jpg\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_leac4pwk8o11v8725j9ugcbe70x3alc0~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_leac4pwk8o11v8725j9ugcbe70x3alc0~mv2.jpg\"", - " * }", - " * }", - " */" - ] - }, - { - "title": "Import a file with options", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample url value: 'https://example.org/myfilename.jpg'", - " * ", - " * Sample importOptions value:", - " * {", - " * displayName: 'example',", - " * mediaType: 'IMAGE',", - " * mimeType: 'image/jpeg',", - " * parentFolderId: 'igje5u22nij3qkltzsnol37j3dnthvvh'", - " * }", - " */", - "", - "async function myImportFileFunction(url, importOptions) {", - " try {", - " const elevatedImportFile = elevate(files.importFile);", - " const importedFile = await elevatedImportFile(url, importOptions);", - "", - " console.log('Imported file successfully:', importedFile);", - " return importedFile;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to: ", - " * {", - " * \"file\": {", - " * \"_createdDate\": \"2023-07-23T10:32:58.000Z\",", - " * \"_id\": \"w8ide0_dvddpfvztq1dkhjqn4xz6e429vpk3oc1~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-23T10:32:58.000Z\",", - " * \"displayName\": \"example.jpg\",", - " * \"hash\": \"\",", - " * \"internalTags\": [],", - " * \"labels\": [],", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"PENDING\",", - " * \"parentFolderId\": \"igje5u22nij3qkltzsnol37j3dnthvvh\",", - " * \"private\": false,", - " * \"sizeInBytes\": \"47177\",", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sourceUrl\": \"https://example.org/myfilename.jpg\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_dvddpfvztq1dkhjqn4xz6e429vpk3oc1~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_dvddpfvztq1dkhjqn4xz6e429vpk3oc1~mv2.jpg\"", - " * }", - " * }", - " */" + " ", + " async function importFile(url, options) {", + " try {", + " const result = await files.importFile(url, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -1981,9 +812,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "importFile", - "isAdminMethod": true + ] }, { "name": "listDeletedFiles", @@ -1995,7 +824,7 @@ "referenceType": "wix-media-v2.Files.ListDeletedFilesOptions" } ], - "doc": "Options to use when listing deleted files from the trash bin.", + "doc": "Options to use when listing deleted files from the trash bin.\n", "required": false } ], @@ -2016,434 +845,26 @@ "doc": null }, "docs": { - "summary": "Retrieves a list of files in the Media Manager's trash bin.", - "description": [ - "The `listDeletedFiles()` function returns a Promise that resolves to an array of the specified deleted files' descriptors and cursor information.\n\n>**Note:** The Media Manager's trash bin (`TRASH_ROOT` folder) only contains temporarily deleted files, not permanently deleted files.\n\nTo retrieve a list of non-deleted files, use the `listFiles()` function." - ], + "summary": "Retrieves a list of files in the Media Manager's trash bin.\n>**Notes:**\n> - This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.\n> - The Media Manager's trash bin (`TRASH-ROOT` folder) only contains temporarily deleted files, not permanently deleted files.", + "description": [], "examples": [ { - "title": "List deleted files ", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function myListDeletedFilesFunction() {", - " try {", - " const elevatedListDeletedFiles = elevate(files.listDeletedFiles)", - " const deletedFiles = await elevatedListDeletedFiles();", - "", - " console.log('Files in trash:', deletedFiles)", - " return deletedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-08-09T08:45:42.000Z\",", - " * \"_id\": \"d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png\",", - " * \"_updatedDate\": \"2023-08-09T08:45:42.000Z\",", - " * \"displayName\": \"image1.png\",", - " * \"hash\": \"864d607a1ea270efbac32def181f039f\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 247,", - " * \"r\": 247", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 142,", - " * \"g\": 140,", - " * \"r\": 140", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 192,", - " * \"g\": 218,", - " * \"r\": 141", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 195,", - " * \"g\": 137,", - " * \"r\": 149", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 228,", - " * \"g\": 143,", - " * \"r\": 183", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 250,", - " * \"g\": 62,", - " * \"r\": 152", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 16,", - " * \"g\": 16,", - " * \"r\": 16", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 140,", - " * \"g\": 199,", - " * \"r\": 60", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 120,", - " * \"g\": 194,", - " * \"r\": 242", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 158,", - " * \"g\": 203,", - " * \"r\": 103", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 247,", - " * \"r\": 247", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png/image1.png#originWidth=1170&originHeight=2532\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"394945\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png\",", - " * \"url\": \"https://static.wixstatic.com/media/d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-09T08:45:37.000Z\",", - " * \"_id\": \"d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg\",", - " * \"_updatedDate\": \"2023-08-09T08:45:37.000Z\",", - " * \"displayName\": \"vectorArt1.svg\",", - " * \"hash\": \"e379083c3675d7f7891da00c0708539c\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"image\": {", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg/vectorArt1.svg#originWidth=1177&originHeight=2501\"", - " * }", - " * },", - " * \"mediaType\": \"VECTOR\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"119475\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/shapes/d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg\",", - " * \"url\": \"https://static.wixstatic.com/shapes/d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "List deleted files with options ", + "title": "listDeletedFiles example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample options value:", - " * {", - " * paging: {", - " * limit: 2", - " * },", - " * sort: {", - " * order: 'ASC'", - " * }", - " * }", - " */", - "", - "async function listDeletedFiles(options) {", - " try {", - " const elevatedListDeletedFiles = elevate(files.listDeletedFiles)", - " const deletedFiles = await elevatedListDeletedFiles(options);", - "", - " console.log('Files in trash:', deletedFiles)", - " return deletedFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-08-09T08:45:42.000Z\",", - " * \"_id\": \"d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png\",", - " * \"_updatedDate\": \"2023-08-09T08:45:42.000Z\",", - " * \"displayName\": \"IMG1.png\",", - " * \"hash\": \"864d607a1ea270efbac32def181f039f\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 247,", - " * \"r\": 247", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 142,", - " * \"g\": 140,", - " * \"r\": 140", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 192,", - " * \"g\": 218,", - " * \"r\": 141", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 195,", - " * \"g\": 137,", - " * \"r\": 149", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 228,", - " * \"g\": 143,", - " * \"r\": 183", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 250,", - " * \"g\": 62,", - " * \"r\": 152", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 16,", - " * \"g\": 16,", - " * \"r\": 16", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 140,", - " * \"g\": 199,", - " * \"r\": 60", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 120,", - " * \"g\": 194,", - " * \"r\": 242", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 158,", - " * \"g\": 203,", - " * \"r\": 103", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 247,", - " * \"r\": 247", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png/IMG1.png#originWidth=1170&originHeight=2532\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"394945\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png\",", - " * \"url\": \"https://static.wixstatic.com/media/d4dde1_32288e20a5aa4213a52b15426fb27c9f~mv2.png\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-09T08:45:37.000Z\",", - " * \"_id\": \"d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg\",", - " * \"_updatedDate\": \"2023-08-09T08:45:37.000Z\",", - " * \"displayName\": \"vectorArt1c.svg\",", - " * \"hash\": \"e379083c3675d7f7891da00c0708539c\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"image\": {", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg/vectorArt1c.svg#originWidth=1177&originHeight=2501\"", - " * }", - " * },", - " * \"mediaType\": \"VECTOR\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"119475\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/shapes/d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg\",", - " * \"url\": \"https://static.wixstatic.com/shapes/d4dde1_8dd2bfe6121f43b29ebeaa63988abf54.svg\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */", - "" + " ", + " async function listDeletedFiles(options) {", + " try {", + " const result = await files.listDeletedFiles(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] - }, - { - "title": "Bulk restores all non-permanently deleted files of chosen types ", - "body": [ - "/*****************************************", - " * Backend code - bulk-restore-files.jsw *", - " ****************************************/", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function restoreFiles(mediaTypes) {", - " let idList = []", - " try {", - " const options = {", - " mediaTypes: mediaTypes", - " };", - " const elevatedListDeletedFiles = elevate(files.listDeletedFiles)", - " const deletedFiles = await elevatedListDeletedFiles(options);", - "", - " idList = deletedFiles.files.map((file) => {", - " return file._id", - " });", - " } catch (error) {", - " console.error(error);", - " }", - "", - " try {", - " const elevatedBulkRestoreFilesFromTrashBin = elevate(files.bulkRestoreFilesFromTrashBin);", - " const restoredFiles = await elevatedBulkRestoreFilesFromTrashBin(idList);", - "", - " console.log('Restored Files:', restoredFiles);", - " return restoredFiles;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { restoreFiles } from 'backend/bulk-import-files';", - "", - "$w.onReady(() => {", - " $w('#restoreMedia').onClick(async () => {", - " const mediaTypes = []", - " if ($w('#image').checked) {", - " mediaTypes.push(\"IMAGE\")", - " }", - " if ($w('#video').checked) {", - " mediaTypes.push(\"VIDEO\")", - " }", - " if ($w('#audio').checked) {", - " mediaTypes.push(\"AUDIO\")", - " }", - " if ($w('#document').checked) {", - " mediaTypes.push(\"DOCUMENT\")", - " }", - " if ($w('#vector').checked) {", - " mediaTypes.push(\"VECTOR\")", - " }", - " if ($w('#archive').checked) {", - " mediaTypes.push(\"ARCHIVE\")", - " }", - " if ($w('#model3d').checked) {", - " mediaTypes.push(\"MODEL3D\")", - " }", - " await restoreFiles(mediaTypes);", - "", - " $w('#filesRestoredMsg').show();", - " setTimeout(() => {", - " $w('#filesRestoredMsg').hide();", - " }, 5000);", - " });", - "});" - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a media type (or types). All files of that type/those types in which have been (non-permanently) deleted are restored." - } } ] }, @@ -2452,9 +873,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "listDeletedFiles", - "isAdminMethod": true + ] }, { "name": "listFiles", @@ -2466,7 +885,7 @@ "referenceType": "wix-media-v2.Files.ListFilesOptions" } ], - "doc": "Options to use when listing media files.", + "doc": "Options to use when listing media files.\n", "required": false } ], @@ -2489,233 +908,26 @@ "docs": { "summary": "Retrieves a list of files in the Media Manager.", "description": [ - "The `listFiles()` function returns a Promise that resolves to an array of the specified files' descriptors and cursor information.\n\nTo retrieve a list of files within a specific folder in the Media Manager, pass the folder's ID in the `parentFolderId` parameter. If no folder is specified, the endpoint retrieves only the list of files in the root folder of the Media Manager.\n\nTo retrieve a list of (non-permanently) deleted files, use the `listDeletedFiles()` function." + "To retrieve a list of files within a specific folder in the Media Manager, pass the folder's ID in the `parentFolderId` parameter. If no folder is specified, the endpoint retrieves the list of files in the root folder of the Media Manager.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "List files in a specific folder ", + "title": "listFiles example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample listOptions value:", - " * {", - " * parentFolderId : 'igje5u22nij3qkltzsnol37j3dnthvvh'", - " * }", - " */", - "", - "async function myListFilesFunction(listOptions) {", - " try {", - " const elevatedListFiles = elevate(files.listFiles);", - " const fileList = await elevatedListFiles(listOptions);", - "", - " console.log('Files in folder:', fileList);", - " return fileList;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-07-16T08:56:07.000Z\",", - " * \"_id\": \"w8ide0_f4dRFF610cKd7zkjVbaNddXgb181lXfg.pdf\",", - " * \"_updatedDate\": \"2023-07-16T08:56:07.000Z\",", - " * \"displayName\": \"file1.pdf\",", - " * \"hash\": \"z3bxokp79p04ok6iiu9ao8srx5lrynfh\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"document\": \"wix:document://v1/w8ide0_f4dRFF610cKd7zkjVbaNddXgb181lXfg.pdf/file1.pdf\"", - " * },", - " * \"mediaType\": \"DOCUMENT\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"igje5u22nij3qkltzsnol37j3dnthvvh\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"187199\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/it7ucst133nc8d9e0ff4d0nay1ucksc6.png\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/ugd/w8ide0_f4dRFF610cKd7zkjVbaNddXgb181lXfg.pdf\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-16T08:56:07.000Z\",", - " * \"_id\": \"w8ide0_170y03n3akmstnpt5jmsju89wvgs9tg4.pdf\",", - " * \"_updatedDate\": \"2023-07-16T08:56:07.000Z\",", - " * \"displayName\": \"file2.pdf\",", - " * \"hash\": \"g6x41coggaystn596ndb09q1ecg036gk\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"document\": \"wix:document://v1/w8ide0_170y03n3akmstnpt5jmsju89wvgs9tg4.pdf/file2.pdf\"", - " * },", - " * \"mediaType\": \"DOCUMENT\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"igje5u22nij3qkltzsnol37j3dnthvvh\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"81624\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/it7ucst133nc8d9e0ff4d0nay1ucksc6.png\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/ugd/w8ide0_170y03n3akmstnpt5jmsju89wvgs9tg4.pdf\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "Generate a download url for all images in media ", - "body": [ - "/**************************************", - " * Backend code - download-files-url.jsw *", - " *************************************/", - "", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function generateDownloadUrl(fileIds) {", - " try {", - " const elevatedGenerateFilesDownloadUrl = elevate(files.generateFilesDownloadUrl)", - " const generatedUrl = await elevatedGenerateFilesDownloadUrl(fileIds);", - "", - " return generatedUrl.downloadUrl;", - " } catch (error) {", - " console.error(error);", - " }", - "}", " ", - "export async function listImages() {", - " const listOptions = {", - " mediaTypes: [\"IMAGE\"]", - " }", - "", - " try {", - " const elevatedListFiles = elevate(files.listFiles)", - " const images = await elevatedListFiles(listOptions);", - "", - " return images.files;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { listImages, generateDownloadUrl } from 'backend/download-files-url';", - "", - "$w.onReady(() => {", - " $w('#downloadFiles').disable();", - " getDownloadUrl();", - "});", - "", - "async function getDownloadUrl() {", - " const images = await listImages();", - "", - " const imageIds = images.map((image) => {", - " return image._id;", - " });", - " const downloadUrl = await generateDownloadUrl(imageIds);", - "", - " $w('#downloadFiles').link = downloadUrl;", - " await $w('#downloadFiles').enable();", - "}" - ], - "extra": { - "description": "This is an example of a function running on page ready. The function lists all the images from media, and then uses their IDs to create a download url." - } - }, - { - "title": "Update a file's display name from visitor input ", - "body": [ - "/**********************************", - " * Backend code - update-file.jsw *", - " *********************************/", - "", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function updateFile(fileId, file) {", - " try {", - " const elevatedUpdateFileDescriptor = elevate(files.updateFileDescriptor);", - " const updatedDescriptor = await elevatedUpdateFileDescriptor(fileId, file);", - "", - " return updatedDescriptor;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function listImages() {", - " const listOptions = {", - " mediaTypes: [\"IMAGE\"]", - " }", - "", - " try {", - " const elevatedListFiles = elevate(files.listFiles)", - " const images = await elevatedListFiles(listOptions);", - "", - " return images.files;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { updateFile, listImages } from 'backend/update-file';", - "", - "$w.onReady(async () => {", - " await populateImagesDropdown();", - "", - " $w('#update').onClick(async () => {", - " const imageId = $w('#imagesDropdown').value;", - "", - " const fileUpdates = {", - " displayName: $w('#newDisplayName').value", - " }", - "", - " const updatedLocation = await updateFile(imageId, fileUpdates);", - " console.log('Display name successfully updated to:', updatedLocation.displayName)", - " $w('#updateSuccessMsg').show();", - " });", - "});", - "", - "async function populateImagesDropdown() {", - " const images = await listImages();", - " const dropdownOptions = images.map((image) => {", - " return {", - " label: image.displayName,", - " value: image._id", - " };", - " });", - "", - " $w('#imagesDropdown').options = dropdownOptions;", - "};", - "" - ], - "extra": { - "description": "This code uses the visitor's input on the page to update the display name of an image which they choose from a dropdown list on the page." - } + " async function listFiles(options) {", + " try {", + " const result = await files.listFiles(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] } ] }, @@ -2724,9 +936,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "listFiles", - "isAdminMethod": true + ] }, { "name": "searchFiles", @@ -2738,7 +948,7 @@ "referenceType": "wix-media-v2.Files.SearchFilesOptions" } ], - "doc": "Options to specify which folders to search.", + "doc": "Options to specify which folders to search.\n", "required": false } ], @@ -2761,538 +971,26 @@ "docs": { "summary": "Searches all folders in the Media Manager and returns a list of files that match the terms specified in the optional parameters.", "description": [ - "The `searchFiles()` function returns a Promise that resolves to an array of the specified files' descriptors and cursor information.\n\nIf no parameters are specified, the function returns all files in the `MEDIA_ROOT` folder." + "If no parameters are specified, the endpoint returns all files in the `MEDIA_ROOT` folder.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Search files ", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function mySearchFilesFunction() {", - " try {", - " const elevatedSearchFiles = elevate(files.searchFiles);", - " const rootFiles = await elevatedSearchFiles();", - "", - " console.log('Files in MEDIA_ROOT', rootFiles);", - " return rootFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-07-16T08:54:05.000Z\",", - " * \"_id\": \"w8ide0_ouulk5w0mdr9omjkwsfyn71g4mb1olcf~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-16T08:54:05.000Z\",", - " * \"displayName\": \"image2.jpg\",", - " * \"hash\": \"800fae3e0cb7908518a391c25864436c\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [", - " * \"label1\",", - " * \"label2\",", - " * \"label3\",", - " * \"label4\"", - " * ],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 47,", - " * \"g\": 36,", - " * \"r\": 31", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 155,", - " * \"g\": 153,", - " * \"r\": 195", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 141,", - " * \"g\": 123,", - " * \"r\": 138", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 177,", - " * \"g\": 161,", - " * \"r\": 190", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 179,", - " * \"g\": 178,", - " * \"r\": 217", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 160,", - " * \"g\": 176,", - " * \"r\": 229", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 176,", - " * \"g\": 151,", - " * \"r\": 162", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 93,", - " * \"g\": 78,", - " * \"r\": 71", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 45,", - " * \"g\": 63,", - " * \"r\": 107", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 104,", - " * \"g\": 88,", - " * \"r\": 82", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 26,", - " * \"g\": 36,", - " * \"r\": 39", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/w8ide0_ouulk5w0mdr9omjkwsfyn71g4mb1olcf~mv2.jpg/image2.jpg#originWidth=5833&originHeight=3894\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"3013886\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_ouulk5w0mdr9omjkwsfyn71g4mb1olcf~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_ouulk5w0mdr9omjkwsfyn71g4mb1olcf~mv2.jpg\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-16T08:56:07.000Z\",", - " * \"_id\": \"w8ide0_suuti24j47vesffndm8hkd651u72vp3f~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-16T08:56:07.000Z\",", - " * \"displayName\": \"image1.jpg\",", - " * \"hash\": \"fef0ylitxcnlyzxf0nahu8rh3k0i5t85\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [", - " * \"label1\"", - " * ],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 26,", - " * \"g\": 36,", - " * \"r\": 39", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 135,", - " * \"g\": 125,", - " * \"r\": 119", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 208,", - " * \"g\": 209,", - " * \"r\": 208", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 40,", - " * \"g\": 108,", - " * \"r\": 130", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 133,", - " * \"g\": 101,", - " * \"r\": 75", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 36,", - " * \"g\": 78,", - " * \"r\": 94", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 178,", - " * \"g\": 161,", - " * \"r\": 148", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 192,", - " * \"g\": 177,", - " * \"r\": 163", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 159,", - " * \"g\": 184,", - " * \"r\": 208", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 137,", - " * \"g\": 159,", - " * \"r\": 183", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 26,", - " * \"g\": 36,", - " * \"r\": 39", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/w8ide0_suuti24j47vesffndm8hkd651u72vp3f~mv2.jpg/image1.jpg#originWidth=5616&originHeight=3744\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"6312959\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_suuti24j47vesffndm8hkd651u72vp3f~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_suuti24j47vesffndm8hkd651u72vp3f~mv2.jpg\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-16T08:56:10.000Z\",", - " * \"_id\": \"w8ide0_9yvsg5vv40flojo0120h0rz6ki4g0tur.zip\",", - " * \"_updatedDate\": \"2023-07-16T08:56:10.000Z\",", - " * \"displayName\": \"file1.zip\",", - " * \"hash\": \"urm9iak1w39pk381ucb9kqjphya8loro\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"archive\": {", - " * \"_id\": \"w8ide0_9yvsg5vv40flojo0120h0rz6ki4g0tur.zip\",", - " * \"filename\": \"file1.zip\",", - " * \"sizeInBytes\": \"49546083\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/archives/w8ide0_9yvsg5vv40flojo0120h0rz6ki4g0tur.zip\"", - " * }", - " * },", - " * \"mediaType\": \"ARCHIVE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"49546083\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/48c4fbc47d7298cd4406936294b4c532.png\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/archives/w8ide0_9yvsg5vv40flojo0120h0rz6ki4g0tur.zip\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ], - "extra": { - "description": "When no `rootFolder` is specified in the options parameter, the search returns results from the root folder." - } - }, - { - "title": "Search files with options ", + "title": "searchFiles example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample searchOptions value:", - " * {", - " * mediaTypes: ['IMAGE', 'ARCHIVE'],", - " * search: 'river'", - " * }", - " */", - "", - "async function mySearchFilesFunction(searchOptions) {", - " try {", - " const elevatedSearchFiles = elevate(files.searchFiles);", - " const searchFiles = await elevatedSearchFiles(searchOptions);", - "", - " console.log('Search files result:', searchFiles);", - " return searchFiles;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to: ", - " * {", - " * \"files\": [", - " * {", - " * \"_createdDate\": \"2023-07-16T08:54:05.000Z\",", - " * \"_id\": \"w8ide0_j18vyi43l4adwd81tpioxumkojv3dg78~mv2.jpg\",", - " * \"_updatedDate\": \"2023-07-19T08:43:58.000Z\",", - " * \"displayName\": \"river\",", - " * \"hash\": \"xa8k1btltmtn0nimi7a2diwdxd4aujku\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [", - " * \"mountain stream\",", - " * \"fresh water\",", - " * \"river bank\",", - " * \"natural scenery\"", - " * ],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 41,", - " * \"g\": 41,", - " * \"r\": 24", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 135,", - " * \"g\": 105,", - " * \"r\": 62", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 195,", - " * \"g\": 154,", - " * \"r\": 105", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 230,", - " * \"g\": 190,", - " * \"r\": 141", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 96,", - " * \"g\": 77,", - " * \"r\": 44", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 144,", - " * \"g\": 135,", - " * \"r\": 99", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 64,", - " * \"g\": 106,", - " * \"r\": 64", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 178,", - " * \"g\": 131,", - " * \"r\": 80", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 230,", - " * \"r\": 185", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 75,", - " * \"g\": 145,", - " * \"r\": 97", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 41,", - " * \"g\": 41,", - " * \"r\": 24", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/w8ide0_j18vyi43l4adwd81tpioxumkojv3dg78~mv2.jpg/river#originWidth=5760&originHeight=3840\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"3677628\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/w8ide0_j18vyi43l4adwd81tpioxumkojv3dg78~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/w8ide0_j18vyi43l4adwd81tpioxumkojv3dg78~mv2.jpg\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-07-16T08:56:10.000Z\",", - " * \"_id\": \"w8ide0_r047t3x8bm46vlx5n1aeha1bdd7g4u1y.zip\",", - " * \"_updatedDate\": \"2023-07-20T07:16:55.000Z\",", - " * \"displayName\": \"riverpics\",", - " * \"hash\": \"3vx3d37vf3j2ttxp61ax7wlt0iox58nh\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [],", - " * \"media\": {", - " * \"archive\": {", - " * \"_id\": \"w8ide0_r047t3x8bm46vlx5n1aeha1bdd7g4u1y.zip\",", - " * \"filename\": \"riverpics\",", - " * \"sizeInBytes\": \"49546083\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/archives/w8ide0_r047t3x8bm46vlx5n1aeha1bdd7g4u1y.zip\"", - " * }", - " * },", - " * \"mediaType\": \"ARCHIVE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"media-root\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"49546083\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/48c4fbc47d7298cd4406936294b4c532.png\",", - " * \"url\": \"https://3ecba886-4267-11ee-be56-0242ac120002.usrfiles.com/archives/w8ide0_r047t3x8bm46vlx5n1aeha1bdd7g4u1y.zip\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ], - "extra": { - "description": "When no `rootFolder` is specified in the options parameter, the search returns results from the root folder." - } - }, - { - "title": "Bulk delete all files found in a chosen folder ", - "body": [ - "/****************************************", - " * Backend code - bulk-delete-files.jsw *", - " ***************************************/", - "", - "import { files } from 'wix-business-tools.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function deleteFiles (fileIds, options) {", - " try {", - " const elevatedBulkDeleteFiles = elevate(files.bulkDeleteFiles) ", - " await elevatedBulkDeleteFiles(fileIds, options); ", - "", - " console.log(`Permanently deleted files with ids: ${fileIds.toString()}.`);", - " return true;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function searchFileIds (parentFolderId) {", - " try {", - " const options = { parentFolder: parentFolderId}", - " const elevatedSearchFiles = elevate(files.searchFiles) ", - " const returnedFiles = await elevatedSearchFiles(options); ", - "", - " const fileIds = returnedFiles.map((file) => {", - " return file._id", - " });", - "", - " return fileIds;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { deleteFiles, searchFileIds } from 'backend/bulk-delete-files';", - "", - "$w.onReady(() => {", - " $w('#delete').onClick(async () => {", - " const isDeletePermanently = $w('#deletePermanently').checked;", - " const options = {permanent: isDeletePermanently};", - "", - " const parentFolder = $w('#parentFolder').value;", - " const fileIds = await searchFileIds(parentFolder);", - "", - " await deleteFiles(fileIds, options);", - " $w('#successMessage').show();", - " });", - "});" - ], - "extra": { - "description": "This code shows a page where the visitor chooses a folder by typing the folder's name in an input box, and then all the files in the chosen folder are deleted. Only visitors with permission to manage the site's media would have access to this page." - } + " ", + " async function searchFiles(options) {", + " try {", + " const result = await files.searchFiles(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " + ] } ] }, @@ -3301,9 +999,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "searchFiles", - "isAdminMethod": true + ] }, { "name": "updateFileDescriptor", @@ -3340,398 +1036,37 @@ "nativeType": "Promise", "typeParams": [ { - "referenceType": "wix-media-v2.Files.FileDescriptor" + "referenceType": "wix-media-v2.Files.UpdateFileDescriptorResponse" } ] } } ], - "doc": "Information about the updated file.\n" + "doc": null }, "docs": { - "summary": "Updates a file.", + "summary": "Updates a file.
", "description": [ - "The `updateFileDescriptor()` function returns a Promise that resolves to the updated file's descriptor.\n\nYou can use the `parentFolderId` parameter to move a file from its current folder to a different folder." + "You can use the `parentFolderId` parameter to move a file from its current folder to a different folder." ], "examples": [ { - "title": "Update a file's location", + "title": "updateFileDescriptor example", "body": [ "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample id value: 'd4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg'", - " *", - " * Sample file value:", - " * {", - " * parentFolderId: 'b2bc72834460412494c93617d88b8c89'", - " * }", - " */", - "", - "async function myUpdateFileDescriptorFunction(id, file) {", - " try {", - " const elevatedUpdateFileDescriptor = elevate(files.updateFileDescriptor);", - " const updatedDescriptor = await elevatedUpdateFileDescriptor(id, file);", - "", - " console.log(\"Updated:\", updatedDescriptor);", - " return updatedDescriptor;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"_createdDate\": \"2023-08-09T08:45:50.000Z\",", - " * \"_id\": \"d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg\",", - " * \"_updatedDate\": \"2023-09-10T09:53:50.000Z\",", - " * \"displayName\": \"river.jpg\",", - " * \"hash\": \"2f2a61275002b90e6e8fa1be4674c4a7\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [", - " * \"mountain stream\",", - " * \"clear stream\",", - " * \"flowing water\",", - " * \"mountain torrent\",", - " * \"free-flowing\",", - " * \"streams\",", - " * \"running water\",", - " * \"downstream\",", - " * \"watercourse\",", - " * \"stream\",", - " * \"riverbed\",", - " * \"freshwater\",", - " * \"landscape photograph\",", - " * \"motion blur\",", - " * \"fresh water\",", - " * \"river bank\",", - " * \"torrent\",", - " * \"flow into\",", - " * \"landscape photography\",", - " * \"natural scenery\"", - " * ],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 41,", - " * \"g\": 41,", - " * \"r\": 24", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 135,", - " * \"g\": 105,", - " * \"r\": 62", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 195,", - " * \"g\": 154,", - " * \"r\": 105", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 230,", - " * \"g\": 190,", - " * \"r\": 141", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 96,", - " * \"g\": 77,", - " * \"r\": 44", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 144,", - " * \"g\": 135,", - " * \"r\": 99", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 64,", - " * \"g\": 106,", - " * \"r\": 64", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 178,", - " * \"g\": 131,", - " * \"r\": 80", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 230,", - " * \"r\": 185", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 75,", - " * \"g\": 145,", - " * \"r\": 97", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 41,", - " * \"g\": 41,", - " * \"r\": 24", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg/river.jpg#originWidth=5760&originHeight=3840\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"b2bc72834460412494c93617d88b8c89\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"3677628\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg\"", - " * }", - " */" - ] - }, - { - "title": "Update a file's display name and labels ", - "body": [ - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample id value: 'd4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg'", - " *", - " * Sample file value:", - " * {", - " * displayName: 'river',", - " * labels: ['water', 'flowing', 'nature']", - " * }", - " */", - "", - "async function myUpdateFileDescriptorFunction(id, file) {", - " try {", - " const elevatedUpdateFileDescriptor = elevate(files.updateFileDescriptor);", - " const updatedDescriptor = await elevatedUpdateFileDescriptor(id, file);", - "", - " console.log(\"Updated:\", updatedDescriptor);", - " return updatedDescriptor;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"_createdDate\": \"2023-08-09T08:45:50.000Z\",", - " * \"_id\": \"d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg\",", - " * \"_updatedDate\": \"2023-08-14T09:48:28.000Z\",", - " * \"displayName\": \"river\",", - " * \"hash\": \"2f2a61275002b90e6e8fa1be4674c4a7\",", - " * \"internalTags\": [", - " * \"_fileOrigin_uploaded\"", - " * ],", - " * \"labels\": [", - " * \"water\",", - " * \"flowing\",", - " * \"nature\"", - " * ],", - " * \"media\": {", - " * \"image\": {", - " * \"colors\": {", - " * \"palette\": [", - " * {", - " * \"rgb\": {", - " * \"b\": 41,", - " * \"g\": 41,", - " * \"r\": 24", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 135,", - " * \"g\": 105,", - " * \"r\": 62", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 195,", - " * \"g\": 154,", - " * \"r\": 105", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 230,", - " * \"g\": 190,", - " * \"r\": 141", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 96,", - " * \"g\": 77,", - " * \"r\": 44", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 144,", - " * \"g\": 135,", - " * \"r\": 99", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 64,", - " * \"g\": 106,", - " * \"r\": 64", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 178,", - " * \"g\": 131,", - " * \"r\": 80", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 247,", - " * \"g\": 230,", - " * \"r\": 185", - " * }", - " * },", - " * {", - " * \"rgb\": {", - " * \"b\": 75,", - " * \"g\": 145,", - " * \"r\": 97", - " * }", - " * }", - " * ],", - " * \"prominent\": {", - " * \"rgb\": {", - " * \"b\": 41,", - " * \"g\": 41,", - " * \"r\": 24", - " * }", - " * }", - " * },", - " * \"faces\": [],", - " * \"image\": \"wix:image://v1/d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg/river#originWidth=5760&originHeight=3840\"", - " * }", - " * },", - " * \"mediaType\": \"IMAGE\",", - " * \"operationStatus\": \"READY\",", - " * \"parentFolderId\": \"b2bc72834460412494c93617d88b8c89\",", - " * \"private\": false,", - " * \"siteId\": \"3ecba886-4267-11ee-be56-0242ac120002\",", - " * \"sizeInBytes\": \"3677628\",", - " * \"state\": \"OK\",", - " * \"thumbnailUrl\": \"https://static.wixstatic.com/media/d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg\",", - " * \"url\": \"https://static.wixstatic.com/media/d4dde1_0c8b26126ba94f3daee16d9e9be04f0c~mv2.jpg\"", - " * }", - " */", - "" + " ", + " async function updateFileDescriptor(id, file, options) {", + " try {", + " const result = await files.updateFileDescriptor(id, file, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] - }, - { - "title": "Update a file's display name from visitor input ", - "body": [ - "/**********************************", - " * Backend code - update-file.jsw *", - " *********************************/", - "", - "import { files } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function updateFile(fileId, file) {", - " try {", - " const elevatedUpdateFileDescriptor = elevate(files.updateFileDescriptor);", - " const updatedDescriptor = await elevatedUpdateFileDescriptor(fileId, file);", - "", - " return updatedDescriptor;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function listImages() {", - " const listOptions = {", - " mediaTypes: [\"IMAGE\"]", - " }", - "", - " try {", - " const elevatedListFiles = elevate(files.listFiles)", - " const images = await elevatedListFiles(listOptions);", - "", - " return images.files;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { updateFile, listImages } from 'backend/update-file';", - "", - "$w.onReady(async () => {", - " await populateImagesDropdown();", - "", - " $w('#update').onClick(async () => {", - " const imageId = $w('#imagesDropdown').value;", - "", - " const fileUpdates = {", - " displayName: $w('#newDisplayName').value", - " }", - "", - " const updatedLocation = await updateFile(imageId, fileUpdates);", - " console.log('Display name successfully updated to:', updatedLocation.displayName)", - " $w('#updateSuccessMsg').show();", - " });", - "});", - "", - "async function populateImagesDropdown() {", - " const images = await listImages();", - " const dropdownOptions = images.map((image) => {", - " return {", - " label: image.displayName,", - " value: image._id", - " };", - " });", - "", - " $w('#imagesDropdown').options = dropdownOptions;", - "};", - "" - ], - "extra": { - "description": "This code uses the visitor's input on the page to update the display name of an image which they choose from a dropdown list on the page." - } } ] }, @@ -3740,52 +1075,10 @@ { "id": "maturity-beta" } - ], - "syntaxName": "updateFileDescriptor", - "isAdminMethod": true + ] } ], "messages": [ - { - "name": "ApplicationError", - "members": [ - { - "name": "code", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Error code." - }, - { - "name": "data", - "optional": true, - "type": [ - { - "nativeType": "Object" - } - ], - "doc": "Data related to the error." - }, - { - "name": "description", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Description of the error." - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "Archive", "members": [ @@ -3886,80 +1179,40 @@ "nativeType": "number" } ], - "doc": "Audio bitrate." - }, - { - "name": "duration", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Audio duration in seconds." + "doc": "Audio bitrate. Optional." }, { - "name": "format", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Audio format." - }, - { - "name": "sizeInBytes", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Audio size in bytes." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkActionMetadata", - "members": [ - { - "name": "totalFailures", + "name": "duration", + "readOnly": true, "optional": true, "type": [ { "nativeType": "number" } ], - "doc": "Number of items that couldn't be processed." + "doc": "Audio duration in seconds. Optional." }, { - "name": "totalSuccesses", + "name": "format", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of items that were successfully processed." + "doc": "Audio format. Optional." }, { - "name": "undetailedFailures", + "name": "sizeInBytes", + "readOnly": true, "optional": true, "type": [ { - "nativeType": "number" + "nativeType": "string" } ], - "doc": "Number of failures without details because detailed failure threshold was exceeded." + "doc": "Audio size in bytes. Optional." } ], "docs": { @@ -4033,129 +1286,6 @@ ] } }, - { - "name": "BulkImportFileOptions", - "members": [ - { - "name": "returnEntity", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether to include the imported File Descriptor in the response. Set to `false` to exclude the File Descriptor from the returned object.\n\nDefault: `true`\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkImportFileRequest", - "members": [ - { - "name": "importFileRequests", - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Files.ImportFileRequest" - } - ] - } - } - ], - "doc": "Information about the files to import." - }, - { - "name": "returnEntity", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether to include the imported File Descriptor in the response. Set to `false` to exclude the File Descriptor from the returned object.\n\nDefault: `true`\n" - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkImportFileResponse", - "members": [ - { - "name": "bulkActionMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Files.BulkActionMetadata" - } - ], - "doc": "Bulk action metadata." - }, - { - "name": "results", - "optional": true, - "type": [ - { - "complexType": { - "nativeType": "Array", - "typeParams": [ - { - "referenceType": "wix-media-v2.Files.BulkImportFileResult" - } - ] - } - } - ], - "doc": "Items created by bulk action." - } - ], - "docs": { - "description": [ - "" - ] - } - }, - { - "name": "BulkImportFileResult", - "members": [ - { - "name": "item", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Files.FileDescriptor" - } - ], - "doc": "Imported file. This field is returned if the operation was successful and `returnEntity` is not set to `false`." - }, - { - "name": "itemMetadata", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Files.ItemMetadata" - } - ], - "doc": "Item metadata." - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "BulkImportFilesRequest", "members": [ @@ -4449,7 +1579,7 @@ } } ], - "doc": "External IDs to pass in the File Ready or File Failed events." + "doc": "External IDs to pass in the [File Ready](https://dev.wix.com/api/rest/media/media-manager/files/file-ready-domain-event) or [File Failed](https://dev.wix.com/api/rest/media/media-manager/files/file-failed-domain-event) events." }, { "name": "origin", @@ -4459,7 +1589,7 @@ "nativeType": "string" } ], - "doc": "External information to pass in the File Ready or File Failed events." + "doc": "External information to pass in the [File Ready](https://dev.wix.com/api/rest/media/media-manager/files/file-ready-domain-event) or [File Failed](https://dev.wix.com/api/rest/media/media-manager/files/file-failed-domain-event) events." } ], "docs": { @@ -4833,7 +1963,6 @@ "document", "image", "model3d", - "other", "vector", "video" ] @@ -4986,16 +2115,6 @@ ], "doc": "Keys for downloading different assets (format and quality) of a file.\nDefault: `src`, key representing the original file's format and quality." }, - { - "name": "contentDisposition", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Whether the link downloads the file or opens the file in the browser.\n\n- `ATTACHMENT`: The link downloads the file.\n- `INLINE`: The link opens the file in the browser.\n\nDefault: `ATTACHMENT`\n" - }, { "name": "downloadFileName", "optional": true, @@ -5053,16 +2172,6 @@ ], "doc": "Keys for downloading different assets (format and quality) of a file.\nDefault: `src`, key representing the original file's format and quality." }, - { - "name": "contentDisposition", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Whether the link downloads the file or opens the file in the browser.\n\n- `ATTACHMENT`: The link downloads the file.\n- `INLINE`: The link opens the file in the browser.\n\nDefault: `ATTACHMENT`\n" - }, { "name": "downloadFileName", "optional": true, @@ -5188,7 +2297,6 @@ }, { "name": "sizeInBytes", - "readOnly": true, "optional": true, "type": [ { @@ -5275,7 +2383,6 @@ }, { "name": "sizeInBytes", - "readOnly": true, "optional": true, "type": [ { @@ -5403,7 +2510,6 @@ }, { "name": "sizeInBytes", - "readOnly": true, "optional": true, "type": [ { @@ -5490,7 +2596,6 @@ }, { "name": "sizeInBytes", - "readOnly": true, "optional": true, "type": [ { @@ -5762,50 +2867,9 @@ ] } }, - { - "name": "IdentityInfo", - "members": [ - { - "name": "identityId", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "User Id. empty when UNKNOWN" - }, - { - "name": "identityType", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The type of the user that uploaded the file" - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "ImageMedia", "members": [ - { - "name": "caption", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Optional, An AI generated description of the image" - }, { "name": "colors", "optional": true, @@ -6103,56 +3167,6 @@ ] } }, - { - "name": "ItemMetadata", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "Item ID. Should always be available, unless it's impossible (for example, when failing to create an item)." - }, - { - "name": "error", - "optional": true, - "type": [ - { - "referenceType": "wix-media-v2.Files.ApplicationError" - } - ], - "doc": "Details about the error in case of failure." - }, - { - "name": "originalIndex", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Index of the item within the request array. Allows for correlation between request and response items." - }, - { - "name": "success", - "optional": true, - "type": [ - { - "nativeType": "boolean" - } - ], - "doc": "Whether the requested action was successful for this item. When `false`, the `error` field is populated." - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "ListDeletedFilesOptions", "members": [ @@ -6211,7 +3225,7 @@ "referenceType": "wix-media-v2.Files.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n\n- `displayName`\n- `_updatedDate`\n- `sizeInBytes`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -6238,7 +3252,7 @@ } } ], - "doc": "File media type.\nexcluding: OTHER media type" + "doc": "File media type." }, { "name": "paging", @@ -6278,7 +3292,7 @@ "referenceType": "wix-media-v2.Files.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n\n- `displayName`\n- `_updatedDate`\n- `sizeInBytes`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -6382,7 +3396,7 @@ "referenceType": "wix-media-v2.Files.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n\n- `displayName`\n- `_updatedDate`\n- `sizeInBytes`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -6409,7 +3423,7 @@ } } ], - "doc": "File media type.\nexcluding: OTHER media type" + "doc": "File media type." }, { "name": "paging", @@ -6449,7 +3463,7 @@ "referenceType": "wix-media-v2.Files.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n\n- `displayName`\n- `_updatedDate`\n- `sizeInBytes`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -6578,48 +3592,6 @@ ] } }, - { - "name": "OtherMedia", - "members": [ - { - "name": "_id", - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "WixMedia ID. for use with Site Media APIs only" - }, - { - "name": "internalMediaType", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "The media type of the file: 'site_icon', 'swf', 'package', 'ufont'" - }, - { - "name": "sizeInBytes", - "readOnly": true, - "optional": true, - "type": [ - { - "nativeType": "string" - } - ], - "doc": "size in bytes. Optional." - } - ], - "docs": { - "description": [ - "" - ] - } - }, { "name": "PagingMetadataV2", "members": [ @@ -6632,16 +3604,6 @@ } ], "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, - { - "name": "total", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Total number of items that match the query." } ], "docs": { @@ -6688,7 +3650,7 @@ "nativeType": "boolean" } ], - "doc": "Whether the link to the imported file is public or private.\n\nDefault: `false`.\n" + "doc": "Whether the link to the imported file is public or private." }, { "name": "rootFolder", @@ -6698,7 +3660,7 @@ "nativeType": "string" } ], - "doc": "A root folder in the media manager to search in.
\n\nSupported values: `\"MEDIA_ROOT\"`, `\"TRASH_ROOT\"`, `\"VISITOR_UPLOADS_ROOT\"`\n\nDefault: `MEDIA_ROOT`.\n" + "doc": "A root folder in the media manager to search in.
\nDefault: `MEDIA_ROOT`." }, { "name": "search", @@ -6718,7 +3680,7 @@ "referenceType": "wix-media-v2.Files.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n\n- `displayName`\n- `_updatedDate`\n- `sizeInBytes`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -6745,7 +3707,7 @@ } } ], - "doc": "File media type.\nexcluding: OTHER media type" + "doc": "File media type." }, { "name": "paging", @@ -6795,7 +3757,7 @@ "referenceType": "wix-media-v2.Files.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n\n- `displayName`\n- `_updatedDate`\n- `sizeInBytes`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { diff --git a/wix-media-v2/wix-media-v2/Files/guides/files-intro.md b/wix-media-v2/wix-media-v2/Files/guides/files-intro.md index 8a6586ff74..6258f78a6d 100644 --- a/wix-media-v2/wix-media-v2/Files/guides/files-intro.md +++ b/wix-media-v2/wix-media-v2/Files/guides/files-intro.md @@ -14,76 +14,23 @@ title: Introduction   - -The Files API allows you to manage files and generate file urls from your Media Manager. +With the Files API you can: +* Manage files in the Media Manager. +* Generate temporary URLS for: + * Streaming video files from the Media Manager. + * Downloading files from the Media Manager. + -With the Files API, you can: -- [Get](/wix-media-v2/files/getfiledescriptor), [list](/wix-media-v2/files/listfiles), and [search](/wix-media-v2/files/searchfiles) files. -- [Import](/wix-media-v2/files/importfile), [update](/wix-media-v2/files/updatefiledescriptor), and [delete](/wix-media-v2/files/bulkdeletefiles) files. -- [Restore](/wix-media-v2/files/bulkrestorefilesfromtrashbin) files from the trash bin. -- Generate URLs for: - - [Downloading files](/wix-media-v2/files/generatefiledownloadurl). - - [Downloading a compressed file](/wix-media-v2/files/generatefilesdownloadurl). - - [Uploading files](/wix-media-v2/files/generatefileuploadurl). - - [Uploading files larger than 10MB](/wix-media-v2/files/generatefileresumableuploadurl). - - [Streaming video files](/wix-media-v2/files/generatevideostreamingurl). +Learn more [about the Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) and how to access it. -## Before You Begin +> **Note:** +> This module is [universal](/api-overview/api-versions#universal-modules). Functions in this module can run on both the backend and frontend, unless specified otherwise. + To use the Files API, import `{ files }` from the `wix-media.v2` module: ```javascript import { files } from 'wix-media.v2'; ``` - -## Permissions information - -The following functions in Files are restricted and only run if you elevate permissions -using the `wix-auth` [`elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) -function: - -- [`bulkRestoreFilesFromTrashBin()`](wix-media-v2/files/bulkrestorefilesfromtrashbin) -- [`listDeletedFiles()`](wix-media-v2/files/listdeletedfiles) - - -
-

-Warning: -Elevating a function allows it to be called by any site visitor. -Exercise caution to prevent security vulnerabilities. -

-
- -## Terminology - -* **Generate File Download Url** vs. **Generate Files Download Url** - The Generate Files Download Url generates a permanent URL for downloading a compressed file containing specific files in the Media Manager. However, the [Generate File Download Url](wix-media-v2/files/generatefiledownloadurl) generates one or more temporary URLs for downloading a specific file in the Media Manager. You can use the `expirationInMinutes` parameter to set the URL expiration time, making it more secure than the [Generate Files Download Url](wix-media-v2/files/generatefilesdownloadurl). Therefore, to download private files, use the Generate File Download Url for each private file that you want to generate a download Url for, instead of the Generate Files Download Url. - -* **Generate File Resumable Upload Url** vs. **Generate File Upload Url** - The [Generate File Upload Url](wix-media-v2/files/generatefileuploadurl) generates an upload URL to allow external clients to upload a file to the Media Manager. However, any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, use the [Generate File Resumable Upload Url](wix-media-v2/files/generatefileresumableuploadurl) instead. With the resumable upload URL, any interruption in the upload process pauses the file upload, and resumes the file upload process after the interruption. - - **Using the generated upload and resumable upload URLs** - When you get the `uploadUrl` response from Generate File Upload Url, learn how you can use it to [upload a file to the Media Manager](wix-media-v2/files/upload-api). When you get the `uploadUrl` response from Generate File Resumable Upload Url, learn how you can use it to [resumably upload a file to the Media Manager](wix-media-v2/files/resumable-upload-api). - - -* **File Assets** Wix Media files are optimized for web use. When a file is imported or uploaded to the Media Manager, it is processed and may produce several variations of the file for use in different circumstances. - For example: - * A video file can have different resolutions and formats. - * An audio file can have different formats and qualities. - * Video or audio files can have a preview asset containing only a portion of the file. - - With the [Generate File Download Url](wix-media-v2/files/generatefiledownloadurl), you can use the `assetKeys` parameter to download different assets of a file. - -* **Media Types:** Supported media types include the following: - * Image - * Video - * Audio - * Document - * Vector - * Archive - * Model 3D - Learn more about [media file types and size limits](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes). \ No newline at end of file diff --git a/wix-media-v2/wix-media-v2/Folders.service.json b/wix-media-v2/wix-media-v2/Folders.service.json index 5dfbb2b0ec..40b396aa71 100644 --- a/wix-media-v2/wix-media-v2/Folders.service.json +++ b/wix-media-v2/wix-media-v2/Folders.service.json @@ -36,7 +36,7 @@ "referenceType": "wix-media-v2.Folders.BulkDeleteFoldersOptions" } ], - "doc": "Options to use when deleting folders.", + "doc": "Options to use when deleting folders.\n", "required": false } ], @@ -61,157 +61,26 @@ "docs": { "summary": "Temporarily deletes the specified folders from the Media Manager.", "description": [ - "The `bulkDeleteFolders()` function returns a Promise that resolves when the folders are deleted.\n\nThe deleted folders are moved to the Media Manager's `TRASH_ROOT` folder (trash bin) unless permanently deleted. To permanently delete folders, pass the `permanent` parameter with the value `true`. Permanently deleting folders isn't reversible, so make sure that the files in these folders aren't being used in a site or in any other way as the files will no longer be accessible.\n\n>**Notes:**\n> - When a folder is deleted, the files in that folder are deleted.\n> - The specified folders can be from different parent folders.\n> - Moving multiple folders at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.\n> - Attempting to delete folders that are already in the trash bin doesn't result in an error.\n> - If your site contains files from a non-permanently deleted media folder, the files still appear on your site as the deleted folder is still in the Media Manager (in the trash bin).\n> - You can use the `bulkRestoreFoldersFromTrashBin()` endpoint to restore folders from the Media Manager's trash bin." + "The deleted folders are moved to the Media Manager's `trash-root` folder (trash bin) unless permanently deleted. To permanently delete folders, pass the `permanent` parameter with the value `true`. Permanently deleting folders isn't reversible, so make sure that the files in these folders aren't being used in a site or in any other way as the files will no longer be accessible.\n\nNote the following:\n* When a folder is deleted, the files in that folder are deleted.\n* The specified folders can be from different parent folders.\n* Moving multiple folders at once is an asynchronous action, and may take time for the changes to appear in the Media Manager.\n* Attempting to delete folders that are already in the trash bin doesn't result in an error.\n* If your site contains files from a deleted media folder, the files still appear on your site as the deleted folder is still in the Media Manager (in the trash bin).\n* You can use the [Bulk Restore Folders From Trash Bin](https://www.wix.com/velo/reference/wix-media-v2/folders/bulkrestorefoldersfromtrashbin) endpoint to restore folders from the Media Manager's trash bin.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Bulk delete folders ", + "title": "bulkDeleteFolders example", "body": [ "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample folderIds value:", - " * [ ", - " * '302fc049d70c41dea33fa4a27ab481ba',", - " * 's8ze556gf8wfao3us62nx25ww3lr595a'", - " * ] ", - " */", - "", - "async function myBulkDeleteFoldersFunction(folderIds) {", - " try {", - " const elevatedBulkDeleteFolders = elevate(folders.bulkDeleteFolders);", - " const deletedFolders = await elevatedBulkDeleteFolders(folderIds);", - "", - " console.log('Successfully moved folders to trash.');", - " return deletedFolders;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to void */" - ] - }, - { - "title": "Bulk permanently delete folders ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample folderIds value:", - " * [ ", - " * '302fc049d70c41dea33fa4a27ab481ba',", - " * 's8ze556gf8wfao3us62nx25ww3lr595a',", - " * 'c956d69906414e7faf8a0ad81117b17d'", - " * ]", - " * ", - " * Sample options value:", - " * {", - " * permanent: true", - " * }", - " */", - "", - "async function myBulkDeleteFoldersFunction(folderIds, options) {", - " try {", - " const elevatedBulkDeleteFolders = elevate(folders.bulkDeleteFolders);", - " const deletedFolders = await elevatedBulkDeleteFolders(folderIds, options);", - "", - " console.log('Successfully permanently deleted files.');", - " return deletedFolders;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to void */" - ] - }, - { - "title": "Bulk delete all folders ", - "body": [ - "/**************************************", - " * Backend code - delete-folders.jsw *", - " *************************************/", - "", - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function deleteFolders(folderIds) {", - " try {", - " const elevatedBulkDeleteFolders = elevate(folders.bulkDeleteFolders);", - " const deletedFolders = await elevatedBulkDeleteFolders(folderIds);", - "", - " console.log('Successfully moved folders to trash.');", - " return deletedFolders;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function listFolders() {", - " try {", - " const elevatedListFolders = elevate(folders.listFolders)", - " const foldersList = await elevatedListFolders();", - "", - " return foldersList;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function searchFolders(options) {", - " try {", - " const elevatedSearchFolders = elevate(folders.searchFolders)", - " const foldersFound = await elevatedSearchFolders(options);", - "", - " return foldersFound;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { deleteFolders, listFolders, searchFolders } from 'backend/delete-folders';", - "", - "$w.onReady(async () => {", - " await populateFoldersDropdown();", - "", - " $w('#bulkDelete').onClick(async () => {", - " const searchOptions = { rootFolder: $w('#foldersDropdown').value};", - "", - " const foldersToDelete = await searchFolders(searchOptions);", - " const foldersIdsToDelete = foldersToDelete.map((folder) => {", - " return folder._id;", - " });", - " await deleteFolders(foldersIdsToDelete);", - "", - " console.log(`Successfully deleted all folders found in ${$w('#foldersDropdown').label}.`)", - " $w('#bulkDeleteSuccessMsg').show();", - " });", - "});", - "", - "async function populateFoldersDropdown() {", - " const folders = await listFolders();", - " const dropdownOptions = folders.map((folder) => {", - " return {", - " label: folder.displayName,", - " value: folder._id", - " };", - " });", - "", - " $w('#foldersDropdown').options = dropdownOptions;", - "};", + " ", + " async function bulkDeleteFolders(folderIds, options) {", + " try {", + " const result = await folders.bulkDeleteFolders(folderIds, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then deletes all folders found within that folder." - } + ] } ] }, @@ -220,9 +89,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "bulkDeleteFolders", - "isAdminMethod": true + ] }, { "name": "bulkRestoreFoldersFromTrashBin", @@ -264,83 +131,24 @@ "doc": null }, "docs": { - "summary": "Restores the specified folders from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.", - "description": [ - "The `bulkRestoreFoldersFromTrashBin()` function returns a Promise that resolves when the folders have been restored." - ], + "summary": "Restores the specified folders from the Media Manager's trash bin, and moves them to their original locations in the Media Manager.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", + "description": [], "examples": [ { - "title": "Bulk restore (non-permanently deleted) folders ", + "title": "bulkRestoreFoldersFromTrashBin example", "body": [ "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample folderIds value:", - " * [", - " * 'd4051a6890724365a78678a6208ac37e',", - " * '302fc049d70c41dea33fa4a27ab481ba'", - " * ]", - " */", - "", - "async function myBulkRestoreFoldersFromTrashBinFunc(folderIds) {", - " try {", - " const elevatedBulkRestoreFoldersFromTrashBin = elevate(folders.bulkRestoreFoldersFromTrashBin);", - " const restoredFolders = await elevatedBulkRestoreFoldersFromTrashBin(folderIds);", - "", - " console.log('Restored deleted folders:', restoredFolders);", - " return restoredFolders;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - " /* Promise resolves to void */" - ] - }, - { - "title": "Bulk restore all folders from the trash bin", - "body": [ - "/**************************************", - " * Backend code - restore-folders.jsw *", - " *************************************/", - "", - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function restoreAllFolders() {", - " try {", - " const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);", - " const deletedFolders = await elevatedListDeletedFolders();", - "", - " const deletedFolderIds = deletedFolders.map((folder) => {", - " return folder._id;", - " });", - " ", - " const elevatedBulkRestoreFoldersFromTrashBin = elevate(folders.bulkRestoreFoldersFromTrashBin);", - " const restoredFolders = await elevatedBulkRestoreFoldersFromTrashBin(deletedFolderIds);", - "", - " return restoredFolders;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { restoreAllFolders } from 'backend/restore-folders';", - "", - "$w.onReady(async () => {", - " $w('#restoreAll').onClick(async () => {", - " const restoredFolders = await restoreAllFolders();", - "", - " console.log('Restored all folders:', restoredFolders);", - " $w('#bulkRestoreSuccessMsg').show();", - " });", - "});", + " ", + " async function bulkRestoreFoldersFromTrashBin(folderIds) {", + " try {", + " const result = await folders.bulkRestoreFoldersFromTrashBin(folderIds);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " ] } @@ -351,9 +159,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "bulkRestoreFoldersFromTrashBin", - "isAdminMethod": true + ] }, { "name": "createFolder", @@ -375,7 +181,7 @@ "referenceType": "wix-media-v2.Folders.CreateFolderOptions" } ], - "doc": "Options for specifying where to create a folder.", + "doc": "Options for specifying where to create a folder.\n", "required": false } ], @@ -400,118 +206,26 @@ "docs": { "summary": "Creates a new folder in the Media Manager.", "description": [ - "The `createFolder()` function returns a Promise that resolves to the created folder.\n\nUse the `parentFolderId` parameter to specify in which existing folder you want the new folder to be created.\nIf no folder is specified, the new folder is created in the `media-root` folder." + "Use the `parentFolderId` parameter to specify in which existing folder you want the new folder to be created.\nIf no folder is specified, the new folder is created in the `media-root` folder.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Create a folder ", + "title": "createFolder example", "body": [ "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "", - "/* Sample displayName value: 'Vector Art'", - " * ", - " * Sample options value:", - " * {", - " * parentFolderId: 'b2bc72834460412494c93617d88b8c89'", - " * }", - " */", - "", - "async function myCreateFolderFunction(displayName, options) {", - " try {", - " const elevateCreateFolder = elevate(folders.createFolder);", - " const newFolder = await elevateCreateFolder(displayName, options);", - "", - " console.log('Created folder successfully:', newFolder);", - " return newFolder;", - " } catch (err){", - " console.error(err);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folder\": {", - " * \"_createdDate\": \"2023-08-14T08:05:03.000Z\",", - " * \"_id\": \"128833f888ea4846bbfbe8f164f3c6b5\",", - " * \"_updatedDate\": \"2023-08-14T08:05:03.000Z\",", - " * \"displayName\": \"Vector Art\",", - " * \"parentFolderId\": \"b2bc72834460412494c93617d88b8c89\",", - " * \"state\": \"OK\"", - " * }", - " * }", - " */" - ] - }, - { - "title": "Create a folder from visitor input ", - "body": [ - "/************************************", - " * Backend code - create-folder.jsw *", - " ***********************************/", - "", - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function listFolders() {", - " try {", - " const elevatedListFolders = elevate(folders.listFolders)", - " const foldersList = await elevatedListFolders();", - "", - " return foldersList;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "async function createFolder(displayName, options) {", - " try {", - " const elevateCreateFolder = elevate(folders.createFolder);", - " const newFolder = await elevateCreateFolder(displayName, options);", - "", - " return newFolder;", - " } catch (err){", - " console.error(err);", - " }", - "}", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { createFolder, listFolders } from 'backend/create-folder';", - "", - "$w.onReady(async () => {", - " await populateFoldersDropdown();", - "", - " $w('#createFolder').onClick(async () => {", - " const folderName = $w('folderName').value;", - " const createOptions = {parentFolderId: $w('foldersDropdown').value};", - " const newFolder = await createFolder(folderName, createOptions);", - "", - " console.log(`Successfully created new folder \"${folderName}\" in ${$w('#foldersDropdown').label}.`)", - " $w('#createdFolderSuccessMsg').show();", - " });", - "});", - "", - "async function populateFoldersDropdown() {", - " const folders = await listFolders();", - " const dropdownOptions = folders.map((folder) => {", - " return {", - " label: folder.displayName,", - " value: folder._id", - " };", - " });", - "", - " $w('#foldersDropdown').options = dropdownOptions;", - "};", + " ", + " async function createFolder(displayName, options) {", + " try {", + " const result = await folders.createFolder(displayName, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then creates a folder within that folder." - } + ] } ] }, @@ -520,9 +234,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "createFolder", - "isAdminMethod": true + ] }, { "name": "generateFolderDownloadUrl", @@ -559,102 +271,26 @@ "docs": { "summary": "Generates a URL for downloading a compressed file containing a specific folder in the Media Manager.", "description": [ - "The `generateFolderDownloadUrl()` function returns a Promise that resolves to a download URL.\n\nThe compressed file can contain sub-folders, and up to 1000 files." + "The compressed file can contain sub-folders, and up to 1000 files.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Generate a folder download url ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function generateFolderDownloadUrl(folderId) {", - " try {", - " const elevatedGenerateFolderDownloadUrl = elevate(folders.generateFolderDownloadUrl);", - " const result = await elevatedGenerateFolderDownloadUrl(folderId);", - "", - " const folderDownloadUrl = result.downloadUrl;", - " return folderDownloadUrl;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"downloadUrl\": \"https://archive.wixmp.com/archive/wix/b367fe21877e4ef589cde5352a3a04af\"", - " * }", - " */" - ] - }, - { - "title": "Generate a folder download url for a chosen folder ", + "title": "generateFolderDownloadUrl example", "body": [ - "/***************************************************", - " * Backend code - generate-folder-download-url.jsw *", - " **************************************************/", - "", "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function listFolders() {", - " try {", - " const elevatedListFolders = elevate(folders.listFolders)", - " const foldersList = await elevatedListFolders();", - "", - " return foldersList;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "async function generateDownloadUrl(folderId) {", - " try {", - " const elevatedGenerateFolderDownloadUrl = elevate(folders.generateFolderDownloadUrl);", - " const result = await elevatedGenerateFolderDownloadUrl(folderId);", " ", - " const folderDownloadUrl = result.downloadUrl;", - " return folderDownloadUrl;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { generateDownloadUrl, listFolders } from 'backend/generate-folder-download-url';", - "", - "$w.onReady(async () => {", - " await populateFoldersDropdown();", - "", - " $w('#downloadFolder').onClick(async () => {", - " const folderId = $w('foldersDropdown').value;", - " const downloadUrl = await generateDownloadUrl(folderId);", - "", - " $w('#downloadFolderBtn').link = downloadUrl;", - " $w('#downloadingFolderMsg').show();", - " });", - "});", - "", - "async function populateFoldersDropdown() {", - " const folders = await listFolders();", - " const dropdownOptions = folders.map((folder) => {", - " return {", - " label: folder.displayName,", - " value: folder._id", - " };", - " });", - "", - " $w('#foldersDropdown').options = dropdownOptions;", - "};", + " async function generateFolderDownloadUrl(folderId) {", + " try {", + " const result = await folders.generateFolderDownloadUrl(folderId);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then receives a folder download url for that folder." - } + ] } ] }, @@ -663,9 +299,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "generateFolderDownloadUrl", - "isAdminMethod": true + ] }, { "name": "getFolder", @@ -691,51 +325,34 @@ "nativeType": "Promise", "typeParams": [ { - "referenceType": "wix-media-v2.Folders.Folder" + "referenceType": "wix-media-v2.Folders.GetFolderResponse" } ] } } ], - "doc": "Information about the folder.\n" + "doc": null }, "docs": { - "summary": "Gets information from the specified folder in the Media Manager.", - "description": [ - "The `getFolder()` function returns a Promise that resolves to information about the specified folder." - ], + "summary": "Gets information from a specific folder in the Media Manager.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", + "description": [], "examples": [ { - "title": "Get a folder ", + "title": "getFolder example", "body": [ "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample folderId value: '30ed8f8a8f1e4a99b82c516cb212192f' */", - "", - "async function myGetFolderFunction(folderId) {", - " try {", - " const elevatedGetFolder = elevate(folders.getFolder);", - " const folder = await elevatedGetFolder(folderId);", - "", - " console.log('Successfully retrieved folder:', folder);", - " return folder;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"_createdDate\": \"2023-08-22T08:31:06.000Z\",", - " * \"_id\": \"30ed8f8a8f1e4a99b82c516cb212192f\",", - " * \"_updatedDate\": \"2023-08-22T08:31:06.000Z\",", - " * \"displayName\": \"test2\",", - " * \"parentFolderId\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"state\": \"OK\"", - " * }", - " */" + " ", + " async function getFolder(folderId) {", + " try {", + " const result = await folders.getFolder(folderId);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", + " " ] } ] @@ -745,9 +362,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "getFolder", - "isAdminMethod": true + ] }, { "name": "listDeletedFolders", @@ -759,7 +374,7 @@ "referenceType": "wix-media-v2.Folders.ListDeletedFoldersOptions" } ], - "doc": "Options to use when listing deleted folders from the trash bin.", + "doc": "Options to use when listing deleted folders from the trash bin.\n", "required": false } ], @@ -780,161 +395,24 @@ "doc": null }, "docs": { - "summary": "Retrieves a list of deleted folders from the trash bin.", - "description": [ - "The `listDeletedFolders()` function returns a Promise that resolves to information about the specified deleted folders and cursor information.\n\nTo retrieve a list of non-deleted folders, use the `listFolders()` function." - ], + "summary": "Retrieves a list of deleted folders from the trash bin.\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function.", + "description": [], "examples": [ { - "title": "List deleted folders ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function listDeletedFolders() {", - " try {", - " const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);", - " const deletedFolders = await elevatedListDeletedFolders();", - "", - " console.log(\"Deleted Folders:\", deletedFolders);", - " return deletedFolders;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folders\": [", - " * {", - " * \"_createdDate\": \"2023-08-21T09:32:47.000Z\",", - " * \"_id\": \"d4051a6890724365a78678a6208ac37e\",", - " * \"_updatedDate\": \"2023-08-21T09:32:47.000Z\",", - " * \"displayName\": \"family\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"state\": \"DELETED\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"_id\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"_updatedDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"displayName\": \"Videos\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"state\": \"DELETED\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "List deleted folders with sort ", + "title": "listDeletedFolders example", "body": [ "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample options value:", - " * {", - " * sort: {", - " * fieldName: 'displayName',", - " * order: 'ASC'", - " * }", - " * }", - " */", - "", - "async function listDeletedFolders(options) {", - " try {", - " const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);", - " const deletedFolders = await elevatedListDeletedFolders(options);", - "", - " console.log(\"Deleted folders, sorted alphabetically by name:\", deletedFolders);", - " return deletedFolders;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folders\": [", - " * {", - " * \"_createdDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"_id\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"_updatedDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"displayName\": \"Videos\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"state\": \"DELETED\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T09:32:47.000Z\",", - " * \"_id\": \"d4051a6890724365a78678a6208ac37e\",", - " * \"_updatedDate\": \"2023-08-21T09:32:47.000Z\",", - " * \"displayName\": \"family\",", - " * \"parentFolderId\": \"trash-root\",", - " * \"state\": \"DELETED\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "Bulk restore all folders from the trash bin", - "body": [ - "/**************************************", - " * Backend code - restore-folders.jsw *", - " *************************************/", - "", - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function restoreAllFolders() {", - " try {", - " const elevatedListDeletedFolders = elevate(folders.listDeletedFolders);", - " const deletedFolders = await elevatedListDeletedFolders();", - "", - " const deletedFolderIds = deletedFolders.map((folder) => {", - " return folder._id;", - " });", - " ", - " const elevatedBulkRestoreFoldersFromTrashBin = elevate(folders.bulkRestoreFoldersFromTrashBin);", - " const restoredFolders = await elevatedBulkRestoreFoldersFromTrashBin(deletedFolderIds);", - "", - " return restoredFolders;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { restoreAllFolders } from 'backend/restore-folders';", - "", - "$w.onReady(async () => {", - " $w('#restoreAll').onClick(async () => {", - " const restoredFolders = await restoreAllFolders();", - "", - " console.log('Restored all folders:', restoredFolders);", - " $w('#bulkRestoreSuccessMsg').show();", - " });", - "});", + " ", + " async function listDeletedFolders(options) {", + " try {", + " const result = await folders.listDeletedFolders(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " ] } @@ -945,9 +423,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "listDeletedFolders", - "isAdminMethod": true + ] }, { "name": "listFolders", @@ -959,7 +435,7 @@ "referenceType": "wix-media-v2.Folders.ListFoldersOptions" } ], - "doc": "Options to use when listing folders from the Media Manager.", + "doc": "Options to use when listing folders from the Media Manager.\n", "required": false } ], @@ -982,233 +458,26 @@ "docs": { "summary": "Retrieves a list of folders in the Media Manager.", "description": [ - "The `listFolders()` function returns a Promise that resolves to information about the specified folders and cursor information.\n\nTo retrieve a list of folders within a specific folder in the Media Manager, pass the specific folder's ID in the `parentFolderId` parameter. If no folder is specified, the endpoint retrieves only the list of folders within the root folder of the Media Manager.\n\nTo retrieve a list of (non-permanently) deleted folders, use the `listDeletedFolders()` function." + "To retrieve a list of folders within a specific folder in the Media Manager, pass the specific folder's ID in the `parentFolderId` parameter. If no folder is specified, the endpoint retrieves a list of folders within the root folder of the Media Manager.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "List folders ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function myListFoldersFunction()", - "{", - " try {", - " const elevatedListFolders = elevate(folders.listFolders);", - " const folders = await elevatedListFolders();", - "", - " console.log(\"Folders:\", folders);", - " return folders;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folders\": [", - " * {", - " * \"_createdDate\": \"2023-08-14T07:41:19.000Z\",", - " * \"_id\": \"103601562ec94214bee61f470b403dd5\",", - " * \"_updatedDate\": \"2023-08-14T07:41:19.000Z\",", - " * \"displayName\": \"Pictures\",", - " * \"parentFolderId\": \"media-root\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-14T07:38:31.000Z\",", - " * \"_id\": \"c956d69906414e7faf8a0ad81117b17d\",", - " * \"_updatedDate\": \"2023-08-14T07:38:31.000Z\",", - " * \"displayName\": \"Videos\",", - " * \"parentFolderId\": \"media-root\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-09T08:57:12.000Z\",", - " * \"_id\": \"b2bc72834460412494c93617d88b8c89\",", - " * \"_updatedDate\": \"2023-08-09T08:57:12.000Z\",", - " * \"displayName\": \"Documents\",", - " * \"parentFolderId\": \"media-root\",", - " * \"state\": \"OK\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "List 5 folders found in a parent folder, sorted alphabetically by name ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample options value:", - " * {", - " * paging: {", - " * limit: 5", - " * },", - " * parentFolderId : '103601562ec94214bee61f470b403dd5',", - " * sort : {", - " * fieldName : 'displayName',", - " * order : 'ASC'", - " * }", - " * }", - " */", - "", - "async function myListFoldersFunction(options)", - "{", - " try {", - " const result = await folders.listFolders(options);", - "", - " const folderList = result.folders;", - "", - " folderList.forEach(element => {", - " console.log(element.displayName);", - " });", - "", - " return result;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folders\": [", - " * {", - " * \"_createdDate\": \"2023-08-21T09:33:47.000Z\",", - " * \"_id\": \"0cfdf68ac3b9453b81cfe171caf40b0c\",", - " * \"_updatedDate\": \"2023-08-21T09:33:47.000Z\",", - " * \"displayName\": \"31-08\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T09:33:30.000Z\",", - " * \"_id\": \"193161aeef8f4b80b97d7032fb2c4f0a\",", - " * \"_updatedDate\": \"2023-08-21T11:09:58.000Z\",", - " * \"displayName\": \"Water\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T09:32:39.000Z\",", - " * \"_id\": \"4b9e2dd061de4f3e80e3ada23b0fb440\",", - " * \"_updatedDate\": \"2023-08-21T09:32:39.000Z\",", - " * \"displayName\": \"city\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T09:56:43.000Z\",", - " * \"_id\": \"6a86df2ce32c4d279c21fbdd2887c18b\",", - " * \"_updatedDate\": \"2023-08-21T09:56:43.000Z\",", - " * \"displayName\": \"docs1\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T09:33:10.000Z\",", - " * \"_id\": \"5d0625ed28494bf7938c03e9a21130ba\",", - " * \"_updatedDate\": \"2023-08-21T09:33:24.000Z\",", - " * \"displayName\": \"docs2\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T09:32:34.000Z\",", - " * \"_id\": \"7984b3c5454e4371acbd4f4eedde96bc\",", - " * \"_updatedDate\": \"2023-08-21T11:10:51.000Z\",", - " * \"displayName\": \"mountains\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "Create a folder from visitor input ", + "title": "listFolders example", "body": [ - "/************************************", - " * Backend code - create-folder.jsw *", - " ***********************************/", - "", "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function listFolders() {", - " try {", - " const elevatedListFolders = elevate(folders.listFolders)", - " const foldersList = await elevatedListFolders();", - "", - " return foldersList;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "async function createFolder(displayName, options) {", - " try {", - " const elevateCreateFolder = elevate(folders.createFolder);", - " const newFolder = await elevateCreateFolder(displayName, options);", - "", - " return newFolder;", - " } catch (err){", - " console.error(err);", - " }", - "}", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { createFolder, listFolders } from 'backend/create-folder';", - "", - "$w.onReady(async () => {", - " await populateFoldersDropdown();", - "", - " $w('#createFolder').onClick(async () => {", - " const folderName = $w('folderName').value;", - " const createOptions = {parentFolderId: $w('foldersDropdown').value};", - " const newFolder = await createFolder(folderName, createOptions);", - "", - " console.log(`Successfully created new folder \"${folderName}\" in ${$w('#foldersDropdown').label}.`)", - " $w('#createdFolderSuccessMsg').show();", - " });", - "});", - "", - "async function populateFoldersDropdown() {", - " const folders = await listFolders();", - " const dropdownOptions = folders.map((folder) => {", - " return {", - " label: folder.displayName,", - " value: folder._id", - " };", - " });", - "", - " $w('#foldersDropdown').options = dropdownOptions;", - "};", + " ", + " async function listFolders(options) {", + " try {", + " const result = await folders.listFolders(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then creates a folder within that folder." - } + ] } ] }, @@ -1217,9 +486,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "listFolders", - "isAdminMethod": true + ] }, { "name": "searchFolders", @@ -1231,7 +498,7 @@ "referenceType": "wix-media-v2.Folders.SearchFoldersOptions" } ], - "doc": "Options specifying which folders to search.", + "doc": "Options specifying which folders to search.\n", "required": false } ], @@ -1254,204 +521,26 @@ "docs": { "summary": "Searches the Media Manager and returns a list of folders that match the terms specified in the parameters.", "description": [ - "The `searchFolders()` function returns a Promise that resolves to information about the specified folders and cursor information.\n\nIf no parameters are specified, the function returns all folders in the `MEDIA_ROOT` folder." + "If no parameters are specified, the endpoint returns all folders in the `MEDIA_ROOT` folder.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Search folders ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "async function mySearchFoldersFunction() {", - " try {", - " const elevatedSearchFolders = elevate(folders.searchFolders);", - " const foldersFound = await elevatedSearchFolders();", - "", - " console.log(\"Folders found in search:\", foldersFound);", - " return foldersFound;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folders\": [", - " * {", - " * \"_createdDate\": \"2023-08-14T07:41:19.000Z\",", - " * \"_id\": \"103601562ec94214bee61f470b403dd5\",", - " * \"_updatedDate\": \"2023-08-21T11:09:08.000Z\",", - " * \"displayName\": \"Pictures\",", - " * \"parentFolderId\": \"media-root\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"_id\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"_updatedDate\": \"2023-08-21T05:34:03.000Z\",", - " * \"displayName\": \"Videos\",", - " * \"parentFolderId\": \"media-root\",", - " * \"state\": \"OK\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"\"", - " * },", - " * \"hasNext\": false", - " * }", - " * }", - " */" - ] - }, - { - "title": "Search for 2 folders by key-word, returned alphabetically ", - "body": [ - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample options value:", - " * {", - " * search: 'mountains',", - " * sort: {", - " * fieldName: 'updatedDate',", - " * order: 'ASC'", - " * },", - " * paging: {", - " * limit: 2", - " * }", - " * }", - " */", - "", - "async function mySearchFoldersFunction(options) {", - " try {", - " const elevatedSearchFolders = elevate(folders.searchFolders);", - " const foldersFound = await elevatedSearchFolders(options);", - "", - " console.log(\"Folders found in search:\", foldersFound);", - " return foldersFound;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"folders\": [", - " * {", - " * \"_createdDate\": \"2023-08-21T09:32:34.000Z\",", - " * \"_id\": \"7984b3c5454e4371acbd4f4eedde96bc\",", - " * \"_updatedDate\": \"2023-08-21T11:10:51.000Z\",", - " * \"displayName\": \"mountains\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * },", - " * {", - " * \"_createdDate\": \"2023-08-24T11:26:26.000Z\",", - " * \"_id\": \"742d4a0ee5884b119292d52ed964f14d\",", - " * \"_updatedDate\": \"2023-08-24T11:26:26.000Z\",", - " * \"displayName\": \"mountain_videos\",", - " * \"parentFolderId\": \"302fc049d70c41dea33fa4a27ab481ba\",", - " * \"state\": \"OK\"", - " * }", - " * ],", - " * \"nextCursor\": {", - " * \"cursors\": {", - " * \"next\": \"eyJ0b3RhbCI6IDEsICJvZmZzZXQiOiAyfQ==\"", - " * },", - " * \"hasNext\": true", - " * }", - " * }", - " */" - ] - }, - { - "title": "Bulk delete all folders ", + "title": "searchFolders example", "body": [ - "/**************************************", - " * Backend code - delete-folders.jsw *", - " *************************************/", - "", "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function deleteFolders(folderIds) {", - " try {", - " const elevatedBulkDeleteFolders = elevate(folders.bulkDeleteFolders);", - " const deletedFolders = await elevatedBulkDeleteFolders(folderIds);", - "", - " console.log('Successfully moved folders to trash.');", - " return deletedFolders;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function listFolders() {", - " try {", - " const elevatedListFolders = elevate(folders.listFolders)", - " const foldersList = await elevatedListFolders();", - "", - " return foldersList;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "export async function searchFolders(options) {", - " try {", - " const elevatedSearchFolders = elevate(folders.searchFolders)", - " const foldersFound = await elevatedSearchFolders(options);", - "", - " return foldersFound;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { deleteFolders, listFolders, searchFolders } from 'backend/delete-folders';", - "", - "$w.onReady(async () => {", - " await populateFoldersDropdown();", - "", - " $w('#bulkDelete').onClick(async () => {", - " const searchOptions = { rootFolder: $w('#foldersDropdown').value};", - "", - " const foldersToDelete = await searchFolders(searchOptions);", - " const foldersIdsToDelete = foldersToDelete.map((folder) => {", - " return folder._id;", - " });", - " await deleteFolders(foldersIdsToDelete);", - "", - " console.log(`Successfully deleted all folders found in ${$w('#foldersDropdown').label}.`)", - " $w('#bulkDeleteSuccessMsg').show();", - " });", - "});", - "", - "async function populateFoldersDropdown() {", - " const folders = await listFolders();", - " const dropdownOptions = folders.map((folder) => {", - " return {", - " label: folder.displayName,", - " value: folder._id", - " };", - " });", - "", - " $w('#foldersDropdown').options = dropdownOptions;", - "};", + " ", + " async function searchFolders(options) {", + " try {", + " const result = await folders.searchFolders(options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then deletes all folders found within that folder." - } + ] } ] }, @@ -1460,9 +549,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "searchFolders", - "isAdminMethod": true + ] }, { "name": "updateFolder", @@ -1484,7 +571,7 @@ "referenceType": "wix-media-v2.Folders.UpdateFolder" } ], - "doc": "Folder to update.", + "doc": "Folder to update.\n", "required": true } ], @@ -1499,132 +586,37 @@ "nativeType": "Promise", "typeParams": [ { - "referenceType": "wix-media-v2.Folders.Folder" + "referenceType": "wix-media-v2.Folders.UpdateFolderResponse" } ] } } ], - "doc": "Information about the updated folder.\n" + "doc": null }, "docs": { "summary": "Updates a folder.", "description": [ - "The `updateFolder()` function returns a Promise that resolves to information about the updated folder.\n\nYou can use the `parentFolderId` parameter to move a folder from its current parent folder to a different parent folder." + "You can use the `parentFolderId` parameter to move a folder from its current parent folder to a different parent folder.\n\n>**Note:** This function is restricted and only runs if you elevate permissions using the [`wix-auth.elevate()`](https://www.wix.com/velo/reference/wix-auth/elevate) function." ], "examples": [ { - "title": "Update a folder's name ", + "title": "updateFolder example", "body": [ "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "/* Sample id value: '7984b3c5454e4371aqbd4f4eedde96bc'", - " *", - " * Sample folder value:", - " * {", - " * displayName: 'mountains'", - " * }", - " */", - "", - "async function myUpdateFolderFunction(id, options) {", - " try {", - " const elevatedUpdateFolder = elevate(folders.updateFolder);", - " const updatedFolder = await elevatedUpdateFolder(id, options);", - "", - " console.log(`Updated folder ${updatedFolder.displayName}:`, updatedFolder);", - " return updatedFolder;", - " } catch (error) {", - " console.error(error);", - " // Handle the error", - " }", - "}", - "", - "/* Promise resolves to:", - " * {", - " * \"_createdDate\": \"2023-08-21T09:32:34.000Z\",", - " * \"_id\": \"7984b3c5454e4371acbd4f4eedde96bc\",", - " * \"_updatedDate\": \"2023-08-21T11:10:51.000Z\",", - " * \"displayName\": \"mountains\",", - " * \"parentFolderId\": \"103601562ec94214bee61f470b403dd5\",", - " * \"state\": \"OK\"", - " * }", - " */" - ] - }, - { - "title": "Update a folder's location ", - "body": [ - "/************************************", - " * Backend code - create-folder.jsw *", - " ***********************************/", - "", - "import { folders } from 'wix-media.v2';", - "import { elevate } from 'wix-auth';", - "", - "export async function listFolders() {", - " try {", - " const elevatedListFolders = elevate(folders.listFolders)", - " const foldersList = await elevatedListFolders();", - "", - " return foldersList;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "async function updateFolder(id, options) {", - " try {", - " const elevatedUpdateFolder = elevate(folders.updateFolder);", - " const updatedFolder = await elevatedUpdateFolder(id, options);", - "", - " return updatedFolder;", - " } catch (error) {", - " console.error(error);", - " }", - "}", - "", - "/*************", - " * Page code *", - " ************/", - "", - "import { updateFolder, listFolders } from 'backend/create-folder';", - "", - "$w.onReady(async () => {", - " await populateFoldersDropdowns();", - "", - " $w('#updateFolderLocation').onClick(async () => {", - " const folderId = $w('#updateFolderDropdown').value;", - " const parentFolderId = $w('#parentFolderDropdown').value;", - " if (folderId === parentFolderId) {", - " $w('#folderIsParentFolderMsg').show();", - " return;", - " };", - " const options = {parentFolderId};", - " const updatedFolder = await updateFolder(folderId, options);", - "", - " console.log(`Successfully updated folder ${updatedFolder.displayName}:`, updatedFolder);", - " $w('#updateFolderSuccessMsg').show();", - " });", - "});", - "", - "async function populateFoldersDropdowns() {", - " const folders = await listFolders();", - " const dropdownOptions = folders.map((folder) => {", - " return {", - " label: folder.displayName,", - " value: folder._id", - " };", - " });", - "", - " $w('#updateFolderDropdown').options = dropdownOptions;", - " $w('#parentFolderDropdown').options = dropdownOptions;", - "};", + " ", + " async function updateFolder(id, folder, options) {", + " try {", + " const result = await folders.updateFolder(id, folder, options);", + "", + " return result;", + " } catch (error) {", + " console.error(error);", + " // Handle the error", + " }", + " }", " " - ], - "extra": { - "description": "This code is an example of a page on which a visitor chooses a folder from a dropdown list, and then creates a folder within that folder." - } + ] } ] }, @@ -1633,9 +625,7 @@ { "id": "maturity-beta" } - ], - "syntaxName": "updateFolder", - "isAdminMethod": true + ] } ], "messages": [ @@ -2040,7 +1030,7 @@ "referenceType": "wix-media-v2.Folders.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n- `displayName`\n- `_updatedDate`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -2080,7 +1070,7 @@ "referenceType": "wix-media-v2.Folders.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n- `displayName`\n- `_updatedDate`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -2157,7 +1147,7 @@ "referenceType": "wix-media-v2.Folders.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n- `displayName`\n- `_updatedDate`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -2197,7 +1187,7 @@ "referenceType": "wix-media-v2.Folders.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n- `displayName`\n- `_updatedDate`\nDefault: `_updatedDate` in `\"DESC\"` order." + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -2255,16 +1245,6 @@ } ], "doc": "Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used." - }, - { - "name": "total", - "optional": true, - "type": [ - { - "nativeType": "number" - } - ], - "doc": "Total number of items that match the query." } ], "docs": { @@ -2314,7 +1294,7 @@ "referenceType": "wix-media-v2.Folders.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n- `displayName`\n- `_updatedDate`\n\nDefault: `_updatedDate` in `\"DSEC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -2364,7 +1344,7 @@ "referenceType": "wix-media-v2.Folders.Sorting" } ], - "doc": "Field name and order to sort by. One of:\n- `displayName`\n- `_updatedDate`\n\nDefault: `_updatedDate` in `\"DESC\"` order.\n" + "doc": "Field name and order to sort by. One of:
\n* `displayName`\n* `updatedDate`\nDefault: `updatedDate` in `desc` order." } ], "docs": { @@ -2525,6 +1505,16 @@ { "name": "UpdateFolderRequest", "members": [ + { + "name": "displayName", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "Folder name that appears in the Media Manager." + }, { "name": "folder", "type": [ @@ -2533,6 +1523,26 @@ } ], "doc": "The folder to update." + }, + { + "name": "folderId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the folder to update." + }, + { + "name": "parentFolderId", + "optional": true, + "type": [ + { + "nativeType": "string" + } + ], + "doc": "ID of the folder's parent folder." } ], "docs": { diff --git a/wix-media-v2/wix-media-v2/Folders/guides/folders-intro.md b/wix-media-v2/wix-media-v2/Folders/guides/folders-intro.md index 1adb32088a..66d7b330bd 100644 --- a/wix-media-v2/wix-media-v2/Folders/guides/folders-intro.md +++ b/wix-media-v2/wix-media-v2/Folders/guides/folders-intro.md @@ -14,46 +14,22 @@ title: Introduction   - - -The Folders API allows you to manage the folders in your Media Manager. With the Folders API, you can: -- [Get](wix-media-v2/folders/getfolder), [list](wix-media-v2/folders/listfolders), and [search](wix-media-v2/folders/searchfolders) folders. -- [Create](wix-media-v2/folders/createfolder), [update](wix-media-v2/folders/updatefolder), and [delete](wix-media-v2/folders/bulkdeletefolders) folders. -- [Restore](wix-media-v2/folders/bulkrestorefoldersfromtrashbin) folders from the trash bin. -- [Generate URLs](wix-media-v2/folders/generatefolderdownloadurl) for downloading folders from the Media Manager. +* Manage folders in the Media Manager. +* Generate URLS for: + * Downloading a folder from the Media Manager. + + +Learn more [about the Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) and how to access it. -Learn more about [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) and how to access it. -## Before You Begin +> **Note:** +> This module is [universal](/api-overview/api-versions#universal-modules). Functions in this module can run on both the backend and frontend, unless specified otherwise. + To use the Folders API, import `{ folders }` from the `wix-media.v2` module: ```javascript import { folders } from 'wix-media.v2'; ``` - -## Terminology - -* **System folders:** Folders in the Media Manager's file system directory. - There are 3 types of system folders: - * **Root Folders:** Main categories of folders in the Media Manager. - * `MEDIA_ROOT`: Contains all files and folders in the Media Manager's 'Site Files' tab in the Media Manager. - - >**Note:** The `MEDIA_ROOT` system folder is different from the `media-root` folder of the Media Manager. - >The `MEDIA_ROOT` system folder contains all media in all levels of the **Site Files** tab in the Media Manager, while the `media-root` folder of the Media Manager contains only the media in the root level of the 'Site Files' tab in the Media Manager. - - * `TRASH_ROOT`: Contains all files and folders in the Media Manager's **Trash** tab in the Media Manager. - * `VISITOR_UPLOADS_ROOT`: Contains all files and folders created by site visitors or members. - - >**Note:** The `VISITOR_UPLOADS_ROOT` folder is located in the 'Site Files' tab in the UI. However, it is its own root folder and doesn't return when searching in the `MEDIA_ROOT` folder. - - * **Virtual Folders:** Special categories of folders in the Media Manager that are hidden from the UI and can't be deleted. - * `MOBILE_UPLOADS`: Contains all media uploaded using mobile devices. - * `PURCHASED_ITEMS`: Contains all media imported using a purchase flow. - - - * **Other Folders:** - * `VIDEO_MAKER`: Contains all videos created using Wix Video Maker. Located in the 'Site Files' tab in the UI. \ No newline at end of file diff --git a/wix-media-v2/wix-media-v2/guides/media-intro.md b/wix-media-v2/wix-media-v2/guides/media-intro.md index c34fcb3c02..11e511362e 100644 --- a/wix-media-v2/wix-media-v2/guides/media-intro.md +++ b/wix-media-v2/wix-media-v2/guides/media-intro.md @@ -14,39 +14,70 @@ title: Introduction   - +The Wix Media v2 API provides the functionality to manage media files and folders in a site's Media Manager. +Learn more [about Wix Media](https://support.wix.com/en/article/wix-media-about-the-media-manager). -The Wix Media API provides the functionality to manage media files and folders in a site's Media Manager. -Learn more about [Wix Media](https://support.wix.com/en/article/wix-media-about-the-media-manager). -With the Wix Media API, you can: -- Manage folders and files in your Media Manager. -- Generate URLs for uploading files and downloading files and folders. +> **Note:** +> This module is [universal](/api-overview/api-versions#universal-modules). Functions in this module can run on both the backend and frontend, unless specified otherwise. -Learn more about the [Media Manager](https://support.wix.com/en/article/wix-media-about-the-media-manager) and how to access it. ## Before you begin -To use the wix-media API, import `wixMedia` from the `wix-media.v2` module: +To use the wix-media-v2 API, import `wixMedia` from the `wix-media.v2` module. ```javascript import wixMedia from 'wix-media.v2'; ``` -## Use cases +## Terminology -- Update a file's display name. -- Bulk Delete Files. -- Bulk restore all non-permanently deleted images. +* **Generate File Download Url** vs. **Generate Files Download Url** + The Generate Files Download Url generates a permanent URL for downloading a compressed file containing specific files in the Media Manager. However, the [Generate File Download Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefiledownloadurl) generates one or more temporary URLs for downloading a specific file in the Media Manager. You can use the `expirationInMinutes` parameter to set the URL expiration time, making it more secure than the [Generate Files Download Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefilesdownloadurl). Therefore, to download private files, use the Generate File Download Url for each private file that you want to generate a download Url for, instead of the Generate Files Download Url. + +* **Generate File Resumable Upload Url** vs. **Generate File Upload Url** + The [Generate File Upload Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileuploadurl) generates an upload URL to allow external clients to upload a file to the Media Manager. However, any interruption in the upload process stops the file upload. For files larger than 10MB, or when network connection is poor, use the [Generate File Resumable Upload Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileresumableuploadurl) instead. With the resumable upload URL, any interruption in the upload process pauses the file upload, and resumes the file upload process after the interruption. + + **Using the generated upload and resumable upload URLs** + When you get the `uploadUrl` response from Generate File Upload Url, learn how you can use it to [upload a file to the Media Manager](https://www.wix.com/velo/reference/wix-media-v2/upload-api). When you get the `uploadUrl` response from Generate File Resumable Upload Url, learn how you can use it to [resumably upload a file to the Media Manager](https://www.wix.com/velo/reference/wix-media-v2/resumable-upload-api). + + +* **System folders:** Folders in the Media Manager's file system directory. + There are 3 types of system folders: + * **Root Folders:** Main categories of folders in the Media Manager. + * `MEDIA_ROOT`: Contains all files and folders in the Media Manager's 'Site Files' tab in the UI. + + >**Note:** The `MEDIA_ROOT` system folder is different from the `media-root` folder of the Media Manager. The `MEDIA_ROOT` system folder contains all media in all levels of the 'Site Files' tab in the UI, while the `media-root` folder of the Media Manager only contains the media in the root level of the 'Site Files' tab in the UI. + + * `TRASH_ROOT`: Contains all files and folders in the Media Manager's 'Trash' tab in the UI. + * `VISITOR_UPLOADS_ROOT`: Contains all files and folders created by site visitors or members. + + >**Note:** The `VISITOR_UPLOADS_ROOT` folder is located in the 'Site Files' tab in the UI. However, it is its own root folder and doesn't return when searching in the `MEDIA_ROOT` folder. + + * **Virtual Folders:** Special categories of folders in the Media Manager that are hidden from the UI and can't be deleted. + * `MOBILE_UPLOADS`: Contains all media uploaded using mobile devices. + * `PURCHASED_ITEMS`: Contains all media imported using a purchase flow. -## Terminology -* **Root Folders:** - * `MEDIA_ROOT`: Contains all files and folders in the Media Manager's 'Site Files' tab in the Media Manager. + * **Other Folders:** + * `VIDEO_MAKER`: Contains all videos created using Wix Video Maker. Located in the 'Site Files' tab in the UI. - >**Note:** The `MEDIA_ROOT` system folder is different from the `media-root` folder of the Media Manager. - >The `MEDIA_ROOT` system folder contains all media in all levels of the **Site Files** tab in the Media Manager, while the `media-root` folder of the Media Manager contains only the media in the root level of the 'Site Files' tab in the Media Manager. + +* **File Assets** Wix Media files are optimized for web use. When a file is imported or uploaded to the Media Manager, it is processed and may produce several variations of the file for use in different circumstances. + For example: + * A video file can have different resolutions and formats. + * An audio file can have different formats and qualities. + * Video or audio files can have a preview asset containing only a portion of the file. + + With the [Generate File Download Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefiledownloadurl), you can use the `assetKeys` parameter to download different assets of a file. - * `TRASH_ROOT`: Contains all files and folders in the Media Manager's **Trash** tab in the Media Manager. +* **Media Types:** Supported media types include the following: + * Image + * Video + * Audio + * Document + * Vector + * Archive + * Model 3D + Learn more about [media file types and size limits](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes). diff --git a/wix-media-v2/wix-media-v2/guides/resumable-upload-api.md b/wix-media-v2/wix-media-v2/guides/resumable-upload-api.md new file mode 100644 index 0000000000..13d14509e7 --- /dev/null +++ b/wix-media-v2/wix-media-v2/guides/resumable-upload-api.md @@ -0,0 +1,127 @@ +--- +title: Resumable Upload API +--- + +# Resumable Upload API +This article demonstrates how to use the response object from the [Generate File Resumable Upload Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileresumableuploadurl) endpoint to upload a file to a site's Media Manager. + +>**Note:** Due to limits on the size and duration of files that you can upload, we recommend using the [`importFile()`](https://www.wix.com/velo/reference/wix-media-v2/files/importfile) function. See [Wix Media: Supported Media File Types and File Sizes](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) for more details. + +## Authorization +This endpoint uses the `uploadToken` from the response for authorization. +No additional authorization is needed. + +## Syntax + +```html +PUT {{generateFileResumableUploadUrlResponse.uploadUrl}}/{{generateFileResumableUploadUrlResponse.uploadToken}} +``` + +## Query Params +| Name | Type | Optional | Description | +|-----------|---------|:----------:|-----------------------------------------------------------------------------------------------------------------------------------------| +| filename | string | no | File name that appears in the Media Manager. Include the file's extension in the name to prevent potential errors. | + +## Example +### Implement a Resumable Upload Client using TUS Protocol +In this example we use [tus-js-client](https://github.com/tus/tus-js-client/) to implement a resumable upload using the TUS protocol. + +### Request +```typescript +async function resumableFileUpload(resumableUploadUrlResponse: GenerateFileResumableUploadUrlResponse): Upload { + // get the file content to upload + const fileName = 'imageExample.jpg'; + const fileContent = await fs.createReadStream(path.join(__dirname, '..', 'files', fileName)); + + const mimeType = 'image/jpeg'; + + const params = { + filename: fileName, + contentType: mimeType, + token: resumableUploadUrlResponse.uploadToken + }; + + // Wrap the resumable upload session in a promise to wait for the upload to finish. + await new Promise(async (resolve, reject) => { + // Create a new TUS upload. + const upload = new tus.Upload(fileContent, { + // Use the uploadUrl from the response of the generate URL endpoint. + endpoint: resumableUploadUrlResponse.uploadUrl, + // Enable tus-js-client to automatically retry on errors. + retryDelays: [0, 3000, 5000, 10000, 20000], + // TSend parameters to the upload server to indentify the file and authentication token. + metadata: { + filename: fileName, + contentType: mimeType, + token: resumableUploadUrlResponse.uploadToken + }, + // Callback for errors that can't be fixed using retries. + onError: function (error) { + console.log('Failed because: ' + error); + reject(error); + }, + // Callback for reporting upload progress. + onProgress: function (bytesUploaded, bytesTotal) { + var percentage = (bytesUploaded / bytesTotal * 100).toFixed(2); + console.log(bytesUploaded, bytesTotal, percentage + '%'); + }, + // Callback for once the upload is completed. + onSuccess: function () { + console.log('Download %s from %s', fileName, upload.url); + resolve(true); + } + }); + + upload.start(); + }); + + // PUT request to finalize the upload. + // Note that we concatenate the URL and token of the resumable upload response. + const result = await httpClient.put( + `${resumableUploadUrlResponse.uploadUrl}/${resumableUploadUrlResponse.uploadToken}`, + {}, { params: { filename: fileName } } + ); +} +``` + + +### Response +```json +{ + "file": { + "id": "2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "displayName": "file.jpg", + "url": "https://static.wixstatic.com/media/2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "parentFolderId": "media-root", + "hash": "cf96f0567ed967f02bc9580ab8db86be", + "sizeInBytes": "15359", + "private": false, + "mediaType": "IMAGE", + "media": { + "image": { + "image": { + "id": "2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "url": "https://static.wixstatic.com/media/2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "height": 226, + "width": 370, + "filename": "file.jpg", + "sizeInBytes": "15359" + }, + "faces": [] + } + }, + "operationStatus": "READY", + "thumbnailUrl": "https://static.wixstatic.com/media/2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "labels": [], + "createdDate": "2022-09-11T15:13:24.000Z", + "updatedDate": "2022-09-11T15:13:24.000Z" + } +} +``` + + +## Status/Error Codes +Errors from this endpoint will +The response will include a gRPC/HTTP status code. + + diff --git a/wix-media-v2/wix-media-v2/guides/upload-api.md b/wix-media-v2/wix-media-v2/guides/upload-api.md new file mode 100644 index 0000000000..dbefa15911 --- /dev/null +++ b/wix-media-v2/wix-media-v2/guides/upload-api.md @@ -0,0 +1,97 @@ +--- +title: Upload API +--- + +# Upload API +This article demonstrates how to use the `uploadUrl` response from the [Generate File Upload Url](https://www.wix.com/velo/reference/wix-media-v2/files/generatefileuploadurl) endpoint to upload a file to a site's Media Manager. + +>**Note:** Due to limits on the size and duration of files that you can upload, we recommend using the [`importFile()`](https://www.wix.com/velo/reference/wix-media-v2/files/importfile) function. See [Wix Media: Supported Media File Types and File Sizes](https://support.wix.com/en/article/wix-media-supported-media-file-types-and-file-sizes) for more details. + +## Authorization +This endpoint uses the upload token included in the url for authorization. +No additional authorization is needed. + + +## Syntax +```html +PUT {{generateFileUploadUrlResponse.uploadUrl}} +``` + +[//]: # (## Path Params) + +[//]: # (| Name | Type | Optional | Description |) + +[//]: # (|----------|--------|:--------:|-----------------------------------------------------------------------------------------------------------------------------------------|) + +[//]: # (| filename | string | no | File name that appears in the Media Manager. Include the file's extension in its name to prevent potential errors. |) + + +## Headers Params +| Name | Type | Optional | Description | +|--------------|--------|:--------:|---------------------------------------------------------------------------------| +| Content-Type | string | no | File content type. For example, "image/jpeg" for a jpg file. | + + +## Query Params +| Name | Type | Optional | Description | +|-----------|---------|:----------:|-----------------------------------------------------------------------------------------------------------------------------------------| +| filename | string | no | File name that appears in the media manager. Include the file's extension in the name to prevent potential errors. | + + +>**Note:** In case of failure due to incorrect `mimeType`, include the file's extension in the `filename` parameter and set the `Content-Type` to 'application/octet-stream'. Doing this allows Wix servers to detect the correct content type of the file. + +## Request +```typescript +async function uploadMyFile(uploadUrl, fileContent) { + const params = {'filename':'my-audo-track.mp3'}; + const headers = { + 'Content-Type': 'application/octet-stream' + } + + const uploadResponse = await httpClient.put( uploadUrl, fileContent, { headers, params } ); + return uploadResponse; +} +``` + + + +## Response +```json +{ + "file": { + "id": "2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "displayName": "file.jpg", + "url": "https://static.wixstatic.com/media/2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "parentFolderId": "media-root", + "hash": "cf96f0567ed967f02bc9580ab8db86be", + "sizeInBytes": "15359", + "private": false, + "mediaType": "IMAGE", + "media": { + "image": { + "image": { + "id": "2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "url": "https://static.wixstatic.com/media/2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "height": 226, + "width": 370, + "filename": "myfilename.jpg", + "sizeInBytes": "15359" + }, + "faces": [] + } + }, + "operationStatus": "READY", + "thumbnailUrl": "https://static.wixstatic.com/media/2acbb8_86485e224dd84143ba2f228777217bb7~mv2.jpeg", + "labels": [], + "createdDate": "2022-09-11T15:13:24.000Z", + "updatedDate": "2022-09-11T15:13:24.000Z" + } +} +``` + + +## Status/Error Codes +Errors from this endpoint will +The response will include a gRPC/HTTP status code. + + diff --git a/wix-media.v2/metadata.json b/wix-media.v2/metadata.json index 73aaa664fa..b93bf33a10 100644 --- a/wix-media.v2/metadata.json +++ b/wix-media.v2/metadata.json @@ -1,6 +1,6 @@ { "name": "@wix/wix-media.v2", - "fingerprint": "4a6975e5c3a28d1bafd1d6e3f0ee40ee01532257383d925bc4da76fc", + "fingerprint": "7bc08e93781fd5a37f76894086424d37fa604f6bb1980d536619f1cf", "groupId": "com.wixpress.velo-autogen", "artifactId": "wix-media-v2-velo-autogen", "module": "wix-media.v2" diff --git a/wix-widget/wix-widget.service.json b/wix-widget/wix-widget.service.json index 08d72615c2..9087417e25 100644 --- a/wix-widget/wix-widget.service.json +++ b/wix-widget/wix-widget.service.json @@ -25,8 +25,7 @@ "properties": [], "operations": [ { "name": "getDesignPreset", - "labels": - [ "changed" ], + "labels": [], "nameParams": [], "params": [], "ret": @@ -41,7 +40,7 @@ "docs": { "summary": "Gets the widget's current design preset.", "description": - [ "The `getDesignPreset()` function returns a Promise that resolves to the widget's current preset name. To use this function on an inner (nested) widget, use [`getNestedWidget()`](#getNestedWidget)." ], + [ "The `getDesignPreset()` function returns a Promise that resolves to the widget's current preset name." ], "links": [], "examples": [ { "title": "Get a widget's design preset", @@ -50,52 +49,7 @@ "", "// ...", "", - "wixWidget.getDesignPreset()", - ".then ((designPreset) => {", - " // Code to execute with the designPreset string ", - "})", - "", - "// For example, designPreset can be \"preset-1-wide\"" ], - "extra": - { } } ], - "extra": - { } }, - "extra": - { } }, - { "name": "getNestedWidget", - "labels": - [ "new" ], - "nameParams": [], - "params": - [ { "name": "Selector", - "type": "string", - "doc": "A string of one or more nested widget selectors, which can include a few levels of nesting from outer to inner, separated by spaces. For example: `(\"#nestedWidget1\")`, or `(\"#nestedWidget1 #nestedWidget2\")`." } ], - "ret": - { "type": - { "name": "Promise", - "typeParams": - [ "Object" ] }, - "doc": "Fulfilled - The `wix-widget` module scoped to the nested widget" }, - "locations": - [ { "lineno": 63, - "filename": "widget.js" } ], - "docs": - { "summary": "Gets the `wix-widget` module scoped to an [inner (nested) widget](https://support.wix.com/en/article/wix-blocks-creating-and-managing-widgets-within-widgets).", - "description": - [ "The `getNestedWidget()` function lets you use `wix-widget` functions on inner (nested) widgets. It receives a selector of an inner widget and returns a promise that resolves with an object representing the scope of the inner widget." ], - "links": [], - "examples": - [ { "title": "Get a nested widget's preset", - "body": - [ "import wixWidget from 'wix-widget';", - "", - "//...", - "", - "wixWidget.getNestedWidget(\"#nestedWidget1 #nestedWidget2\") //nestedWidget2 is inside nestedWidget1", - " .then((nestedWixWidget) => nestedWixWidget.getDesignPreset())", - " .then((nestedWidgetPreset) => {", - " // do something with the design preset of nestedWidget2", - " });" ], + "const designPreset = await wixWidget.getDesignPreset(); // \"preset-1-wide\"" ], "extra": { } } ], "extra": @@ -119,7 +73,7 @@ "docs": { "summary": "Gets the widget's [properties](https://support.wix.com/en/article/wix-blocks-widget-api-properties).", "description": - [ "The `getProps()` function returns a Promise that resolves to an object with all of the widget's properties. To use this function on an inner (nested) widget, use [`getNestedWidget()`](#getNestedWidget)." ], + [ "The `getProps()` function returns a Promise that resolves to an object with all of the widget's properties." ], "links": [], "examples": [ { "title": "Get a widget's properties", @@ -128,12 +82,7 @@ "", "// ...", "", - "wixWidget.getProps()", - " .then(props => {", - " // Code to execute with the props object", - " })", - " ", - "// Props object can be, for example: {country: \"us\", upperLimit: 7}" ], + "const props = await wixWidget.getProps(); // {country: \"us\", upperLimit: 7}" ], "extra": { } } ], "extra": @@ -141,8 +90,7 @@ "extra": { } }, { "name": "setDesignPreset", - "labels": - [ "changed" ], + "labels": [], "nameParams": [], "params": [ { "name": "preset", @@ -160,7 +108,7 @@ "docs": { "summary": "Sets the widget's design preset.", "description": - [ "The `setDesignPreset()` function returns a Promise that resolves when the design preset is set. To use this function on an inner (nested) widget, use [`getNestedWidget()`](#getNestedWidget)." ], + [ "The `setDesignPreset()` function returns a Promise that resolves when the design preset is set." ], "links": [], "examples": [ { "title": "Set a widget's design preset", @@ -169,7 +117,7 @@ "", "// ...", "", - "wixWidget.setDesignPreset('Mobile');" ], + "await wixWidget.setDesignPreset('Mobile');" ], "extra": { } } ], "extra": @@ -196,7 +144,7 @@ "docs": { "summary": "Sets the widget's [properties](https://support.wix.com/en/article/wix-blocks-widget-api-properties). You can also assign a partial subset of the widget's properties.", "description": - [ "The `setProps()` function returns a Promise that resolves when the properties are set. To use this function on an inner (nested) widget, use [`getNestedWidget()`](#getNestedWidget)." ], + [ "The `setProps()` function returns a Promise that resolves when the properties are set." ], "links": [], "examples": [ { "title": "Set a widget's properties", @@ -205,10 +153,7 @@ "", "// ...", "", - "wixWidget.setProps({saleIndicator: \"No Sale\"})", - ".then (() => {", - " // Code to execture after setting the props", - "})" ], + "await wixWidget.setProps({ saleIndicator: \"No Sale\" });" ], "extra": { } } ], "extra":