@wix/auto_sdk_bookings_add-ons 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.
Files changed (39) hide show
  1. package/build/cjs/index.d.ts +103 -0
  2. package/build/cjs/index.js +775 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1172 -0
  5. package/build/cjs/index.typings.js +640 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +874 -0
  8. package/build/cjs/meta.js +561 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/es/index.d.mts +103 -0
  11. package/build/es/index.mjs +736 -0
  12. package/build/es/index.mjs.map +1 -0
  13. package/build/es/index.typings.d.mts +1172 -0
  14. package/build/es/index.typings.mjs +604 -0
  15. package/build/es/index.typings.mjs.map +1 -0
  16. package/build/es/meta.d.mts +874 -0
  17. package/build/es/meta.mjs +522 -0
  18. package/build/es/meta.mjs.map +1 -0
  19. package/build/es/package.json +3 -0
  20. package/build/internal/cjs/index.d.ts +103 -0
  21. package/build/internal/cjs/index.js +775 -0
  22. package/build/internal/cjs/index.js.map +1 -0
  23. package/build/internal/cjs/index.typings.d.ts +1172 -0
  24. package/build/internal/cjs/index.typings.js +640 -0
  25. package/build/internal/cjs/index.typings.js.map +1 -0
  26. package/build/internal/cjs/meta.d.ts +874 -0
  27. package/build/internal/cjs/meta.js +561 -0
  28. package/build/internal/cjs/meta.js.map +1 -0
  29. package/build/internal/es/index.d.mts +103 -0
  30. package/build/internal/es/index.mjs +736 -0
  31. package/build/internal/es/index.mjs.map +1 -0
  32. package/build/internal/es/index.typings.d.mts +1172 -0
  33. package/build/internal/es/index.typings.mjs +604 -0
  34. package/build/internal/es/index.typings.mjs.map +1 -0
  35. package/build/internal/es/meta.d.mts +874 -0
  36. package/build/internal/es/meta.mjs +522 -0
  37. package/build/internal/es/meta.mjs.map +1 -0
  38. package/meta/package.json +3 -0
  39. package/package.json +54 -0
