@wix/auto_sdk_bookings_services 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +18 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/index.typings.d.ts +1 -0
- package/build/cjs/index.typings.js +18 -0
- package/build/cjs/index.typings.js.map +1 -0
- package/build/cjs/meta.d.ts +1 -0
- package/build/cjs/meta.js +18 -0
- package/build/cjs/meta.js.map +1 -0
- package/build/cjs/src/bookings-services-v2-service-services.context.d.ts +41 -0
- package/build/cjs/src/bookings-services-v2-service-services.context.js +85 -0
- package/build/cjs/src/bookings-services-v2-service-services.context.js.map +1 -0
- package/build/cjs/src/bookings-services-v2-service-services.http.d.ts +482 -0
- package/build/cjs/src/bookings-services-v2-service-services.http.js +1790 -0
- package/build/cjs/src/bookings-services-v2-service-services.http.js.map +1 -0
- package/build/cjs/src/bookings-services-v2-service-services.meta.d.ts +47 -0
- package/build/cjs/src/bookings-services-v2-service-services.meta.js +427 -0
- package/build/cjs/src/bookings-services-v2-service-services.meta.js.map +1 -0
- package/build/cjs/src/bookings-services-v2-service-services.public.d.ts +584 -0
- package/build/cjs/src/bookings-services-v2-service-services.public.js +307 -0
- package/build/cjs/src/bookings-services-v2-service-services.public.js.map +1 -0
- package/build/cjs/src/bookings-services-v2-service-services.types.d.ts +4056 -0
- package/build/cjs/src/bookings-services-v2-service-services.types.js +386 -0
- package/build/cjs/src/bookings-services-v2-service-services.types.js.map +1 -0
- package/build/cjs/src/bookings-services-v2-service-services.universal.d.ts +5180 -0
- package/build/cjs/src/bookings-services-v2-service-services.universal.js +2282 -0
- package/build/cjs/src/bookings-services-v2-service-services.universal.js.map +1 -0
- package/build/es/index.d.ts +1 -0
- package/build/es/index.js +2 -0
- package/build/es/index.js.map +1 -0
- package/build/es/index.typings.d.ts +1 -0
- package/build/es/index.typings.js +2 -0
- package/build/es/index.typings.js.map +1 -0
- package/build/es/meta.d.ts +1 -0
- package/build/es/meta.js +2 -0
- package/build/es/meta.js.map +1 -0
- package/build/es/package.json +3 -0
- package/build/es/src/bookings-services-v2-service-services.context.d.ts +41 -0
- package/build/es/src/bookings-services-v2-service-services.context.js +41 -0
- package/build/es/src/bookings-services-v2-service-services.context.js.map +1 -0
- package/build/es/src/bookings-services-v2-service-services.http.d.ts +482 -0
- package/build/es/src/bookings-services-v2-service-services.http.js +1766 -0
- package/build/es/src/bookings-services-v2-service-services.http.js.map +1 -0
- package/build/es/src/bookings-services-v2-service-services.meta.d.ts +47 -0
- package/build/es/src/bookings-services-v2-service-services.meta.js +380 -0
- package/build/es/src/bookings-services-v2-service-services.meta.js.map +1 -0
- package/build/es/src/bookings-services-v2-service-services.public.d.ts +584 -0
- package/build/es/src/bookings-services-v2-service-services.public.js +242 -0
- package/build/es/src/bookings-services-v2-service-services.public.js.map +1 -0
- package/build/es/src/bookings-services-v2-service-services.types.d.ts +4056 -0
- package/build/es/src/bookings-services-v2-service-services.types.js +383 -0
- package/build/es/src/bookings-services-v2-service-services.types.js.map +1 -0
- package/build/es/src/bookings-services-v2-service-services.universal.d.ts +5180 -0
- package/build/es/src/bookings-services-v2-service-services.universal.js +2234 -0
- package/build/es/src/bookings-services-v2-service-services.universal.js.map +1 -0
- package/build/internal/cjs/index.d.ts +1 -0
- package/build/internal/cjs/index.js +18 -0
- package/build/internal/cjs/index.js.map +1 -0
- package/build/internal/cjs/index.typings.d.ts +1 -0
- package/build/internal/cjs/index.typings.js +18 -0
- package/build/internal/cjs/index.typings.js.map +1 -0
- package/build/internal/cjs/meta.d.ts +1 -0
- package/build/internal/cjs/meta.js +18 -0
- package/build/internal/cjs/meta.js.map +1 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.context.d.ts +41 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.context.js +85 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.context.js.map +1 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.http.d.ts +482 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.http.js +1790 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.http.js.map +1 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.meta.d.ts +47 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.meta.js +427 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.meta.js.map +1 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.public.d.ts +584 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.public.js +307 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.public.js.map +1 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.types.d.ts +4056 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.types.js +386 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.types.js.map +1 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.universal.d.ts +5180 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.universal.js +2282 -0
- package/build/internal/cjs/src/bookings-services-v2-service-services.universal.js.map +1 -0
- package/build/internal/es/index.d.ts +1 -0
- package/build/internal/es/index.js +2 -0
- package/build/internal/es/index.js.map +1 -0
- package/build/internal/es/index.typings.d.ts +1 -0
- package/build/internal/es/index.typings.js +2 -0
- package/build/internal/es/index.typings.js.map +1 -0
- package/build/internal/es/meta.d.ts +1 -0
- package/build/internal/es/meta.js +2 -0
- package/build/internal/es/meta.js.map +1 -0
- package/build/internal/es/src/bookings-services-v2-service-services.context.d.ts +41 -0
- package/build/internal/es/src/bookings-services-v2-service-services.context.js +41 -0
- package/build/internal/es/src/bookings-services-v2-service-services.context.js.map +1 -0
- package/build/internal/es/src/bookings-services-v2-service-services.http.d.ts +482 -0
- package/build/internal/es/src/bookings-services-v2-service-services.http.js +1766 -0
- package/build/internal/es/src/bookings-services-v2-service-services.http.js.map +1 -0
- package/build/internal/es/src/bookings-services-v2-service-services.meta.d.ts +47 -0
- package/build/internal/es/src/bookings-services-v2-service-services.meta.js +380 -0
- package/build/internal/es/src/bookings-services-v2-service-services.meta.js.map +1 -0
- package/build/internal/es/src/bookings-services-v2-service-services.public.d.ts +584 -0
- package/build/internal/es/src/bookings-services-v2-service-services.public.js +242 -0
- package/build/internal/es/src/bookings-services-v2-service-services.public.js.map +1 -0
- package/build/internal/es/src/bookings-services-v2-service-services.types.d.ts +4056 -0
- package/build/internal/es/src/bookings-services-v2-service-services.types.js +383 -0
- package/build/internal/es/src/bookings-services-v2-service-services.types.js.map +1 -0
- package/build/internal/es/src/bookings-services-v2-service-services.universal.d.ts +5180 -0
- package/build/internal/es/src/bookings-services-v2-service-services.universal.js +2234 -0
- package/build/internal/es/src/bookings-services-v2-service-services.universal.js.map +1 -0
- package/meta/package.json +3 -0
- package/package.json +52 -0
|
@@ -0,0 +1,4056 @@
|
|
|
1
|
+
/** The `service` object represents an offering that a business provides to its customers. */
|
|
2
|
+
export interface Service {
|
|
3
|
+
/**
|
|
4
|
+
* Service ID.
|
|
5
|
+
* @readonly
|
|
6
|
+
*/
|
|
7
|
+
id?: string | null;
|
|
8
|
+
/**
|
|
9
|
+
* Service type.
|
|
10
|
+
* Learn more about *service types*
|
|
11
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/about-service-types) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-types)).
|
|
12
|
+
*/
|
|
13
|
+
type?: ServiceType;
|
|
14
|
+
/**
|
|
15
|
+
* Order of the service within a *category*
|
|
16
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/categories/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/categories-v2/introduction)).
|
|
17
|
+
*/
|
|
18
|
+
sortOrder?: number | null;
|
|
19
|
+
/** Service name. */
|
|
20
|
+
name?: string | null;
|
|
21
|
+
/** Service description. For example, `High-class hair styling, cuts, straightening and color`. */
|
|
22
|
+
description?: string | null;
|
|
23
|
+
/** Short service description, such as `Hair styling`. */
|
|
24
|
+
tagLine?: string | null;
|
|
25
|
+
/** Default maximum number of customers that can book the service. The service cannot be booked beyond this capacity. */
|
|
26
|
+
defaultCapacity?: number | null;
|
|
27
|
+
/** Media associated with the service. */
|
|
28
|
+
media?: Media;
|
|
29
|
+
/** Whether the service is hidden from the site. */
|
|
30
|
+
hidden?: boolean | null;
|
|
31
|
+
/**
|
|
32
|
+
* _Category_
|
|
33
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/categories/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/categories-v2/introduction))
|
|
34
|
+
* the service is associated with.
|
|
35
|
+
*/
|
|
36
|
+
category?: V2Category;
|
|
37
|
+
/** Form the customer filled out when booking the service. */
|
|
38
|
+
form?: Form;
|
|
39
|
+
/**
|
|
40
|
+
* Payment options for booking the service.
|
|
41
|
+
* Learn more about *payment options*
|
|
42
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/about-payment-options) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-payment-options)).
|
|
43
|
+
*/
|
|
44
|
+
payment?: Payment;
|
|
45
|
+
/** Online booking settings. */
|
|
46
|
+
onlineBooking?: OnlineBooking;
|
|
47
|
+
/** Conferencing options for the service. */
|
|
48
|
+
conferencing?: Conferencing;
|
|
49
|
+
/**
|
|
50
|
+
* The locations this service is offered at. Read more about *service locations*
|
|
51
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/about-service-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-locations)).
|
|
52
|
+
*/
|
|
53
|
+
locations?: V2Location[];
|
|
54
|
+
/**
|
|
55
|
+
* Policy
|
|
56
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policies/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policies/introduction))
|
|
57
|
+
* 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.
|
|
58
|
+
*/
|
|
59
|
+
bookingPolicy?: BookingPolicy;
|
|
60
|
+
/**
|
|
61
|
+
* The service's *schedule*
|
|
62
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)),
|
|
63
|
+
* which can be used to manage the service's events
|
|
64
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction)).
|
|
65
|
+
*/
|
|
66
|
+
schedule?: V2Schedule;
|
|
67
|
+
/**
|
|
68
|
+
* IDs of the *staff members*
|
|
69
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction))
|
|
70
|
+
* providing the service. Available only for appointment-based services.
|
|
71
|
+
*/
|
|
72
|
+
staffMemberIds?: string[];
|
|
73
|
+
/**
|
|
74
|
+
* A slug is the last part of the URL address that serves as a unique identifier of the service.
|
|
75
|
+
* The list of supported slugs includes past service names for backwards compatibility, and a custom slug if one was set by the business owner.
|
|
76
|
+
* @readonly
|
|
77
|
+
*/
|
|
78
|
+
supportedSlugs?: Slug[];
|
|
79
|
+
/**
|
|
80
|
+
* Active slug for the service.
|
|
81
|
+
* Learn more about *slugs*
|
|
82
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/about-service-slugs) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/about-service-slugs)).
|
|
83
|
+
* @readonly
|
|
84
|
+
*/
|
|
85
|
+
mainSlug?: Slug;
|
|
86
|
+
/**
|
|
87
|
+
* URLs to various service-related pages, such as the calendar page and the booking page.
|
|
88
|
+
* @readonly
|
|
89
|
+
*/
|
|
90
|
+
urls?: URLs;
|
|
91
|
+
/** Extensions enabling users to save custom data related to the service. */
|
|
92
|
+
extendedFields?: ExtendedFields;
|
|
93
|
+
/** Custom SEO data for the service. */
|
|
94
|
+
seoData?: SeoSchema;
|
|
95
|
+
/**
|
|
96
|
+
* Date and time the service was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.
|
|
97
|
+
* @readonly
|
|
98
|
+
*/
|
|
99
|
+
createdDate?: Date | null;
|
|
100
|
+
/**
|
|
101
|
+
* Date and time the service was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.
|
|
102
|
+
* @readonly
|
|
103
|
+
*/
|
|
104
|
+
updatedDate?: Date | null;
|
|
105
|
+
/**
|
|
106
|
+
* Revision number, which increments by 1 each time the service is updated. To
|
|
107
|
+
* prevent conflicting changes, the existing revision must be used when updating
|
|
108
|
+
* a service.
|
|
109
|
+
* @readonly
|
|
110
|
+
*/
|
|
111
|
+
revision?: string | null;
|
|
112
|
+
}
|
|
113
|
+
export declare enum ServiceType {
|
|
114
|
+
/** Appointment-based service. */
|
|
115
|
+
APPOINTMENT = "APPOINTMENT",
|
|
116
|
+
/** Class service. */
|
|
117
|
+
CLASS = "CLASS",
|
|
118
|
+
/** Course service. */
|
|
119
|
+
COURSE = "COURSE"
|
|
120
|
+
}
|
|
121
|
+
export interface Media {
|
|
122
|
+
/** Media items associated with the service. */
|
|
123
|
+
items?: MediaItem[];
|
|
124
|
+
/** Primary media associated with the service. */
|
|
125
|
+
mainMedia?: MediaItem;
|
|
126
|
+
/** Cover media associated with the service. */
|
|
127
|
+
coverMedia?: MediaItem;
|
|
128
|
+
}
|
|
129
|
+
export interface MediaItem extends MediaItemItemOneOf {
|
|
130
|
+
/** Details of the image associated with the service, such as URL and size. */
|
|
131
|
+
image?: Image;
|
|
132
|
+
}
|
|
133
|
+
/** @oneof */
|
|
134
|
+
export interface MediaItemItemOneOf {
|
|
135
|
+
/** Details of the image associated with the service, such as URL and size. */
|
|
136
|
+
image?: Image;
|
|
137
|
+
}
|
|
138
|
+
export interface Image {
|
|
139
|
+
/** WixMedia image ID. (e.g. "4b3901ffcb8d7ad81a613779d92c9702.jpg") */
|
|
140
|
+
id?: string;
|
|
141
|
+
/** Image URL. (similar to image.id e.g. "4b3901ffcb8d7ad81a613779d92c9702.jpg") */
|
|
142
|
+
url?: string;
|
|
143
|
+
/** Original image height. */
|
|
144
|
+
height?: number;
|
|
145
|
+
/** Original image width. */
|
|
146
|
+
width?: number;
|
|
147
|
+
/** Image alt text. */
|
|
148
|
+
altText?: string | null;
|
|
149
|
+
/**
|
|
150
|
+
* Image file name.
|
|
151
|
+
* @readonly
|
|
152
|
+
*/
|
|
153
|
+
filename?: string | null;
|
|
154
|
+
}
|
|
155
|
+
export interface V2Category {
|
|
156
|
+
/** Category ID. */
|
|
157
|
+
id?: string;
|
|
158
|
+
/**
|
|
159
|
+
* Category name.
|
|
160
|
+
* @readonly
|
|
161
|
+
*/
|
|
162
|
+
name?: string | null;
|
|
163
|
+
/**
|
|
164
|
+
* Order of a category within a category list.
|
|
165
|
+
* @readonly
|
|
166
|
+
*/
|
|
167
|
+
sortOrder?: number | null;
|
|
168
|
+
}
|
|
169
|
+
export interface Form {
|
|
170
|
+
/**
|
|
171
|
+
* ID of the form associated with the service.
|
|
172
|
+
* The form information that you submit when booking includes contact details, participants, and other form fields set up for the service.
|
|
173
|
+
* You can manage the service booking form fields using the Bookings Forms API.
|
|
174
|
+
*/
|
|
175
|
+
id?: string;
|
|
176
|
+
}
|
|
177
|
+
export interface FormSettings {
|
|
178
|
+
/** Whether the service booking form should be hidden from the site. */
|
|
179
|
+
hidden?: boolean | null;
|
|
180
|
+
}
|
|
181
|
+
export interface Payment extends PaymentRateOneOf {
|
|
182
|
+
/**
|
|
183
|
+
* The details for the fixed price of the service.
|
|
184
|
+
*
|
|
185
|
+
* Required when: `rateType` is `FIXED`
|
|
186
|
+
*/
|
|
187
|
+
fixed?: FixedPayment;
|
|
188
|
+
/**
|
|
189
|
+
* The details for the custom price of the service.
|
|
190
|
+
*
|
|
191
|
+
* Required when: `rateType` is `CUSTOM`
|
|
192
|
+
*/
|
|
193
|
+
custom?: CustomPayment;
|
|
194
|
+
/**
|
|
195
|
+
* The details for the varied pricing of the service.
|
|
196
|
+
* Read more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).
|
|
197
|
+
*
|
|
198
|
+
* Required when: `rateType` is `VARIED`
|
|
199
|
+
*/
|
|
200
|
+
varied?: VariedPayment;
|
|
201
|
+
/** The rate the customer is expected to pay for the service. */
|
|
202
|
+
rateType?: RateType;
|
|
203
|
+
/** The payment options a customer can use to pay for the service. */
|
|
204
|
+
options?: PaymentOptions;
|
|
205
|
+
/**
|
|
206
|
+
* IDs of pricing plans that can be used as payment for the service.
|
|
207
|
+
* @readonly
|
|
208
|
+
*/
|
|
209
|
+
pricingPlanIds?: string[];
|
|
210
|
+
}
|
|
211
|
+
/** @oneof */
|
|
212
|
+
export interface PaymentRateOneOf {
|
|
213
|
+
/**
|
|
214
|
+
* The details for the fixed price of the service.
|
|
215
|
+
*
|
|
216
|
+
* Required when: `rateType` is `FIXED`
|
|
217
|
+
*/
|
|
218
|
+
fixed?: FixedPayment;
|
|
219
|
+
/**
|
|
220
|
+
* The details for the custom price of the service.
|
|
221
|
+
*
|
|
222
|
+
* Required when: `rateType` is `CUSTOM`
|
|
223
|
+
*/
|
|
224
|
+
custom?: CustomPayment;
|
|
225
|
+
/**
|
|
226
|
+
* The details for the varied pricing of the service.
|
|
227
|
+
* Read more about [varied price options](https://support.wix.com/en/article/wix-bookings-about-getting-paid-online#offering-varied-price-options).
|
|
228
|
+
*
|
|
229
|
+
* Required when: `rateType` is `VARIED`
|
|
230
|
+
*/
|
|
231
|
+
varied?: VariedPayment;
|
|
232
|
+
}
|
|
233
|
+
export declare enum RateType {
|
|
234
|
+
/** Unknown rate type. */
|
|
235
|
+
UNKNOWN_RATE_TYPE = "UNKNOWN_RATE_TYPE",
|
|
236
|
+
/** The service has a fixed price. */
|
|
237
|
+
FIXED = "FIXED",
|
|
238
|
+
/** The service has a custom price, expressed as a price description. */
|
|
239
|
+
CUSTOM = "CUSTOM",
|
|
240
|
+
/** This service is offered with a set of different prices based on different terms. */
|
|
241
|
+
VARIED = "VARIED",
|
|
242
|
+
/** This service is offered free of charge. */
|
|
243
|
+
NO_FEE = "NO_FEE"
|
|
244
|
+
}
|
|
245
|
+
export interface FixedPayment {
|
|
246
|
+
/**
|
|
247
|
+
* The fixed price required to book the service.
|
|
248
|
+
*
|
|
249
|
+
* Required when: `rateType` is `FIXED`
|
|
250
|
+
*/
|
|
251
|
+
price?: Money;
|
|
252
|
+
/**
|
|
253
|
+
* The deposit price required to book the service.
|
|
254
|
+
*
|
|
255
|
+
* Required when: `rateType` is `FIXED` and `paymentOptions.deposit` is `true`
|
|
256
|
+
*/
|
|
257
|
+
deposit?: Money;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Money.
|
|
261
|
+
* Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.
|
|
262
|
+
*/
|
|
263
|
+
export interface Money {
|
|
264
|
+
/** 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. */
|
|
265
|
+
value?: string;
|
|
266
|
+
/**
|
|
267
|
+
* Currency code. Must be valid ISO 4217 currency code (e.g., USD).
|
|
268
|
+
* @readonly
|
|
269
|
+
*/
|
|
270
|
+
currency?: string;
|
|
271
|
+
/** Monetary amount. Decimal string in local format (e.g., 1 000,30). Optionally, a single (-), to indicate that the amount is negative. */
|
|
272
|
+
formattedValue?: string | null;
|
|
273
|
+
}
|
|
274
|
+
export interface CustomPayment {
|
|
275
|
+
/** A custom description explaining to the customer how to pay for the service. */
|
|
276
|
+
description?: string | null;
|
|
277
|
+
}
|
|
278
|
+
export interface VariedPayment {
|
|
279
|
+
/** The default price for the service without any variants. It will also be used as the default price for any new variant. */
|
|
280
|
+
defaultPrice?: Money;
|
|
281
|
+
/**
|
|
282
|
+
* The deposit price required to book the service.
|
|
283
|
+
*
|
|
284
|
+
* Required when: `rateType` is `VARIED` and `paymentOptions.deposit` is `true`
|
|
285
|
+
*/
|
|
286
|
+
deposit?: Money;
|
|
287
|
+
/**
|
|
288
|
+
* The minimal price a customer may pay for this service, based on its variants.
|
|
289
|
+
* @readonly
|
|
290
|
+
*/
|
|
291
|
+
minPrice?: Money;
|
|
292
|
+
/**
|
|
293
|
+
* The maximum price a customer may pay for this service, based on its variants.
|
|
294
|
+
* @readonly
|
|
295
|
+
*/
|
|
296
|
+
maxPrice?: Money;
|
|
297
|
+
}
|
|
298
|
+
export interface PaymentOptions {
|
|
299
|
+
/**
|
|
300
|
+
* Customers can pay for the service online.
|
|
301
|
+
* When `true`:
|
|
302
|
+
* + `rateType` must be either `FIXED` or `VARIED`.
|
|
303
|
+
* + `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).
|
|
304
|
+
*/
|
|
305
|
+
online?: boolean | null;
|
|
306
|
+
/** Customers can pay for the service in person. */
|
|
307
|
+
inPerson?: boolean | null;
|
|
308
|
+
/**
|
|
309
|
+
* This service requires a deposit to be made online in order to book it.
|
|
310
|
+
* When `true`:
|
|
311
|
+
* + `rateType` must be `VARIED` or `FIXED`.
|
|
312
|
+
* + A `deposit` must be specified.
|
|
313
|
+
*/
|
|
314
|
+
deposit?: boolean | null;
|
|
315
|
+
/** Customers can pay for the service using a pricing plan. */
|
|
316
|
+
pricingPlan?: boolean | null;
|
|
317
|
+
}
|
|
318
|
+
export interface OnlineBooking {
|
|
319
|
+
/**
|
|
320
|
+
* Whether the service can be booked online.
|
|
321
|
+
* When set to `true`, customers can book the service online. Configure the payment options via the `service.payment` property.
|
|
322
|
+
* When set to `false`, customers cannot book the service online, and the service can only be paid for in person.
|
|
323
|
+
*/
|
|
324
|
+
enabled?: boolean | null;
|
|
325
|
+
/** Booking the service requires approval by the Wix user. */
|
|
326
|
+
requireManualApproval?: boolean | null;
|
|
327
|
+
/** Multiple customers can request to book the same time slot. This is relevant when `requireManualApproval` is `true`. */
|
|
328
|
+
allowMultipleRequests?: boolean | null;
|
|
329
|
+
}
|
|
330
|
+
export interface Conferencing {
|
|
331
|
+
/** Whether a conference link is generated for the service's sessions. */
|
|
332
|
+
enabled?: boolean | null;
|
|
333
|
+
}
|
|
334
|
+
export interface V2Location extends V2LocationOptionsOneOf {
|
|
335
|
+
/** Information about business locations. */
|
|
336
|
+
business?: BusinessLocationOptions;
|
|
337
|
+
/** Information about custom locations. */
|
|
338
|
+
custom?: CustomLocationOptions;
|
|
339
|
+
/**
|
|
340
|
+
* Location ID.
|
|
341
|
+
* @readonly
|
|
342
|
+
*/
|
|
343
|
+
id?: string;
|
|
344
|
+
/**
|
|
345
|
+
* Location type.
|
|
346
|
+
*
|
|
347
|
+
* Default: `CUSTOM`
|
|
348
|
+
*/
|
|
349
|
+
type?: LocationTypeEnumLocationType;
|
|
350
|
+
/**
|
|
351
|
+
* Location address. Empty for `{"type": "CUSTOMER"}`.
|
|
352
|
+
* @readonly
|
|
353
|
+
*/
|
|
354
|
+
calculatedAddress?: CommonAddress;
|
|
355
|
+
}
|
|
356
|
+
/** @oneof */
|
|
357
|
+
export interface V2LocationOptionsOneOf {
|
|
358
|
+
/** Information about business locations. */
|
|
359
|
+
business?: BusinessLocationOptions;
|
|
360
|
+
/** Information about custom locations. */
|
|
361
|
+
custom?: CustomLocationOptions;
|
|
362
|
+
}
|
|
363
|
+
export declare enum LocationTypeEnumLocationType {
|
|
364
|
+
UNKNOWN_LOCATION_TYPE = "UNKNOWN_LOCATION_TYPE",
|
|
365
|
+
/**
|
|
366
|
+
* Location set by the business that is not a standard business location
|
|
367
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction)).
|
|
368
|
+
*/
|
|
369
|
+
CUSTOM = "CUSTOM",
|
|
370
|
+
/**
|
|
371
|
+
* Business location
|
|
372
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction)).
|
|
373
|
+
*/
|
|
374
|
+
BUSINESS = "BUSINESS",
|
|
375
|
+
/**
|
|
376
|
+
* The customer specifies any address when booking. Available only for
|
|
377
|
+
* appointment-based services.
|
|
378
|
+
*/
|
|
379
|
+
CUSTOMER = "CUSTOMER"
|
|
380
|
+
}
|
|
381
|
+
export interface CommonAddress extends CommonAddressStreetOneOf {
|
|
382
|
+
/** Street name and number. */
|
|
383
|
+
streetAddress?: CommonStreetAddress;
|
|
384
|
+
addressLine?: string | null;
|
|
385
|
+
/** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
|
|
386
|
+
country?: string | null;
|
|
387
|
+
/** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */
|
|
388
|
+
subdivision?: string | null;
|
|
389
|
+
/** City name. */
|
|
390
|
+
city?: string | null;
|
|
391
|
+
/** Postal or zip code. */
|
|
392
|
+
postalCode?: string | null;
|
|
393
|
+
/** Full address of the location. */
|
|
394
|
+
formattedAddress?: string | null;
|
|
395
|
+
}
|
|
396
|
+
/** @oneof */
|
|
397
|
+
export interface CommonAddressStreetOneOf {
|
|
398
|
+
/** Street name and number. */
|
|
399
|
+
streetAddress?: CommonStreetAddress;
|
|
400
|
+
addressLine?: string | null;
|
|
401
|
+
}
|
|
402
|
+
/** Street address. Includes street name, number, and apartment number in separate fields. */
|
|
403
|
+
export interface CommonStreetAddress {
|
|
404
|
+
/** Street number. */
|
|
405
|
+
number?: string;
|
|
406
|
+
/** Street name. */
|
|
407
|
+
name?: string;
|
|
408
|
+
/** Apartment number. */
|
|
409
|
+
apt?: string;
|
|
410
|
+
}
|
|
411
|
+
export interface CommonAddressLocation {
|
|
412
|
+
/** Address latitude. */
|
|
413
|
+
latitude?: number | null;
|
|
414
|
+
/** Address longitude. */
|
|
415
|
+
longitude?: number | null;
|
|
416
|
+
}
|
|
417
|
+
export interface BusinessLocationOptions {
|
|
418
|
+
/**
|
|
419
|
+
* ID of the business location
|
|
420
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction)).
|
|
421
|
+
* When setting a business location, specify only the location ID. Other location details are overwritten.
|
|
422
|
+
*/
|
|
423
|
+
id?: string;
|
|
424
|
+
/**
|
|
425
|
+
* Business location name.
|
|
426
|
+
* @readonly
|
|
427
|
+
*/
|
|
428
|
+
name?: string;
|
|
429
|
+
/**
|
|
430
|
+
* Whether this is the default location. There can only be a single default location per site.
|
|
431
|
+
* @readonly
|
|
432
|
+
*/
|
|
433
|
+
default?: boolean | null;
|
|
434
|
+
/**
|
|
435
|
+
* Business location address.
|
|
436
|
+
* @readonly
|
|
437
|
+
*/
|
|
438
|
+
address?: CommonAddress;
|
|
439
|
+
/**
|
|
440
|
+
* Business location email.
|
|
441
|
+
* @readonly
|
|
442
|
+
*/
|
|
443
|
+
email?: string | null;
|
|
444
|
+
/**
|
|
445
|
+
* Business location phone.
|
|
446
|
+
* @readonly
|
|
447
|
+
*/
|
|
448
|
+
phone?: string | null;
|
|
449
|
+
}
|
|
450
|
+
export interface CustomLocationOptions {
|
|
451
|
+
/**
|
|
452
|
+
* ID of the custom location.
|
|
453
|
+
* @readonly
|
|
454
|
+
*/
|
|
455
|
+
id?: string;
|
|
456
|
+
/** Address of the custom location. */
|
|
457
|
+
address?: CommonAddress;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* `BookingPolicy` is the main entity of `BookingPolicyService` and specifies a set of rules for booking a service
|
|
461
|
+
* by visitors and members.
|
|
462
|
+
*
|
|
463
|
+
* Each `BookingPolicy` consists of a number of sub-policies. When the Bookings App is provisioned to a meta site then a
|
|
464
|
+
* default `BookingPolicy` will be created with defaults for each of these sub-policies. This also applies when a request
|
|
465
|
+
* is received to create a new `BookingPolicy` and one or more of these sub-policies are not provided.
|
|
466
|
+
*
|
|
467
|
+
* Sub-policies are defined in separate objects as specified below.
|
|
468
|
+
*
|
|
469
|
+
* - The `LimitEarlyBookingPolicy` object defines the policy for limiting early bookings.
|
|
470
|
+
* - The `LimitLateBookingPolicy` object defines the policy for limiting late bookings.
|
|
471
|
+
* - The `BookAfterStartPolicy` object defines the policy for booking after the start of the schedule.
|
|
472
|
+
* - The `CancellationPolicy` object defines the policy for canceling a booked entity.
|
|
473
|
+
* - The `ReschedulePolicy` object defines the policy for rescheduling booked entity.
|
|
474
|
+
* - The `WaitlistPolicy` object defines the policy for a waitlist.
|
|
475
|
+
* - The `ParticipantsPolicy` object defines the policy regarding the participants per booking.
|
|
476
|
+
* - The `ResourcesPolicy` object defines the policy regarding the resources per booking.
|
|
477
|
+
* - The `CancellationFeePolicy` object defines the policy regarding cancellation fees.
|
|
478
|
+
* - The `SaveCreditCardPolicy` object defines the policy for saving credit card details.
|
|
479
|
+
*
|
|
480
|
+
* By default each sub-policy is disabled. A more detailed specification of the default settings of each sub-policy
|
|
481
|
+
* can be found in the description of the corresponding object.
|
|
482
|
+
*
|
|
483
|
+
* Partial updates are supported on the main entity level, however in order to update a sub-policy the client needs to provide the whole sub-policy object.
|
|
484
|
+
*/
|
|
485
|
+
export interface BookingPolicy {
|
|
486
|
+
/** The ID to the policy for the booking. */
|
|
487
|
+
id?: string;
|
|
488
|
+
/**
|
|
489
|
+
* Date and time the policy was created.
|
|
490
|
+
* @readonly
|
|
491
|
+
*/
|
|
492
|
+
createdDate?: Date | null;
|
|
493
|
+
/**
|
|
494
|
+
* Date and time the policy was updated.
|
|
495
|
+
* @readonly
|
|
496
|
+
*/
|
|
497
|
+
updatedDate?: Date | null;
|
|
498
|
+
/**
|
|
499
|
+
* Name of the policy.
|
|
500
|
+
* @readonly
|
|
501
|
+
*/
|
|
502
|
+
name?: string | null;
|
|
503
|
+
/**
|
|
504
|
+
* Custom description for the policy. This policy is displayed to the participant.
|
|
505
|
+
* @readonly
|
|
506
|
+
*/
|
|
507
|
+
customPolicyDescription?: PolicyDescription;
|
|
508
|
+
/**
|
|
509
|
+
* Whether the policy is the default for the meta site.
|
|
510
|
+
* @readonly
|
|
511
|
+
*/
|
|
512
|
+
default?: boolean | null;
|
|
513
|
+
/**
|
|
514
|
+
* Policy for limiting early bookings.
|
|
515
|
+
* @readonly
|
|
516
|
+
*/
|
|
517
|
+
limitEarlyBookingPolicy?: LimitEarlyBookingPolicy;
|
|
518
|
+
/**
|
|
519
|
+
* Policy for limiting late bookings.
|
|
520
|
+
* @readonly
|
|
521
|
+
*/
|
|
522
|
+
limitLateBookingPolicy?: LimitLateBookingPolicy;
|
|
523
|
+
/**
|
|
524
|
+
* Policy on booking an entity after the start of the schedule.
|
|
525
|
+
* @readonly
|
|
526
|
+
*/
|
|
527
|
+
bookAfterStartPolicy?: BookAfterStartPolicy;
|
|
528
|
+
/**
|
|
529
|
+
* Policy for canceling a booked entity.
|
|
530
|
+
* @readonly
|
|
531
|
+
*/
|
|
532
|
+
cancellationPolicy?: CancellationPolicy;
|
|
533
|
+
/**
|
|
534
|
+
* Policy for rescheduling a booked entity.
|
|
535
|
+
* @readonly
|
|
536
|
+
*/
|
|
537
|
+
reschedulePolicy?: ReschedulePolicy;
|
|
538
|
+
/**
|
|
539
|
+
* Waitlist policy for the service.
|
|
540
|
+
* @readonly
|
|
541
|
+
*/
|
|
542
|
+
waitlistPolicy?: WaitlistPolicy;
|
|
543
|
+
/**
|
|
544
|
+
* Policy regarding the participants per booking.
|
|
545
|
+
* @readonly
|
|
546
|
+
*/
|
|
547
|
+
participantsPolicy?: ParticipantsPolicy;
|
|
548
|
+
/**
|
|
549
|
+
* Policy for allocating resources.
|
|
550
|
+
* @readonly
|
|
551
|
+
*/
|
|
552
|
+
resourcesPolicy?: ResourcesPolicy;
|
|
553
|
+
/**
|
|
554
|
+
* Rules for cancellation fees.
|
|
555
|
+
* @readonly
|
|
556
|
+
*/
|
|
557
|
+
cancellationFeePolicy?: CancellationFeePolicy;
|
|
558
|
+
/**
|
|
559
|
+
* Rule for saving credit card.
|
|
560
|
+
* @readonly
|
|
561
|
+
*/
|
|
562
|
+
saveCreditCardPolicy?: SaveCreditCardPolicy;
|
|
563
|
+
}
|
|
564
|
+
/** A description of the policy to display to participants. */
|
|
565
|
+
export interface PolicyDescription {
|
|
566
|
+
/**
|
|
567
|
+
* Whether the description should be displayed. If `true`, the description is displayed.
|
|
568
|
+
*
|
|
569
|
+
* Default: `false`
|
|
570
|
+
*/
|
|
571
|
+
enabled?: boolean;
|
|
572
|
+
/**
|
|
573
|
+
* The description to display.
|
|
574
|
+
*
|
|
575
|
+
* Default: Empty
|
|
576
|
+
* Max length: 2500 characters
|
|
577
|
+
*/
|
|
578
|
+
description?: string;
|
|
579
|
+
}
|
|
580
|
+
/** The policy for limiting early bookings. */
|
|
581
|
+
export interface LimitEarlyBookingPolicy {
|
|
582
|
+
/**
|
|
583
|
+
* Whether there is a limit on how early a customer
|
|
584
|
+
* can book. When `false`, there is no limit on the earliest
|
|
585
|
+
* booking time and customers can book in advance, as early as they like.
|
|
586
|
+
*
|
|
587
|
+
* Default: `false`
|
|
588
|
+
*/
|
|
589
|
+
enabled?: boolean;
|
|
590
|
+
/**
|
|
591
|
+
* Maximum number of minutes before the start of the session that a booking can be made. This value must be greater
|
|
592
|
+
* than `latest_booking_in_minutes` in the `LimitLateBookingPolicy` policy.
|
|
593
|
+
*
|
|
594
|
+
* Default: 10080 minutes (7 days)
|
|
595
|
+
* Min: 1 minute
|
|
596
|
+
*/
|
|
597
|
+
earliestBookingInMinutes?: number;
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* The policy for limiting late bookings.
|
|
601
|
+
*
|
|
602
|
+
* This policy and the `BookAfterStartPolicy` policy cannot be enabled at the same time. So if this policy
|
|
603
|
+
* is enabled, `BookAfterStartPolicy` must be disabled.
|
|
604
|
+
*/
|
|
605
|
+
export interface LimitLateBookingPolicy {
|
|
606
|
+
/**
|
|
607
|
+
* Whether there is a limit on how late a customer
|
|
608
|
+
* can book. When `false`, there is no limit on the latest
|
|
609
|
+
* booking time and customers can book up to the last minute.
|
|
610
|
+
*
|
|
611
|
+
* Default: `false`
|
|
612
|
+
*/
|
|
613
|
+
enabled?: boolean;
|
|
614
|
+
/**
|
|
615
|
+
* Minimum number of minutes before the start of the session that a booking can be made.
|
|
616
|
+
* For a schedule, this is relative to the start time of the next booked session, excluding past-booked sessions.
|
|
617
|
+
* This value must be less than `earliest_booking_in_minutes` in the `LimitEarlyBookingPolicy` policy.
|
|
618
|
+
*
|
|
619
|
+
* Default: 1440 minutes (1 day)
|
|
620
|
+
* Min: 1 minute
|
|
621
|
+
*/
|
|
622
|
+
latestBookingInMinutes?: number;
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* The policy for whether a session can be booked after the start of the schedule.
|
|
626
|
+
* This policy and `LimitLateBookingPolicy` cannot be enabled at the same time. So if this policy
|
|
627
|
+
* is enabled, the `LimitLateBookingPolicy` policy must be disabled.
|
|
628
|
+
*/
|
|
629
|
+
export interface BookAfterStartPolicy {
|
|
630
|
+
/**
|
|
631
|
+
* Whether booking is allowed after the start of the schedule. When `true`,
|
|
632
|
+
* customers can book after the start of the schedule.
|
|
633
|
+
*
|
|
634
|
+
* Default: `false`
|
|
635
|
+
*/
|
|
636
|
+
enabled?: boolean;
|
|
637
|
+
}
|
|
638
|
+
/** The policy for canceling a booked session. */
|
|
639
|
+
export interface CancellationPolicy {
|
|
640
|
+
/**
|
|
641
|
+
* Whether canceling a booking is allowed. When `true`, customers
|
|
642
|
+
* can cancel the booking.
|
|
643
|
+
*
|
|
644
|
+
* Default: `false`
|
|
645
|
+
*/
|
|
646
|
+
enabled?: boolean;
|
|
647
|
+
/**
|
|
648
|
+
* Whether there is a limit on the latest cancellation time. When `true`,
|
|
649
|
+
* a time limit is enforced.
|
|
650
|
+
*
|
|
651
|
+
* Default: `false`
|
|
652
|
+
*/
|
|
653
|
+
limitLatestCancellation?: boolean;
|
|
654
|
+
/**
|
|
655
|
+
* Minimum number of minutes before the start of the booked session that the booking can be canceled.
|
|
656
|
+
*
|
|
657
|
+
* Default: 1440 minutes (1 day)
|
|
658
|
+
* Min: 1 minute
|
|
659
|
+
*/
|
|
660
|
+
latestCancellationInMinutes?: number;
|
|
661
|
+
}
|
|
662
|
+
/** The policy for rescheduling a booked session. */
|
|
663
|
+
export interface ReschedulePolicy {
|
|
664
|
+
/**
|
|
665
|
+
* Whether rescheduling a booking is allowed. When `true`, customers
|
|
666
|
+
* can reschedule the booking.
|
|
667
|
+
*
|
|
668
|
+
* Default: `false`
|
|
669
|
+
*/
|
|
670
|
+
enabled?: boolean;
|
|
671
|
+
/**
|
|
672
|
+
* Whether there is a limit on the latest reschedule time. When `true`,
|
|
673
|
+
* a time limit is enforced.
|
|
674
|
+
*
|
|
675
|
+
* Default: `false`
|
|
676
|
+
*/
|
|
677
|
+
limitLatestReschedule?: boolean;
|
|
678
|
+
/**
|
|
679
|
+
* Minimum number of minutes before the start of the booked session that the booking can be rescheduled.
|
|
680
|
+
*
|
|
681
|
+
* Default: 1440 minutes (1 day)
|
|
682
|
+
* Min: 1 minute
|
|
683
|
+
*/
|
|
684
|
+
latestRescheduleInMinutes?: number;
|
|
685
|
+
}
|
|
686
|
+
/** The policy for the waitlist. */
|
|
687
|
+
export interface WaitlistPolicy {
|
|
688
|
+
/**
|
|
689
|
+
* Whether the session has a waitlist. If `true`, there is a waitlist.
|
|
690
|
+
*
|
|
691
|
+
* Default: `false`
|
|
692
|
+
*/
|
|
693
|
+
enabled?: boolean;
|
|
694
|
+
/**
|
|
695
|
+
* Number of spots available in the waitlist.
|
|
696
|
+
*
|
|
697
|
+
* Default: 10 spots
|
|
698
|
+
* Min: 1 spot
|
|
699
|
+
*/
|
|
700
|
+
capacity?: number;
|
|
701
|
+
/**
|
|
702
|
+
* Amount of time a participant is given to book, once notified that a spot is available.
|
|
703
|
+
*
|
|
704
|
+
* Default: 10 minutes
|
|
705
|
+
* Min: 1 spot
|
|
706
|
+
*/
|
|
707
|
+
reservationTimeInMinutes?: number;
|
|
708
|
+
}
|
|
709
|
+
/** The policy for the maximum number of participants per booking. */
|
|
710
|
+
export interface ParticipantsPolicy {
|
|
711
|
+
/**
|
|
712
|
+
* Maximum number of participants allowed.
|
|
713
|
+
*
|
|
714
|
+
* Default: 1 participant
|
|
715
|
+
* Min: 1 participant
|
|
716
|
+
*/
|
|
717
|
+
maxParticipantsPerBooking?: number;
|
|
718
|
+
}
|
|
719
|
+
/** The policy regarding the allocation of resources (e.g. staff members). */
|
|
720
|
+
export interface ResourcesPolicy {
|
|
721
|
+
/**
|
|
722
|
+
* `true` if this policy is enabled, `false` otherwise.
|
|
723
|
+
* When `false` then the client must always select a resource when booking an appointment.
|
|
724
|
+
*/
|
|
725
|
+
enabled?: boolean;
|
|
726
|
+
/**
|
|
727
|
+
* `true`, if it is allowed to automatically assign a resource when booking an appointment,
|
|
728
|
+
* `false`, if the client must always select a resource.
|
|
729
|
+
*
|
|
730
|
+
* Default: `false`
|
|
731
|
+
*/
|
|
732
|
+
autoAssignAllowed?: boolean;
|
|
733
|
+
}
|
|
734
|
+
export interface CancellationFeePolicy {
|
|
735
|
+
/**
|
|
736
|
+
* Whether canceling a booking will result in a cancellation fee
|
|
737
|
+
*
|
|
738
|
+
* Default: `false`
|
|
739
|
+
*/
|
|
740
|
+
enabled?: boolean;
|
|
741
|
+
/** Cancellation windows describing the time of cancellation and the fee to charge. */
|
|
742
|
+
cancellationWindows?: CancellationWindow[];
|
|
743
|
+
/**
|
|
744
|
+
* Whether the cancellation fee should not be automatically collected when customer cancels the booking.
|
|
745
|
+
*
|
|
746
|
+
* Default: `true`
|
|
747
|
+
*/
|
|
748
|
+
autoCollectFeeEnabled?: boolean | null;
|
|
749
|
+
}
|
|
750
|
+
export interface CancellationWindow extends CancellationWindowFeeOneOf {
|
|
751
|
+
/** Amount to be charged as a cancellation fee. */
|
|
752
|
+
amount?: Money;
|
|
753
|
+
/** Percentage of the original price to be charged as a cancellation fee. */
|
|
754
|
+
percentage?: string;
|
|
755
|
+
/** The fee will be applied if the booked session starts within this start time in minutes. */
|
|
756
|
+
startInMinutes?: number | null;
|
|
757
|
+
}
|
|
758
|
+
/** @oneof */
|
|
759
|
+
export interface CancellationWindowFeeOneOf {
|
|
760
|
+
/** Amount to be charged as a cancellation fee. */
|
|
761
|
+
amount?: Money;
|
|
762
|
+
/** Percentage of the original price to be charged as a cancellation fee. */
|
|
763
|
+
percentage?: string;
|
|
764
|
+
}
|
|
765
|
+
export interface SaveCreditCardPolicy {
|
|
766
|
+
/** Default: `false` */
|
|
767
|
+
enabled?: boolean;
|
|
768
|
+
}
|
|
769
|
+
export interface V2Schedule {
|
|
770
|
+
/**
|
|
771
|
+
* ID of the schedule
|
|
772
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction))
|
|
773
|
+
* to which the service's events belong.
|
|
774
|
+
* @readonly
|
|
775
|
+
*/
|
|
776
|
+
id?: string | null;
|
|
777
|
+
/**
|
|
778
|
+
* Start time of the first session in the schedule. For courses only.
|
|
779
|
+
* @readonly
|
|
780
|
+
*/
|
|
781
|
+
firstSessionStart?: Date | null;
|
|
782
|
+
/**
|
|
783
|
+
* End time of the last session in the schedule. For courses only.
|
|
784
|
+
* @readonly
|
|
785
|
+
*/
|
|
786
|
+
lastSessionEnd?: Date | null;
|
|
787
|
+
/** Limitations affecting the service availability. */
|
|
788
|
+
availabilityConstraints?: V2AvailabilityConstraints;
|
|
789
|
+
}
|
|
790
|
+
export interface V2AvailabilityConstraints {
|
|
791
|
+
/**
|
|
792
|
+
* Calculated list of all supported session durations for the service. For
|
|
793
|
+
* appointment-based services without varied pricing based on session length, it
|
|
794
|
+
* matches the single value in the `sessionDurations` array. For appointment-based
|
|
795
|
+
* services with varied pricing based on session length, it includes session
|
|
796
|
+
* durations for all variants
|
|
797
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)),
|
|
798
|
+
* while ignoring `sessionDurations`.
|
|
799
|
+
* For courses and classes, it includes durations for all future
|
|
800
|
+
* recurring sessions but excludes durations for one-off or past recurring sessions.
|
|
801
|
+
* @readonly
|
|
802
|
+
*/
|
|
803
|
+
durations?: Duration[];
|
|
804
|
+
/**
|
|
805
|
+
* List of supported session durations in minutes. Specify `sessionDurations` only
|
|
806
|
+
* for appointment-based services. Do not specify it for classes or courses. Note that
|
|
807
|
+
* session durations for appointment-based services with varied pricing based on
|
|
808
|
+
* session length are retrieved from service variants
|
|
809
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)),
|
|
810
|
+
* while this array is ignored.
|
|
811
|
+
*
|
|
812
|
+
* Min: `1` minute
|
|
813
|
+
* Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
|
|
814
|
+
*/
|
|
815
|
+
sessionDurations?: number[];
|
|
816
|
+
/**
|
|
817
|
+
* The number of minutes between the end of a session and the start of the next.
|
|
818
|
+
*
|
|
819
|
+
*
|
|
820
|
+
* Min: `0` minutes
|
|
821
|
+
* Max: `720` minutes
|
|
822
|
+
*/
|
|
823
|
+
timeBetweenSessions?: number;
|
|
824
|
+
}
|
|
825
|
+
export interface Duration {
|
|
826
|
+
/**
|
|
827
|
+
* The duration of the service in minutes.
|
|
828
|
+
*
|
|
829
|
+
* Min: `1` minute
|
|
830
|
+
* Max: `44639` minutes (30 days, 23 hours, and 59 minutes)
|
|
831
|
+
*/
|
|
832
|
+
minutes?: number;
|
|
833
|
+
}
|
|
834
|
+
export interface StaffMember {
|
|
835
|
+
/**
|
|
836
|
+
* ID of the staff member providing the service, can be used to retrieve resource information using wix-bookings-backend resources API.
|
|
837
|
+
* @readonly
|
|
838
|
+
*/
|
|
839
|
+
staffMemberId?: string;
|
|
840
|
+
/**
|
|
841
|
+
* Name of the staff member
|
|
842
|
+
* @readonly
|
|
843
|
+
*/
|
|
844
|
+
name?: string | null;
|
|
845
|
+
/**
|
|
846
|
+
* Main media associated with the service.
|
|
847
|
+
* @readonly
|
|
848
|
+
*/
|
|
849
|
+
mainMedia?: StaffMediaItem;
|
|
850
|
+
}
|
|
851
|
+
export interface StaffMediaItem extends StaffMediaItemItemOneOf {
|
|
852
|
+
/** Details of the image associated with the staff, such as URL and size. */
|
|
853
|
+
image?: Image;
|
|
854
|
+
}
|
|
855
|
+
/** @oneof */
|
|
856
|
+
export interface StaffMediaItemItemOneOf {
|
|
857
|
+
/** Details of the image associated with the staff, such as URL and size. */
|
|
858
|
+
image?: Image;
|
|
859
|
+
}
|
|
860
|
+
export interface StaffMemberDetails {
|
|
861
|
+
/** Staff members providing the service. For appointments only. */
|
|
862
|
+
staffMembers?: StaffMember[];
|
|
863
|
+
}
|
|
864
|
+
export interface ResourceGroup {
|
|
865
|
+
/**
|
|
866
|
+
* An optional resource group ID. If specified, it references a resource group in the resource groups API.
|
|
867
|
+
* TODO - referenced_entity annotation
|
|
868
|
+
*/
|
|
869
|
+
resourceGroupId?: string | null;
|
|
870
|
+
/**
|
|
871
|
+
* Resource IDs. Each ID references a resource in the resources API and may be a subset of resources within a resource group.
|
|
872
|
+
* TODO - referenced_entity annotation
|
|
873
|
+
*/
|
|
874
|
+
resourceIds?: ResourceIds;
|
|
875
|
+
/**
|
|
876
|
+
* Specifies how many resources in the group / resource IDs are required to book the service.
|
|
877
|
+
* Defaults to 1.
|
|
878
|
+
*/
|
|
879
|
+
requiredResourcesNumber?: number | null;
|
|
880
|
+
/**
|
|
881
|
+
* If set to `true`, the customer can select the specific resources while booking the service.
|
|
882
|
+
* If set to `false`, the resources required to book the service will be auto-selected at the time of the booking.
|
|
883
|
+
* Defaults to false.
|
|
884
|
+
* @readonly
|
|
885
|
+
*/
|
|
886
|
+
selectableResource?: boolean | null;
|
|
887
|
+
}
|
|
888
|
+
export interface ResourceIds {
|
|
889
|
+
/** Values of the resource IDs. */
|
|
890
|
+
values?: string[];
|
|
891
|
+
}
|
|
892
|
+
export interface ServiceResource extends ServiceResourceSelectionOneOf {
|
|
893
|
+
/** Resource IDs, each referencing a resource in the Resources API. Must be a subset of resources within the specified resource type. */
|
|
894
|
+
resourceIds?: ResourceIds;
|
|
895
|
+
/** The unique identifier for the service resource. If not specified, it defaults to the resource type ID. */
|
|
896
|
+
id?: string | null;
|
|
897
|
+
/** Service resource type data. */
|
|
898
|
+
resourceType?: ResourceType;
|
|
899
|
+
/** The number of resources required to book the service. Defaults to 1. */
|
|
900
|
+
requiredResourcesNumber?: number | null;
|
|
901
|
+
/**
|
|
902
|
+
* If set to `true`, the customer can select specific resources while booking the service.
|
|
903
|
+
* If set to `false`, the resources required to book the service will be auto-selected at the time of booking. Defaults to false.
|
|
904
|
+
* @readonly
|
|
905
|
+
*/
|
|
906
|
+
selectableResource?: boolean | null;
|
|
907
|
+
}
|
|
908
|
+
/** @oneof */
|
|
909
|
+
export interface ServiceResourceSelectionOneOf {
|
|
910
|
+
/** Resource IDs, each referencing a resource in the Resources API. Must be a subset of resources within the specified resource type. */
|
|
911
|
+
resourceIds?: ResourceIds;
|
|
912
|
+
}
|
|
913
|
+
export interface ResourceType {
|
|
914
|
+
/** The type of the resource. */
|
|
915
|
+
id?: string | null;
|
|
916
|
+
/**
|
|
917
|
+
* The name of the resource type.
|
|
918
|
+
* @readonly
|
|
919
|
+
*/
|
|
920
|
+
name?: string | null;
|
|
921
|
+
}
|
|
922
|
+
export interface Slug {
|
|
923
|
+
/** 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`. */
|
|
924
|
+
name?: string;
|
|
925
|
+
/**
|
|
926
|
+
* 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.
|
|
927
|
+
* @readonly
|
|
928
|
+
*/
|
|
929
|
+
custom?: boolean | null;
|
|
930
|
+
/**
|
|
931
|
+
* Date and time the slug was created. This is a system field.
|
|
932
|
+
* @readonly
|
|
933
|
+
*/
|
|
934
|
+
createdDate?: Date | null;
|
|
935
|
+
}
|
|
936
|
+
export interface URLs {
|
|
937
|
+
/**
|
|
938
|
+
* The URL for the service page.
|
|
939
|
+
* @readonly
|
|
940
|
+
*/
|
|
941
|
+
servicePage?: PageUrlV2;
|
|
942
|
+
/**
|
|
943
|
+
* The URL for the booking entry point. It can be either to the calendar or to the service page.
|
|
944
|
+
* @readonly
|
|
945
|
+
*/
|
|
946
|
+
bookingPage?: PageUrlV2;
|
|
947
|
+
/**
|
|
948
|
+
* The URL for the calendar. Can be empty if no calendar exists.
|
|
949
|
+
* @readonly
|
|
950
|
+
*/
|
|
951
|
+
calendarPage?: PageUrlV2;
|
|
952
|
+
}
|
|
953
|
+
export interface PageUrlV2 {
|
|
954
|
+
/** The relative path for the page within the site. For example, `/product-page/a-product`. */
|
|
955
|
+
relativePath?: string;
|
|
956
|
+
/** The page's full URL. For example, `https://mysite.com/product-page/a-product`. */
|
|
957
|
+
url?: string | null;
|
|
958
|
+
}
|
|
959
|
+
export interface ExtendedFields {
|
|
960
|
+
/**
|
|
961
|
+
* Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
|
|
962
|
+
* The value of each key is structured according to the schema defined when the extended fields were configured.
|
|
963
|
+
*
|
|
964
|
+
* You can only access fields for which you have the appropriate permissions.
|
|
965
|
+
*
|
|
966
|
+
* Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
|
|
967
|
+
*/
|
|
968
|
+
namespaces?: Record<string, Record<string, any>>;
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* 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.
|
|
972
|
+
* The search engines use this information for ranking purposes, or to display snippets in the search results.
|
|
973
|
+
* This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.
|
|
974
|
+
*/
|
|
975
|
+
export interface SeoSchema {
|
|
976
|
+
/** SEO tag information. */
|
|
977
|
+
tags?: Tag[];
|
|
978
|
+
/** SEO general settings. */
|
|
979
|
+
settings?: Settings;
|
|
980
|
+
}
|
|
981
|
+
export interface Keyword {
|
|
982
|
+
/** Keyword value. */
|
|
983
|
+
term?: string;
|
|
984
|
+
/** Whether the keyword is the main focus keyword. */
|
|
985
|
+
isMain?: boolean;
|
|
986
|
+
/** The source that added the keyword terms to the SEO settings. */
|
|
987
|
+
origin?: string | null;
|
|
988
|
+
}
|
|
989
|
+
export interface Tag {
|
|
990
|
+
/**
|
|
991
|
+
* SEO tag type.
|
|
992
|
+
*
|
|
993
|
+
*
|
|
994
|
+
* Supported values: `title`, `meta`, `script`, `link`.
|
|
995
|
+
*/
|
|
996
|
+
type?: string;
|
|
997
|
+
/**
|
|
998
|
+
* A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
|
|
999
|
+
* For example: `{"name": "description", "content": "the description itself"}`.
|
|
1000
|
+
*/
|
|
1001
|
+
props?: Record<string, any> | null;
|
|
1002
|
+
/** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
|
|
1003
|
+
meta?: Record<string, any> | null;
|
|
1004
|
+
/** SEO tag inner content. For example, `<title> inner content </title>`. */
|
|
1005
|
+
children?: string;
|
|
1006
|
+
/** Whether the tag is a custom tag. */
|
|
1007
|
+
custom?: boolean;
|
|
1008
|
+
/** Whether the tag is disabled. */
|
|
1009
|
+
disabled?: boolean;
|
|
1010
|
+
}
|
|
1011
|
+
export interface Settings {
|
|
1012
|
+
/**
|
|
1013
|
+
* Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
|
|
1014
|
+
*
|
|
1015
|
+
*
|
|
1016
|
+
* Default: `false` (Auto Redirect is enabled.)
|
|
1017
|
+
*/
|
|
1018
|
+
preventAutoRedirect?: boolean;
|
|
1019
|
+
/** User-selected keyword terms for a specific page. */
|
|
1020
|
+
keywords?: Keyword[];
|
|
1021
|
+
}
|
|
1022
|
+
export interface SetCustomSlugEvent {
|
|
1023
|
+
/** The main slug for the service after the update */
|
|
1024
|
+
mainSlug?: Slug;
|
|
1025
|
+
}
|
|
1026
|
+
export interface ServicesUrlsChanged {
|
|
1027
|
+
}
|
|
1028
|
+
export interface CreateServiceRequest {
|
|
1029
|
+
/** Service to create. */
|
|
1030
|
+
service: Service;
|
|
1031
|
+
}
|
|
1032
|
+
export interface CreateServiceResponse {
|
|
1033
|
+
/** Created service. */
|
|
1034
|
+
service?: Service;
|
|
1035
|
+
}
|
|
1036
|
+
export interface ValidateServiceRequest {
|
|
1037
|
+
/** Service to validate. */
|
|
1038
|
+
service?: Service;
|
|
1039
|
+
}
|
|
1040
|
+
export interface ValidateServiceResponse {
|
|
1041
|
+
/** Whether the service is valid. */
|
|
1042
|
+
valid?: boolean;
|
|
1043
|
+
/** Field violations. */
|
|
1044
|
+
fieldViolations?: FieldViolation[];
|
|
1045
|
+
}
|
|
1046
|
+
export interface FieldViolation {
|
|
1047
|
+
/** Path to the invalid field. */
|
|
1048
|
+
fieldName?: string;
|
|
1049
|
+
/** Description of the error. */
|
|
1050
|
+
description?: string;
|
|
1051
|
+
/** Rule name of the violation */
|
|
1052
|
+
ruleName?: string;
|
|
1053
|
+
}
|
|
1054
|
+
export interface BulkCreateServicesRequest {
|
|
1055
|
+
/** Services to create. */
|
|
1056
|
+
services?: Service[];
|
|
1057
|
+
/** Whether to return the created service objects. */
|
|
1058
|
+
returnEntity?: boolean;
|
|
1059
|
+
}
|
|
1060
|
+
export interface BulkCreateServicesResponse {
|
|
1061
|
+
/** The result of each service creation. */
|
|
1062
|
+
results?: BulkServiceResult[];
|
|
1063
|
+
/** Create statistics. */
|
|
1064
|
+
bulkActionMetadata?: BulkActionMetadata;
|
|
1065
|
+
}
|
|
1066
|
+
export interface BulkServiceResult {
|
|
1067
|
+
/** Update metadata. */
|
|
1068
|
+
itemMetadata?: ItemMetadata;
|
|
1069
|
+
/** Updated service. */
|
|
1070
|
+
item?: Service;
|
|
1071
|
+
}
|
|
1072
|
+
export interface ItemMetadata {
|
|
1073
|
+
/** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
|
|
1074
|
+
id?: string | null;
|
|
1075
|
+
/** Index of the item within the request array. Allows for correlation between request and response items. */
|
|
1076
|
+
originalIndex?: number;
|
|
1077
|
+
/** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
|
|
1078
|
+
success?: boolean;
|
|
1079
|
+
/** Details about the error in case of failure. */
|
|
1080
|
+
error?: ApplicationError;
|
|
1081
|
+
}
|
|
1082
|
+
export interface ApplicationError {
|
|
1083
|
+
/** Error code. */
|
|
1084
|
+
code?: string;
|
|
1085
|
+
/** Description of the error. */
|
|
1086
|
+
description?: string;
|
|
1087
|
+
/** Data related to the error. */
|
|
1088
|
+
data?: Record<string, any> | null;
|
|
1089
|
+
}
|
|
1090
|
+
export interface BulkActionMetadata {
|
|
1091
|
+
/** Number of items that were successfully processed. */
|
|
1092
|
+
totalSuccesses?: number;
|
|
1093
|
+
/** Number of items that couldn't be processed. */
|
|
1094
|
+
totalFailures?: number;
|
|
1095
|
+
/** Number of failures without details because detailed failure threshold was exceeded. */
|
|
1096
|
+
undetailedFailures?: number;
|
|
1097
|
+
}
|
|
1098
|
+
export interface GetServiceRequest {
|
|
1099
|
+
/** ID of the service to retrieve. */
|
|
1100
|
+
serviceId: string;
|
|
1101
|
+
}
|
|
1102
|
+
export declare enum V2RequestedFields {
|
|
1103
|
+
/** Unknown requested field. */
|
|
1104
|
+
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
|
|
1105
|
+
/** When passed, `service.staff_members` is returned. */
|
|
1106
|
+
STAFF_MEMBER_DETAILS = "STAFF_MEMBER_DETAILS",
|
|
1107
|
+
/** When passed, `service.service_resources.resource_type.name` is returned. */
|
|
1108
|
+
RESOURCE_TYPE_DETAILS = "RESOURCE_TYPE_DETAILS"
|
|
1109
|
+
}
|
|
1110
|
+
export interface GetServiceResponse {
|
|
1111
|
+
/** Retrieved service. */
|
|
1112
|
+
service?: Service;
|
|
1113
|
+
}
|
|
1114
|
+
export interface GetServiceAvailabilityConstraintsRequest {
|
|
1115
|
+
/** ID of the service to retrieve. */
|
|
1116
|
+
serviceId?: string;
|
|
1117
|
+
}
|
|
1118
|
+
export interface GetServiceAvailabilityConstraintsResponse {
|
|
1119
|
+
/** The retrieved availability constraints of the service. */
|
|
1120
|
+
constraints?: ServiceAvailabilityConstraints;
|
|
1121
|
+
}
|
|
1122
|
+
export interface ServiceAvailabilityConstraints {
|
|
1123
|
+
/**
|
|
1124
|
+
* The booking policy.
|
|
1125
|
+
* @readonly
|
|
1126
|
+
*/
|
|
1127
|
+
bookingPolicy?: BookingPolicy;
|
|
1128
|
+
/**
|
|
1129
|
+
* The service schedule, including the schedule ID and availability constraints.
|
|
1130
|
+
* @readonly
|
|
1131
|
+
*/
|
|
1132
|
+
schedule?: V2Schedule;
|
|
1133
|
+
/**
|
|
1134
|
+
* The locations this service is offered at.
|
|
1135
|
+
* Only multiple locations of type `BUSINESS` are supported. Multiple locations of type `CUSTOM` or `CUSTOMER` are not supported.
|
|
1136
|
+
* For courses only: Currently, only one location is supported for all location types.
|
|
1137
|
+
* Use the `Set Service Locations` method to change the locations this service is offered at.
|
|
1138
|
+
* @readonly
|
|
1139
|
+
*/
|
|
1140
|
+
locations?: V2Location[];
|
|
1141
|
+
/**
|
|
1142
|
+
* Resource groups required to book the service. For backward compatibility only. Use `Service Resources` instead.
|
|
1143
|
+
* @readonly
|
|
1144
|
+
* @deprecated Resource groups required to book the service. For backward compatibility only. Use `Service Resources` instead.
|
|
1145
|
+
* @replacedBy service_resources
|
|
1146
|
+
* @targetRemovalDate 2024-08-19
|
|
1147
|
+
*/
|
|
1148
|
+
resourceGroups?: ResourceGroup[];
|
|
1149
|
+
/**
|
|
1150
|
+
* Resource groups required to book the service.
|
|
1151
|
+
* @readonly
|
|
1152
|
+
*/
|
|
1153
|
+
serviceResources?: ServiceResource[];
|
|
1154
|
+
/**
|
|
1155
|
+
* The time between available slots' start times.
|
|
1156
|
+
* For example, for 5-minute slots: 3:00, 3:05, 3:10 etc. For 1-hour slots: 3:00, 4:00, 5:00 etc.
|
|
1157
|
+
* Applied to all schedules of the site.
|
|
1158
|
+
* For appointments only.
|
|
1159
|
+
* @readonly
|
|
1160
|
+
*/
|
|
1161
|
+
slotsSplitInterval?: V1SplitInterval;
|
|
1162
|
+
/**
|
|
1163
|
+
* Online booking settings.
|
|
1164
|
+
* @readonly
|
|
1165
|
+
*/
|
|
1166
|
+
onlineBooking?: OnlineBooking;
|
|
1167
|
+
}
|
|
1168
|
+
/** 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. */
|
|
1169
|
+
export interface V1SplitInterval {
|
|
1170
|
+
/**
|
|
1171
|
+
* Whether the slot duration is used as the split interval value.
|
|
1172
|
+
* If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in
|
|
1173
|
+
* `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.
|
|
1174
|
+
*/
|
|
1175
|
+
sameAsDuration?: boolean | null;
|
|
1176
|
+
/** Number of minutes between available slots' start times when `same_as_duration` is `false`. */
|
|
1177
|
+
valueInMinutes?: number | null;
|
|
1178
|
+
}
|
|
1179
|
+
export interface UpdateServiceRequest {
|
|
1180
|
+
/** Service to update. */
|
|
1181
|
+
service: Service;
|
|
1182
|
+
}
|
|
1183
|
+
export interface UpdateServiceResponse {
|
|
1184
|
+
/** Updated service. */
|
|
1185
|
+
service?: Service;
|
|
1186
|
+
}
|
|
1187
|
+
export interface BulkUpdateServicesRequest {
|
|
1188
|
+
/** Services to update. */
|
|
1189
|
+
services?: MaskedService[];
|
|
1190
|
+
/** Whether to include the updated services in the response. Default: `false` */
|
|
1191
|
+
returnEntity?: boolean;
|
|
1192
|
+
}
|
|
1193
|
+
export interface MaskedService {
|
|
1194
|
+
/** Service to update. */
|
|
1195
|
+
service?: Service;
|
|
1196
|
+
/** Explicit list of fields to update. */
|
|
1197
|
+
mask?: string[];
|
|
1198
|
+
}
|
|
1199
|
+
export interface BulkUpdateServicesResponse {
|
|
1200
|
+
/** The result of each service update. */
|
|
1201
|
+
results?: BulkServiceResult[];
|
|
1202
|
+
/** Update statistics. */
|
|
1203
|
+
bulkActionMetadata?: BulkActionMetadata;
|
|
1204
|
+
}
|
|
1205
|
+
export interface BulkUpdateServicesByFilterRequest {
|
|
1206
|
+
/** Filter to identify the services to update. */
|
|
1207
|
+
filter: Record<string, any> | null;
|
|
1208
|
+
/** Service to update. */
|
|
1209
|
+
service: Service;
|
|
1210
|
+
}
|
|
1211
|
+
export interface BulkUpdateServicesByFilterResponse {
|
|
1212
|
+
/**
|
|
1213
|
+
* ID of the service update job.
|
|
1214
|
+
*
|
|
1215
|
+
* Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.
|
|
1216
|
+
*/
|
|
1217
|
+
jobId?: string;
|
|
1218
|
+
}
|
|
1219
|
+
export interface DeleteServiceRequest {
|
|
1220
|
+
/** ID of the service to delete. */
|
|
1221
|
+
serviceId: string;
|
|
1222
|
+
/**
|
|
1223
|
+
* Whether to preserve future sessions with participants.
|
|
1224
|
+
*
|
|
1225
|
+
* Default: `false`
|
|
1226
|
+
*/
|
|
1227
|
+
preserveFutureSessionsWithParticipants?: boolean;
|
|
1228
|
+
/**
|
|
1229
|
+
* Whether to notify participants about the change and an optional
|
|
1230
|
+
* custom message.
|
|
1231
|
+
*/
|
|
1232
|
+
participantNotification?: V2ParticipantNotification;
|
|
1233
|
+
}
|
|
1234
|
+
export interface V2ParticipantNotification {
|
|
1235
|
+
/**
|
|
1236
|
+
* Whether to send the message about the changes to the customer.
|
|
1237
|
+
*
|
|
1238
|
+
* Default: `false`
|
|
1239
|
+
*/
|
|
1240
|
+
notifyParticipants?: boolean | null;
|
|
1241
|
+
/** Custom message to send to the participants about the changes to the booking. */
|
|
1242
|
+
message?: string | null;
|
|
1243
|
+
}
|
|
1244
|
+
export interface DeleteServiceResponse {
|
|
1245
|
+
}
|
|
1246
|
+
export interface BulkDeleteServicesRequest {
|
|
1247
|
+
/** IDs of the services to delete. */
|
|
1248
|
+
ids: string[];
|
|
1249
|
+
/**
|
|
1250
|
+
* Whether to preserve future sessions with participants.
|
|
1251
|
+
*
|
|
1252
|
+
* Default: `false`.
|
|
1253
|
+
*/
|
|
1254
|
+
preserveFutureSessionsWithParticipants?: boolean;
|
|
1255
|
+
/**
|
|
1256
|
+
* Whether to notify participants about the change and an optional
|
|
1257
|
+
* custom message.
|
|
1258
|
+
*/
|
|
1259
|
+
participantNotification?: V2ParticipantNotification;
|
|
1260
|
+
}
|
|
1261
|
+
export interface BulkDeleteServicesResponse {
|
|
1262
|
+
/** The result of each service removal. */
|
|
1263
|
+
results?: BulkServiceResult[];
|
|
1264
|
+
/** Delete statistics. */
|
|
1265
|
+
bulkActionMetadata?: BulkActionMetadata;
|
|
1266
|
+
}
|
|
1267
|
+
export interface BulkDeleteServicesByFilterRequest {
|
|
1268
|
+
/** Filter to identify the services that need to be deleted. */
|
|
1269
|
+
filter: Record<string, any> | null;
|
|
1270
|
+
/**
|
|
1271
|
+
* Whether to preserve future sessions with participants.
|
|
1272
|
+
*
|
|
1273
|
+
* Default: `false`.
|
|
1274
|
+
*/
|
|
1275
|
+
preserveFutureSessionsWithParticipants?: boolean;
|
|
1276
|
+
/** Whether to notify participants about the change and an optional custom message. */
|
|
1277
|
+
participantNotification?: V2ParticipantNotification;
|
|
1278
|
+
}
|
|
1279
|
+
export interface BulkDeleteServicesByFilterResponse {
|
|
1280
|
+
/**
|
|
1281
|
+
* ID of the service deletion job.
|
|
1282
|
+
*
|
|
1283
|
+
* Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata.
|
|
1284
|
+
*/
|
|
1285
|
+
jobId?: string;
|
|
1286
|
+
}
|
|
1287
|
+
export interface QueryServicesRequest {
|
|
1288
|
+
/** WQL expression. */
|
|
1289
|
+
query: QueryV2;
|
|
1290
|
+
}
|
|
1291
|
+
export interface QueryV2 extends QueryV2PagingMethodOneOf {
|
|
1292
|
+
/** Paging options to limit and skip the number of items. */
|
|
1293
|
+
paging?: Paging;
|
|
1294
|
+
/**
|
|
1295
|
+
* Filter object in the following format:
|
|
1296
|
+
*
|
|
1297
|
+
* `"filter" : {
|
|
1298
|
+
* "fieldName1": "value1",
|
|
1299
|
+
* "fieldName2":{"$operator":"value2"}
|
|
1300
|
+
* }`
|
|
1301
|
+
*
|
|
1302
|
+
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`
|
|
1303
|
+
*
|
|
1304
|
+
* Read more about [supported fields and operators](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting).
|
|
1305
|
+
*/
|
|
1306
|
+
filter?: Record<string, any> | null;
|
|
1307
|
+
/**
|
|
1308
|
+
* Sort object in the following format:
|
|
1309
|
+
* `[ {"fieldName":"sortField1","order":"ASC"},
|
|
1310
|
+
* {"fieldName":"sortField2","order":"DESC"} ]`
|
|
1311
|
+
*
|
|
1312
|
+
* Read more about [sorting](https://dev.wix.com/api/rest/wix-bookings/services-v2/filtering-and-sorting#wix-bookings_services-v2_filtering-and-sorting_sorting).
|
|
1313
|
+
*/
|
|
1314
|
+
sort?: Sorting[];
|
|
1315
|
+
}
|
|
1316
|
+
/** @oneof */
|
|
1317
|
+
export interface QueryV2PagingMethodOneOf {
|
|
1318
|
+
/** Paging options to limit and skip the number of items. */
|
|
1319
|
+
paging?: Paging;
|
|
1320
|
+
}
|
|
1321
|
+
export interface Sorting {
|
|
1322
|
+
/** Name of the field to sort by. */
|
|
1323
|
+
fieldName?: string;
|
|
1324
|
+
/** Sort order. */
|
|
1325
|
+
order?: SortOrder;
|
|
1326
|
+
}
|
|
1327
|
+
export declare enum SortOrder {
|
|
1328
|
+
ASC = "ASC",
|
|
1329
|
+
DESC = "DESC"
|
|
1330
|
+
}
|
|
1331
|
+
export interface Paging {
|
|
1332
|
+
/** Number of items to load. */
|
|
1333
|
+
limit?: number | null;
|
|
1334
|
+
/** Number of items to skip in the current sort order. */
|
|
1335
|
+
offset?: number | null;
|
|
1336
|
+
}
|
|
1337
|
+
export interface CursorPaging {
|
|
1338
|
+
/** Number of items to load. */
|
|
1339
|
+
limit?: number | null;
|
|
1340
|
+
/**
|
|
1341
|
+
* Pointer to the next or previous page in the list of results.
|
|
1342
|
+
*
|
|
1343
|
+
* You can get the relevant cursor token
|
|
1344
|
+
* from the `pagingMetadata` object in the previous call's response.
|
|
1345
|
+
* Not relevant for the first request.
|
|
1346
|
+
*/
|
|
1347
|
+
cursor?: string | null;
|
|
1348
|
+
}
|
|
1349
|
+
export interface QueryServicesResponse {
|
|
1350
|
+
/** The retrieved services. */
|
|
1351
|
+
services?: Service[];
|
|
1352
|
+
/** Paging metadata, including offset and count. */
|
|
1353
|
+
pagingMetadata?: PagingMetadataV2;
|
|
1354
|
+
}
|
|
1355
|
+
export interface PagingMetadataV2 {
|
|
1356
|
+
/** Number of items returned in the response. */
|
|
1357
|
+
count?: number | null;
|
|
1358
|
+
/** Offset that was requested. */
|
|
1359
|
+
offset?: number | null;
|
|
1360
|
+
/** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */
|
|
1361
|
+
total?: number | null;
|
|
1362
|
+
/** Flag that indicates the server failed to calculate the `total` field. */
|
|
1363
|
+
tooManyToCount?: boolean | null;
|
|
1364
|
+
/** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
|
|
1365
|
+
cursors?: Cursors;
|
|
1366
|
+
}
|
|
1367
|
+
export interface Cursors {
|
|
1368
|
+
/** Cursor pointing to next page in the list of results. */
|
|
1369
|
+
next?: string | null;
|
|
1370
|
+
/** Cursor pointing to previous page in the list of results. */
|
|
1371
|
+
prev?: string | null;
|
|
1372
|
+
}
|
|
1373
|
+
export interface SearchServicesRequest {
|
|
1374
|
+
/** WQL, search or aggregation expression. */
|
|
1375
|
+
search: CursorSearch;
|
|
1376
|
+
}
|
|
1377
|
+
export interface CursorSearch extends CursorSearchPagingMethodOneOf {
|
|
1378
|
+
/**
|
|
1379
|
+
* Cursor pointing to page of results.
|
|
1380
|
+
* When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.
|
|
1381
|
+
*/
|
|
1382
|
+
cursorPaging?: CursorPaging;
|
|
1383
|
+
/** 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) */
|
|
1384
|
+
filter?: Record<string, any> | null;
|
|
1385
|
+
/** Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}] */
|
|
1386
|
+
sort?: Sorting[];
|
|
1387
|
+
/** 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. */
|
|
1388
|
+
aggregations?: Aggregation[];
|
|
1389
|
+
/** Free text to match in searchable fields */
|
|
1390
|
+
search?: SearchDetails;
|
|
1391
|
+
/**
|
|
1392
|
+
* UTC offset or IANA time zone. Valid values are
|
|
1393
|
+
* ISO 8601 UTC offsets, such as +02:00 or -06:00,
|
|
1394
|
+
* and IANA time zone IDs, such as Europe/Rome
|
|
1395
|
+
*
|
|
1396
|
+
* Affects all filters and aggregations returned values.
|
|
1397
|
+
* You may override this behavior in a specific filter by providing
|
|
1398
|
+
* timestamps including time zone. e.g. `"2023-12-20T10:52:34.795Z"`
|
|
1399
|
+
*/
|
|
1400
|
+
timeZone?: string | null;
|
|
1401
|
+
}
|
|
1402
|
+
/** @oneof */
|
|
1403
|
+
export interface CursorSearchPagingMethodOneOf {
|
|
1404
|
+
/**
|
|
1405
|
+
* Cursor pointing to page of results.
|
|
1406
|
+
* When requesting 'cursor_paging.cursor', no `filter`, `sort` or `search` can be provided.
|
|
1407
|
+
*/
|
|
1408
|
+
cursorPaging?: CursorPaging;
|
|
1409
|
+
}
|
|
1410
|
+
export interface Aggregation extends AggregationKindOneOf {
|
|
1411
|
+
/** Value aggregation */
|
|
1412
|
+
value?: ValueAggregation;
|
|
1413
|
+
/** Range aggregation */
|
|
1414
|
+
range?: RangeAggregation;
|
|
1415
|
+
/** Scalar aggregation */
|
|
1416
|
+
scalar?: ScalarAggregation;
|
|
1417
|
+
/** Date histogram aggregation */
|
|
1418
|
+
dateHistogram?: DateHistogramAggregation;
|
|
1419
|
+
/** Nested aggregation */
|
|
1420
|
+
nested?: NestedAggregation;
|
|
1421
|
+
/** User-defined name of aggregation, should be unique, will appear in aggregation results */
|
|
1422
|
+
name?: string | null;
|
|
1423
|
+
/** Type of aggregation, client must provide matching aggregation field below */
|
|
1424
|
+
type?: AggregationType;
|
|
1425
|
+
/** Field to aggregate by, use dot notation to specify json path */
|
|
1426
|
+
fieldPath?: string;
|
|
1427
|
+
/**
|
|
1428
|
+
* deprecated, use `nested` instead
|
|
1429
|
+
* @deprecated deprecated, use `nested` instead
|
|
1430
|
+
* @replacedBy kind.nested
|
|
1431
|
+
* @targetRemovalDate 2025-01-01
|
|
1432
|
+
*/
|
|
1433
|
+
groupBy?: GroupByAggregation;
|
|
1434
|
+
}
|
|
1435
|
+
/** @oneof */
|
|
1436
|
+
export interface AggregationKindOneOf {
|
|
1437
|
+
/** Value aggregation */
|
|
1438
|
+
value?: ValueAggregation;
|
|
1439
|
+
/** Range aggregation */
|
|
1440
|
+
range?: RangeAggregation;
|
|
1441
|
+
/** Scalar aggregation */
|
|
1442
|
+
scalar?: ScalarAggregation;
|
|
1443
|
+
/** Date histogram aggregation */
|
|
1444
|
+
dateHistogram?: DateHistogramAggregation;
|
|
1445
|
+
/** Nested aggregation */
|
|
1446
|
+
nested?: NestedAggregation;
|
|
1447
|
+
}
|
|
1448
|
+
export interface RangeBucket {
|
|
1449
|
+
/** Inclusive lower bound of the range. Required if to is not given. */
|
|
1450
|
+
from?: number | null;
|
|
1451
|
+
/** Exclusive upper bound of the range. Required if from is not given. */
|
|
1452
|
+
to?: number | null;
|
|
1453
|
+
}
|
|
1454
|
+
export declare enum SortType {
|
|
1455
|
+
COUNT = "COUNT",
|
|
1456
|
+
VALUE = "VALUE"
|
|
1457
|
+
}
|
|
1458
|
+
export declare enum SortDirection {
|
|
1459
|
+
DESC = "DESC",
|
|
1460
|
+
ASC = "ASC"
|
|
1461
|
+
}
|
|
1462
|
+
export declare enum MissingValues {
|
|
1463
|
+
EXCLUDE = "EXCLUDE",
|
|
1464
|
+
INCLUDE = "INCLUDE"
|
|
1465
|
+
}
|
|
1466
|
+
export interface IncludeMissingValuesOptions {
|
|
1467
|
+
/** can specify custom bucket name. Defaults are [string -> "N/A"], [int -> "0"], [bool -> "false"] ... */
|
|
1468
|
+
addToBucket?: string;
|
|
1469
|
+
}
|
|
1470
|
+
export declare enum ScalarType {
|
|
1471
|
+
UNKNOWN_SCALAR_TYPE = "UNKNOWN_SCALAR_TYPE",
|
|
1472
|
+
COUNT_DISTINCT = "COUNT_DISTINCT",
|
|
1473
|
+
MIN = "MIN",
|
|
1474
|
+
MAX = "MAX"
|
|
1475
|
+
}
|
|
1476
|
+
export interface ValueAggregation extends ValueAggregationOptionsOneOf {
|
|
1477
|
+
/** options for including missing values */
|
|
1478
|
+
includeOptions?: IncludeMissingValuesOptions;
|
|
1479
|
+
/** Should sort by number of matches or value of the field */
|
|
1480
|
+
sortType?: SortType;
|
|
1481
|
+
/** Should sort in ascending or descending order */
|
|
1482
|
+
sortDirection?: SortDirection;
|
|
1483
|
+
/** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */
|
|
1484
|
+
limit?: number | null;
|
|
1485
|
+
/** should missing values be included or excluded from the aggregation results. Default is EXCLUDE */
|
|
1486
|
+
missingValues?: MissingValues;
|
|
1487
|
+
}
|
|
1488
|
+
/** @oneof */
|
|
1489
|
+
export interface ValueAggregationOptionsOneOf {
|
|
1490
|
+
/** options for including missing values */
|
|
1491
|
+
includeOptions?: IncludeMissingValuesOptions;
|
|
1492
|
+
}
|
|
1493
|
+
export declare enum NestedAggregationType {
|
|
1494
|
+
UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
|
|
1495
|
+
VALUE = "VALUE",
|
|
1496
|
+
RANGE = "RANGE",
|
|
1497
|
+
SCALAR = "SCALAR",
|
|
1498
|
+
DATE_HISTOGRAM = "DATE_HISTOGRAM"
|
|
1499
|
+
}
|
|
1500
|
+
export interface RangeAggregation {
|
|
1501
|
+
/** Range buckets */
|
|
1502
|
+
buckets?: RangeBucket[];
|
|
1503
|
+
}
|
|
1504
|
+
export interface ScalarAggregation {
|
|
1505
|
+
/** Define the operator for the scalar aggregation */
|
|
1506
|
+
type?: ScalarType;
|
|
1507
|
+
}
|
|
1508
|
+
export interface DateHistogramAggregation {
|
|
1509
|
+
/** Interval for date histogram aggregation */
|
|
1510
|
+
interval?: DateHistogramAggregationInterval;
|
|
1511
|
+
}
|
|
1512
|
+
export declare enum DateHistogramAggregationInterval {
|
|
1513
|
+
/** Unknown interval. */
|
|
1514
|
+
UNKNOWN_INTERVAL = "UNKNOWN_INTERVAL",
|
|
1515
|
+
/** Yearly interval. */
|
|
1516
|
+
YEAR = "YEAR",
|
|
1517
|
+
/** Monthly interval. */
|
|
1518
|
+
MONTH = "MONTH",
|
|
1519
|
+
/** Weekly interval. */
|
|
1520
|
+
WEEK = "WEEK",
|
|
1521
|
+
/** Daily interval. */
|
|
1522
|
+
DAY = "DAY",
|
|
1523
|
+
/** Hourly interval. */
|
|
1524
|
+
HOUR = "HOUR",
|
|
1525
|
+
/** Minute interval. */
|
|
1526
|
+
MINUTE = "MINUTE",
|
|
1527
|
+
/** Second interval. */
|
|
1528
|
+
SECOND = "SECOND"
|
|
1529
|
+
}
|
|
1530
|
+
export interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
|
|
1531
|
+
/** Value aggregation */
|
|
1532
|
+
value?: ValueAggregation;
|
|
1533
|
+
/** Range aggregation */
|
|
1534
|
+
range?: RangeAggregation;
|
|
1535
|
+
/** Scalar aggregation */
|
|
1536
|
+
scalar?: ScalarAggregation;
|
|
1537
|
+
/** Date histogram aggregation */
|
|
1538
|
+
dateHistogram?: DateHistogramAggregation;
|
|
1539
|
+
/** User-defined name of aggregation, should be unique, will appear in aggregation results */
|
|
1540
|
+
name?: string | null;
|
|
1541
|
+
/** Type of aggregation, client must provide matching aggregation field below */
|
|
1542
|
+
type?: NestedAggregationType;
|
|
1543
|
+
/** Field to aggregate by, use dont notation to specify json path */
|
|
1544
|
+
fieldPath?: string;
|
|
1545
|
+
}
|
|
1546
|
+
/** @oneof */
|
|
1547
|
+
export interface NestedAggregationItemKindOneOf {
|
|
1548
|
+
/** Value aggregation */
|
|
1549
|
+
value?: ValueAggregation;
|
|
1550
|
+
/** Range aggregation */
|
|
1551
|
+
range?: RangeAggregation;
|
|
1552
|
+
/** Scalar aggregation */
|
|
1553
|
+
scalar?: ScalarAggregation;
|
|
1554
|
+
/** Date histogram aggregation */
|
|
1555
|
+
dateHistogram?: DateHistogramAggregation;
|
|
1556
|
+
}
|
|
1557
|
+
export declare enum AggregationType {
|
|
1558
|
+
UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
|
|
1559
|
+
VALUE = "VALUE",
|
|
1560
|
+
RANGE = "RANGE",
|
|
1561
|
+
SCALAR = "SCALAR",
|
|
1562
|
+
DATE_HISTOGRAM = "DATE_HISTOGRAM",
|
|
1563
|
+
NESTED = "NESTED"
|
|
1564
|
+
}
|
|
1565
|
+
/** nested aggregation expressed through a list of aggregation where each next aggregation is nested within previous one */
|
|
1566
|
+
export interface NestedAggregation {
|
|
1567
|
+
/** Flattened list of aggregations, where each next aggregation is nested within previous one */
|
|
1568
|
+
nestedAggregations?: NestedAggregationItem[];
|
|
1569
|
+
}
|
|
1570
|
+
export interface GroupByAggregation extends GroupByAggregationKindOneOf {
|
|
1571
|
+
/** Value aggregation configuration */
|
|
1572
|
+
value?: ValueAggregation;
|
|
1573
|
+
/** User-defined name of aggregation, should be unique, will appear in aggregation results */
|
|
1574
|
+
name?: string | null;
|
|
1575
|
+
/** Field to aggregate by */
|
|
1576
|
+
fieldPath?: string;
|
|
1577
|
+
}
|
|
1578
|
+
/** @oneof */
|
|
1579
|
+
export interface GroupByAggregationKindOneOf {
|
|
1580
|
+
/** Value aggregation configuration */
|
|
1581
|
+
value?: ValueAggregation;
|
|
1582
|
+
}
|
|
1583
|
+
export interface SearchDetails {
|
|
1584
|
+
/** Boolean search mode */
|
|
1585
|
+
mode?: Mode;
|
|
1586
|
+
/** Search term or expression */
|
|
1587
|
+
expression?: string | null;
|
|
1588
|
+
/** Fields to search in. If empty - server will search in own default fields */
|
|
1589
|
+
fields?: string[];
|
|
1590
|
+
/** Flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */
|
|
1591
|
+
fuzzy?: boolean;
|
|
1592
|
+
}
|
|
1593
|
+
export declare enum Mode {
|
|
1594
|
+
/** Any */
|
|
1595
|
+
OR = "OR",
|
|
1596
|
+
/** All */
|
|
1597
|
+
AND = "AND"
|
|
1598
|
+
}
|
|
1599
|
+
export interface SearchServicesResponse {
|
|
1600
|
+
/** The retrieved services. */
|
|
1601
|
+
services?: Service[];
|
|
1602
|
+
/** Cursor paging metadata */
|
|
1603
|
+
pagingMetadata?: CursorPagingMetadata;
|
|
1604
|
+
/** Response aggregation data */
|
|
1605
|
+
aggregationData?: AggregationData;
|
|
1606
|
+
}
|
|
1607
|
+
export interface CursorPagingMetadata {
|
|
1608
|
+
/** Number of items returned in the response. */
|
|
1609
|
+
count?: number | null;
|
|
1610
|
+
/** 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). */
|
|
1611
|
+
cursors?: Cursors;
|
|
1612
|
+
/**
|
|
1613
|
+
* Indicates if there are more results after the current page.
|
|
1614
|
+
* If `true`, another page of results can be retrieved.
|
|
1615
|
+
* If `false`, this is the last page.
|
|
1616
|
+
*/
|
|
1617
|
+
hasNext?: boolean | null;
|
|
1618
|
+
}
|
|
1619
|
+
export interface AggregationData {
|
|
1620
|
+
/** key = aggregation name (as derived from search request) */
|
|
1621
|
+
results?: AggregationResults[];
|
|
1622
|
+
}
|
|
1623
|
+
export interface ValueAggregationResult {
|
|
1624
|
+
/** Value of the field */
|
|
1625
|
+
value?: string;
|
|
1626
|
+
/** Count of entities with this value */
|
|
1627
|
+
count?: number;
|
|
1628
|
+
}
|
|
1629
|
+
export interface RangeAggregationResult {
|
|
1630
|
+
/** Inclusive lower bound of the range */
|
|
1631
|
+
from?: number | null;
|
|
1632
|
+
/** Exclusive upper bound of the range */
|
|
1633
|
+
to?: number | null;
|
|
1634
|
+
/** Count of entities in this range */
|
|
1635
|
+
count?: number;
|
|
1636
|
+
}
|
|
1637
|
+
export interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {
|
|
1638
|
+
/** Value aggregation results */
|
|
1639
|
+
values?: ValueResults;
|
|
1640
|
+
/** Range aggregation results */
|
|
1641
|
+
ranges?: RangeResults;
|
|
1642
|
+
/** Scalar aggregation results */
|
|
1643
|
+
scalar?: AggregationResultsScalarResult;
|
|
1644
|
+
/** User-defined name of aggregation, matches the one provided in request */
|
|
1645
|
+
name?: string;
|
|
1646
|
+
/** Type of aggregation that matches result */
|
|
1647
|
+
type?: AggregationType;
|
|
1648
|
+
/** Field to aggregate by, matches the one provided in request */
|
|
1649
|
+
fieldPath?: string;
|
|
1650
|
+
}
|
|
1651
|
+
/** @oneof */
|
|
1652
|
+
export interface NestedAggregationResultsResultOneOf {
|
|
1653
|
+
/** Value aggregation results */
|
|
1654
|
+
values?: ValueResults;
|
|
1655
|
+
/** Range aggregation results */
|
|
1656
|
+
ranges?: RangeResults;
|
|
1657
|
+
/** Scalar aggregation results */
|
|
1658
|
+
scalar?: AggregationResultsScalarResult;
|
|
1659
|
+
}
|
|
1660
|
+
export interface ValueResults {
|
|
1661
|
+
/** List of value aggregations */
|
|
1662
|
+
results?: ValueAggregationResult[];
|
|
1663
|
+
}
|
|
1664
|
+
export interface RangeResults {
|
|
1665
|
+
/** List of ranges returned in same order as requested */
|
|
1666
|
+
results?: RangeAggregationResult[];
|
|
1667
|
+
}
|
|
1668
|
+
export interface AggregationResultsScalarResult {
|
|
1669
|
+
/** Type of scalar aggregation */
|
|
1670
|
+
type?: ScalarType;
|
|
1671
|
+
/** Value of the scalar aggregation */
|
|
1672
|
+
value?: number;
|
|
1673
|
+
}
|
|
1674
|
+
export interface NestedValueAggregationResult {
|
|
1675
|
+
/** Value of the field */
|
|
1676
|
+
value?: string;
|
|
1677
|
+
/** Nested aggregations */
|
|
1678
|
+
nestedResults?: NestedAggregationResults;
|
|
1679
|
+
}
|
|
1680
|
+
export interface ValueResult {
|
|
1681
|
+
/** Value of the field */
|
|
1682
|
+
value?: string;
|
|
1683
|
+
/** Count of entities with this value */
|
|
1684
|
+
count?: number | null;
|
|
1685
|
+
}
|
|
1686
|
+
export interface RangeResult {
|
|
1687
|
+
/** Inclusive lower bound of the range */
|
|
1688
|
+
from?: number | null;
|
|
1689
|
+
/** Exclusive upper bound of the range */
|
|
1690
|
+
to?: number | null;
|
|
1691
|
+
/** Count of entities in this range */
|
|
1692
|
+
count?: number | null;
|
|
1693
|
+
}
|
|
1694
|
+
export interface ScalarResult {
|
|
1695
|
+
/** Value of the scalar aggregation */
|
|
1696
|
+
value?: number;
|
|
1697
|
+
}
|
|
1698
|
+
export interface NestedResultValue extends NestedResultValueResultOneOf {
|
|
1699
|
+
/** Value aggregation result */
|
|
1700
|
+
value?: ValueResult;
|
|
1701
|
+
/** Range aggregation result */
|
|
1702
|
+
range?: RangeResult;
|
|
1703
|
+
/** Scalar aggregation result */
|
|
1704
|
+
scalar?: ScalarResult;
|
|
1705
|
+
/** Date histogram aggregation result */
|
|
1706
|
+
dateHistogram?: ValueResult;
|
|
1707
|
+
}
|
|
1708
|
+
/** @oneof */
|
|
1709
|
+
export interface NestedResultValueResultOneOf {
|
|
1710
|
+
/** Value aggregation result */
|
|
1711
|
+
value?: ValueResult;
|
|
1712
|
+
/** Range aggregation result */
|
|
1713
|
+
range?: RangeResult;
|
|
1714
|
+
/** Scalar aggregation result */
|
|
1715
|
+
scalar?: ScalarResult;
|
|
1716
|
+
/** Date histogram aggregation result */
|
|
1717
|
+
dateHistogram?: ValueResult;
|
|
1718
|
+
}
|
|
1719
|
+
export interface Results {
|
|
1720
|
+
/** List of nested aggregations */
|
|
1721
|
+
results?: Record<string, NestedResultValue>;
|
|
1722
|
+
}
|
|
1723
|
+
export interface DateHistogramResult {
|
|
1724
|
+
/** Date in ISO 8601 format */
|
|
1725
|
+
value?: string;
|
|
1726
|
+
/** Count of documents in the bucket */
|
|
1727
|
+
count?: number;
|
|
1728
|
+
}
|
|
1729
|
+
export interface GroupByValueResults {
|
|
1730
|
+
/** List of value aggregations */
|
|
1731
|
+
results?: NestedValueAggregationResult[];
|
|
1732
|
+
}
|
|
1733
|
+
export interface DateHistogramResults {
|
|
1734
|
+
/** List of date histogram aggregations */
|
|
1735
|
+
results?: DateHistogramResult[];
|
|
1736
|
+
}
|
|
1737
|
+
/**
|
|
1738
|
+
* results of `NESTED` aggregation type in a flattened form
|
|
1739
|
+
* aggregations in resulting array are keyed by requested aggregation `name`.
|
|
1740
|
+
*/
|
|
1741
|
+
export interface NestedResults {
|
|
1742
|
+
/** List of nested aggregations */
|
|
1743
|
+
results?: Results[];
|
|
1744
|
+
}
|
|
1745
|
+
export interface AggregationResults extends AggregationResultsResultOneOf {
|
|
1746
|
+
/** Value aggregation results */
|
|
1747
|
+
values?: ValueResults;
|
|
1748
|
+
/** Range aggregation results */
|
|
1749
|
+
ranges?: RangeResults;
|
|
1750
|
+
/** Scalar aggregation results */
|
|
1751
|
+
scalar?: AggregationResultsScalarResult;
|
|
1752
|
+
/** Group by value aggregation results */
|
|
1753
|
+
groupedByValue?: GroupByValueResults;
|
|
1754
|
+
/** Date histogram aggregation results */
|
|
1755
|
+
dateHistogram?: DateHistogramResults;
|
|
1756
|
+
/** Nested aggregation results */
|
|
1757
|
+
nested?: NestedResults;
|
|
1758
|
+
/** User-defined name of aggregation as derived from search request */
|
|
1759
|
+
name?: string;
|
|
1760
|
+
/** Type of aggregation that must match provided kind as derived from search request */
|
|
1761
|
+
type?: AggregationType;
|
|
1762
|
+
/** Field to aggregate by as derived from search request */
|
|
1763
|
+
fieldPath?: string;
|
|
1764
|
+
}
|
|
1765
|
+
/** @oneof */
|
|
1766
|
+
export interface AggregationResultsResultOneOf {
|
|
1767
|
+
/** Value aggregation results */
|
|
1768
|
+
values?: ValueResults;
|
|
1769
|
+
/** Range aggregation results */
|
|
1770
|
+
ranges?: RangeResults;
|
|
1771
|
+
/** Scalar aggregation results */
|
|
1772
|
+
scalar?: AggregationResultsScalarResult;
|
|
1773
|
+
/** Group by value aggregation results */
|
|
1774
|
+
groupedByValue?: GroupByValueResults;
|
|
1775
|
+
/** Date histogram aggregation results */
|
|
1776
|
+
dateHistogram?: DateHistogramResults;
|
|
1777
|
+
/** Nested aggregation results */
|
|
1778
|
+
nested?: NestedResults;
|
|
1779
|
+
}
|
|
1780
|
+
export interface QueryPoliciesRequest {
|
|
1781
|
+
/**
|
|
1782
|
+
* Information about filters, paging, and sorting. See the article about
|
|
1783
|
+
* booking policy filters
|
|
1784
|
+
* ([REST](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policies/supported-filters))
|
|
1785
|
+
* for all supported filters and sorting options.
|
|
1786
|
+
*/
|
|
1787
|
+
query: CursorQuery;
|
|
1788
|
+
}
|
|
1789
|
+
export interface CursorQuery extends CursorQueryPagingMethodOneOf {
|
|
1790
|
+
/** 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`. */
|
|
1791
|
+
cursorPaging?: CursorPaging;
|
|
1792
|
+
/**
|
|
1793
|
+
* Filter object in the following format:
|
|
1794
|
+
* `"filter" : {
|
|
1795
|
+
* "fieldName1": "value1",
|
|
1796
|
+
* "fieldName2":{"$operator":"value2"}
|
|
1797
|
+
* }`
|
|
1798
|
+
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`
|
|
1799
|
+
*/
|
|
1800
|
+
filter?: Record<string, any> | null;
|
|
1801
|
+
/**
|
|
1802
|
+
* Sort object in the following format:
|
|
1803
|
+
* `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
|
|
1804
|
+
*/
|
|
1805
|
+
sort?: Sorting[];
|
|
1806
|
+
}
|
|
1807
|
+
/** @oneof */
|
|
1808
|
+
export interface CursorQueryPagingMethodOneOf {
|
|
1809
|
+
/** 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`. */
|
|
1810
|
+
cursorPaging?: CursorPaging;
|
|
1811
|
+
}
|
|
1812
|
+
export interface QueryPoliciesResponse {
|
|
1813
|
+
/** Retrieved booking policies and information about the services using them. */
|
|
1814
|
+
bookingPolicies?: BookingPolicyWithServices[];
|
|
1815
|
+
/** Paging metadata. */
|
|
1816
|
+
pagingMetadata?: CursorPagingMetadata;
|
|
1817
|
+
}
|
|
1818
|
+
export interface BookingPolicyWithServices {
|
|
1819
|
+
/** Retrieved booking policy. */
|
|
1820
|
+
bookingPolicy?: BookingPolicy;
|
|
1821
|
+
/**
|
|
1822
|
+
* Up to 5 services connected to the booking policy. If `totalServiceCount` is
|
|
1823
|
+
* greater than 5, there are additional services connected to the policy.
|
|
1824
|
+
* You can call Search Services
|
|
1825
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/search-services) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/search-services))
|
|
1826
|
+
* specifying the relevant policy ID in the filter, to retrieve all services that are
|
|
1827
|
+
* connected to a booking policy.
|
|
1828
|
+
*/
|
|
1829
|
+
connectedServices?: Service[];
|
|
1830
|
+
/** Total number of services connected to the booking policy. */
|
|
1831
|
+
totalServiceCount?: number;
|
|
1832
|
+
}
|
|
1833
|
+
export interface QueryBookingFormsRequest {
|
|
1834
|
+
/**
|
|
1835
|
+
* Information about filters, paging, and sorting. See the article about
|
|
1836
|
+
* form filters ([REST](https://dev.wix.com/docs/rest/crm/forms/forms/introduction/supported-filters))
|
|
1837
|
+
* for all supported filters and sorting options.
|
|
1838
|
+
*/
|
|
1839
|
+
query: CursorQuery;
|
|
1840
|
+
/** Conditional fields to return. */
|
|
1841
|
+
conditionalFields?: RequestedFields[];
|
|
1842
|
+
}
|
|
1843
|
+
export declare enum RequestedFields {
|
|
1844
|
+
/** Unknown requested conditional field. */
|
|
1845
|
+
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
|
|
1846
|
+
/** Whether to return the site's default booking form. */
|
|
1847
|
+
DEFAULT_BOOKING_FORM = "DEFAULT_BOOKING_FORM"
|
|
1848
|
+
}
|
|
1849
|
+
export interface QueryBookingFormsResponse {
|
|
1850
|
+
/** Retrieved booking forms and information about connected services. */
|
|
1851
|
+
bookingForms?: BookingForm[];
|
|
1852
|
+
/** Paging metadata. */
|
|
1853
|
+
pagingMetadata?: CursorPagingMetadata;
|
|
1854
|
+
/** The site's default booking form and information about connected services. */
|
|
1855
|
+
defaultBookingForm?: BookingForm;
|
|
1856
|
+
}
|
|
1857
|
+
export interface BookingForm {
|
|
1858
|
+
/** Information about the retrieved booking form. */
|
|
1859
|
+
formDetails?: FormDetails;
|
|
1860
|
+
/**
|
|
1861
|
+
* Up to 5 services connected to the booking form. If `totalServiceCount` is
|
|
1862
|
+
* greater than 5, there are additional services connected to the policy.
|
|
1863
|
+
* You can call Search Services
|
|
1864
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/search-services) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/search-services))
|
|
1865
|
+
* specifying the relevant policy ID in the filter, to retrieve all services that are
|
|
1866
|
+
* connected to a booking policy.
|
|
1867
|
+
*/
|
|
1868
|
+
connectedServices?: ConnectedService[];
|
|
1869
|
+
/** Total number of services connected to the booking form. */
|
|
1870
|
+
totalServiceCount?: number;
|
|
1871
|
+
}
|
|
1872
|
+
export interface FormDetails {
|
|
1873
|
+
/** Form ID. */
|
|
1874
|
+
formId?: string;
|
|
1875
|
+
/** Form name. */
|
|
1876
|
+
name?: string | null;
|
|
1877
|
+
/**
|
|
1878
|
+
* Revision number, which increments by 1 each time the form is updated.
|
|
1879
|
+
* To prevent conflicting changes,
|
|
1880
|
+
* the current revision must be passed when updating the form.
|
|
1881
|
+
* @readonly
|
|
1882
|
+
*/
|
|
1883
|
+
revision?: string | null;
|
|
1884
|
+
}
|
|
1885
|
+
export interface ConnectedService {
|
|
1886
|
+
/** ID of the service connected to the booking form. */
|
|
1887
|
+
id?: string | null;
|
|
1888
|
+
/** Name of the service connected to the booking form. */
|
|
1889
|
+
name?: string | null;
|
|
1890
|
+
}
|
|
1891
|
+
export interface CountServicesRequest {
|
|
1892
|
+
/**
|
|
1893
|
+
* Query filter to base the count on. See supported filters
|
|
1894
|
+
* ([REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting#filtering))
|
|
1895
|
+
* for more details.
|
|
1896
|
+
*/
|
|
1897
|
+
filter?: Record<string, any> | null;
|
|
1898
|
+
}
|
|
1899
|
+
export interface CountServicesResponse {
|
|
1900
|
+
/** Number of services matching the specified filter. */
|
|
1901
|
+
count?: number;
|
|
1902
|
+
}
|
|
1903
|
+
export interface QueryLocationsRequest {
|
|
1904
|
+
/** Filter. */
|
|
1905
|
+
filter?: QueryLocationsFilter;
|
|
1906
|
+
}
|
|
1907
|
+
export interface QueryLocationsFilter {
|
|
1908
|
+
/**
|
|
1909
|
+
* Service filter. See supported filters
|
|
1910
|
+
* ([REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting#filtering))
|
|
1911
|
+
* for more details.
|
|
1912
|
+
*/
|
|
1913
|
+
services?: Record<string, any> | null;
|
|
1914
|
+
/** List of business IDs to filter by. */
|
|
1915
|
+
businessLocationIds?: string[];
|
|
1916
|
+
}
|
|
1917
|
+
export interface QueryLocationsResponse {
|
|
1918
|
+
/**
|
|
1919
|
+
* Retrieved business locations and whether each location is connected to at
|
|
1920
|
+
* least one service.
|
|
1921
|
+
*/
|
|
1922
|
+
businessLocations?: BusinessLocations;
|
|
1923
|
+
/**
|
|
1924
|
+
* Retrieved custom locations and whether each location is connected to at
|
|
1925
|
+
* least one service.
|
|
1926
|
+
*/
|
|
1927
|
+
customLocations?: CustomLocations;
|
|
1928
|
+
/**
|
|
1929
|
+
* Retrieved customer locations and whether each location is connected to at
|
|
1930
|
+
* least one service.
|
|
1931
|
+
*/
|
|
1932
|
+
customerLocations?: CustomerLocations;
|
|
1933
|
+
}
|
|
1934
|
+
export interface BusinessLocations {
|
|
1935
|
+
/**
|
|
1936
|
+
* Whether at least one service matching the filter is connected to any of the
|
|
1937
|
+
* retrieved business locations.
|
|
1938
|
+
*/
|
|
1939
|
+
exists?: boolean;
|
|
1940
|
+
/** Retrieved business locations. */
|
|
1941
|
+
locations?: V2Location[];
|
|
1942
|
+
}
|
|
1943
|
+
export interface CustomLocations {
|
|
1944
|
+
/**
|
|
1945
|
+
* Whether at least one service matching the filter is connected to any of the
|
|
1946
|
+
* retrieved custom locations.
|
|
1947
|
+
*/
|
|
1948
|
+
exists?: boolean;
|
|
1949
|
+
}
|
|
1950
|
+
export interface CustomerLocations {
|
|
1951
|
+
/**
|
|
1952
|
+
* Whether at least one service matching the filter is connected to any of the
|
|
1953
|
+
* retrieved customer locations.
|
|
1954
|
+
*/
|
|
1955
|
+
exists?: boolean;
|
|
1956
|
+
}
|
|
1957
|
+
export interface QueryCategoriesRequest {
|
|
1958
|
+
/** Filter. */
|
|
1959
|
+
filter?: QueryCategoriesFilter;
|
|
1960
|
+
}
|
|
1961
|
+
export interface QueryCategoriesFilter {
|
|
1962
|
+
/**
|
|
1963
|
+
* Service filter. See supported filters
|
|
1964
|
+
* ([REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/filtering-and-sorting#filtering))
|
|
1965
|
+
* for more details.
|
|
1966
|
+
*/
|
|
1967
|
+
services?: Record<string, any> | null;
|
|
1968
|
+
/** List of category IDs to filter by. */
|
|
1969
|
+
categoryIds?: string[];
|
|
1970
|
+
}
|
|
1971
|
+
export interface QueryCategoriesResponse {
|
|
1972
|
+
/** Retrieved categories. */
|
|
1973
|
+
categories?: V2Category[];
|
|
1974
|
+
}
|
|
1975
|
+
export interface QueryServicesMultiLanguageRequest {
|
|
1976
|
+
/** WQL expression. */
|
|
1977
|
+
query?: QueryV2;
|
|
1978
|
+
}
|
|
1979
|
+
export interface QueryServicesMultiLanguageResponse {
|
|
1980
|
+
/** The retrieved services in the main language */
|
|
1981
|
+
services?: Service[];
|
|
1982
|
+
/**
|
|
1983
|
+
* the retrieved services in the requested language according to the
|
|
1984
|
+
* provided linguist aspect
|
|
1985
|
+
*/
|
|
1986
|
+
translatedServices?: Service[];
|
|
1987
|
+
/** Paging metadata, including offset and count. */
|
|
1988
|
+
pagingMetadata?: PagingMetadataV2;
|
|
1989
|
+
}
|
|
1990
|
+
export interface SetServiceLocationsRequest {
|
|
1991
|
+
/** ID of the service. */
|
|
1992
|
+
serviceId: string;
|
|
1993
|
+
/** List of locations replacing existing service locations. Omitting an existing location removes it from the service. Specify `removedLocationSessionsAction` to determine the handling of future sessions scheduled at that location. */
|
|
1994
|
+
locations: V2Location[];
|
|
1995
|
+
/**
|
|
1996
|
+
* The action to perform on sessions currently set to a removed location. For
|
|
1997
|
+
* example, move existing sessions to a new specified location.
|
|
1998
|
+
* If not specified, sessions will not be moved to a new location.
|
|
1999
|
+
*/
|
|
2000
|
+
removedLocationSessionsAction?: RemovedLocationSessionsAction;
|
|
2001
|
+
/**
|
|
2002
|
+
* Whether to notify participants about the change of location, and an
|
|
2003
|
+
* Optional custom message. The notification is sent only to participants of sessions that are affected by the change.
|
|
2004
|
+
*/
|
|
2005
|
+
participantNotification?: V2ParticipantNotification;
|
|
2006
|
+
}
|
|
2007
|
+
export interface RemovedLocationSessionsAction extends RemovedLocationSessionsActionActionOptionsOneOf {
|
|
2008
|
+
/**
|
|
2009
|
+
* Details about the new location of future events that were scheduled to take
|
|
2010
|
+
* place at a removed location.
|
|
2011
|
+
*/
|
|
2012
|
+
moveToLocationOptions?: MoveToNewLocationsOptions;
|
|
2013
|
+
/** Information about what to do with future events at the removed location. */
|
|
2014
|
+
action?: Action;
|
|
2015
|
+
}
|
|
2016
|
+
/** @oneof */
|
|
2017
|
+
export interface RemovedLocationSessionsActionActionOptionsOneOf {
|
|
2018
|
+
/**
|
|
2019
|
+
* Details about the new location of future events that were scheduled to take
|
|
2020
|
+
* place at a removed location.
|
|
2021
|
+
*/
|
|
2022
|
+
moveToLocationOptions?: MoveToNewLocationsOptions;
|
|
2023
|
+
}
|
|
2024
|
+
export declare enum Action {
|
|
2025
|
+
UNKNOWN_ACTION_TYPE = "UNKNOWN_ACTION_TYPE",
|
|
2026
|
+
/** Retain all future sessions at their current location. This is the default. */
|
|
2027
|
+
KEEP_AT_CURRENT_LOCATION = "KEEP_AT_CURRENT_LOCATION",
|
|
2028
|
+
/** Move future events to a new location. */
|
|
2029
|
+
MOVE_TO_LOCATION = "MOVE_TO_LOCATION",
|
|
2030
|
+
/**
|
|
2031
|
+
* Cancel all future events at the removed location.
|
|
2032
|
+
* Currently not supported.
|
|
2033
|
+
*/
|
|
2034
|
+
DELETE = "DELETE"
|
|
2035
|
+
}
|
|
2036
|
+
export interface MoveToNewLocationsOptions {
|
|
2037
|
+
/** The new location to move existing sessions currently set to a removed location, used when `action` is `MOVE_TO_LOCATION`. */
|
|
2038
|
+
newLocation?: V2Location;
|
|
2039
|
+
}
|
|
2040
|
+
export interface SetServiceLocationsResponse {
|
|
2041
|
+
/** The updated service with the newly set locations. */
|
|
2042
|
+
service?: Service;
|
|
2043
|
+
}
|
|
2044
|
+
export interface EnablePricingPlansForServiceRequest {
|
|
2045
|
+
/** ID of the service to update. */
|
|
2046
|
+
serviceId: string;
|
|
2047
|
+
/**
|
|
2048
|
+
* IDs of the pricing plans
|
|
2049
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/introduction) | [REST](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/plan-object))
|
|
2050
|
+
* to add to the service's `payment.pricingPlanIds` array.
|
|
2051
|
+
*/
|
|
2052
|
+
pricingPlanIds: string[];
|
|
2053
|
+
}
|
|
2054
|
+
export interface EnablePricingPlansForServiceResponse {
|
|
2055
|
+
/** Updated service. */
|
|
2056
|
+
service?: Service;
|
|
2057
|
+
}
|
|
2058
|
+
export interface InvalidPricingPlan {
|
|
2059
|
+
/** ID of the invalid pricing plan. */
|
|
2060
|
+
id?: string;
|
|
2061
|
+
/** Explanation why the pricing plan is considered invalid. */
|
|
2062
|
+
message?: string;
|
|
2063
|
+
}
|
|
2064
|
+
export interface DisablePricingPlansForServiceRequest {
|
|
2065
|
+
/** ID of the service to update. */
|
|
2066
|
+
serviceId: string;
|
|
2067
|
+
/**
|
|
2068
|
+
* IDs of the pricing plans
|
|
2069
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/pricing-plans/plans/introduction) | [REST](https://dev.wix.com/api/rest/wix-pricing-plans/pricing-plans/plans/plan-object))
|
|
2070
|
+
* to remove from the service's `payment.pricingPlanIds` array.
|
|
2071
|
+
*/
|
|
2072
|
+
pricingPlanIds?: string[];
|
|
2073
|
+
}
|
|
2074
|
+
export interface DisablePricingPlansForServiceResponse {
|
|
2075
|
+
/** Updated service. */
|
|
2076
|
+
service?: Service;
|
|
2077
|
+
}
|
|
2078
|
+
export interface SetCustomSlugRequest {
|
|
2079
|
+
/** ID of the service for which to update the active slug. */
|
|
2080
|
+
serviceId: string;
|
|
2081
|
+
/** Slug to set as the active service slug. */
|
|
2082
|
+
slug?: string;
|
|
2083
|
+
}
|
|
2084
|
+
export interface SetCustomSlugResponse {
|
|
2085
|
+
/** Updated active service slug. */
|
|
2086
|
+
slug?: Slug;
|
|
2087
|
+
/** Updated service. */
|
|
2088
|
+
service?: Service;
|
|
2089
|
+
}
|
|
2090
|
+
export interface ValidateSlugRequest {
|
|
2091
|
+
/** IO of the service to check custom slug validity for. */
|
|
2092
|
+
serviceId: string;
|
|
2093
|
+
/** Custom slug to validate. */
|
|
2094
|
+
slug?: string;
|
|
2095
|
+
}
|
|
2096
|
+
export interface ValidateSlugResponse {
|
|
2097
|
+
/** Whether the slug is valid. */
|
|
2098
|
+
valid?: boolean;
|
|
2099
|
+
/** Valid slug. Available only if `{"valid": true}`. */
|
|
2100
|
+
slug?: string | null;
|
|
2101
|
+
/** Reasons why the slug is invalid. Available only if `{"valid": false}`. */
|
|
2102
|
+
errors?: InvalidSlugError[];
|
|
2103
|
+
}
|
|
2104
|
+
export declare enum InvalidSlugError {
|
|
2105
|
+
/** Unknown slug error. */
|
|
2106
|
+
UNKNOWN_SLUG_ERROR = "UNKNOWN_SLUG_ERROR",
|
|
2107
|
+
/** Slug contains illegal characters. */
|
|
2108
|
+
SLUG_CONTAINS_ILLEGAL_CHARACTERS = "SLUG_CONTAINS_ILLEGAL_CHARACTERS",
|
|
2109
|
+
/** Slug is already associated with another service. */
|
|
2110
|
+
SLUG_ALREADY_EXISTS = "SLUG_ALREADY_EXISTS"
|
|
2111
|
+
}
|
|
2112
|
+
export interface CloneServiceRequest {
|
|
2113
|
+
/** ID of the service to clone. */
|
|
2114
|
+
sourceServiceId: string;
|
|
2115
|
+
}
|
|
2116
|
+
export interface CloneServiceResponse {
|
|
2117
|
+
/** Cloned service. */
|
|
2118
|
+
service?: Service;
|
|
2119
|
+
/**
|
|
2120
|
+
* Information about connected entities that couldn't be cloned. For example,
|
|
2121
|
+
* future recurring events, the booking form, service variants, and connected
|
|
2122
|
+
* pricing plans.
|
|
2123
|
+
*/
|
|
2124
|
+
errors?: CloneErrors[];
|
|
2125
|
+
}
|
|
2126
|
+
export declare enum CloneErrors {
|
|
2127
|
+
/**
|
|
2128
|
+
* Failed to clone the original service's *options and variants*
|
|
2129
|
+
* ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
|
|
2130
|
+
*/
|
|
2131
|
+
OPTIONS_AND_VARIANTS = "OPTIONS_AND_VARIANTS",
|
|
2132
|
+
/** Failed to clone the original service's *booking form*. */
|
|
2133
|
+
FORM = "FORM"
|
|
2134
|
+
}
|
|
2135
|
+
/** An event sent every time a category entity is changed. */
|
|
2136
|
+
export interface CategoryNotification {
|
|
2137
|
+
category?: Category;
|
|
2138
|
+
event?: CategoryNotificationEvent;
|
|
2139
|
+
}
|
|
2140
|
+
/** 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. */
|
|
2141
|
+
export interface Category {
|
|
2142
|
+
/**
|
|
2143
|
+
* Category ID.
|
|
2144
|
+
* @readonly
|
|
2145
|
+
*/
|
|
2146
|
+
id?: string | null;
|
|
2147
|
+
/** Category name. */
|
|
2148
|
+
name?: string | null;
|
|
2149
|
+
/**
|
|
2150
|
+
* Category status.
|
|
2151
|
+
*
|
|
2152
|
+
* Default: `"CREATED"`
|
|
2153
|
+
* @readonly
|
|
2154
|
+
*/
|
|
2155
|
+
status?: CategoryStatus;
|
|
2156
|
+
/** Sort order of the category in the Dashboard. */
|
|
2157
|
+
sortOrder?: number | null;
|
|
2158
|
+
}
|
|
2159
|
+
export declare enum CategoryStatus {
|
|
2160
|
+
/** The category was created. */
|
|
2161
|
+
CREATED = "CREATED",
|
|
2162
|
+
/** The category was deleted. */
|
|
2163
|
+
DELETED = "DELETED"
|
|
2164
|
+
}
|
|
2165
|
+
export declare enum CategoryNotificationEvent {
|
|
2166
|
+
Updated = "Updated",
|
|
2167
|
+
Deleted = "Deleted",
|
|
2168
|
+
Created = "Created"
|
|
2169
|
+
}
|
|
2170
|
+
export interface Empty {
|
|
2171
|
+
}
|
|
2172
|
+
export interface DomainEvent extends DomainEventBodyOneOf {
|
|
2173
|
+
createdEvent?: EntityCreatedEvent;
|
|
2174
|
+
updatedEvent?: EntityUpdatedEvent;
|
|
2175
|
+
deletedEvent?: EntityDeletedEvent;
|
|
2176
|
+
actionEvent?: ActionEvent;
|
|
2177
|
+
/**
|
|
2178
|
+
* Unique event ID.
|
|
2179
|
+
* Allows clients to ignore duplicate webhooks.
|
|
2180
|
+
*/
|
|
2181
|
+
id?: string;
|
|
2182
|
+
/**
|
|
2183
|
+
* Assumes actions are also always typed to an entity_type
|
|
2184
|
+
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
|
|
2185
|
+
*/
|
|
2186
|
+
entityFqdn?: string;
|
|
2187
|
+
/**
|
|
2188
|
+
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
|
|
2189
|
+
* This is although the created/updated/deleted notion is duplication of the oneof types
|
|
2190
|
+
* Example: created/updated/deleted/started/completed/email_opened
|
|
2191
|
+
*/
|
|
2192
|
+
slug?: string;
|
|
2193
|
+
/** ID of the entity associated with the event. */
|
|
2194
|
+
entityId?: string;
|
|
2195
|
+
/** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
|
|
2196
|
+
eventTime?: Date | null;
|
|
2197
|
+
/**
|
|
2198
|
+
* Whether the event was triggered as a result of a privacy regulation application
|
|
2199
|
+
* (for example, GDPR).
|
|
2200
|
+
*/
|
|
2201
|
+
triggeredByAnonymizeRequest?: boolean | null;
|
|
2202
|
+
/** If present, indicates the action that triggered the event. */
|
|
2203
|
+
originatedFrom?: string | null;
|
|
2204
|
+
/**
|
|
2205
|
+
* A sequence number defining the order of updates to the underlying entity.
|
|
2206
|
+
* For example, given that some entity was updated at 16:00 and than again at 16:01,
|
|
2207
|
+
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
|
|
2208
|
+
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
|
|
2209
|
+
* To do so, you will need to persist this number on your end, and compare the sequence number from the
|
|
2210
|
+
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
|
|
2211
|
+
*/
|
|
2212
|
+
entityEventSequence?: string | null;
|
|
2213
|
+
}
|
|
2214
|
+
/** @oneof */
|
|
2215
|
+
export interface DomainEventBodyOneOf {
|
|
2216
|
+
createdEvent?: EntityCreatedEvent;
|
|
2217
|
+
updatedEvent?: EntityUpdatedEvent;
|
|
2218
|
+
deletedEvent?: EntityDeletedEvent;
|
|
2219
|
+
actionEvent?: ActionEvent;
|
|
2220
|
+
}
|
|
2221
|
+
export interface EntityCreatedEvent {
|
|
2222
|
+
entityAsJson?: string;
|
|
2223
|
+
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
|
|
2224
|
+
restoreInfo?: RestoreInfo;
|
|
2225
|
+
}
|
|
2226
|
+
export interface RestoreInfo {
|
|
2227
|
+
deletedDate?: Date | null;
|
|
2228
|
+
}
|
|
2229
|
+
export interface EntityUpdatedEvent {
|
|
2230
|
+
/**
|
|
2231
|
+
* Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
|
|
2232
|
+
* This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
|
|
2233
|
+
* We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
|
|
2234
|
+
*/
|
|
2235
|
+
currentEntityAsJson?: string;
|
|
2236
|
+
}
|
|
2237
|
+
export interface EntityDeletedEvent {
|
|
2238
|
+
/** Entity that was deleted */
|
|
2239
|
+
deletedEntityAsJson?: string | null;
|
|
2240
|
+
}
|
|
2241
|
+
export interface ActionEvent {
|
|
2242
|
+
bodyAsJson?: string;
|
|
2243
|
+
}
|
|
2244
|
+
export interface ScheduleNotification extends ScheduleNotificationEventOneOf {
|
|
2245
|
+
scheduleCreated?: ScheduleCreated;
|
|
2246
|
+
scheduleUpdated?: ScheduleUpdated;
|
|
2247
|
+
scheduleCancelled?: ScheduleCancelled;
|
|
2248
|
+
sessionCreated?: SessionCreated;
|
|
2249
|
+
sessionUpdated?: SessionUpdated;
|
|
2250
|
+
sessionCancelled?: SessionCancelled;
|
|
2251
|
+
availabilityPolicyUpdated?: AvailabilityPolicyUpdated;
|
|
2252
|
+
/** @deprecated */
|
|
2253
|
+
intervalSplit?: IntervalSplit;
|
|
2254
|
+
recurringSessionSplit?: RecurringSessionSplit;
|
|
2255
|
+
/**
|
|
2256
|
+
* Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.
|
|
2257
|
+
* @deprecated
|
|
2258
|
+
*/
|
|
2259
|
+
scheduleUnassignedFromUser?: ScheduleUnassignedFromUser;
|
|
2260
|
+
preserveFutureSessionsWithParticipants?: boolean | null;
|
|
2261
|
+
/**
|
|
2262
|
+
* Whether to notify participants about changed sessions. deprecated, use participant_notification
|
|
2263
|
+
* @deprecated
|
|
2264
|
+
*/
|
|
2265
|
+
notifyParticipants?: boolean;
|
|
2266
|
+
/** site properties. Optional. Given in create schedule notification. */
|
|
2267
|
+
siteProperties?: SitePropertiesOnScheduleCreation;
|
|
2268
|
+
instanceId?: string;
|
|
2269
|
+
}
|
|
2270
|
+
/** @oneof */
|
|
2271
|
+
export interface ScheduleNotificationEventOneOf {
|
|
2272
|
+
scheduleCreated?: ScheduleCreated;
|
|
2273
|
+
scheduleUpdated?: ScheduleUpdated;
|
|
2274
|
+
scheduleCancelled?: ScheduleCancelled;
|
|
2275
|
+
sessionCreated?: SessionCreated;
|
|
2276
|
+
sessionUpdated?: SessionUpdated;
|
|
2277
|
+
sessionCancelled?: SessionCancelled;
|
|
2278
|
+
availabilityPolicyUpdated?: AvailabilityPolicyUpdated;
|
|
2279
|
+
/** @deprecated */
|
|
2280
|
+
intervalSplit?: IntervalSplit;
|
|
2281
|
+
recurringSessionSplit?: RecurringSessionSplit;
|
|
2282
|
+
/**
|
|
2283
|
+
* Inspect `schedule.scheduleOwnerUserId` on `scheduleUpdated` instead.
|
|
2284
|
+
* @deprecated
|
|
2285
|
+
*/
|
|
2286
|
+
scheduleUnassignedFromUser?: ScheduleUnassignedFromUser;
|
|
2287
|
+
}
|
|
2288
|
+
export interface ScheduleCreated {
|
|
2289
|
+
schedule?: Schedule;
|
|
2290
|
+
}
|
|
2291
|
+
export interface Schedule {
|
|
2292
|
+
/** Schedule ID. */
|
|
2293
|
+
id?: string;
|
|
2294
|
+
/** ID of the schedule's owner entity. This may be a resource ID or a service ID. */
|
|
2295
|
+
scheduleOwnerId?: string | null;
|
|
2296
|
+
/**
|
|
2297
|
+
* Schedule's time zone in [Area/Location](https://en.wikipedia.org/wiki/Tz_database) format. Read-only.
|
|
2298
|
+
* Derived from the Wix Business time zone.
|
|
2299
|
+
* @readonly
|
|
2300
|
+
*/
|
|
2301
|
+
timeZone?: string | null;
|
|
2302
|
+
/**
|
|
2303
|
+
* Deprecated. Please use the [Sessions API](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/session) instead.
|
|
2304
|
+
* @deprecated
|
|
2305
|
+
*/
|
|
2306
|
+
intervals?: RecurringInterval[];
|
|
2307
|
+
/** Default title for the schedule's sessions. Maximum length: 6000 characters. */
|
|
2308
|
+
title?: string | null;
|
|
2309
|
+
/**
|
|
2310
|
+
* __Deprecated.__
|
|
2311
|
+
* Tags for grouping schedules. These tags are the default tags for the schedule's sessions.
|
|
2312
|
+
* The 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.
|
|
2313
|
+
* @deprecated
|
|
2314
|
+
*/
|
|
2315
|
+
tags?: string[] | null;
|
|
2316
|
+
/** Default location for the schedule's sessions. */
|
|
2317
|
+
location?: Location;
|
|
2318
|
+
/**
|
|
2319
|
+
* Maximum number of participants that can be added to the schedule's sessions.
|
|
2320
|
+
* Must be at most `1` for schedule whose availability is affected by another schedule. E.g, appointment schedules of the Wix Bookings app.
|
|
2321
|
+
*/
|
|
2322
|
+
capacity?: number | null;
|
|
2323
|
+
/**
|
|
2324
|
+
* Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.
|
|
2325
|
+
* @deprecated
|
|
2326
|
+
*/
|
|
2327
|
+
rate?: Rate;
|
|
2328
|
+
/**
|
|
2329
|
+
* __Deprecated.__
|
|
2330
|
+
* @deprecated
|
|
2331
|
+
*/
|
|
2332
|
+
availability?: Availability;
|
|
2333
|
+
/**
|
|
2334
|
+
* Number of participants registered to sessions in this schedule, calculated as the sum of the party sizes.
|
|
2335
|
+
* @readonly
|
|
2336
|
+
*/
|
|
2337
|
+
totalNumberOfParticipants?: number;
|
|
2338
|
+
/**
|
|
2339
|
+
* *Partial list** of participants which are registered to sessions in this schedule.
|
|
2340
|
+
* Participants who are registered in the schedule are automatically registered to any session that is created for the schedule.
|
|
2341
|
+
* To 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).
|
|
2342
|
+
* @readonly
|
|
2343
|
+
*/
|
|
2344
|
+
participants?: Participant[];
|
|
2345
|
+
/**
|
|
2346
|
+
* __Deprecated.__
|
|
2347
|
+
* @deprecated
|
|
2348
|
+
*/
|
|
2349
|
+
externalCalendarOverrides?: ExternalCalendarOverrides;
|
|
2350
|
+
/**
|
|
2351
|
+
* Schedule status. Default: Created
|
|
2352
|
+
* @readonly
|
|
2353
|
+
*/
|
|
2354
|
+
status?: ScheduleStatus;
|
|
2355
|
+
/**
|
|
2356
|
+
* Schedule creation date.
|
|
2357
|
+
* @readonly
|
|
2358
|
+
*/
|
|
2359
|
+
created?: Date | null;
|
|
2360
|
+
/**
|
|
2361
|
+
* Schedule last update date.
|
|
2362
|
+
* @readonly
|
|
2363
|
+
*/
|
|
2364
|
+
updated?: Date | null;
|
|
2365
|
+
/**
|
|
2366
|
+
* Schedule version number, updated each time the schedule is updated.
|
|
2367
|
+
* @readonly
|
|
2368
|
+
*/
|
|
2369
|
+
version?: number;
|
|
2370
|
+
/**
|
|
2371
|
+
* Fields which were inherited from the Business Info page under Settings in the Dashboard.
|
|
2372
|
+
* @readonly
|
|
2373
|
+
*/
|
|
2374
|
+
inheritedFields?: string[];
|
|
2375
|
+
/**
|
|
2376
|
+
* __Deprecated.__
|
|
2377
|
+
* @deprecated
|
|
2378
|
+
*/
|
|
2379
|
+
conferenceProvider?: ConferenceProvider;
|
|
2380
|
+
/**
|
|
2381
|
+
* A conference created for the schedule. This is used when a participant is added to a schedule.
|
|
2382
|
+
* **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.
|
|
2383
|
+
* @deprecated
|
|
2384
|
+
*/
|
|
2385
|
+
calendarConference?: CalendarConference;
|
|
2386
|
+
}
|
|
2387
|
+
export interface RecurringInterval {
|
|
2388
|
+
/**
|
|
2389
|
+
* The recurring interval identifier.
|
|
2390
|
+
* @readonly
|
|
2391
|
+
*/
|
|
2392
|
+
id?: string;
|
|
2393
|
+
/** The start time of the recurring interval. Required. */
|
|
2394
|
+
start?: Date | null;
|
|
2395
|
+
/** The end time of the recurring interval. Optional. Empty value indicates that there is no end time. */
|
|
2396
|
+
end?: Date | null;
|
|
2397
|
+
/** The interval rules. The day, hour and minutes the interval is recurring. */
|
|
2398
|
+
interval?: Interval;
|
|
2399
|
+
/** The frequency of the interval. Optional. The default is frequency with the default repetition. */
|
|
2400
|
+
frequency?: Frequency;
|
|
2401
|
+
/** 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. */
|
|
2402
|
+
affectedSchedules?: LinkedSchedule[];
|
|
2403
|
+
/** The type of recurring interval. */
|
|
2404
|
+
intervalType?: RecurringIntervalType;
|
|
2405
|
+
}
|
|
2406
|
+
export interface Interval {
|
|
2407
|
+
/** The day the interval occurs. Optional. The default is the day of the recurring interval's start time. */
|
|
2408
|
+
daysOfWeek?: Day;
|
|
2409
|
+
/** The hour of the day the interval occurs. Must be consistent with the interval start time. Optional. The default is 0. Minimum: 0, maximum: 23. */
|
|
2410
|
+
hourOfDay?: number | null;
|
|
2411
|
+
/** The minutes of the hour the interval accrues. Must be consistent with the interval end time. Optional. The default is 0. Minimum: 0, maximum: 59. */
|
|
2412
|
+
minuteOfHour?: number | null;
|
|
2413
|
+
/** The duration of the interval in minutes. Required. Part of the session end time calculation. */
|
|
2414
|
+
duration?: number;
|
|
2415
|
+
}
|
|
2416
|
+
export declare enum Day {
|
|
2417
|
+
/** Undefined. */
|
|
2418
|
+
UNDEFINED = "UNDEFINED",
|
|
2419
|
+
/** Monday. */
|
|
2420
|
+
MON = "MON",
|
|
2421
|
+
/** Tuesday. */
|
|
2422
|
+
TUE = "TUE",
|
|
2423
|
+
/** Wednesday. */
|
|
2424
|
+
WED = "WED",
|
|
2425
|
+
/** Thursday. */
|
|
2426
|
+
THU = "THU",
|
|
2427
|
+
/** Friday. */
|
|
2428
|
+
FRI = "FRI",
|
|
2429
|
+
/** Saturday. */
|
|
2430
|
+
SAT = "SAT",
|
|
2431
|
+
/** Sunday. */
|
|
2432
|
+
SUN = "SUN"
|
|
2433
|
+
}
|
|
2434
|
+
export interface Frequency {
|
|
2435
|
+
/** 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. */
|
|
2436
|
+
repetition?: number | null;
|
|
2437
|
+
}
|
|
2438
|
+
export interface LinkedSchedule {
|
|
2439
|
+
/** Schedule ID. */
|
|
2440
|
+
scheduleId?: string;
|
|
2441
|
+
/** Sets this schedule's availability for the duration of the linked schedule's sessions. Default is `"BUSY"`. */
|
|
2442
|
+
transparency?: Transparency;
|
|
2443
|
+
/**
|
|
2444
|
+
* Owner ID, of the linked schedule.
|
|
2445
|
+
* @readonly
|
|
2446
|
+
*/
|
|
2447
|
+
scheduleOwnerId?: string;
|
|
2448
|
+
}
|
|
2449
|
+
export declare enum Transparency {
|
|
2450
|
+
UNDEFINED = "UNDEFINED",
|
|
2451
|
+
/** The schedule can have available slots during the linked schedule's sessions. */
|
|
2452
|
+
FREE = "FREE",
|
|
2453
|
+
/** The schedule can't have available slots during the linked schedule's sessions. */
|
|
2454
|
+
BUSY = "BUSY"
|
|
2455
|
+
}
|
|
2456
|
+
export declare enum RecurringIntervalType {
|
|
2457
|
+
/** The default value. Sessions for this interval will be of type EVENT. */
|
|
2458
|
+
UNDEFINED = "UNDEFINED",
|
|
2459
|
+
/** A recurring interval of events. */
|
|
2460
|
+
EVENT = "EVENT",
|
|
2461
|
+
/** Deprecated. */
|
|
2462
|
+
TIME_AVAILABILITY = "TIME_AVAILABILITY",
|
|
2463
|
+
/** A recurring interval for availability. */
|
|
2464
|
+
AVAILABILITY = "AVAILABILITY"
|
|
2465
|
+
}
|
|
2466
|
+
export interface Location {
|
|
2467
|
+
/**
|
|
2468
|
+
* Location type.
|
|
2469
|
+
* One of:
|
|
2470
|
+
* - `"OWNER_BUSINESS"` The business address as set in the site’s general settings.
|
|
2471
|
+
* - `"OWNER_CUSTOM"` The address as set when creating the service.
|
|
2472
|
+
* - `"CUSTOM"` The address set for the individual session.
|
|
2473
|
+
*/
|
|
2474
|
+
locationType?: LocationType;
|
|
2475
|
+
/**
|
|
2476
|
+
* Free text address used when locationType is `OWNER_CUSTOM`.
|
|
2477
|
+
* @deprecated
|
|
2478
|
+
*/
|
|
2479
|
+
address?: string | null;
|
|
2480
|
+
/** 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. */
|
|
2481
|
+
customAddress?: Address;
|
|
2482
|
+
}
|
|
2483
|
+
export declare enum LocationType {
|
|
2484
|
+
UNDEFINED = "UNDEFINED",
|
|
2485
|
+
OWNER_BUSINESS = "OWNER_BUSINESS",
|
|
2486
|
+
OWNER_CUSTOM = "OWNER_CUSTOM",
|
|
2487
|
+
CUSTOM = "CUSTOM"
|
|
2488
|
+
}
|
|
2489
|
+
/** Physical address */
|
|
2490
|
+
export interface Address extends AddressStreetOneOf {
|
|
2491
|
+
/** Street name, number and apartment number. */
|
|
2492
|
+
streetAddress?: StreetAddress;
|
|
2493
|
+
/** Main address line, usually street and number, as free text. */
|
|
2494
|
+
addressLine?: string | null;
|
|
2495
|
+
/** Country code. */
|
|
2496
|
+
country?: string | null;
|
|
2497
|
+
/** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
|
|
2498
|
+
subdivision?: string | null;
|
|
2499
|
+
/** City name. */
|
|
2500
|
+
city?: string | null;
|
|
2501
|
+
/** Zip/postal code. */
|
|
2502
|
+
postalCode?: string | null;
|
|
2503
|
+
/** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */
|
|
2504
|
+
addressLine2?: string | null;
|
|
2505
|
+
/** A string containing the full address of this location. */
|
|
2506
|
+
formattedAddress?: string | null;
|
|
2507
|
+
/** Free text to help find the address. */
|
|
2508
|
+
hint?: string | null;
|
|
2509
|
+
/** Coordinates of the physical address. */
|
|
2510
|
+
geocode?: AddressLocation;
|
|
2511
|
+
/** Country full name. */
|
|
2512
|
+
countryFullname?: string | null;
|
|
2513
|
+
/** Multi-level subdivisions from top to bottom. */
|
|
2514
|
+
subdivisions?: Subdivision[];
|
|
2515
|
+
}
|
|
2516
|
+
/** @oneof */
|
|
2517
|
+
export interface AddressStreetOneOf {
|
|
2518
|
+
/** Street name, number and apartment number. */
|
|
2519
|
+
streetAddress?: StreetAddress;
|
|
2520
|
+
/** Main address line, usually street and number, as free text. */
|
|
2521
|
+
addressLine?: string | null;
|
|
2522
|
+
}
|
|
2523
|
+
export interface StreetAddress {
|
|
2524
|
+
/** Street number. */
|
|
2525
|
+
number?: string;
|
|
2526
|
+
/** Street name. */
|
|
2527
|
+
name?: string;
|
|
2528
|
+
/** Apartment number. */
|
|
2529
|
+
apt?: string;
|
|
2530
|
+
}
|
|
2531
|
+
export interface AddressLocation {
|
|
2532
|
+
/** Address latitude. */
|
|
2533
|
+
latitude?: number | null;
|
|
2534
|
+
/** Address longitude. */
|
|
2535
|
+
longitude?: number | null;
|
|
2536
|
+
}
|
|
2537
|
+
export interface Subdivision {
|
|
2538
|
+
/** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
|
|
2539
|
+
code?: string;
|
|
2540
|
+
/** Subdivision full name. */
|
|
2541
|
+
name?: string;
|
|
2542
|
+
}
|
|
2543
|
+
export interface LocationsLocation {
|
|
2544
|
+
/**
|
|
2545
|
+
* Location ID.
|
|
2546
|
+
* @readonly
|
|
2547
|
+
*/
|
|
2548
|
+
id?: string | null;
|
|
2549
|
+
/** Location name. */
|
|
2550
|
+
name?: string;
|
|
2551
|
+
/** Location description. */
|
|
2552
|
+
description?: string | null;
|
|
2553
|
+
/**
|
|
2554
|
+
* Whether this is the default location. There can only be one default location per site. The default location can't be archived.
|
|
2555
|
+
* @readonly
|
|
2556
|
+
*/
|
|
2557
|
+
default?: boolean;
|
|
2558
|
+
/**
|
|
2559
|
+
* Location status. Defaults to `ACTIVE`.
|
|
2560
|
+
* __Notes:__
|
|
2561
|
+
* - [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)
|
|
2562
|
+
* doesn't affect the location's status.
|
|
2563
|
+
* - `INACTIVE` status is currently not supported.
|
|
2564
|
+
*/
|
|
2565
|
+
status?: LocationStatus;
|
|
2566
|
+
/**
|
|
2567
|
+
* Location type.
|
|
2568
|
+
*
|
|
2569
|
+
* **Note:** Currently not supported.
|
|
2570
|
+
* @deprecated
|
|
2571
|
+
*/
|
|
2572
|
+
locationType?: LocationsLocationType;
|
|
2573
|
+
/** Fax number. */
|
|
2574
|
+
fax?: string | null;
|
|
2575
|
+
/** Timezone in `America/New_York` format. */
|
|
2576
|
+
timeZone?: string | null;
|
|
2577
|
+
/** Email address. */
|
|
2578
|
+
email?: string | null;
|
|
2579
|
+
/** Phone number. */
|
|
2580
|
+
phone?: string | null;
|
|
2581
|
+
/** Address. */
|
|
2582
|
+
address?: LocationsAddress;
|
|
2583
|
+
/**
|
|
2584
|
+
* Business schedule. Array of weekly recurring time periods when the location is open for business. Limited to 100 time periods.
|
|
2585
|
+
*
|
|
2586
|
+
* __Note:__ Not supported by Wix Bookings.
|
|
2587
|
+
*/
|
|
2588
|
+
businessSchedule?: BusinessSchedule;
|
|
2589
|
+
/**
|
|
2590
|
+
* Revision number, which increments by 1 each time the location is updated.
|
|
2591
|
+
* To prevent conflicting changes, the existing revision must be used when updating a location.
|
|
2592
|
+
*/
|
|
2593
|
+
revision?: string | null;
|
|
2594
|
+
/**
|
|
2595
|
+
* Whether the location is archived. Archived locations can't be updated.
|
|
2596
|
+
* __Note:__ [Archiving a location](https://dev.wix.com/api/rest/business-info/locations/archive-location)
|
|
2597
|
+
* doesn't affect its `status`.
|
|
2598
|
+
* @readonly
|
|
2599
|
+
*/
|
|
2600
|
+
archived?: boolean;
|
|
2601
|
+
/** Location types. */
|
|
2602
|
+
locationTypes?: LocationsLocationType[];
|
|
2603
|
+
}
|
|
2604
|
+
/** For future use */
|
|
2605
|
+
export declare enum LocationStatus {
|
|
2606
|
+
ACTIVE = "ACTIVE",
|
|
2607
|
+
INACTIVE = "INACTIVE"
|
|
2608
|
+
}
|
|
2609
|
+
/** For future use */
|
|
2610
|
+
export declare enum LocationsLocationType {
|
|
2611
|
+
UNKNOWN = "UNKNOWN",
|
|
2612
|
+
BRANCH = "BRANCH",
|
|
2613
|
+
OFFICES = "OFFICES",
|
|
2614
|
+
RECEPTION = "RECEPTION",
|
|
2615
|
+
HEADQUARTERS = "HEADQUARTERS",
|
|
2616
|
+
INVENTORY = "INVENTORY"
|
|
2617
|
+
}
|
|
2618
|
+
export interface LocationsAddress {
|
|
2619
|
+
/** 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
|
|
2620
|
+
country?: string | null;
|
|
2621
|
+
/** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. */
|
|
2622
|
+
subdivision?: string | null;
|
|
2623
|
+
/** City name. */
|
|
2624
|
+
city?: string | null;
|
|
2625
|
+
/** Postal or zip code. */
|
|
2626
|
+
postalCode?: string | null;
|
|
2627
|
+
/** Street address. Includes street name, number, and apartment number in separate fields. */
|
|
2628
|
+
streetAddress?: LocationsStreetAddress;
|
|
2629
|
+
/** Full address of the location. */
|
|
2630
|
+
formattedAddress?: string | null;
|
|
2631
|
+
/** Extra information that helps finding the location. */
|
|
2632
|
+
hint?: string | null;
|
|
2633
|
+
/** Geographic coordinates of location. */
|
|
2634
|
+
geocode?: LocationsAddressLocation;
|
|
2635
|
+
}
|
|
2636
|
+
/** Street address. Includes street name, number, and apartment number in separate fields. */
|
|
2637
|
+
export interface LocationsStreetAddress {
|
|
2638
|
+
/** Street number. */
|
|
2639
|
+
number?: string;
|
|
2640
|
+
/** Street name. */
|
|
2641
|
+
name?: string;
|
|
2642
|
+
/** Apartment number. */
|
|
2643
|
+
apt?: string;
|
|
2644
|
+
}
|
|
2645
|
+
/** Address Geolocation */
|
|
2646
|
+
export interface LocationsAddressLocation {
|
|
2647
|
+
/** Latitude of the location. Must be between -90 and 90. */
|
|
2648
|
+
latitude?: number | null;
|
|
2649
|
+
/** Longitude of the location. Must be between -180 and 180. */
|
|
2650
|
+
longitude?: number | null;
|
|
2651
|
+
}
|
|
2652
|
+
/** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */
|
|
2653
|
+
export interface BusinessSchedule {
|
|
2654
|
+
/** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */
|
|
2655
|
+
periods?: TimePeriod[];
|
|
2656
|
+
/** Exceptions to the business's regular hours. The business can be open or closed during the exception. */
|
|
2657
|
+
specialHourPeriod?: SpecialHourPeriod[];
|
|
2658
|
+
}
|
|
2659
|
+
/** Weekly recurring time periods when the business is regularly open or the service is available. */
|
|
2660
|
+
export interface TimePeriod {
|
|
2661
|
+
/** Day of the week the period starts on. */
|
|
2662
|
+
openDay?: DayOfWeek;
|
|
2663
|
+
/**
|
|
2664
|
+
* 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
|
|
2665
|
+
* midnight at the end of the specified day.
|
|
2666
|
+
*/
|
|
2667
|
+
openTime?: string;
|
|
2668
|
+
/** Day of the week the period ends on. */
|
|
2669
|
+
closeDay?: DayOfWeek;
|
|
2670
|
+
/**
|
|
2671
|
+
* 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
|
|
2672
|
+
* midnight at the end of the specified day.
|
|
2673
|
+
*
|
|
2674
|
+
* __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.
|
|
2675
|
+
*/
|
|
2676
|
+
closeTime?: string;
|
|
2677
|
+
}
|
|
2678
|
+
/** Enumerates the days of the week. */
|
|
2679
|
+
export declare enum DayOfWeek {
|
|
2680
|
+
MONDAY = "MONDAY",
|
|
2681
|
+
TUESDAY = "TUESDAY",
|
|
2682
|
+
WEDNESDAY = "WEDNESDAY",
|
|
2683
|
+
THURSDAY = "THURSDAY",
|
|
2684
|
+
FRIDAY = "FRIDAY",
|
|
2685
|
+
SATURDAY = "SATURDAY",
|
|
2686
|
+
SUNDAY = "SUNDAY"
|
|
2687
|
+
}
|
|
2688
|
+
/** Exception to the business's regular hours. The business can be open or closed during the exception. */
|
|
2689
|
+
export interface SpecialHourPeriod {
|
|
2690
|
+
/** 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). */
|
|
2691
|
+
startDate?: string;
|
|
2692
|
+
/** 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). */
|
|
2693
|
+
endDate?: string;
|
|
2694
|
+
/**
|
|
2695
|
+
* Whether the business is closed (or the service is not available) during the exception.
|
|
2696
|
+
*
|
|
2697
|
+
* Default: `true`.
|
|
2698
|
+
*/
|
|
2699
|
+
isClosed?: boolean;
|
|
2700
|
+
/** Additional info about the exception. For example, "We close earlier on New Year's Eve." */
|
|
2701
|
+
comment?: string;
|
|
2702
|
+
}
|
|
2703
|
+
export interface Rate {
|
|
2704
|
+
/**
|
|
2705
|
+
* Mapping between a named price option, for example, adult or child prices, and the price, currency, and down payment amount.
|
|
2706
|
+
* When present in an update request, the `default_varied_price` is ignored to support backward compatibility.
|
|
2707
|
+
*/
|
|
2708
|
+
labeledPriceOptions?: Record<string, Price>;
|
|
2709
|
+
/**
|
|
2710
|
+
* Textual price information used when **Price Per Session** is set to **Custom Price** in the app's service details page.
|
|
2711
|
+
* When present in an update request, the `default_varied_price` is ignored to support backward compatibility.
|
|
2712
|
+
*/
|
|
2713
|
+
priceText?: string | null;
|
|
2714
|
+
}
|
|
2715
|
+
export interface Price {
|
|
2716
|
+
/** Required payment amount. */
|
|
2717
|
+
amount?: string;
|
|
2718
|
+
/** Currency in which the amount is quoted. */
|
|
2719
|
+
currency?: string;
|
|
2720
|
+
/** Amount of a down payment or deposit as part of the transaction. */
|
|
2721
|
+
downPayAmount?: string;
|
|
2722
|
+
}
|
|
2723
|
+
/**
|
|
2724
|
+
* <!-- Needs updating when recurrence has been tested
|
|
2725
|
+
* Schedule's availability calculation is executed by the schedule's available intervals and this additional information.
|
|
2726
|
+
* Schedule's available intervals are recurring intervals (defined in the schedule) minus sessions that has no more spots for bookings (including time between_slots), or schedule's sessions with open spots for bookings.-->
|
|
2727
|
+
*/
|
|
2728
|
+
export interface Availability {
|
|
2729
|
+
/** Date and time the schedule starts to be available for booking. */
|
|
2730
|
+
start?: Date | null;
|
|
2731
|
+
/** Date and time the schedule stops being available for booking. No value indicates no end time. */
|
|
2732
|
+
end?: Date | null;
|
|
2733
|
+
/** Other schedules that impact the availability calculation. Relevant only when there are availability constraints. */
|
|
2734
|
+
linkedSchedules?: LinkedSchedule[];
|
|
2735
|
+
/** Constraints for calculating the schedule's availability. */
|
|
2736
|
+
constraints?: AvailabilityConstraints;
|
|
2737
|
+
}
|
|
2738
|
+
/** Describes how to calculate the specific slots that are available for booking. */
|
|
2739
|
+
export interface AvailabilityConstraints {
|
|
2740
|
+
/**
|
|
2741
|
+
* A list of duration options for slots, in minutes. Minimum value for a duration is 1.
|
|
2742
|
+
* The availability calculation generates slots with these durations, where there is no conflict with existing sessions or other availability constraints.
|
|
2743
|
+
*/
|
|
2744
|
+
slotDurations?: number[];
|
|
2745
|
+
/**
|
|
2746
|
+
* The number of minutes between the `end` of one slot, and the `start` of the next.
|
|
2747
|
+
* Minimum value is 0, maximum value is 120.
|
|
2748
|
+
*/
|
|
2749
|
+
timeBetweenSlots?: number;
|
|
2750
|
+
/**
|
|
2751
|
+
* Specify how to split the slots in intervals of minutes.
|
|
2752
|
+
* This 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).
|
|
2753
|
+
* Optional. The default is the first duration in slot_durations field.
|
|
2754
|
+
* Deprecated. Use the `split_slots_interval.value_in_minutes`.
|
|
2755
|
+
* @deprecated
|
|
2756
|
+
*/
|
|
2757
|
+
splitInterval?: number | null;
|
|
2758
|
+
/**
|
|
2759
|
+
* 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.
|
|
2760
|
+
* @readonly
|
|
2761
|
+
*/
|
|
2762
|
+
slotsSplitInterval?: SplitInterval;
|
|
2763
|
+
}
|
|
2764
|
+
/** 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. */
|
|
2765
|
+
export interface SplitInterval {
|
|
2766
|
+
/**
|
|
2767
|
+
* Whether the slot duration is used as the split interval value.
|
|
2768
|
+
* If `same_as_duration` is `true`, the `value_in_minutes` is the sum of the first duration in
|
|
2769
|
+
* `schedule.availabilityConstraints.SlotDurations` field, and `schedule.availabilityConstraints.TimeBetweenSlots` field.
|
|
2770
|
+
*/
|
|
2771
|
+
sameAsDuration?: boolean | null;
|
|
2772
|
+
/** Number of minutes between available slots' start times when `same_as_duration` is `false`. */
|
|
2773
|
+
valueInMinutes?: number | null;
|
|
2774
|
+
}
|
|
2775
|
+
export interface Participant {
|
|
2776
|
+
/** Participant ID. Currently represents the booking.id. */
|
|
2777
|
+
id?: string;
|
|
2778
|
+
/** Contact ID. */
|
|
2779
|
+
contactId?: string | null;
|
|
2780
|
+
/** Participant's name. */
|
|
2781
|
+
name?: string | null;
|
|
2782
|
+
/** Participant's phone number. */
|
|
2783
|
+
phone?: string | null;
|
|
2784
|
+
/** Participant's email address. */
|
|
2785
|
+
email?: string | null;
|
|
2786
|
+
/** Group or party size. The number of people attending. Defaults to 0. Maximum is 250. */
|
|
2787
|
+
partySize?: number;
|
|
2788
|
+
/**
|
|
2789
|
+
* Approval status for the participant.
|
|
2790
|
+
* <!-- Commented out untill updateParticipant is exposed Generally the same status as the booking, unless updated using the `updateParticipant()` API. Defaults to `"UNDEFINED"`.-->
|
|
2791
|
+
*/
|
|
2792
|
+
approvalStatus?: ApprovalStatus;
|
|
2793
|
+
/**
|
|
2794
|
+
* Whether the participant was inherited from the schedule, as opposed to being booked directly to the session.
|
|
2795
|
+
* @readonly
|
|
2796
|
+
*/
|
|
2797
|
+
inherited?: boolean;
|
|
2798
|
+
}
|
|
2799
|
+
export declare enum ApprovalStatus {
|
|
2800
|
+
/** Default. */
|
|
2801
|
+
UNDEFINED = "UNDEFINED",
|
|
2802
|
+
/** Pending business approval. */
|
|
2803
|
+
PENDING = "PENDING",
|
|
2804
|
+
/** Approved by the business. */
|
|
2805
|
+
APPROVED = "APPROVED",
|
|
2806
|
+
/** Declined by the business. */
|
|
2807
|
+
DECLINED = "DECLINED"
|
|
2808
|
+
}
|
|
2809
|
+
export interface ExternalCalendarOverrides {
|
|
2810
|
+
/** Synced title of the external calendar event. */
|
|
2811
|
+
title?: string | null;
|
|
2812
|
+
/** Synced description of the external calendar event. */
|
|
2813
|
+
description?: string | null;
|
|
2814
|
+
}
|
|
2815
|
+
export declare enum ScheduleStatus {
|
|
2816
|
+
/** Undefined schedule status. */
|
|
2817
|
+
UNDEFINED = "UNDEFINED",
|
|
2818
|
+
/** The schedule was created. */
|
|
2819
|
+
CREATED = "CREATED",
|
|
2820
|
+
/** The schedule was cancelled. */
|
|
2821
|
+
CANCELLED = "CANCELLED"
|
|
2822
|
+
}
|
|
2823
|
+
export interface Version {
|
|
2824
|
+
/** Schedule version number, updated each time the schedule is updated. */
|
|
2825
|
+
scheduleVersion?: number | null;
|
|
2826
|
+
/** Participants version number, updated each time the schedule participants are updated. */
|
|
2827
|
+
participantsVersion?: number | null;
|
|
2828
|
+
}
|
|
2829
|
+
export interface ConferenceProvider {
|
|
2830
|
+
/** Conferencing provider ID */
|
|
2831
|
+
providerId?: string;
|
|
2832
|
+
}
|
|
2833
|
+
export interface CalendarConference {
|
|
2834
|
+
/** Wix Calendar conference ID. */
|
|
2835
|
+
id?: string;
|
|
2836
|
+
/** Conference meeting ID in the provider's conferencing system. */
|
|
2837
|
+
externalId?: string;
|
|
2838
|
+
/** Conference provider ID. */
|
|
2839
|
+
providerId?: string;
|
|
2840
|
+
/** URL used by the host to start the conference. */
|
|
2841
|
+
hostUrl?: string;
|
|
2842
|
+
/** URL used by a guest to join the conference. */
|
|
2843
|
+
guestUrl?: string;
|
|
2844
|
+
/** Password to join the conference. */
|
|
2845
|
+
password?: string | null;
|
|
2846
|
+
/** Conference description. */
|
|
2847
|
+
description?: string | null;
|
|
2848
|
+
/** Conference type. */
|
|
2849
|
+
conferenceType?: ConferenceType;
|
|
2850
|
+
/** ID of the account owner in the video conferencing service. */
|
|
2851
|
+
accountOwnerId?: string | null;
|
|
2852
|
+
}
|
|
2853
|
+
export declare enum ConferenceType {
|
|
2854
|
+
/** Undefined conference type. */
|
|
2855
|
+
UNDEFINED = "UNDEFINED",
|
|
2856
|
+
/** API-generated online meeting. */
|
|
2857
|
+
ONLINE_MEETING_PROVIDER = "ONLINE_MEETING_PROVIDER",
|
|
2858
|
+
/** User-defined meeting. */
|
|
2859
|
+
CUSTOM = "CUSTOM"
|
|
2860
|
+
}
|
|
2861
|
+
export interface ScheduleUpdated {
|
|
2862
|
+
/** The old schedule before the update. */
|
|
2863
|
+
oldSchedule?: Schedule;
|
|
2864
|
+
/** The new schedule after the update. */
|
|
2865
|
+
newSchedule?: Schedule;
|
|
2866
|
+
/**
|
|
2867
|
+
* Recurring sessions updated event. If this field is given, the reason for the schedule updated event was
|
|
2868
|
+
* updating at least one of the given schedule's recurring sessions.
|
|
2869
|
+
* This event is triggered by create/update/delete recurring session apis.
|
|
2870
|
+
*/
|
|
2871
|
+
recurringSessions?: RecurringSessionsUpdated;
|
|
2872
|
+
/** Whether to notify participants about the change and an optional custom message */
|
|
2873
|
+
participantNotification?: ParticipantNotification;
|
|
2874
|
+
/**
|
|
2875
|
+
* Whether this notification was created as a result of an anonymization request, such as GDPR.
|
|
2876
|
+
* An anonymized participant will have the following details:
|
|
2877
|
+
* name = "deleted"
|
|
2878
|
+
* phone = "deleted"
|
|
2879
|
+
* email = "deleted@deleted.com"
|
|
2880
|
+
*/
|
|
2881
|
+
triggeredByAnonymizeRequest?: boolean | null;
|
|
2882
|
+
}
|
|
2883
|
+
export interface RecurringSessionsUpdated {
|
|
2884
|
+
/** Old schedule's recurring session list. */
|
|
2885
|
+
oldRecurringSessions?: Session[];
|
|
2886
|
+
/** New schedule's recurring session list. */
|
|
2887
|
+
newRecurringSessions?: Session[];
|
|
2888
|
+
}
|
|
2889
|
+
export interface Session {
|
|
2890
|
+
/**
|
|
2891
|
+
* Session ID.
|
|
2892
|
+
* @readonly
|
|
2893
|
+
*/
|
|
2894
|
+
id?: string | null;
|
|
2895
|
+
/** ID of the schedule that the session belongs to. */
|
|
2896
|
+
scheduleId?: string;
|
|
2897
|
+
/**
|
|
2898
|
+
* ID of the resource or service that the session's schedule belongs to.
|
|
2899
|
+
* @readonly
|
|
2900
|
+
*/
|
|
2901
|
+
scheduleOwnerId?: string | null;
|
|
2902
|
+
/** Original start date and time of the session in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)) format. */
|
|
2903
|
+
originalStart?: Date | null;
|
|
2904
|
+
/** An object specifying the start date and time of the session. If the session is a recurring session, `start` must contain a `localDateTime`. */
|
|
2905
|
+
start?: CalendarDateTime;
|
|
2906
|
+
/**
|
|
2907
|
+
* 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`.
|
|
2908
|
+
* If the session is a recurring session, `end` must contain a `localDateTime`.
|
|
2909
|
+
*/
|
|
2910
|
+
end?: CalendarDateTime;
|
|
2911
|
+
/**
|
|
2912
|
+
* 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.
|
|
2913
|
+
* The array is inherited from the schedule and can be overridden even if the session is a recurring session.
|
|
2914
|
+
*/
|
|
2915
|
+
affectedSchedules?: LinkedSchedule[];
|
|
2916
|
+
/**
|
|
2917
|
+
* Session title.
|
|
2918
|
+
* The value is inherited from the schedule and can be overridden unless the session is a recurring session.
|
|
2919
|
+
*/
|
|
2920
|
+
title?: string | null;
|
|
2921
|
+
/**
|
|
2922
|
+
* __Deprecated.__
|
|
2923
|
+
* Tags for the session.
|
|
2924
|
+
* The value is inherited from the schedule and can be overridden unless the session is a recurring session.
|
|
2925
|
+
* @deprecated
|
|
2926
|
+
*/
|
|
2927
|
+
tags?: string[] | null;
|
|
2928
|
+
/**
|
|
2929
|
+
* An object describing the location where the session takes place.
|
|
2930
|
+
* Defaults to the schedule location.
|
|
2931
|
+
* For single sessions, `session.location.businessLocation` can only be provided for locations that are defined in the schedule using `schedule.location` or `schedule.availability.locations`.
|
|
2932
|
+
*/
|
|
2933
|
+
location?: Location;
|
|
2934
|
+
/**
|
|
2935
|
+
* Maximum number of participants that can be added to the session. Defaults to the schedule capacity.
|
|
2936
|
+
* The value is inherited from the schedule and can be overridden unless the session is a recurring session.
|
|
2937
|
+
*/
|
|
2938
|
+
capacity?: number | null;
|
|
2939
|
+
/**
|
|
2940
|
+
* Deprecated. Please use the [Booking Services V2](https://dev.wix.com/api/rest/wix-bookings/services-v2) payment instead.
|
|
2941
|
+
* @deprecated
|
|
2942
|
+
*/
|
|
2943
|
+
rate?: Rate;
|
|
2944
|
+
/**
|
|
2945
|
+
* Time reserved after the session end time, derived from the schedule availability constraints and the time between slots. Read-only.
|
|
2946
|
+
* If the session is a recurring session, this field must be empty.
|
|
2947
|
+
*/
|
|
2948
|
+
timeReservedAfter?: number | null;
|
|
2949
|
+
/**
|
|
2950
|
+
* Additional information about the session.
|
|
2951
|
+
* Notes are not supported for recurring sessions.
|
|
2952
|
+
*/
|
|
2953
|
+
notes?: string;
|
|
2954
|
+
/**
|
|
2955
|
+
* The number of participants booked for the session. Read-only.
|
|
2956
|
+
* Calculated as the sum of the party sizes.
|
|
2957
|
+
* @readonly
|
|
2958
|
+
*/
|
|
2959
|
+
totalNumberOfParticipants?: number;
|
|
2960
|
+
/**
|
|
2961
|
+
* *Partial list** list of participants booked for the session.
|
|
2962
|
+
* The list includes participants who have registered for this specific session, and participants who have registered for a schedule that includes this session.
|
|
2963
|
+
* If the session is a recurring session, this field must be empty.
|
|
2964
|
+
* To 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).
|
|
2965
|
+
*/
|
|
2966
|
+
participants?: Participant[];
|
|
2967
|
+
/**
|
|
2968
|
+
* A list of properties for which values were inherited from the schedule.
|
|
2969
|
+
* This does not include participants that were inherited from the schedule.
|
|
2970
|
+
* @readonly
|
|
2971
|
+
*/
|
|
2972
|
+
inheritedFields?: string[];
|
|
2973
|
+
/**
|
|
2974
|
+
* __Deprecated.__
|
|
2975
|
+
* @deprecated
|
|
2976
|
+
*/
|
|
2977
|
+
externalCalendarOverrides?: ExternalCalendarOverrides;
|
|
2978
|
+
/**
|
|
2979
|
+
* Session status.
|
|
2980
|
+
* @readonly
|
|
2981
|
+
*/
|
|
2982
|
+
status?: Status;
|
|
2983
|
+
/**
|
|
2984
|
+
* Recurring interval ID. Defined when a session will be a recurring session. read-only. Optional.
|
|
2985
|
+
* For example, when creating a class service with recurring sessions, you add a recurrence rule to create recurring sessions.
|
|
2986
|
+
* This field is omitted for single sessions or instances of recurring sessions.
|
|
2987
|
+
* Specified when the session was originally generated from a schedule recurring interval.
|
|
2988
|
+
* Deprecated. Use `recurringSessionId`.
|
|
2989
|
+
* @readonly
|
|
2990
|
+
* @deprecated
|
|
2991
|
+
*/
|
|
2992
|
+
recurringIntervalId?: string | null;
|
|
2993
|
+
/**
|
|
2994
|
+
* 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.
|
|
2995
|
+
* @readonly
|
|
2996
|
+
*/
|
|
2997
|
+
recurringSessionId?: string | null;
|
|
2998
|
+
/** Session type. */
|
|
2999
|
+
type?: SessionType;
|
|
3000
|
+
/**
|
|
3001
|
+
* A conference created for the session according to the details set in the schedule's conference provider information.
|
|
3002
|
+
* If the session is a recurring session, this field is inherited from the schedule.
|
|
3003
|
+
* **Partially deprecated.** Only `hostUrl` and `guestUrl` are to be supported.
|
|
3004
|
+
* @deprecated
|
|
3005
|
+
*/
|
|
3006
|
+
calendarConference?: CalendarConference;
|
|
3007
|
+
/**
|
|
3008
|
+
* 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).
|
|
3009
|
+
* If the session is an instance of a recurrence pattern, the `instanceOfRecurrence` property will be contain the recurrence rule and this property will be empty.
|
|
3010
|
+
* The RRULE defines a rule for repeating a session.
|
|
3011
|
+
* Supported parameters are:
|
|
3012
|
+
*
|
|
3013
|
+
* |Keyword|Description|Supported values|
|
|
3014
|
+
* |--|--|---|
|
|
3015
|
+
* |`FREQ`|The frequency at which the session is recurs. Required.|`WEEKLY`|
|
|
3016
|
+
* |`INTERVAL`|How often, in terms of `FREQ`, the session recurs. Default is 1. Optional.|
|
|
3017
|
+
* |`UNTIL`|The UTC end date and time of the recurrence. Optional.|
|
|
3018
|
+
* |`BYDAY`|Day of the week when the event should recur. Required.|One of: `MO`, `TU`, `WE`, `TH`, `FR`, `SA`, `SU`|
|
|
3019
|
+
*
|
|
3020
|
+
*
|
|
3021
|
+
* For example, a session that repeats every second week on a Monday until January 7, 2022 at 8 AM:
|
|
3022
|
+
* `"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20220107T080000Z"`
|
|
3023
|
+
*
|
|
3024
|
+
* <!--ORIGINAL COMMENTS:
|
|
3025
|
+
* `FREQ` — The frequency with which the session should be repeated (such as DAILY or WEEKLY).
|
|
3026
|
+
* Supported `WEEKLY` value is supported.
|
|
3027
|
+
* INTERVAL — Works together with FREQ to specify how often the session should be repeated. For example, FREQ=WEEKLY;INTERVAL=2 means once every two weeks. Optional. Default value is 1.
|
|
3028
|
+
* COUNT — The number of times this event should be repeated. Not yet supported.
|
|
3029
|
+
* UNTIL — The UTC date & time until which the session should be repeated. This parameter is optional. When it is not specified, the event repeats forever.
|
|
3030
|
+
* The format is a short ISO date, followed by 'T' and a short time with seconds and without milliseconds, terminated by the UTC designator 'Z'. For example, until Jan. 19th 2018 at 7:00 AM: 'UNTIL=20180119T070000Z'.
|
|
3031
|
+
* BYDAY - The days of the week when the event should be repeated. Currently, only a single day is supported. This parameter is mandatory.
|
|
3032
|
+
* Possible values are: MO, TU, WE, TH, FR, SA, SU
|
|
3033
|
+
* Note that DTSTART and DTEND lines are not allowed in this field; session start and end times are specified in the start and end fields.
|
|
3034
|
+
* **Example**: FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;UNTIL=20200427T070000Z
|
|
3035
|
+
* ORIGINAL COMMENTS-->
|
|
3036
|
+
*/
|
|
3037
|
+
recurrence?: string | null;
|
|
3038
|
+
/**
|
|
3039
|
+
* A string representing a recurrence rule (RRULE) if the session is an instance of a recurrence pattern.
|
|
3040
|
+
* Empty when the session is not an instance of a recurrence rule, or if the session defines a recurrence pattern, and `recurrence` is not empty.
|
|
3041
|
+
* @readonly
|
|
3042
|
+
*/
|
|
3043
|
+
instanceOfRecurrence?: string | null;
|
|
3044
|
+
/**
|
|
3045
|
+
* The session version.
|
|
3046
|
+
* Composed by the schedule, session and participants versions.
|
|
3047
|
+
* @readonly
|
|
3048
|
+
*/
|
|
3049
|
+
version?: SessionVersion;
|
|
3050
|
+
}
|
|
3051
|
+
export interface CalendarDateTime {
|
|
3052
|
+
/**
|
|
3053
|
+
* 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"`.
|
|
3054
|
+
* Required if `localDateTime` is not specified.
|
|
3055
|
+
* If `localDateTime` is specified, `timestamp` is calculated as `localDateTime`, using the business's time zone.
|
|
3056
|
+
*/
|
|
3057
|
+
timestamp?: Date | null;
|
|
3058
|
+
/** An object containing the local date and time for the business's time zone. */
|
|
3059
|
+
localDateTime?: LocalDateTime;
|
|
3060
|
+
/**
|
|
3061
|
+
* The time zone. Optional. Derived from the schedule's time zone.
|
|
3062
|
+
* In case this field is associated with recurring session, this field is empty.
|
|
3063
|
+
* @readonly
|
|
3064
|
+
*/
|
|
3065
|
+
timeZone?: string | null;
|
|
3066
|
+
}
|
|
3067
|
+
export interface LocalDateTime {
|
|
3068
|
+
/** Year. 4-digit format. */
|
|
3069
|
+
year?: number | null;
|
|
3070
|
+
/** Month number, from 1-12. */
|
|
3071
|
+
monthOfYear?: number | null;
|
|
3072
|
+
/** Day of the month, from 1-31. */
|
|
3073
|
+
dayOfMonth?: number | null;
|
|
3074
|
+
/** Hour of the day in 24-hour format, from 0-23. */
|
|
3075
|
+
hourOfDay?: number | null;
|
|
3076
|
+
/** Minute, from 0-59. */
|
|
3077
|
+
minutesOfHour?: number | null;
|
|
3078
|
+
}
|
|
3079
|
+
export interface ExternalCalendarInfo {
|
|
3080
|
+
/** The external calendar type (e.g. Google Calendar, iCal, etc). */
|
|
3081
|
+
calendarType?: CalendarType;
|
|
3082
|
+
}
|
|
3083
|
+
export declare enum CalendarType {
|
|
3084
|
+
UNDEFINED = "UNDEFINED",
|
|
3085
|
+
GOOGLE = "GOOGLE",
|
|
3086
|
+
I_CAL = "I_CAL",
|
|
3087
|
+
/** Use `MICROSOFT` instead. */
|
|
3088
|
+
OUTLOOK = "OUTLOOK",
|
|
3089
|
+
/** Use `MICROSOFT` instead. */
|
|
3090
|
+
OFFICE_365 = "OFFICE_365",
|
|
3091
|
+
MICROSOFT = "MICROSOFT",
|
|
3092
|
+
OTHER = "OTHER"
|
|
3093
|
+
}
|
|
3094
|
+
export declare enum Status {
|
|
3095
|
+
/** Undefined status. */
|
|
3096
|
+
UNDEFINED = "UNDEFINED",
|
|
3097
|
+
/** Session is confirmed. Default status. */
|
|
3098
|
+
CONFIRMED = "CONFIRMED",
|
|
3099
|
+
/**
|
|
3100
|
+
* Session is cancelled.
|
|
3101
|
+
* A cancelled session can be the cancellation of a recurring session that should no longer be displayed or a deleted single session.
|
|
3102
|
+
* The ListSessions returns cancelled sessions only if 'includeDelete' flag is set to true.
|
|
3103
|
+
*/
|
|
3104
|
+
CANCELLED = "CANCELLED"
|
|
3105
|
+
}
|
|
3106
|
+
export declare enum SessionType {
|
|
3107
|
+
UNDEFINED = "UNDEFINED",
|
|
3108
|
+
/**
|
|
3109
|
+
* Creates an event on the calendar for the owner of the schedule that the session belongs to.
|
|
3110
|
+
* Default type.
|
|
3111
|
+
*/
|
|
3112
|
+
EVENT = "EVENT",
|
|
3113
|
+
/** Represents a resource's available working hours. */
|
|
3114
|
+
WORKING_HOURS = "WORKING_HOURS",
|
|
3115
|
+
/** Deprecated. Please use WORKING_HOURS. */
|
|
3116
|
+
TIME_AVAILABILITY = "TIME_AVAILABILITY",
|
|
3117
|
+
/** Deprecated. Represents a resource's available hours. Please use WORKING_HOURS. */
|
|
3118
|
+
AVAILABILITY = "AVAILABILITY"
|
|
3119
|
+
}
|
|
3120
|
+
export interface SessionVersion {
|
|
3121
|
+
/** Incremental version number, which is updated on each change to the session or on changes affecting the session. */
|
|
3122
|
+
number?: string | null;
|
|
3123
|
+
}
|
|
3124
|
+
export interface ParticipantNotification {
|
|
3125
|
+
/**
|
|
3126
|
+
* Whether to send the message about the changes to the customer.
|
|
3127
|
+
*
|
|
3128
|
+
* Default: `false`
|
|
3129
|
+
*/
|
|
3130
|
+
notifyParticipants?: boolean;
|
|
3131
|
+
/** Custom message to send to the participants about the changes to the booking. */
|
|
3132
|
+
message?: string | null;
|
|
3133
|
+
}
|
|
3134
|
+
export interface ScheduleCancelled {
|
|
3135
|
+
schedule?: Schedule;
|
|
3136
|
+
/** Whether to notify participants about the change and an optional custom message */
|
|
3137
|
+
participantNotification?: ParticipantNotification;
|
|
3138
|
+
oldSchedule?: Schedule;
|
|
3139
|
+
}
|
|
3140
|
+
export interface SessionCreated {
|
|
3141
|
+
session?: Session;
|
|
3142
|
+
}
|
|
3143
|
+
export interface SessionUpdated {
|
|
3144
|
+
oldSession?: Session;
|
|
3145
|
+
newSession?: Session;
|
|
3146
|
+
/** Whether to notify participants about the change and an optional custom message */
|
|
3147
|
+
participantNotification?: ParticipantNotification;
|
|
3148
|
+
/**
|
|
3149
|
+
* Whether this notification was created as a result of an anonymization request, such as GDPR.
|
|
3150
|
+
* An anonymized participant will have the following details:
|
|
3151
|
+
* name = "deleted"
|
|
3152
|
+
* phone = "deleted"
|
|
3153
|
+
* email = "deleted@deleted.com"
|
|
3154
|
+
*/
|
|
3155
|
+
triggeredByAnonymizeRequest?: boolean | null;
|
|
3156
|
+
}
|
|
3157
|
+
export interface SessionCancelled {
|
|
3158
|
+
session?: Session;
|
|
3159
|
+
/** Whether to notify participants about the change and an optional custom message */
|
|
3160
|
+
participantNotification?: ParticipantNotification;
|
|
3161
|
+
}
|
|
3162
|
+
export interface AvailabilityPolicyUpdated {
|
|
3163
|
+
availabilityPolicy?: AvailabilityPolicy;
|
|
3164
|
+
}
|
|
3165
|
+
/** Availability policy applied to all site schedules. */
|
|
3166
|
+
export interface AvailabilityPolicy {
|
|
3167
|
+
/** Specify how to split the schedule slots in intervals of minutes. */
|
|
3168
|
+
splitInterval?: SplitInterval;
|
|
3169
|
+
}
|
|
3170
|
+
export interface IntervalSplit {
|
|
3171
|
+
scheduleId?: string;
|
|
3172
|
+
intervals?: RecurringInterval[];
|
|
3173
|
+
newScheduleVersion?: number | null;
|
|
3174
|
+
oldScheduleVersion?: number | null;
|
|
3175
|
+
}
|
|
3176
|
+
export interface RecurringSessionSplit {
|
|
3177
|
+
scheduleId?: string;
|
|
3178
|
+
recurringSessions?: Session[];
|
|
3179
|
+
newScheduleVersion?: number | null;
|
|
3180
|
+
oldScheduleVersion?: number | null;
|
|
3181
|
+
}
|
|
3182
|
+
/** Schedule unassigned from user. */
|
|
3183
|
+
export interface ScheduleUnassignedFromUser {
|
|
3184
|
+
/** The Wix user id. */
|
|
3185
|
+
userId?: string | null;
|
|
3186
|
+
/** The schedule that was unassigned from the user. */
|
|
3187
|
+
schedule?: Schedule;
|
|
3188
|
+
}
|
|
3189
|
+
export interface MultipleSessionsCreated {
|
|
3190
|
+
schedulesWithSessions?: ScheduleWithSessions[];
|
|
3191
|
+
}
|
|
3192
|
+
export interface ScheduleWithSessions {
|
|
3193
|
+
schedule?: Schedule;
|
|
3194
|
+
siteProperties?: SitePropertiesOnScheduleCreation;
|
|
3195
|
+
sessions?: Session[];
|
|
3196
|
+
}
|
|
3197
|
+
export interface SitePropertiesOnScheduleCreation {
|
|
3198
|
+
/** The global time zone value. */
|
|
3199
|
+
timeZone?: string | null;
|
|
3200
|
+
}
|
|
3201
|
+
export interface MigrationEvent {
|
|
3202
|
+
migrationData?: MigrationData;
|
|
3203
|
+
}
|
|
3204
|
+
export interface MigrationData {
|
|
3205
|
+
businessId?: string | null;
|
|
3206
|
+
staffs?: StaffData[];
|
|
3207
|
+
}
|
|
3208
|
+
export interface StaffData {
|
|
3209
|
+
resourceId?: string;
|
|
3210
|
+
syncRequestEmail?: string;
|
|
3211
|
+
refreshToken?: string;
|
|
3212
|
+
}
|
|
3213
|
+
export interface ResourceNotification {
|
|
3214
|
+
/**
|
|
3215
|
+
* Updated resource entity.
|
|
3216
|
+
* 'resource.schedules' is deprecated and will not be returned. Please use 'resource.scheduleIds' instead.
|
|
3217
|
+
*/
|
|
3218
|
+
resource?: Resource;
|
|
3219
|
+
/** Event type. */
|
|
3220
|
+
event?: ResourceNotificationEvent;
|
|
3221
|
+
}
|
|
3222
|
+
export interface Resource {
|
|
3223
|
+
/**
|
|
3224
|
+
* Resource ID.
|
|
3225
|
+
* @readonly
|
|
3226
|
+
*/
|
|
3227
|
+
id?: string | null;
|
|
3228
|
+
/** Resource name. */
|
|
3229
|
+
name?: string | null;
|
|
3230
|
+
/** Resource email address. */
|
|
3231
|
+
email?: string | null;
|
|
3232
|
+
/** Resource phone number. */
|
|
3233
|
+
phone?: string | null;
|
|
3234
|
+
/** Resource description. */
|
|
3235
|
+
description?: string | null;
|
|
3236
|
+
/**
|
|
3237
|
+
* Deprecated. Please use tags.
|
|
3238
|
+
* @deprecated
|
|
3239
|
+
*/
|
|
3240
|
+
tag?: string | null;
|
|
3241
|
+
/** Resource tags. Tags are used to identify, group, and filter the different types of resources. For example, 'staff' or 'room'. */
|
|
3242
|
+
tags?: string[] | null;
|
|
3243
|
+
/** Resource images. */
|
|
3244
|
+
images?: CommonImage[];
|
|
3245
|
+
/**
|
|
3246
|
+
* Deprecated. Please use scheduleIds. List of the schedules owned by this resource. Min size 1.
|
|
3247
|
+
* @deprecated
|
|
3248
|
+
*/
|
|
3249
|
+
schedules?: Schedule[];
|
|
3250
|
+
/**
|
|
3251
|
+
* List of IDs of schedules owned by this resource.
|
|
3252
|
+
* @readonly
|
|
3253
|
+
*/
|
|
3254
|
+
scheduleIds?: string[] | null;
|
|
3255
|
+
/**
|
|
3256
|
+
* Resource status. Default: `CREATED`.
|
|
3257
|
+
* @readonly
|
|
3258
|
+
*/
|
|
3259
|
+
status?: ResourceStatus;
|
|
3260
|
+
/**
|
|
3261
|
+
* Wix user ID, if the resource is associated with the Wix user.
|
|
3262
|
+
* A staff member resource can be associated with a Wix user via assignment of a permissions role in the business manager.
|
|
3263
|
+
* @readonly
|
|
3264
|
+
*/
|
|
3265
|
+
wixUserId?: string | null;
|
|
3266
|
+
}
|
|
3267
|
+
export interface CommonImage {
|
|
3268
|
+
/** WixMedia image ID. */
|
|
3269
|
+
id?: string;
|
|
3270
|
+
/** Image URL. */
|
|
3271
|
+
url?: string;
|
|
3272
|
+
/**
|
|
3273
|
+
* Original image height.
|
|
3274
|
+
* @readonly
|
|
3275
|
+
*/
|
|
3276
|
+
height?: number;
|
|
3277
|
+
/**
|
|
3278
|
+
* Original image width.
|
|
3279
|
+
* @readonly
|
|
3280
|
+
*/
|
|
3281
|
+
width?: number;
|
|
3282
|
+
/** Image alt text. */
|
|
3283
|
+
altText?: string | null;
|
|
3284
|
+
/**
|
|
3285
|
+
* Image filename.
|
|
3286
|
+
* @readonly
|
|
3287
|
+
*/
|
|
3288
|
+
filename?: string | null;
|
|
3289
|
+
}
|
|
3290
|
+
export interface FocalPoint {
|
|
3291
|
+
/** X-coordinate of the focal point. */
|
|
3292
|
+
x?: number;
|
|
3293
|
+
/** Y-coordinate of the focal point. */
|
|
3294
|
+
y?: number;
|
|
3295
|
+
/** crop by height */
|
|
3296
|
+
height?: number | null;
|
|
3297
|
+
/** crop by width */
|
|
3298
|
+
width?: number | null;
|
|
3299
|
+
}
|
|
3300
|
+
export declare enum ResourceStatus {
|
|
3301
|
+
/** Undefined resource status. */
|
|
3302
|
+
UNDEFINED = "UNDEFINED",
|
|
3303
|
+
/** The resource was created. */
|
|
3304
|
+
CREATED = "CREATED",
|
|
3305
|
+
/** The resource was deleted. */
|
|
3306
|
+
DELETED = "DELETED",
|
|
3307
|
+
/** The resource was updated. */
|
|
3308
|
+
UPDATED = "UPDATED"
|
|
3309
|
+
}
|
|
3310
|
+
export interface BusinessLocation {
|
|
3311
|
+
/** The ID of the business location. Has to be non-empty */
|
|
3312
|
+
locationId?: string;
|
|
3313
|
+
}
|
|
3314
|
+
export declare enum ResourceNotificationEvent {
|
|
3315
|
+
/** Undefined resource event. */
|
|
3316
|
+
UNDEFINED = "UNDEFINED",
|
|
3317
|
+
/** The resource was updated. */
|
|
3318
|
+
Updated = "Updated",
|
|
3319
|
+
/** The resource was deleted. */
|
|
3320
|
+
Deleted = "Deleted",
|
|
3321
|
+
/** The resource was created. */
|
|
3322
|
+
Created = "Created",
|
|
3323
|
+
/** The schedule was updated. */
|
|
3324
|
+
Schedule_Updated = "Schedule_Updated"
|
|
3325
|
+
}
|
|
3326
|
+
export interface BenefitNotification {
|
|
3327
|
+
/** Plan unique ID */
|
|
3328
|
+
planId?: string;
|
|
3329
|
+
/** App def ID */
|
|
3330
|
+
appDefId?: string;
|
|
3331
|
+
/** Current benefit details */
|
|
3332
|
+
benefit?: Benefit;
|
|
3333
|
+
/** Previous benefit */
|
|
3334
|
+
prevBenefit?: Benefit;
|
|
3335
|
+
/** Notification event */
|
|
3336
|
+
event?: Event;
|
|
3337
|
+
}
|
|
3338
|
+
export interface Benefit {
|
|
3339
|
+
/**
|
|
3340
|
+
* Benefit unique ID
|
|
3341
|
+
* @readonly
|
|
3342
|
+
*/
|
|
3343
|
+
id?: string | null;
|
|
3344
|
+
/** Benefit Type */
|
|
3345
|
+
benefitType?: BenefitType;
|
|
3346
|
+
/** Resource IDs that serves by this benefit */
|
|
3347
|
+
resourceIds?: string[];
|
|
3348
|
+
/** Amount of credits that provided by this benefit */
|
|
3349
|
+
creditAmount?: number | null;
|
|
3350
|
+
/** additional details related to benefit; limited to 20 entries, 20 symbols for key and 20 symbols for value */
|
|
3351
|
+
customFields?: Record<string, string>;
|
|
3352
|
+
/** return value only in case it required in the ListRequest, true means that benefit's type could be updated */
|
|
3353
|
+
editable?: boolean | null;
|
|
3354
|
+
/** Benefit behavior */
|
|
3355
|
+
behavior?: Behavior;
|
|
3356
|
+
/**
|
|
3357
|
+
* Id of the app associated with this benefit
|
|
3358
|
+
* @readonly
|
|
3359
|
+
*/
|
|
3360
|
+
appDefId?: string | null;
|
|
3361
|
+
}
|
|
3362
|
+
export interface EntryPass {
|
|
3363
|
+
}
|
|
3364
|
+
export interface Discount extends DiscountDiscountOneOf {
|
|
3365
|
+
/** Fixed-rate percent off discount */
|
|
3366
|
+
percentOffRate?: string;
|
|
3367
|
+
/** Absolute amount discount */
|
|
3368
|
+
moneyOffAmount?: string;
|
|
3369
|
+
}
|
|
3370
|
+
/** @oneof */
|
|
3371
|
+
export interface DiscountDiscountOneOf {
|
|
3372
|
+
/** Fixed-rate percent off discount */
|
|
3373
|
+
percentOffRate?: string;
|
|
3374
|
+
/** Absolute amount discount */
|
|
3375
|
+
moneyOffAmount?: string;
|
|
3376
|
+
}
|
|
3377
|
+
export declare enum BenefitType {
|
|
3378
|
+
/** Should never be used */
|
|
3379
|
+
UNDEFINED = "UNDEFINED",
|
|
3380
|
+
/** Limited benefit type */
|
|
3381
|
+
LIMITED = "LIMITED",
|
|
3382
|
+
/** Unlimited benefit type */
|
|
3383
|
+
UNLIMITED = "UNLIMITED"
|
|
3384
|
+
}
|
|
3385
|
+
export interface Behavior extends BehaviorBehaviorOneOf {
|
|
3386
|
+
/** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */
|
|
3387
|
+
defaultBehavior?: EntryPass;
|
|
3388
|
+
/** Discount applied to paid resources */
|
|
3389
|
+
discount?: Discount;
|
|
3390
|
+
}
|
|
3391
|
+
/** @oneof */
|
|
3392
|
+
export interface BehaviorBehaviorOneOf {
|
|
3393
|
+
/** Entry pass for resources, e.g. a ticket for Bookings service or a ticket for Events. */
|
|
3394
|
+
defaultBehavior?: EntryPass;
|
|
3395
|
+
/** Discount applied to paid resources */
|
|
3396
|
+
discount?: Discount;
|
|
3397
|
+
}
|
|
3398
|
+
export declare enum Event {
|
|
3399
|
+
Updated = "Updated",
|
|
3400
|
+
Deleted = "Deleted",
|
|
3401
|
+
Created = "Created"
|
|
3402
|
+
}
|
|
3403
|
+
export interface UserDomainInfoChangedEvent {
|
|
3404
|
+
domainName?: string;
|
|
3405
|
+
crudType?: CrudType;
|
|
3406
|
+
metaSiteId?: string | null;
|
|
3407
|
+
changeTime?: Date | null;
|
|
3408
|
+
}
|
|
3409
|
+
export declare enum CrudType {
|
|
3410
|
+
INVALID_CRUD_TYPE = "INVALID_CRUD_TYPE",
|
|
3411
|
+
CREATE = "CREATE",
|
|
3412
|
+
UPDATE = "UPDATE",
|
|
3413
|
+
DELETE = "DELETE",
|
|
3414
|
+
/** Unfortunately this action is used by hibernate save in wix-war */
|
|
3415
|
+
CREATE_OR_UPDATE = "CREATE_OR_UPDATE"
|
|
3416
|
+
}
|
|
3417
|
+
export interface HtmlSitePublished {
|
|
3418
|
+
/** Application instance ID */
|
|
3419
|
+
appInstanceId?: string;
|
|
3420
|
+
/** Application type */
|
|
3421
|
+
appType?: string;
|
|
3422
|
+
/** Revision */
|
|
3423
|
+
revision?: string;
|
|
3424
|
+
/** MSID */
|
|
3425
|
+
metaSiteId?: string | null;
|
|
3426
|
+
/** optional branch id if publish is done from branch */
|
|
3427
|
+
branchId?: string | null;
|
|
3428
|
+
/** The site's last transactionId */
|
|
3429
|
+
lastTransactionId?: string | null;
|
|
3430
|
+
/** A list of the site's pages */
|
|
3431
|
+
pages?: Page[];
|
|
3432
|
+
/** Site's publish date */
|
|
3433
|
+
publishDate?: string;
|
|
3434
|
+
}
|
|
3435
|
+
export interface Page {
|
|
3436
|
+
/** Page's Id */
|
|
3437
|
+
id?: string;
|
|
3438
|
+
}
|
|
3439
|
+
/** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */
|
|
3440
|
+
export interface SitePropertiesNotification {
|
|
3441
|
+
/** The site ID for which this update notification applies. */
|
|
3442
|
+
metasiteId?: string;
|
|
3443
|
+
/** The actual update event. */
|
|
3444
|
+
event?: SitePropertiesEvent;
|
|
3445
|
+
/** A convenience set of mappings from the MetaSite ID to its constituent services. */
|
|
3446
|
+
translations?: Translation[];
|
|
3447
|
+
/** Context of the notification */
|
|
3448
|
+
changeContext?: ChangeContext;
|
|
3449
|
+
}
|
|
3450
|
+
/** The actual update event for a particular notification. */
|
|
3451
|
+
export interface SitePropertiesEvent {
|
|
3452
|
+
/** Version of the site's properties represented by this update. */
|
|
3453
|
+
version?: number;
|
|
3454
|
+
/** Set of properties that were updated - corresponds to the fields in "properties". */
|
|
3455
|
+
fields?: string[];
|
|
3456
|
+
/** Updated properties. */
|
|
3457
|
+
properties?: Properties;
|
|
3458
|
+
}
|
|
3459
|
+
export interface Properties {
|
|
3460
|
+
/** Site categories. */
|
|
3461
|
+
categories?: Categories;
|
|
3462
|
+
/** Site locale. */
|
|
3463
|
+
locale?: Locale;
|
|
3464
|
+
/**
|
|
3465
|
+
* Site language.
|
|
3466
|
+
*
|
|
3467
|
+
* Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
|
|
3468
|
+
*/
|
|
3469
|
+
language?: string | null;
|
|
3470
|
+
/**
|
|
3471
|
+
* Site currency format used to bill customers.
|
|
3472
|
+
*
|
|
3473
|
+
* Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.
|
|
3474
|
+
*/
|
|
3475
|
+
paymentCurrency?: string | null;
|
|
3476
|
+
/** Timezone in `America/New_York` format. */
|
|
3477
|
+
timeZone?: string | null;
|
|
3478
|
+
/** Email address. */
|
|
3479
|
+
email?: string | null;
|
|
3480
|
+
/** Phone number. */
|
|
3481
|
+
phone?: string | null;
|
|
3482
|
+
/** Fax number. */
|
|
3483
|
+
fax?: string | null;
|
|
3484
|
+
/** Address. */
|
|
3485
|
+
address?: V4Address;
|
|
3486
|
+
/** Site display name. */
|
|
3487
|
+
siteDisplayName?: string | null;
|
|
3488
|
+
/** Business name. */
|
|
3489
|
+
businessName?: string | null;
|
|
3490
|
+
/** Path to the site's logo in Wix Media (without Wix Media base URL). */
|
|
3491
|
+
logo?: string | null;
|
|
3492
|
+
/** Site description. */
|
|
3493
|
+
description?: string | null;
|
|
3494
|
+
/**
|
|
3495
|
+
* Business schedule. Regular and exceptional time periods when the business is open or the service is available.
|
|
3496
|
+
*
|
|
3497
|
+
* __Note:__ Not supported by Wix Bookings.
|
|
3498
|
+
*/
|
|
3499
|
+
businessSchedule?: BusinessSchedule;
|
|
3500
|
+
/** Supported languages of a site and the primary language. */
|
|
3501
|
+
multilingual?: Multilingual;
|
|
3502
|
+
/** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */
|
|
3503
|
+
consentPolicy?: ConsentPolicy;
|
|
3504
|
+
/**
|
|
3505
|
+
* Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.
|
|
3506
|
+
*
|
|
3507
|
+
* Site business type.
|
|
3508
|
+
*/
|
|
3509
|
+
businessConfig?: string | null;
|
|
3510
|
+
/** External site URL that uses Wix as its headless business solution. */
|
|
3511
|
+
externalSiteUrl?: string | null;
|
|
3512
|
+
/** Track clicks analytics. */
|
|
3513
|
+
trackClicksAnalytics?: boolean;
|
|
3514
|
+
}
|
|
3515
|
+
export interface Categories {
|
|
3516
|
+
/** Primary site category. */
|
|
3517
|
+
primary?: string;
|
|
3518
|
+
/** Secondary site category. */
|
|
3519
|
+
secondary?: string[];
|
|
3520
|
+
/** Business Term Id */
|
|
3521
|
+
businessTermId?: string | null;
|
|
3522
|
+
}
|
|
3523
|
+
export interface Locale {
|
|
3524
|
+
/** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
|
|
3525
|
+
languageCode?: string;
|
|
3526
|
+
/** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */
|
|
3527
|
+
country?: string;
|
|
3528
|
+
}
|
|
3529
|
+
export interface V4Address {
|
|
3530
|
+
/** Street name. */
|
|
3531
|
+
street?: string;
|
|
3532
|
+
/** City name. */
|
|
3533
|
+
city?: string;
|
|
3534
|
+
/** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
|
|
3535
|
+
country?: string;
|
|
3536
|
+
/** State. */
|
|
3537
|
+
state?: string;
|
|
3538
|
+
/** Zip or postal code. */
|
|
3539
|
+
zip?: string;
|
|
3540
|
+
/** Extra information to be displayed in the address. */
|
|
3541
|
+
hint?: AddressHint;
|
|
3542
|
+
/** Whether this address represents a physical location. */
|
|
3543
|
+
isPhysical?: boolean;
|
|
3544
|
+
/** Google-formatted version of this address. */
|
|
3545
|
+
googleFormattedAddress?: string;
|
|
3546
|
+
/** Street number. */
|
|
3547
|
+
streetNumber?: string;
|
|
3548
|
+
/** Apartment number. */
|
|
3549
|
+
apartmentNumber?: string;
|
|
3550
|
+
/** Geographic coordinates of location. */
|
|
3551
|
+
coordinates?: GeoCoordinates;
|
|
3552
|
+
}
|
|
3553
|
+
/**
|
|
3554
|
+
* Extra information on displayed addresses.
|
|
3555
|
+
* This is used for display purposes. Used to add additional data about the address, such as "In the passage".
|
|
3556
|
+
* Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.
|
|
3557
|
+
*/
|
|
3558
|
+
export interface AddressHint {
|
|
3559
|
+
/** Extra text displayed next to, or instead of, the actual address. */
|
|
3560
|
+
text?: string;
|
|
3561
|
+
/** Where the extra text should be displayed. */
|
|
3562
|
+
placement?: PlacementType;
|
|
3563
|
+
}
|
|
3564
|
+
/** Where the extra text should be displayed: before, after or instead of the actual address. */
|
|
3565
|
+
export declare enum PlacementType {
|
|
3566
|
+
BEFORE = "BEFORE",
|
|
3567
|
+
AFTER = "AFTER",
|
|
3568
|
+
REPLACE = "REPLACE"
|
|
3569
|
+
}
|
|
3570
|
+
/** Geocoordinates for a particular address. */
|
|
3571
|
+
export interface GeoCoordinates {
|
|
3572
|
+
/** Latitude of the location. Must be between -90 and 90. */
|
|
3573
|
+
latitude?: number;
|
|
3574
|
+
/** Longitude of the location. Must be between -180 and 180. */
|
|
3575
|
+
longitude?: number;
|
|
3576
|
+
}
|
|
3577
|
+
export interface Multilingual {
|
|
3578
|
+
/** Supported languages list. */
|
|
3579
|
+
supportedLanguages?: SupportedLanguage[];
|
|
3580
|
+
/** Whether to redirect to user language. */
|
|
3581
|
+
autoRedirect?: boolean;
|
|
3582
|
+
}
|
|
3583
|
+
export interface SupportedLanguage {
|
|
3584
|
+
/** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
|
|
3585
|
+
languageCode?: string;
|
|
3586
|
+
/** Locale. */
|
|
3587
|
+
locale?: Locale;
|
|
3588
|
+
/** Whether the supported language is the primary language for the site. */
|
|
3589
|
+
isPrimary?: boolean;
|
|
3590
|
+
/** Language icon. */
|
|
3591
|
+
countryCode?: string;
|
|
3592
|
+
/** How the language will be resolved. For internal use. */
|
|
3593
|
+
resolutionMethod?: ResolutionMethod;
|
|
3594
|
+
}
|
|
3595
|
+
export declare enum ResolutionMethod {
|
|
3596
|
+
QUERY_PARAM = "QUERY_PARAM",
|
|
3597
|
+
SUBDOMAIN = "SUBDOMAIN",
|
|
3598
|
+
SUBDIRECTORY = "SUBDIRECTORY"
|
|
3599
|
+
}
|
|
3600
|
+
export interface ConsentPolicy {
|
|
3601
|
+
/** Whether the site uses cookies that are essential to site operation. Always `true`. */
|
|
3602
|
+
essential?: boolean | null;
|
|
3603
|
+
/** Whether the site uses cookies that affect site performance and other functional measurements. */
|
|
3604
|
+
functional?: boolean | null;
|
|
3605
|
+
/** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */
|
|
3606
|
+
analytics?: boolean | null;
|
|
3607
|
+
/** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */
|
|
3608
|
+
advertising?: boolean | null;
|
|
3609
|
+
/** CCPA compliance flag. */
|
|
3610
|
+
dataToThirdParty?: boolean | null;
|
|
3611
|
+
}
|
|
3612
|
+
/** A single mapping from the MetaSite ID to a particular service. */
|
|
3613
|
+
export interface Translation {
|
|
3614
|
+
/** The service type. */
|
|
3615
|
+
serviceType?: string;
|
|
3616
|
+
/** The application definition ID; this only applies to services of type ThirdPartyApps. */
|
|
3617
|
+
appDefId?: string;
|
|
3618
|
+
/** The instance ID of the service. */
|
|
3619
|
+
instanceId?: string;
|
|
3620
|
+
}
|
|
3621
|
+
export interface ChangeContext extends ChangeContextPayloadOneOf {
|
|
3622
|
+
/** Properties were updated. */
|
|
3623
|
+
propertiesChange?: PropertiesChange;
|
|
3624
|
+
/** Default properties were created on site creation. */
|
|
3625
|
+
siteCreated?: SiteCreated;
|
|
3626
|
+
/** Properties were cloned on site cloning. */
|
|
3627
|
+
siteCloned?: SiteCloned;
|
|
3628
|
+
}
|
|
3629
|
+
/** @oneof */
|
|
3630
|
+
export interface ChangeContextPayloadOneOf {
|
|
3631
|
+
/** Properties were updated. */
|
|
3632
|
+
propertiesChange?: PropertiesChange;
|
|
3633
|
+
/** Default properties were created on site creation. */
|
|
3634
|
+
siteCreated?: SiteCreated;
|
|
3635
|
+
/** Properties were cloned on site cloning. */
|
|
3636
|
+
siteCloned?: SiteCloned;
|
|
3637
|
+
}
|
|
3638
|
+
export interface PropertiesChange {
|
|
3639
|
+
}
|
|
3640
|
+
export interface SiteCreated {
|
|
3641
|
+
/** Origin template site id. */
|
|
3642
|
+
originTemplateId?: string | null;
|
|
3643
|
+
}
|
|
3644
|
+
export interface SiteCloned {
|
|
3645
|
+
/** Origin site id. */
|
|
3646
|
+
originMetaSiteId?: string;
|
|
3647
|
+
}
|
|
3648
|
+
export interface MessageEnvelope {
|
|
3649
|
+
/** App instance ID. */
|
|
3650
|
+
instanceId?: string | null;
|
|
3651
|
+
/** Event type. */
|
|
3652
|
+
eventType?: string;
|
|
3653
|
+
/** The identification type and identity data. */
|
|
3654
|
+
identity?: IdentificationData;
|
|
3655
|
+
/** Stringify payload. */
|
|
3656
|
+
data?: string;
|
|
3657
|
+
}
|
|
3658
|
+
export interface IdentificationData extends IdentificationDataIdOneOf {
|
|
3659
|
+
/** ID of a site visitor that has not logged in to the site. */
|
|
3660
|
+
anonymousVisitorId?: string;
|
|
3661
|
+
/** ID of a site visitor that has logged in to the site. */
|
|
3662
|
+
memberId?: string;
|
|
3663
|
+
/** ID of a Wix user (site owner, contributor, etc.). */
|
|
3664
|
+
wixUserId?: string;
|
|
3665
|
+
/** ID of an app. */
|
|
3666
|
+
appId?: string;
|
|
3667
|
+
/** @readonly */
|
|
3668
|
+
identityType?: WebhookIdentityType;
|
|
3669
|
+
}
|
|
3670
|
+
/** @oneof */
|
|
3671
|
+
export interface IdentificationDataIdOneOf {
|
|
3672
|
+
/** ID of a site visitor that has not logged in to the site. */
|
|
3673
|
+
anonymousVisitorId?: string;
|
|
3674
|
+
/** ID of a site visitor that has logged in to the site. */
|
|
3675
|
+
memberId?: string;
|
|
3676
|
+
/** ID of a Wix user (site owner, contributor, etc.). */
|
|
3677
|
+
wixUserId?: string;
|
|
3678
|
+
/** ID of an app. */
|
|
3679
|
+
appId?: string;
|
|
3680
|
+
}
|
|
3681
|
+
export declare enum WebhookIdentityType {
|
|
3682
|
+
UNKNOWN = "UNKNOWN",
|
|
3683
|
+
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
|
|
3684
|
+
MEMBER = "MEMBER",
|
|
3685
|
+
WIX_USER = "WIX_USER",
|
|
3686
|
+
APP = "APP"
|
|
3687
|
+
}
|
|
3688
|
+
interface ImageNonNullableFields {
|
|
3689
|
+
id: string;
|
|
3690
|
+
url: string;
|
|
3691
|
+
height: number;
|
|
3692
|
+
width: number;
|
|
3693
|
+
}
|
|
3694
|
+
interface MediaItemNonNullableFields {
|
|
3695
|
+
image?: ImageNonNullableFields;
|
|
3696
|
+
}
|
|
3697
|
+
interface MediaNonNullableFields {
|
|
3698
|
+
items: MediaItemNonNullableFields[];
|
|
3699
|
+
mainMedia?: MediaItemNonNullableFields;
|
|
3700
|
+
coverMedia?: MediaItemNonNullableFields;
|
|
3701
|
+
}
|
|
3702
|
+
interface V2CategoryNonNullableFields {
|
|
3703
|
+
id: string;
|
|
3704
|
+
}
|
|
3705
|
+
interface FormNonNullableFields {
|
|
3706
|
+
id: string;
|
|
3707
|
+
}
|
|
3708
|
+
interface MoneyNonNullableFields {
|
|
3709
|
+
value: string;
|
|
3710
|
+
currency: string;
|
|
3711
|
+
}
|
|
3712
|
+
interface FixedPaymentNonNullableFields {
|
|
3713
|
+
price?: MoneyNonNullableFields;
|
|
3714
|
+
deposit?: MoneyNonNullableFields;
|
|
3715
|
+
}
|
|
3716
|
+
interface VariedPaymentNonNullableFields {
|
|
3717
|
+
defaultPrice?: MoneyNonNullableFields;
|
|
3718
|
+
deposit?: MoneyNonNullableFields;
|
|
3719
|
+
minPrice?: MoneyNonNullableFields;
|
|
3720
|
+
maxPrice?: MoneyNonNullableFields;
|
|
3721
|
+
}
|
|
3722
|
+
interface PaymentNonNullableFields {
|
|
3723
|
+
fixed?: FixedPaymentNonNullableFields;
|
|
3724
|
+
varied?: VariedPaymentNonNullableFields;
|
|
3725
|
+
rateType: RateType;
|
|
3726
|
+
pricingPlanIds: string[];
|
|
3727
|
+
}
|
|
3728
|
+
interface CommonStreetAddressNonNullableFields {
|
|
3729
|
+
number: string;
|
|
3730
|
+
name: string;
|
|
3731
|
+
apt: string;
|
|
3732
|
+
}
|
|
3733
|
+
interface CommonAddressNonNullableFields {
|
|
3734
|
+
streetAddress?: CommonStreetAddressNonNullableFields;
|
|
3735
|
+
}
|
|
3736
|
+
interface BusinessLocationOptionsNonNullableFields {
|
|
3737
|
+
id: string;
|
|
3738
|
+
name: string;
|
|
3739
|
+
address?: CommonAddressNonNullableFields;
|
|
3740
|
+
}
|
|
3741
|
+
interface CustomLocationOptionsNonNullableFields {
|
|
3742
|
+
id: string;
|
|
3743
|
+
address?: CommonAddressNonNullableFields;
|
|
3744
|
+
}
|
|
3745
|
+
interface V2LocationNonNullableFields {
|
|
3746
|
+
business?: BusinessLocationOptionsNonNullableFields;
|
|
3747
|
+
custom?: CustomLocationOptionsNonNullableFields;
|
|
3748
|
+
id: string;
|
|
3749
|
+
type: LocationTypeEnumLocationType;
|
|
3750
|
+
calculatedAddress?: CommonAddressNonNullableFields;
|
|
3751
|
+
}
|
|
3752
|
+
interface PolicyDescriptionNonNullableFields {
|
|
3753
|
+
enabled: boolean;
|
|
3754
|
+
description: string;
|
|
3755
|
+
}
|
|
3756
|
+
interface LimitEarlyBookingPolicyNonNullableFields {
|
|
3757
|
+
enabled: boolean;
|
|
3758
|
+
earliestBookingInMinutes: number;
|
|
3759
|
+
}
|
|
3760
|
+
interface LimitLateBookingPolicyNonNullableFields {
|
|
3761
|
+
enabled: boolean;
|
|
3762
|
+
latestBookingInMinutes: number;
|
|
3763
|
+
}
|
|
3764
|
+
interface BookAfterStartPolicyNonNullableFields {
|
|
3765
|
+
enabled: boolean;
|
|
3766
|
+
}
|
|
3767
|
+
interface CancellationPolicyNonNullableFields {
|
|
3768
|
+
enabled: boolean;
|
|
3769
|
+
limitLatestCancellation: boolean;
|
|
3770
|
+
latestCancellationInMinutes: number;
|
|
3771
|
+
}
|
|
3772
|
+
interface ReschedulePolicyNonNullableFields {
|
|
3773
|
+
enabled: boolean;
|
|
3774
|
+
limitLatestReschedule: boolean;
|
|
3775
|
+
latestRescheduleInMinutes: number;
|
|
3776
|
+
}
|
|
3777
|
+
interface WaitlistPolicyNonNullableFields {
|
|
3778
|
+
enabled: boolean;
|
|
3779
|
+
capacity: number;
|
|
3780
|
+
reservationTimeInMinutes: number;
|
|
3781
|
+
}
|
|
3782
|
+
interface ParticipantsPolicyNonNullableFields {
|
|
3783
|
+
enabled: boolean;
|
|
3784
|
+
maxParticipantsPerBooking: number;
|
|
3785
|
+
}
|
|
3786
|
+
interface ResourcesPolicyNonNullableFields {
|
|
3787
|
+
enabled: boolean;
|
|
3788
|
+
autoAssignAllowed: boolean;
|
|
3789
|
+
}
|
|
3790
|
+
interface CancellationWindowNonNullableFields {
|
|
3791
|
+
amount?: MoneyNonNullableFields;
|
|
3792
|
+
percentage: string;
|
|
3793
|
+
}
|
|
3794
|
+
interface CancellationFeePolicyNonNullableFields {
|
|
3795
|
+
enabled: boolean;
|
|
3796
|
+
cancellationWindows: CancellationWindowNonNullableFields[];
|
|
3797
|
+
}
|
|
3798
|
+
interface SaveCreditCardPolicyNonNullableFields {
|
|
3799
|
+
enabled: boolean;
|
|
3800
|
+
}
|
|
3801
|
+
interface BookingPolicyNonNullableFields {
|
|
3802
|
+
id: string;
|
|
3803
|
+
customPolicyDescription?: PolicyDescriptionNonNullableFields;
|
|
3804
|
+
limitEarlyBookingPolicy?: LimitEarlyBookingPolicyNonNullableFields;
|
|
3805
|
+
limitLateBookingPolicy?: LimitLateBookingPolicyNonNullableFields;
|
|
3806
|
+
bookAfterStartPolicy?: BookAfterStartPolicyNonNullableFields;
|
|
3807
|
+
cancellationPolicy?: CancellationPolicyNonNullableFields;
|
|
3808
|
+
reschedulePolicy?: ReschedulePolicyNonNullableFields;
|
|
3809
|
+
waitlistPolicy?: WaitlistPolicyNonNullableFields;
|
|
3810
|
+
participantsPolicy?: ParticipantsPolicyNonNullableFields;
|
|
3811
|
+
resourcesPolicy?: ResourcesPolicyNonNullableFields;
|
|
3812
|
+
cancellationFeePolicy?: CancellationFeePolicyNonNullableFields;
|
|
3813
|
+
saveCreditCardPolicy?: SaveCreditCardPolicyNonNullableFields;
|
|
3814
|
+
}
|
|
3815
|
+
interface DurationNonNullableFields {
|
|
3816
|
+
minutes: number;
|
|
3817
|
+
}
|
|
3818
|
+
interface V2AvailabilityConstraintsNonNullableFields {
|
|
3819
|
+
durations: DurationNonNullableFields[];
|
|
3820
|
+
sessionDurations: number[];
|
|
3821
|
+
timeBetweenSessions: number;
|
|
3822
|
+
}
|
|
3823
|
+
interface V2ScheduleNonNullableFields {
|
|
3824
|
+
availabilityConstraints?: V2AvailabilityConstraintsNonNullableFields;
|
|
3825
|
+
}
|
|
3826
|
+
interface StaffMediaItemNonNullableFields {
|
|
3827
|
+
image?: ImageNonNullableFields;
|
|
3828
|
+
}
|
|
3829
|
+
interface StaffMemberNonNullableFields {
|
|
3830
|
+
staffMemberId: string;
|
|
3831
|
+
mainMedia?: StaffMediaItemNonNullableFields;
|
|
3832
|
+
}
|
|
3833
|
+
interface StaffMemberDetailsNonNullableFields {
|
|
3834
|
+
staffMembers: StaffMemberNonNullableFields[];
|
|
3835
|
+
}
|
|
3836
|
+
interface ResourceIdsNonNullableFields {
|
|
3837
|
+
values: string[];
|
|
3838
|
+
}
|
|
3839
|
+
interface ResourceGroupNonNullableFields {
|
|
3840
|
+
resourceIds?: ResourceIdsNonNullableFields;
|
|
3841
|
+
}
|
|
3842
|
+
interface ServiceResourceNonNullableFields {
|
|
3843
|
+
resourceIds?: ResourceIdsNonNullableFields;
|
|
3844
|
+
}
|
|
3845
|
+
interface SlugNonNullableFields {
|
|
3846
|
+
name: string;
|
|
3847
|
+
}
|
|
3848
|
+
interface PageUrlV2NonNullableFields {
|
|
3849
|
+
relativePath: string;
|
|
3850
|
+
}
|
|
3851
|
+
interface URLsNonNullableFields {
|
|
3852
|
+
servicePage?: PageUrlV2NonNullableFields;
|
|
3853
|
+
bookingPage?: PageUrlV2NonNullableFields;
|
|
3854
|
+
calendarPage?: PageUrlV2NonNullableFields;
|
|
3855
|
+
}
|
|
3856
|
+
interface TagNonNullableFields {
|
|
3857
|
+
type: string;
|
|
3858
|
+
children: string;
|
|
3859
|
+
custom: boolean;
|
|
3860
|
+
disabled: boolean;
|
|
3861
|
+
}
|
|
3862
|
+
interface KeywordNonNullableFields {
|
|
3863
|
+
term: string;
|
|
3864
|
+
isMain: boolean;
|
|
3865
|
+
}
|
|
3866
|
+
interface SettingsNonNullableFields {
|
|
3867
|
+
preventAutoRedirect: boolean;
|
|
3868
|
+
keywords: KeywordNonNullableFields[];
|
|
3869
|
+
}
|
|
3870
|
+
interface SeoSchemaNonNullableFields {
|
|
3871
|
+
tags: TagNonNullableFields[];
|
|
3872
|
+
settings?: SettingsNonNullableFields;
|
|
3873
|
+
}
|
|
3874
|
+
interface ServiceNonNullableFields {
|
|
3875
|
+
type: ServiceType;
|
|
3876
|
+
media?: MediaNonNullableFields;
|
|
3877
|
+
category?: V2CategoryNonNullableFields;
|
|
3878
|
+
form?: FormNonNullableFields;
|
|
3879
|
+
payment?: PaymentNonNullableFields;
|
|
3880
|
+
locations: V2LocationNonNullableFields[];
|
|
3881
|
+
bookingPolicy?: BookingPolicyNonNullableFields;
|
|
3882
|
+
schedule?: V2ScheduleNonNullableFields;
|
|
3883
|
+
staffMemberIds: string[];
|
|
3884
|
+
staffMembers: StaffMemberNonNullableFields[];
|
|
3885
|
+
staffMemberDetails?: StaffMemberDetailsNonNullableFields;
|
|
3886
|
+
resourceGroups: ResourceGroupNonNullableFields[];
|
|
3887
|
+
serviceResources: ServiceResourceNonNullableFields[];
|
|
3888
|
+
supportedSlugs: SlugNonNullableFields[];
|
|
3889
|
+
mainSlug?: SlugNonNullableFields;
|
|
3890
|
+
urls?: URLsNonNullableFields;
|
|
3891
|
+
seoData?: SeoSchemaNonNullableFields;
|
|
3892
|
+
}
|
|
3893
|
+
export interface CreateServiceResponseNonNullableFields {
|
|
3894
|
+
service?: ServiceNonNullableFields;
|
|
3895
|
+
}
|
|
3896
|
+
export interface GetServiceResponseNonNullableFields {
|
|
3897
|
+
service?: ServiceNonNullableFields;
|
|
3898
|
+
}
|
|
3899
|
+
export interface UpdateServiceResponseNonNullableFields {
|
|
3900
|
+
service?: ServiceNonNullableFields;
|
|
3901
|
+
}
|
|
3902
|
+
interface ApplicationErrorNonNullableFields {
|
|
3903
|
+
code: string;
|
|
3904
|
+
description: string;
|
|
3905
|
+
}
|
|
3906
|
+
interface ItemMetadataNonNullableFields {
|
|
3907
|
+
originalIndex: number;
|
|
3908
|
+
success: boolean;
|
|
3909
|
+
error?: ApplicationErrorNonNullableFields;
|
|
3910
|
+
}
|
|
3911
|
+
interface BulkServiceResultNonNullableFields {
|
|
3912
|
+
itemMetadata?: ItemMetadataNonNullableFields;
|
|
3913
|
+
item?: ServiceNonNullableFields;
|
|
3914
|
+
}
|
|
3915
|
+
interface BulkActionMetadataNonNullableFields {
|
|
3916
|
+
totalSuccesses: number;
|
|
3917
|
+
totalFailures: number;
|
|
3918
|
+
undetailedFailures: number;
|
|
3919
|
+
}
|
|
3920
|
+
export interface BulkUpdateServicesResponseNonNullableFields {
|
|
3921
|
+
results: BulkServiceResultNonNullableFields[];
|
|
3922
|
+
bulkActionMetadata?: BulkActionMetadataNonNullableFields;
|
|
3923
|
+
}
|
|
3924
|
+
export interface BulkUpdateServicesByFilterResponseNonNullableFields {
|
|
3925
|
+
jobId: string;
|
|
3926
|
+
}
|
|
3927
|
+
export interface BulkDeleteServicesResponseNonNullableFields {
|
|
3928
|
+
results: BulkServiceResultNonNullableFields[];
|
|
3929
|
+
bulkActionMetadata?: BulkActionMetadataNonNullableFields;
|
|
3930
|
+
}
|
|
3931
|
+
export interface BulkDeleteServicesByFilterResponseNonNullableFields {
|
|
3932
|
+
jobId: string;
|
|
3933
|
+
}
|
|
3934
|
+
export interface QueryServicesResponseNonNullableFields {
|
|
3935
|
+
services: ServiceNonNullableFields[];
|
|
3936
|
+
}
|
|
3937
|
+
interface ValueAggregationResultNonNullableFields {
|
|
3938
|
+
value: string;
|
|
3939
|
+
count: number;
|
|
3940
|
+
}
|
|
3941
|
+
interface ValueResultsNonNullableFields {
|
|
3942
|
+
results: ValueAggregationResultNonNullableFields[];
|
|
3943
|
+
}
|
|
3944
|
+
interface RangeAggregationResultNonNullableFields {
|
|
3945
|
+
count: number;
|
|
3946
|
+
}
|
|
3947
|
+
interface RangeResultsNonNullableFields {
|
|
3948
|
+
results: RangeAggregationResultNonNullableFields[];
|
|
3949
|
+
}
|
|
3950
|
+
interface AggregationResultsScalarResultNonNullableFields {
|
|
3951
|
+
type: ScalarType;
|
|
3952
|
+
value: number;
|
|
3953
|
+
}
|
|
3954
|
+
interface NestedAggregationResultsNonNullableFields {
|
|
3955
|
+
values?: ValueResultsNonNullableFields;
|
|
3956
|
+
ranges?: RangeResultsNonNullableFields;
|
|
3957
|
+
scalar?: AggregationResultsScalarResultNonNullableFields;
|
|
3958
|
+
name: string;
|
|
3959
|
+
type: AggregationType;
|
|
3960
|
+
fieldPath: string;
|
|
3961
|
+
}
|
|
3962
|
+
interface NestedValueAggregationResultNonNullableFields {
|
|
3963
|
+
value: string;
|
|
3964
|
+
nestedResults?: NestedAggregationResultsNonNullableFields;
|
|
3965
|
+
}
|
|
3966
|
+
interface GroupByValueResultsNonNullableFields {
|
|
3967
|
+
results: NestedValueAggregationResultNonNullableFields[];
|
|
3968
|
+
}
|
|
3969
|
+
interface DateHistogramResultNonNullableFields {
|
|
3970
|
+
value: string;
|
|
3971
|
+
count: number;
|
|
3972
|
+
}
|
|
3973
|
+
interface DateHistogramResultsNonNullableFields {
|
|
3974
|
+
results: DateHistogramResultNonNullableFields[];
|
|
3975
|
+
}
|
|
3976
|
+
interface AggregationResultsNonNullableFields {
|
|
3977
|
+
values?: ValueResultsNonNullableFields;
|
|
3978
|
+
ranges?: RangeResultsNonNullableFields;
|
|
3979
|
+
scalar?: AggregationResultsScalarResultNonNullableFields;
|
|
3980
|
+
groupedByValue?: GroupByValueResultsNonNullableFields;
|
|
3981
|
+
dateHistogram?: DateHistogramResultsNonNullableFields;
|
|
3982
|
+
name: string;
|
|
3983
|
+
type: AggregationType;
|
|
3984
|
+
fieldPath: string;
|
|
3985
|
+
}
|
|
3986
|
+
interface AggregationDataNonNullableFields {
|
|
3987
|
+
results: AggregationResultsNonNullableFields[];
|
|
3988
|
+
}
|
|
3989
|
+
export interface SearchServicesResponseNonNullableFields {
|
|
3990
|
+
services: ServiceNonNullableFields[];
|
|
3991
|
+
aggregationData?: AggregationDataNonNullableFields;
|
|
3992
|
+
}
|
|
3993
|
+
interface BookingPolicyWithServicesNonNullableFields {
|
|
3994
|
+
bookingPolicy?: BookingPolicyNonNullableFields;
|
|
3995
|
+
services: ServiceNonNullableFields[];
|
|
3996
|
+
countOfServices: number;
|
|
3997
|
+
connectedServices: ServiceNonNullableFields[];
|
|
3998
|
+
totalServiceCount: number;
|
|
3999
|
+
}
|
|
4000
|
+
export interface QueryPoliciesResponseNonNullableFields {
|
|
4001
|
+
bookingPolicies: BookingPolicyWithServicesNonNullableFields[];
|
|
4002
|
+
}
|
|
4003
|
+
interface FormDetailsNonNullableFields {
|
|
4004
|
+
formId: string;
|
|
4005
|
+
}
|
|
4006
|
+
interface BookingFormNonNullableFields {
|
|
4007
|
+
formDetails?: FormDetailsNonNullableFields;
|
|
4008
|
+
totalServiceCount: number;
|
|
4009
|
+
}
|
|
4010
|
+
export interface QueryBookingFormsResponseNonNullableFields {
|
|
4011
|
+
bookingForms: BookingFormNonNullableFields[];
|
|
4012
|
+
defaultBookingForm?: BookingFormNonNullableFields;
|
|
4013
|
+
}
|
|
4014
|
+
export interface CountServicesResponseNonNullableFields {
|
|
4015
|
+
count: number;
|
|
4016
|
+
}
|
|
4017
|
+
interface BusinessLocationsNonNullableFields {
|
|
4018
|
+
exists: boolean;
|
|
4019
|
+
locations: V2LocationNonNullableFields[];
|
|
4020
|
+
}
|
|
4021
|
+
interface CustomLocationsNonNullableFields {
|
|
4022
|
+
exists: boolean;
|
|
4023
|
+
}
|
|
4024
|
+
interface CustomerLocationsNonNullableFields {
|
|
4025
|
+
exists: boolean;
|
|
4026
|
+
}
|
|
4027
|
+
export interface QueryLocationsResponseNonNullableFields {
|
|
4028
|
+
businessLocations?: BusinessLocationsNonNullableFields;
|
|
4029
|
+
customLocations?: CustomLocationsNonNullableFields;
|
|
4030
|
+
customerLocations?: CustomerLocationsNonNullableFields;
|
|
4031
|
+
}
|
|
4032
|
+
export interface QueryCategoriesResponseNonNullableFields {
|
|
4033
|
+
categories: V2CategoryNonNullableFields[];
|
|
4034
|
+
}
|
|
4035
|
+
export interface SetServiceLocationsResponseNonNullableFields {
|
|
4036
|
+
service?: ServiceNonNullableFields;
|
|
4037
|
+
}
|
|
4038
|
+
export interface EnablePricingPlansForServiceResponseNonNullableFields {
|
|
4039
|
+
service?: ServiceNonNullableFields;
|
|
4040
|
+
}
|
|
4041
|
+
export interface DisablePricingPlansForServiceResponseNonNullableFields {
|
|
4042
|
+
service?: ServiceNonNullableFields;
|
|
4043
|
+
}
|
|
4044
|
+
export interface SetCustomSlugResponseNonNullableFields {
|
|
4045
|
+
slug?: SlugNonNullableFields;
|
|
4046
|
+
service?: ServiceNonNullableFields;
|
|
4047
|
+
}
|
|
4048
|
+
export interface ValidateSlugResponseNonNullableFields {
|
|
4049
|
+
valid: boolean;
|
|
4050
|
+
errors: InvalidSlugError[];
|
|
4051
|
+
}
|
|
4052
|
+
export interface CloneServiceResponseNonNullableFields {
|
|
4053
|
+
service?: ServiceNonNullableFields;
|
|
4054
|
+
errors: CloneErrors[];
|
|
4055
|
+
}
|
|
4056
|
+
export {};
|