@@ -0,0 +1,1172 @@
1
+ import { NonNullablePaths } from '@wix/sdk-types';
2
+
3
+ /** Add-ons are optional extras that extend business offerings (such as booking services) with additional features, time, or products for an extra cost. */
4
+ interface AddOn extends AddOnAddOnInfoOneOf {
5
+ /**
6
+ * Duration in minutes for duration-based add-ons that extend offering time.
7
+ * @min 1
8
+ * @max 1440
9
+ */
10
+ durationInMinutes?: number;
11
+ /**
12
+ * Maximum quantity customers can purchase for quantity-based add-ons.
13
+ * @min 1
14
+ * @max 9999
15
+ */
16
+ maxQuantity?: number;
17
+ /**
18
+ * Add-on ID.
19
+ * @format GUID
20
+ * @readonly
21
+ */
22
+ _id?: string | null;
23
+ /**
24
+ * Revision number, which increments by 1 each time the add-on is updated.
25
+ * To prevent conflicting changes, the current revision must be passed when updating the add-on.
26
+ *
27
+ * Ignored when creating an add-on.
28
+ * @readonly
29
+ */
30
+ revision?: string | null;
31
+ /**
32
+ * Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.
33
+ * @readonly
34
+ */
35
+ _createdDate?: Date | null;
36
+ /**
37
+ * Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.
38
+ * @readonly
39
+ */
40
+ _updatedDate?: Date | null;
41
+ /**
42
+ * Display name of the add-on shown to customers.
43
+ * @minLength 1
44
+ * @maxLength 100
45
+ */
46
+ name?: string | null;
47
+ /** Pricing information for the add-on. */
48
+ price?: Money;
49
+ /**
50
+ * ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).
51
+ * Learn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).
52
+ *
53
+ * This field doesn't apply to custom checkout/billing implementations.
54
+ * @format GUID
55
+ */
56
+ taxGroup?: string | null;
57
+ /** Data extensions enabling users to save custom data related to the add-on. */
58
+ extendedFields?: ExtendedFields;
59
+ /** [Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes. */
60
+ tags?: Tags;
61
+ }
62
+ /** @oneof */
63
+ interface AddOnAddOnInfoOneOf {
64
+ /**
65
+ * Duration in minutes for duration-based add-ons that extend offering time.
66
+ * @min 1
67
+ * @max 1440
68
+ */
69
+ durationInMinutes?: number;
70
+ /**
71
+ * Maximum quantity customers can purchase for quantity-based add-ons.
72
+ * @min 1
73
+ * @max 9999
74
+ */
75
+ maxQuantity?: number;
76
+ }
77
+ /**
78
+ * Money.
79
+ * Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.
80
+ */
81
+ interface Money {
82
+ /**
83
+ * Add-on price amount as a decimal string with period as decimal separator. For example, `3.99` for a $3.99 add-on or `15.00` for a $15.00 add-on.
84
+ * @format DECIMAL_VALUE
85
+ * @decimalValue options { gte:0, lte:1000000000000000, maxScale:2 }
86
+ */
87
+ value?: string;
88
+ /**
89
+ * Currency code for the add-on price. Must be a valid [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code. For example, `USD` for US dollars or `EUR` for euros.
90
+ * @format CURRENCY
91
+ */
92
+ currency?: string;
93
+ /**
94
+ * Add-on price amount as a decimal string in local format for display purposes. For example, `$3.99` for US format or `3,99 €` for European format.
95
+ * @maxLength 50
96
+ */
97
+ formattedValue?: string | null;
98
+ }
99
+ interface ExtendedFields {
100
+ /**
101
+ * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
102
+ * The value of each key is structured according to the schema defined when the extended fields were configured.
103
+ *
104
+ * You can only access fields for which you have the appropriate permissions.
105
+ *
106
+ * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
107
+ */
108
+ namespaces?: Record<string, Record<string, any>>;
109
+ }
110
+ /**
111
+ * Common object for tags.
112
+ * Should be use as in this example:
113
+ * message Foo {
114
+ * string id = 1;
115
+ * ...
116
+ * Tags tags = 5
117
+ * }
118
+ *
119
+ * example of taggable entity
120
+ * {
121
+ * id: "123"
122
+ * tags: {
123
+ * tags: {
124
+ * tag_ids:["11","22"]
125
+ * },
126
+ * private_tags: {
127
+ * tag_ids: ["33", "44"]
128
+ * }
129
+ * }
130
+ * }
131
+ */
132
+ interface Tags {
133
+ /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */
134
+ privateTags?: TagList;
135
+ /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */
136
+ tags?: TagList;
137
+ }
138
+ interface TagList {
139
+ /**
140
+ * List of tag IDs
141
+ * @maxSize 100
142
+ * @maxLength 5
143
+ */
144
+ tagIds?: string[];
145
+ }
146
+ interface CreateAddOnRequest {
147
+ /** Add-on to create. */
148
+ addOn: AddOn;
149
+ }
150
+ interface CreateAddOnResponse {
151
+ /** Created add-on. */
152
+ addOn?: AddOn;
153
+ }
154
+ interface GetAddOnRequest {
155
+ /**
156
+ * ID of the add-on to retrieve.
157
+ * @format GUID
158
+ */
159
+ addOnId: string;
160
+ }
161
+ interface GetAddOnResponse {
162
+ /** Retrieved add-on. */
163
+ addOn?: AddOn;
164
+ }
165
+ interface UpdateAddOnRequest {
166
+ /** Add-on to update. */
167
+ addOn: AddOn;
168
+ }
169
+ interface UpdateAddOnResponse {
170
+ /** Updated add-on. */
171
+ addOn?: AddOn;
172
+ }
173
+ interface DeleteAddOnRequest {
174
+ /**
175
+ * ID of the add-on to delete.
176
+ * @format GUID
177
+ */
178
+ addOnId: string;
179
+ }
180
+ interface DeleteAddOnResponse {
181
+ }
182
+ interface QueryAddOnsRequest {
183
+ /** Filtering, sorting, and paging details. */
184
+ query?: CursorQuery;
185
+ }
186
+ interface CursorQuery extends CursorQueryPagingMethodOneOf {
187
+ /** 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`. */
188
+ cursorPaging?: CursorPaging;
189
+ /**
190
+ * Filter object in the following format:
191
+ * `"filter" : {
192
+ * "fieldName1": "value1",
193
+ * "fieldName2":{"$operator":"value2"}
194
+ * }`
195
+ * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
196
+ *
197
+ * Refer to [supported filters](https://dev.wix.com/docs/rest/business-solutions/bookings/services/add-ons/supported-filters) for a complete list of supported fields.
198
+ */
199
+ filter?: Record<string, any> | null;
200
+ /**
201
+ * Sort object in the following format:
202
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
203
+ * @maxSize 5
204
+ */
205
+ sort?: Sorting[];
206
+ }
207
+ /** @oneof */
208
+ interface CursorQueryPagingMethodOneOf {
209
+ /** 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`. */
210
+ cursorPaging?: CursorPaging;
211
+ }
212
+ interface Sorting {
213
+ /**
214
+ * Name of the field to sort by.
215
+ * @maxLength 512
216
+ */
217
+ fieldName?: string;
218
+ /** Sort order. */
219
+ order?: SortOrderWithLiterals;
220
+ }
221
+ declare enum SortOrder {
222
+ ASC = "ASC",
223
+ DESC = "DESC"
224
+ }
225
+ /** @enumType */
226
+ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
227
+ interface CursorPaging {
228
+ /**
229
+ * Maximum number of items to return in the results.
230
+ * @max 100
231
+ */
232
+ limit?: number | null;
233
+ /**
234
+ * Pointer to the next or previous page in the list of results.
235
+ *
236
+ * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
237
+ * Not relevant for the first request.
238
+ * @maxLength 16000
239
+ */
240
+ cursor?: string | null;
241
+ }
242
+ interface QueryAddOnsResponse {
243
+ /** List of add-ons matching the query. */
244
+ addOns?: AddOn[];
245
+ /** Paging metadata for the query results. */
246
+ pagingMetadata?: CursorPagingMetadata;
247
+ }
248
+ interface CursorPagingMetadata {
249
+ /** Number of items returned in the response. */
250
+ count?: number | null;
251
+ /** Cursor strings that point to the next page, previous page, or both. */
252
+ cursors?: Cursors;
253
+ /**
254
+ * Whether there are more pages to retrieve following the current page.
255
+ *
256
+ * + `true`: Another page of results can be retrieved.
257
+ * + `false`: This is the last page.
258
+ */
259
+ hasNext?: boolean | null;
260
+ }
261
+ interface Cursors {
262
+ /**
263
+ * Cursor string pointing to the next page in the list of results.
264
+ * @maxLength 16000
265
+ */
266
+ next?: string | null;
267
+ /**
268
+ * Cursor pointing to the previous page in the list of results.
269
+ * @maxLength 16000
270
+ */
271
+ prev?: string | null;
272
+ }
273
+ interface BulkCreateAddOnsRequest {
274
+ /**
275
+ * List of add-ons to create.
276
+ * @minSize 1
277
+ * @maxSize 100
278
+ */
279
+ addOns: AddOn[];
280
+ /** Whether to return the created add-ons in the response. */
281
+ returnEntity?: boolean;
282
+ }
283
+ interface BulkCreateAddOnsResponse {
284
+ /**
285
+ * Results of the bulk create operation including add-ons and metadata.
286
+ * @minSize 1
287
+ * @maxSize 100
288
+ */
289
+ results?: BulkAddOnResult[];
290
+ /** Metadata for the bulk create operation. */
291
+ bulkActionMetadata?: BulkActionMetadata;
292
+ }
293
+ interface ItemMetadata {
294
+ /**
295
+ * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
296
+ * @format GUID
297
+ */
298
+ _id?: string | null;
299
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
300
+ originalIndex?: number;
301
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
302
+ success?: boolean;
303
+ /** Details about the error in case of failure. */
304
+ error?: ApplicationError;
305
+ }
306
+ interface ApplicationError {
307
+ /** Error code. */
308
+ code?: string;
309
+ /** Description of the error. */
310
+ description?: string;
311
+ /** Data related to the error. */
312
+ data?: Record<string, any> | null;
313
+ }
314
+ interface BulkAddOnResult {
315
+ /** Metadata for the individual create operation. */
316
+ itemMetadata?: ItemMetadata;
317
+ /** Created add-on. Only present if `return_entity` was set to true in the request. */
318
+ item?: AddOn;
319
+ }
320
+ interface BulkActionMetadata {
321
+ /** Number of items that were successfully processed. */
322
+ totalSuccesses?: number;
323
+ /** Number of items that couldn't be processed. */
324
+ totalFailures?: number;
325
+ /** Number of failures without details because detailed failure threshold was exceeded. */
326
+ undetailedFailures?: number;
327
+ }
328
+ interface BulkUpdateAddOnsRequest {
329
+ /**
330
+ * List of add-ons to update.
331
+ * @minSize 1
332
+ * @maxSize 100
333
+ */
334
+ addOns: MaskedAddOn[];
335
+ /** Whether to return the updated add-ons in the response. */
336
+ returnEntity?: boolean;
337
+ }
338
+ interface MaskedAddOn {
339
+ /** Add-on to update. May be partial. */
340
+ addOn?: AddOn;
341
+ }
342
+ interface BulkUpdateAddOnsResponse {
343
+ /**
344
+ * Results of the bulk update operation.
345
+ * @minSize 1
346
+ * @maxSize 100
347
+ */
348
+ results?: BulkUpdateAddOnsResponseBulkAddOnResult[];
349
+ /** Metadata for the bulk update operation. */
350
+ bulkActionMetadata?: BulkActionMetadata;
351
+ }
352
+ interface BulkUpdateAddOnsResponseBulkAddOnResult {
353
+ /** Metadata for the individual update operation. */
354
+ itemMetadata?: ItemMetadata;
355
+ /** Updated add-on. Only present if `return_entity` was set to true in the request. */
356
+ item?: AddOn;
357
+ }
358
+ interface BulkDeleteAddOnsRequest {
359
+ /**
360
+ * IDs of add-ons to delete.
361
+ * @minSize 1
362
+ * @maxSize 100
363
+ * @format GUID
364
+ */
365
+ addOnIds: string[];
366
+ }
367
+ interface BulkDeleteAddOnsResponse {
368
+ /**
369
+ * Results of the bulk delete operation.
370
+ * @minSize 1
371
+ * @maxSize 100
372
+ */
373
+ results?: BulkDeleteAddOnsResponseBulkAddOnResult[];
374
+ /** Metadata for the bulk delete operation. */
375
+ bulkActionMetadata?: BulkActionMetadata;
376
+ }
377
+ interface BulkDeleteAddOnsResponseBulkAddOnResult {
378
+ /** Metadata for the individual delete operation. */
379
+ itemMetadata?: ItemMetadata;
380
+ }
381
+ interface BulkUpdateAddOnTagsRequest {
382
+ /**
383
+ * IDs of add-ons to update tags for.
384
+ * @minSize 1
385
+ * @maxSize 100
386
+ * @format GUID
387
+ */
388
+ addOnIds?: string[];
389
+ /** Tags to assign to the add-ons. */
390
+ assignTags?: Tags;
391
+ /** Tags to remove from the add-ons. */
392
+ unassignTags?: Tags;
393
+ }
394
+ interface BulkUpdateAddOnTagsResponse {
395
+ /**
396
+ * Results of the bulk tag update operation.
397
+ * @minSize 1
398
+ * @maxSize 100
399
+ */
400
+ results?: BulkUpdateAddOnTagsResult[];
401
+ /** Metadata for the bulk tag update operation. */
402
+ bulkActionMetadata?: BulkActionMetadata;
403
+ }
404
+ interface BulkUpdateAddOnTagsResult {
405
+ /** Metadata for the individual tag update operation. */
406
+ itemMetadata?: ItemMetadata;
407
+ }
408
+ interface BulkUpdateAddOnTagsByFilterRequest {
409
+ /** Filter to select add-ons for tag updates. */
410
+ filter?: Record<string, any> | null;
411
+ /** Tags to assign to the filtered add-ons. */
412
+ assignTags?: Tags;
413
+ /** Tags to remove from the filtered add-ons. */
414
+ unassignTags?: Tags;
415
+ }
416
+ interface BulkUpdateAddOnTagsByFilterResponse {
417
+ /**
418
+ * Job ID for tracking the asynchronous operation.
419
+ * @format GUID
420
+ */
421
+ jobId?: string;
422
+ }
423
+ /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */
424
+ interface SitePropertiesNotification {
425
+ /** The site ID for which this update notification applies. */
426
+ metasiteId?: string;
427
+ /** The actual update event. */
428
+ event?: SitePropertiesEvent;
429
+ /**
430
+ * A convenience set of mappings from the MetaSite ID to its constituent services.
431
+ * @maxSize 500
432
+ */
433
+ translations?: Translation[];
434
+ /** Context of the notification */
435
+ changeContext?: ChangeContext;
436
+ }
437
+ /** The actual update event for a particular notification. */
438
+ interface SitePropertiesEvent {
439
+ /** Version of the site's properties represented by this update. */
440
+ version?: number;
441
+ /** Set of properties that were updated - corresponds to the fields in "properties". */
442
+ fields?: string[];
443
+ /** Updated properties. */
444
+ properties?: Properties;
445
+ }
446
+ interface Properties {
447
+ /** Site categories. */
448
+ categories?: Categories;
449
+ /** Site locale. */
450
+ locale?: Locale;
451
+ /**
452
+ * Site language.
453
+ *
454
+ * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
455
+ */
456
+ language?: string | null;
457
+ /**
458
+ * Site currency format used to bill customers.
459
+ *
460
+ * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.
461
+ */
462
+ paymentCurrency?: string | null;
463
+ /** Timezone in `America/New_York` format. */
464
+ timeZone?: string | null;
465
+ /** Email address. */
466
+ email?: string | null;
467
+ /** Phone number. */
468
+ phone?: string | null;
469
+ /** Fax number. */
470
+ fax?: string | null;
471
+ /** Address. */
472
+ address?: Address;
473
+ /** Site display name. */
474
+ siteDisplayName?: string | null;
475
+ /** Business name. */
476
+ businessName?: string | null;
477
+ /** Path to the site's logo in Wix Media (without Wix Media base URL). */
478
+ logo?: string | null;
479
+ /** Site description. */
480
+ description?: string | null;
481
+ /**
482
+ * Business schedule. Regular and exceptional time periods when the business is open or the service is available.
483
+ *
484
+ * __Note:__ Not supported by Wix Bookings.
485
+ */
486
+ businessSchedule?: BusinessSchedule;
487
+ /** Supported languages of a site and the primary language. */
488
+ multilingual?: Multilingual;
489
+ /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */
490
+ consentPolicy?: ConsentPolicy;
491
+ /**
492
+ * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.
493
+ *
494
+ * Site business type.
495
+ */
496
+ businessConfig?: string | null;
497
+ /** External site URL that uses Wix as its headless business solution. */
498
+ externalSiteUrl?: string | null;
499
+ /** Track clicks analytics. */
500
+ trackClicksAnalytics?: boolean;
501
+ }
502
+ interface Categories {
503
+ /** Primary site category. */
504
+ primary?: string;
505
+ /**
506
+ * Secondary site category.
507
+ * @maxSize 50
508
+ */
509
+ secondary?: string[];
510
+ /** Business Term Id */
511
+ businessTermId?: string | null;
512
+ }
513
+ interface Locale {
514
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
515
+ languageCode?: string;
516
+ /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */
517
+ country?: string;
518
+ }
519
+ interface Address {
520
+ /** Street name. */
521
+ street?: string;
522
+ /** City name. */
523
+ city?: string;
524
+ /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
525
+ country?: string;
526
+ /** State. */
527
+ state?: string;
528
+ /**
529
+ * Zip or postal code.
530
+ * @maxLength 20
531
+ */
532
+ zip?: string;
533
+ /** Extra information to be displayed in the address. */
534
+ hint?: AddressHint;
535
+ /** Whether this address represents a physical location. */
536
+ isPhysical?: boolean;
537
+ /** Google-formatted version of this address. */
538
+ googleFormattedAddress?: string;
539
+ /** Street number. */
540
+ streetNumber?: string;
541
+ /** Apartment number. */
542
+ apartmentNumber?: string;
543
+ /** Geographic coordinates of location. */
544
+ coordinates?: GeoCoordinates;
545
+ }
546
+ /**
547
+ * Extra information on displayed addresses.
548
+ * This is used for display purposes. Used to add additional data about the address, such as "In the passage".
549
+ * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.
550
+ */
551
+ interface AddressHint {
552
+ /** Extra text displayed next to, or instead of, the actual address. */
553
+ text?: string;
554
+ /** Where the extra text should be displayed. */
555
+ placement?: PlacementTypeWithLiterals;
556
+ }
557
+ /** Where the extra text should be displayed: before, after or instead of the actual address. */
558
+ declare enum PlacementType {
559
+ BEFORE = "BEFORE",
560
+ AFTER = "AFTER",
561
+ REPLACE = "REPLACE"
562
+ }
563
+ /** @enumType */
564
+ type PlacementTypeWithLiterals = PlacementType | 'BEFORE' | 'AFTER' | 'REPLACE';
565
+ /** Geocoordinates for a particular address. */
566
+ interface GeoCoordinates {
567
+ /** Latitude of the location. Must be between -90 and 90. */
568
+ latitude?: number;
569
+ /** Longitude of the location. Must be between -180 and 180. */
570
+ longitude?: number;
571
+ }
572
+ /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */
573
+ interface BusinessSchedule {
574
+ /**
575
+ * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods.
576
+ * @maxSize 100
577
+ */
578
+ periods?: TimePeriod[];
579
+ /**
580
+ * Exceptions to the business's regular hours. The business can be open or closed during the exception.
581
+ * @maxSize 100
582
+ */
583
+ specialHourPeriod?: SpecialHourPeriod[];
584
+ }
585
+ /** Weekly recurring time periods when the business is regularly open or the service is available. */
586
+ interface TimePeriod {
587
+ /** Day of the week the period starts on. */
588
+ openDay?: DayOfWeekWithLiterals;
589
+ /**
590
+ * 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
591
+ * midnight at the end of the specified day.
592
+ */
593
+ openTime?: string;
594
+ /** Day of the week the period ends on. */
595
+ closeDay?: DayOfWeekWithLiterals;
596
+ /**
597
+ * 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
598
+ * midnight at the end of the specified day.
599
+ *
600
+ * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.
601
+ */
602
+ closeTime?: string;
603
+ }
604
+ /** Enumerates the days of the week. */
605
+ declare enum DayOfWeek {
606
+ MONDAY = "MONDAY",
607
+ TUESDAY = "TUESDAY",
608
+ WEDNESDAY = "WEDNESDAY",
609
+ THURSDAY = "THURSDAY",
610
+ FRIDAY = "FRIDAY",
611
+ SATURDAY = "SATURDAY",
612
+ SUNDAY = "SUNDAY"
613
+ }
614
+ /** @enumType */
615
+ type DayOfWeekWithLiterals = DayOfWeek | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY';
616
+ /** Exception to the business's regular hours. The business can be open or closed during the exception. */
617
+ interface SpecialHourPeriod {
618
+ /** 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). */
619
+ startDate?: string;
620
+ /** 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). */
621
+ endDate?: string;
622
+ /**
623
+ * Whether the business is closed (or the service is not available) during the exception.
624
+ *
625
+ * Default: `true`.
626
+ */
627
+ isClosed?: boolean;
628
+ /** Additional info about the exception. For example, "We close earlier on New Year's Eve." */
629
+ comment?: string;
630
+ }
631
+ interface Multilingual {
632
+ /**
633
+ * Supported languages list.
634
+ * @maxSize 200
635
+ */
636
+ supportedLanguages?: SupportedLanguage[];
637
+ /** Whether to redirect to user language. */
638
+ autoRedirect?: boolean;
639
+ }
640
+ interface SupportedLanguage {
641
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
642
+ languageCode?: string;
643
+ /** Locale. */
644
+ locale?: Locale;
645
+ /** Whether the supported language is the primary language for the site. */
646
+ isPrimary?: boolean;
647
+ /** Language icon. */
648
+ countryCode?: string;
649
+ /** How the language will be resolved. For internal use. */
650
+ resolutionMethod?: ResolutionMethodWithLiterals;
651
+ /** Whether the supported language is the primary language for site visitors. */
652
+ isVisitorPrimary?: boolean | null;
653
+ }
654
+ declare enum ResolutionMethod {
655
+ QUERY_PARAM = "QUERY_PARAM",
656
+ SUBDOMAIN = "SUBDOMAIN",
657
+ SUBDIRECTORY = "SUBDIRECTORY"
658
+ }
659
+ /** @enumType */
660
+ type ResolutionMethodWithLiterals = ResolutionMethod | 'QUERY_PARAM' | 'SUBDOMAIN' | 'SUBDIRECTORY';
661
+ interface ConsentPolicy {
662
+ /** Whether the site uses cookies that are essential to site operation. Always `true`. */
663
+ essential?: boolean | null;
664
+ /** Whether the site uses cookies that affect site performance and other functional measurements. */
665
+ functional?: boolean | null;
666
+ /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */
667
+ analytics?: boolean | null;
668
+ /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */
669
+ advertising?: boolean | null;
670
+ /** CCPA compliance flag. */
671
+ dataToThirdParty?: boolean | null;
672
+ }
673
+ /** A single mapping from the MetaSite ID to a particular service. */
674
+ interface Translation {
675
+ /** The service type. */
676
+ serviceType?: string;
677
+ /** The application definition ID; this only applies to services of type ThirdPartyApps. */
678
+ appDefId?: string;
679
+ /** The instance ID of the service. */
680
+ instanceId?: string;
681
+ }
682
+ interface ChangeContext extends ChangeContextPayloadOneOf {
683
+ /** Properties were updated. */
684
+ propertiesChange?: PropertiesChange;
685
+ /** Default properties were created on site creation. */
686
+ siteCreated?: SiteCreated;
687
+ /** Properties were cloned on site cloning. */
688
+ siteCloned?: SiteCloned;
689
+ }
690
+ /** @oneof */
691
+ interface ChangeContextPayloadOneOf {
692
+ /** Properties were updated. */
693
+ propertiesChange?: PropertiesChange;
694
+ /** Default properties were created on site creation. */
695
+ siteCreated?: SiteCreated;
696
+ /** Properties were cloned on site cloning. */
697
+ siteCloned?: SiteCloned;
698
+ }
699
+ interface PropertiesChange {
700
+ }
701
+ interface SiteCreated {
702
+ /** Origin template site id. */
703
+ originTemplateId?: string | null;
704
+ }
705
+ interface SiteCloned {
706
+ /** Origin site id. */
707
+ originMetaSiteId?: string;
708
+ }
709
+ interface Empty {
710
+ }
711
+ interface DomainEvent extends DomainEventBodyOneOf {
712
+ createdEvent?: EntityCreatedEvent;
713
+ updatedEvent?: EntityUpdatedEvent;
714
+ deletedEvent?: EntityDeletedEvent;
715
+ actionEvent?: ActionEvent;
716
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
717
+ _id?: string;
718
+ /**
719
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
720
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
721
+ */
722
+ entityFqdn?: string;
723
+ /**
724
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
725
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
726
+ */
727
+ slug?: string;
728
+ /** ID of the entity associated with the event. */
729
+ entityId?: string;
730
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
731
+ eventTime?: Date | null;
732
+ /**
733
+ * Whether the event was triggered as a result of a privacy regulation application
734
+ * (for example, GDPR).
735
+ */
736
+ triggeredByAnonymizeRequest?: boolean | null;
737
+ /** If present, indicates the action that triggered the event. */
738
+ originatedFrom?: string | null;
739
+ /**
740
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.
741
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
742
+ */
743
+ entityEventSequence?: string | null;
744
+ }
745
+ /** @oneof */
746
+ interface DomainEventBodyOneOf {
747
+ createdEvent?: EntityCreatedEvent;
748
+ updatedEvent?: EntityUpdatedEvent;
749
+ deletedEvent?: EntityDeletedEvent;
750
+ actionEvent?: ActionEvent;
751
+ }
752
+ interface EntityCreatedEvent {
753
+ entity?: string;
754
+ }
755
+ interface RestoreInfo {
756
+ deletedDate?: Date | null;
757
+ }
758
+ interface EntityUpdatedEvent {
759
+ /**
760
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
761
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
762
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
763
+ */
764
+ currentEntity?: string;
765
+ }
766
+ interface EntityDeletedEvent {
767
+ /** Entity that was deleted. */
768
+ deletedEntity?: string | null;
769
+ }
770
+ interface ActionEvent {
771
+ body?: string;
772
+ }
773
+ interface MessageEnvelope {
774
+ /**
775
+ * App instance ID.
776
+ * @format GUID
777
+ */
778
+ instanceId?: string | null;
779
+ /**
780
+ * Event type.
781
+ * @maxLength 150
782
+ */
783
+ eventType?: string;
784
+ /** The identification type and identity data. */
785
+ identity?: IdentificationData;
786
+ /** Stringify payload. */
787
+ data?: string;
788
+ }
789
+ interface IdentificationData extends IdentificationDataIdOneOf {
790
+ /**
791
+ * ID of a site visitor that has not logged in to the site.
792
+ * @format GUID
793
+ */
794
+ anonymousVisitorId?: string;
795
+ /**
796
+ * ID of a site visitor that has logged in to the site.
797
+ * @format GUID
798
+ */
799
+ memberId?: string;
800
+ /**
801
+ * ID of a Wix user (site owner, contributor, etc.).
802
+ * @format GUID
803
+ */
804
+ wixUserId?: string;
805
+ /**
806
+ * ID of an app.
807
+ * @format GUID
808
+ */
809
+ appId?: string;
810
+ /** @readonly */
811
+ identityType?: WebhookIdentityTypeWithLiterals;
812
+ }
813
+ /** @oneof */
814
+ interface IdentificationDataIdOneOf {
815
+ /**
816
+ * ID of a site visitor that has not logged in to the site.
817
+ * @format GUID
818
+ */
819
+ anonymousVisitorId?: string;
820
+ /**
821
+ * ID of a site visitor that has logged in to the site.
822
+ * @format GUID
823
+ */
824
+ memberId?: string;
825
+ /**
826
+ * ID of a Wix user (site owner, contributor, etc.).
827
+ * @format GUID
828
+ */
829
+ wixUserId?: string;
830
+ /**
831
+ * ID of an app.
832
+ * @format GUID
833
+ */
834
+ appId?: string;
835
+ }
836
+ declare enum WebhookIdentityType {
837
+ UNKNOWN = "UNKNOWN",
838
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
839
+ MEMBER = "MEMBER",
840
+ WIX_USER = "WIX_USER",
841
+ APP = "APP"
842
+ }
843
+ /** @enumType */
844
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
845
+ interface BaseEventMetadata {
846
+ /**
847
+ * App instance ID.
848
+ * @format GUID
849
+ */
850
+ instanceId?: string | null;
851
+ /**
852
+ * Event type.
853
+ * @maxLength 150
854
+ */
855
+ eventType?: string;
856
+ /** The identification type and identity data. */
857
+ identity?: IdentificationData;
858
+ }
859
+ interface EventMetadata extends BaseEventMetadata {
860
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
861
+ _id?: string;
862
+ /**
863
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
864
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
865
+ */
866
+ entityFqdn?: string;
867
+ /**
868
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
869
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
870
+ */
871
+ slug?: string;
872
+ /** ID of the entity associated with the event. */
873
+ entityId?: string;
874
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
875
+ eventTime?: Date | null;
876
+ /**
877
+ * Whether the event was triggered as a result of a privacy regulation application
878
+ * (for example, GDPR).
879
+ */
880
+ triggeredByAnonymizeRequest?: boolean | null;
881
+ /** If present, indicates the action that triggered the event. */
882
+ originatedFrom?: string | null;
883
+ /**
884
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.
885
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
886
+ */
887
+ entityEventSequence?: string | null;
888
+ }
889
+ interface AddOnCreatedEnvelope {
890
+ entity: AddOn;
891
+ metadata: EventMetadata;
892
+ }
893
+ /**
894
+ * Triggered when an add-on is created.
895
+ * @permissionId ADD_ONS.ADD_ON_DOMAIN_EVENTS_READ
896
+ * @webhook
897
+ * @eventType wix.addons.v1.add_on_created
898
+ * @slug created
899
+ * @documentationMaturity preview
900
+ */
901
+ declare function onAddOnCreated(handler: (event: AddOnCreatedEnvelope) => void | Promise<void>): void;
902
+ interface AddOnDeletedEnvelope {
903
+ entity: AddOn;
904
+ metadata: EventMetadata;
905
+ }
906
+ /**
907
+ * Triggered when an add-on is deleted.
908
+ * @permissionId ADD_ONS.ADD_ON_DOMAIN_EVENTS_READ
909
+ * @webhook
910
+ * @eventType wix.addons.v1.add_on_deleted
911
+ * @slug deleted
912
+ * @documentationMaturity preview
913
+ */
914
+ declare function onAddOnDeleted(handler: (event: AddOnDeletedEnvelope) => void | Promise<void>): void;
915
+ interface AddOnUpdatedEnvelope {
916
+ entity: AddOn;
917
+ metadata: EventMetadata;
918
+ }
919
+ /**
920
+ * Triggered when an add-on is updated.
921
+ * @permissionId ADD_ONS.ADD_ON_DOMAIN_EVENTS_READ
922
+ * @webhook
923
+ * @eventType wix.addons.v1.add_on_updated
924
+ * @slug updated
925
+ * @documentationMaturity preview
926
+ */
927
+ declare function onAddOnUpdated(handler: (event: AddOnUpdatedEnvelope) => void | Promise<void>): void;
928
+ /**
929
+ * Creates an add-on.
930
+ * @param addOn - Add-on to create.
931
+ * @public
932
+ * @documentationMaturity preview
933
+ * @requiredField addOn
934
+ * @permissionId ADD_ONS.ADD_ON_CREATE
935
+ * @applicableIdentity APP
936
+ * @returns Created add-on.
937
+ * @fqn wix.addons.v1.AddOnsService.CreateAddOn
938
+ */
939
+ declare function createAddOn(addOn: AddOn): Promise<NonNullablePaths<AddOn, `durationInMinutes` | `maxQuantity` | `price.value` | `price.currency` | `tags.privateTags.tagIds`, 4>>;
940
+ /**
941
+ * Retrieves an add-on.
942
+ * @param addOnId - ID of the add-on to retrieve.
943
+ * @public
944
+ * @documentationMaturity preview
945
+ * @requiredField addOnId
946
+ * @permissionId ADD_ONS.ADD_ON_READ
947
+ * @applicableIdentity APP
948
+ * @returns Retrieved add-on.
949
+ * @fqn wix.addons.v1.AddOnsService.GetAddOn
950
+ */
951
+ declare function getAddOn(addOnId: string): Promise<NonNullablePaths<AddOn, `durationInMinutes` | `maxQuantity` | `price.value` | `price.currency` | `tags.privateTags.tagIds`, 4>>;
952
+ /**
953
+ * Updates an existing add-on.
954
+ *
955
+ * Each time an add-on is updated, its revision number increments by 1.
956
+ * The current revision must be passed when updating to ensure you're working with the latest version and prevent unintended overwrites.
957
+ * @param _id - Add-on ID.
958
+ * @public
959
+ * @documentationMaturity preview
960
+ * @requiredField _id
961
+ * @requiredField addOn
962
+ * @requiredField addOn.revision
963
+ * @permissionId ADD_ONS.ADD_ON_UPDATE
964
+ * @applicableIdentity APP
965
+ * @returns Updated add-on.
966
+ * @fqn wix.addons.v1.AddOnsService.UpdateAddOn
967
+ */
968
+ declare function updateAddOn(_id: string, addOn: NonNullablePaths<UpdateAddOn, `revision`, 2>): Promise<NonNullablePaths<AddOn, `durationInMinutes` | `maxQuantity` | `price.value` | `price.currency` | `tags.privateTags.tagIds`, 4>>;
969
+ interface UpdateAddOn {
970
+ /**
971
+ * Duration in minutes for duration-based add-ons that extend offering time.
972
+ * @min 1
973
+ * @max 1440
974
+ */
975
+ durationInMinutes?: number;
976
+ /**
977
+ * Maximum quantity customers can purchase for quantity-based add-ons.
978
+ * @min 1
979
+ * @max 9999
980
+ */
981
+ maxQuantity?: number;
982
+ /**
983
+ * Add-on ID.
984
+ * @format GUID
985
+ * @readonly
986
+ */
987
+ _id?: string | null;
988
+ /**
989
+ * Revision number, which increments by 1 each time the add-on is updated.
990
+ * To prevent conflicting changes, the current revision must be passed when updating the add-on.
991
+ *
992
+ * Ignored when creating an add-on.
993
+ * @readonly
994
+ */
995
+ revision?: string | null;
996
+ /**
997
+ * Date and time the add-on was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.
998
+ * @readonly
999
+ */
1000
+ _createdDate?: Date | null;
1001
+ /**
1002
+ * Date and time the add-on was last updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.
1003
+ * @readonly
1004
+ */
1005
+ _updatedDate?: Date | null;
1006
+ /**
1007
+ * Display name of the add-on shown to customers.
1008
+ * @minLength 1
1009
+ * @maxLength 100
1010
+ */
1011
+ name?: string | null;
1012
+ /** Pricing information for the add-on. */
1013
+ price?: Money;
1014
+ /**
1015
+ * ID of the [tax group](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/tax-groups/introduction) to categorize the add-on for tax calculation in [Wix eCommerce](https://dev.wix.com/docs/rest/business-solutions/e-commerce/introduction).
1016
+ * Learn more about [how Wix eCommerce implements tax calculation](https://dev.wix.com/docs/rest/business-solutions/e-commerce/extensions/tax/introduction).
1017
+ *
1018
+ * This field doesn't apply to custom checkout/billing implementations.
1019
+ * @format GUID
1020
+ */
1021
+ taxGroup?: string | null;
1022
+ /** Data extensions enabling users to save custom data related to the add-on. */
1023
+ extendedFields?: ExtendedFields;
1024
+ /** [Tags](https://dev.wix.com/docs/rest/business-management/tags/introduction) assigned to add-ons for categorization and filtering purposes. */
1025
+ tags?: Tags;
1026
+ }
1027
+ /**
1028
+ * Deletes an add-on and removes it from all add-on groups.
1029
+ * @param addOnId - ID of the add-on to delete.
1030
+ * @public
1031
+ * @documentationMaturity preview
1032
+ * @requiredField addOnId
1033
+ * @permissionId ADD_ONS.ADD_ON_DELETE
1034
+ * @applicableIdentity APP
1035
+ * @fqn wix.addons.v1.AddOnsService.DeleteAddOn
1036
+ */
1037
+ declare function deleteAddOn(addOnId: string): Promise<void>;
1038
+ /**
1039
+ * Retrieves up to 100 add-ons, given the specified filtering, sorting, and paging.
1040
+ *
1041
+ * By default, results are sorted by `id` in ascending order.
1042
+ *
1043
+ * For supported filtering options, see [Supported Filters](https://dev.wix.com/docs/rest/business-solutions/bookings/services/add-ons/supported-filters).
1044
+ * @public
1045
+ * @documentationMaturity preview
1046
+ * @permissionId ADD_ONS.ADD_ON_READ
1047
+ * @applicableIdentity APP
1048
+ * @fqn wix.addons.v1.AddOnsService.QueryAddOns
1049
+ */
1050
+ declare function queryAddOns(): AddOnsQueryBuilder;
1051
+ interface QueryCursorResult {
1052
+ cursors: Cursors;
1053
+ hasNext: () => boolean;
1054
+ hasPrev: () => boolean;
1055
+ length: number;
1056
+ pageSize: number;
1057
+ }
1058
+ interface AddOnsQueryResult extends QueryCursorResult {
1059
+ items: AddOn[];
1060
+ query: AddOnsQueryBuilder;
1061
+ next: () => Promise<AddOnsQueryResult>;
1062
+ prev: () => Promise<AddOnsQueryResult>;
1063
+ }
1064
+ interface AddOnsQueryBuilder {
1065
+ /** @param propertyName - Property whose value is compared with `value`.
1066
+ * @param value - Value to compare against.
1067
+ * @documentationMaturity preview
1068
+ */
1069
+ eq: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1070
+ /** @param propertyName - Property whose value is compared with `value`.
1071
+ * @param value - Value to compare against.
1072
+ * @documentationMaturity preview
1073
+ */
1074
+ ne: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1075
+ /** @param propertyName - Property whose value is compared with `value`.
1076
+ * @param value - Value to compare against.
1077
+ * @documentationMaturity preview
1078
+ */
1079
+ ge: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1080
+ /** @param propertyName - Property whose value is compared with `value`.
1081
+ * @param value - Value to compare against.
1082
+ * @documentationMaturity preview
1083
+ */
1084
+ gt: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1085
+ /** @param propertyName - Property whose value is compared with `value`.
1086
+ * @param value - Value to compare against.
1087
+ * @documentationMaturity preview
1088
+ */
1089
+ le: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1090
+ /** @param propertyName - Property whose value is compared with `value`.
1091
+ * @param value - Value to compare against.
1092
+ * @documentationMaturity preview
1093
+ */
1094
+ lt: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1095
+ /** @param propertyName - Property whose value is compared with `string`.
1096
+ * @param string - String to compare against. Case-insensitive.
1097
+ * @documentationMaturity preview
1098
+ */
1099
+ startsWith: (propertyName: '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: string) => AddOnsQueryBuilder;
1100
+ /** @param propertyName - Property whose value is compared with `values`.
1101
+ * @param values - List of values to compare against.
1102
+ * @documentationMaturity preview
1103
+ */
1104
+ hasSome: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any[]) => AddOnsQueryBuilder;
1105
+ /** @documentationMaturity preview */
1106
+ in: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: any) => AddOnsQueryBuilder;
1107
+ /** @documentationMaturity preview */
1108
+ exists: (propertyName: 'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup', value: boolean) => AddOnsQueryBuilder;
1109
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
1110
+ * @documentationMaturity preview
1111
+ */
1112
+ ascending: (...propertyNames: Array<'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup'>) => AddOnsQueryBuilder;
1113
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
1114
+ * @documentationMaturity preview
1115
+ */
1116
+ descending: (...propertyNames: Array<'durationInMinutes' | 'maxQuantity' | '_id' | 'name' | 'price.value' | 'price.currency' | 'price.formattedValue' | 'taxGroup'>) => AddOnsQueryBuilder;
1117
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
1118
+ * @documentationMaturity preview
1119
+ */
1120
+ limit: (limit: number) => AddOnsQueryBuilder;
1121
+ /** @param cursor - A pointer to specific record
1122
+ * @documentationMaturity preview
1123
+ */
1124
+ skipTo: (cursor: string) => AddOnsQueryBuilder;
1125
+ /** @documentationMaturity preview */
1126
+ find: () => Promise<AddOnsQueryResult>;
1127
+ }
1128
+ /**
1129
+ * Creates multiple add-ons in a single synchronous request.
1130
+ * @param addOns - List of add-ons to create.
1131
+ * @public
1132
+ * @documentationMaturity preview
1133
+ * @requiredField addOns
1134
+ * @permissionId ADD_ONS.ADD_ON_CREATE
1135
+ * @applicableIdentity APP
1136
+ * @fqn wix.addons.v1.AddOnsService.BulkCreateAddOns
1137
+ */
1138
+ declare function bulkCreateAddOns(addOns: AddOn[], options?: BulkCreateAddOnsOptions): Promise<NonNullablePaths<BulkCreateAddOnsResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `results.${number}.item.durationInMinutes` | `results.${number}.item.maxQuantity` | `results.${number}.item.price.value` | `results.${number}.item.price.currency` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
1139
+ interface BulkCreateAddOnsOptions {
1140
+ /** Whether to return the created add-ons in the response. */
1141
+ returnEntity?: boolean;
1142
+ }
1143
+ /**
1144
+ * Updates multiple add-ons in a single synchronous request.
1145
+ * @param addOns - List of add-ons to update.
1146
+ * @public
1147
+ * @documentationMaturity preview
1148
+ * @requiredField addOns
1149
+ * @requiredField addOns.addOn._id
1150
+ * @requiredField addOns.addOn.revision
1151
+ * @permissionId ADD_ONS.ADD_ON_UPDATE
1152
+ * @applicableIdentity APP
1153
+ * @fqn wix.addons.v1.AddOnsService.BulkUpdateAddOns
1154
+ */
1155
+ declare function bulkUpdateAddOns(addOns: NonNullablePaths<MaskedAddOn, `addOn._id` | `addOn.revision`, 3>[], options?: BulkUpdateAddOnsOptions): Promise<NonNullablePaths<BulkUpdateAddOnsResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `results.${number}.item.durationInMinutes` | `results.${number}.item.maxQuantity` | `results.${number}.item.price.value` | `results.${number}.item.price.currency` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
1156
+ interface BulkUpdateAddOnsOptions {
1157
+ /** Whether to return the updated add-ons in the response. */
1158
+ returnEntity?: boolean;
1159
+ }
1160
+ /**
1161
+ * Deletes multiple add-ons in a single synchronous request.
1162
+ * @param addOnIds - IDs of add-ons to delete.
1163
+ * @public
1164
+ * @documentationMaturity preview
1165
+ * @requiredField addOnIds
1166
+ * @permissionId ADD_ONS.ADD_ON_DELETE
1167
+ * @applicableIdentity APP
1168
+ * @fqn wix.addons.v1.AddOnsService.BulkDeleteAddOns
1169
+ */
1170
+ declare function bulkDeleteAddOns(addOnIds: string[]): Promise<NonNullablePaths<BulkDeleteAddOnsResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
1171
+
1172
+ export { type ActionEvent, type AddOn, type AddOnAddOnInfoOneOf, type AddOnCreatedEnvelope, type AddOnDeletedEnvelope, type AddOnUpdatedEnvelope, type AddOnsQueryBuilder, type AddOnsQueryResult, type Address, type AddressHint, type ApplicationError, type BaseEventMetadata, type BulkActionMetadata, type BulkAddOnResult, type BulkCreateAddOnsOptions, type BulkCreateAddOnsRequest, type BulkCreateAddOnsResponse, type BulkDeleteAddOnsRequest, type BulkDeleteAddOnsResponse, type BulkDeleteAddOnsResponseBulkAddOnResult, type BulkUpdateAddOnTagsByFilterRequest, type BulkUpdateAddOnTagsByFilterResponse, type BulkUpdateAddOnTagsRequest, type BulkUpdateAddOnTagsResponse, type BulkUpdateAddOnTagsResult, type BulkUpdateAddOnsOptions, type BulkUpdateAddOnsRequest, type BulkUpdateAddOnsResponse, type BulkUpdateAddOnsResponseBulkAddOnResult, type BusinessSchedule, type Categories, type ChangeContext, type ChangeContextPayloadOneOf, type ConsentPolicy, type CreateAddOnRequest, type CreateAddOnResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, DayOfWeek, type DayOfWeekWithLiterals, type DeleteAddOnRequest, type DeleteAddOnResponse, type DomainEvent, type DomainEventBodyOneOf, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type GeoCoordinates, type GetAddOnRequest, type GetAddOnResponse, type IdentificationData, type IdentificationDataIdOneOf, type ItemMetadata, type Locale, type MaskedAddOn, type MessageEnvelope, type Money, type Multilingual, PlacementType, type PlacementTypeWithLiterals, type Properties, type PropertiesChange, type QueryAddOnsRequest, type QueryAddOnsResponse, ResolutionMethod, type ResolutionMethodWithLiterals, type RestoreInfo, type SiteCloned, type SiteCreated, type SitePropertiesEvent, type SitePropertiesNotification, SortOrder, type SortOrderWithLiterals, type Sorting, type SpecialHourPeriod, type SupportedLanguage, type TagList, type Tags, type TimePeriod, type Translation, type UpdateAddOn, type UpdateAddOnRequest, type UpdateAddOnResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateAddOns, bulkDeleteAddOns, bulkUpdateAddOns, createAddOn, deleteAddOn, getAddOn, onAddOnCreated, onAddOnDeleted, onAddOnUpdated, queryAddOns, updateAddOn };