@wix/auto_sdk_restaurants_items 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 (111) hide show
  1. package/build/cjs/index.d.ts +1 -0
  2. package/build/cjs/index.js +18 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1 -0
  5. package/build/cjs/index.typings.js +18 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +1 -0
  8. package/build/cjs/meta.js +18 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/restaurants-menus-v1-item-items.context.d.ts +26 -0
  11. package/build/cjs/src/restaurants-menus-v1-item-items.context.js +36 -0
  12. package/build/cjs/src/restaurants-menus-v1-item-items.context.js.map +1 -0
  13. package/build/cjs/src/restaurants-menus-v1-item-items.http.d.ts +82 -0
  14. package/build/cjs/src/restaurants-menus-v1-item-items.http.js +466 -0
  15. package/build/cjs/src/restaurants-menus-v1-item-items.http.js.map +1 -0
  16. package/build/cjs/src/restaurants-menus-v1-item-items.meta.d.ts +28 -0
  17. package/build/cjs/src/restaurants-menus-v1-item-items.meta.js +218 -0
  18. package/build/cjs/src/restaurants-menus-v1-item-items.meta.js.map +1 -0
  19. package/build/cjs/src/restaurants-menus-v1-item-items.public.d.ts +130 -0
  20. package/build/cjs/src/restaurants-menus-v1-item-items.public.js +130 -0
  21. package/build/cjs/src/restaurants-menus-v1-item-items.public.js.map +1 -0
  22. package/build/cjs/src/restaurants-menus-v1-item-items.types.d.ts +960 -0
  23. package/build/cjs/src/restaurants-menus-v1-item-items.types.js +65 -0
  24. package/build/cjs/src/restaurants-menus-v1-item-items.types.js.map +1 -0
  25. package/build/cjs/src/restaurants-menus-v1-item-items.universal.d.ts +1376 -0
  26. package/build/cjs/src/restaurants-menus-v1-item-items.universal.js +657 -0
  27. package/build/cjs/src/restaurants-menus-v1-item-items.universal.js.map +1 -0
  28. package/build/es/index.d.ts +1 -0
  29. package/build/es/index.js +2 -0
  30. package/build/es/index.js.map +1 -0
  31. package/build/es/index.typings.d.ts +1 -0
  32. package/build/es/index.typings.js +2 -0
  33. package/build/es/index.typings.js.map +1 -0
  34. package/build/es/meta.d.ts +1 -0
  35. package/build/es/meta.js +2 -0
  36. package/build/es/meta.js.map +1 -0
  37. package/build/es/package.json +3 -0
  38. package/build/es/src/restaurants-menus-v1-item-items.context.d.ts +26 -0
  39. package/build/es/src/restaurants-menus-v1-item-items.context.js +26 -0
  40. package/build/es/src/restaurants-menus-v1-item-items.context.js.map +1 -0
  41. package/build/es/src/restaurants-menus-v1-item-items.http.d.ts +82 -0
  42. package/build/es/src/restaurants-menus-v1-item-items.http.js +453 -0
  43. package/build/es/src/restaurants-menus-v1-item-items.http.js.map +1 -0
  44. package/build/es/src/restaurants-menus-v1-item-items.meta.d.ts +28 -0
  45. package/build/es/src/restaurants-menus-v1-item-items.meta.js +182 -0
  46. package/build/es/src/restaurants-menus-v1-item-items.meta.js.map +1 -0
  47. package/build/es/src/restaurants-menus-v1-item-items.public.d.ts +130 -0
  48. package/build/es/src/restaurants-menus-v1-item-items.public.js +110 -0
  49. package/build/es/src/restaurants-menus-v1-item-items.public.js.map +1 -0
  50. package/build/es/src/restaurants-menus-v1-item-items.types.d.ts +960 -0
  51. package/build/es/src/restaurants-menus-v1-item-items.types.js +62 -0
  52. package/build/es/src/restaurants-menus-v1-item-items.types.js.map +1 -0
  53. package/build/es/src/restaurants-menus-v1-item-items.universal.d.ts +1376 -0
  54. package/build/es/src/restaurants-menus-v1-item-items.universal.js +621 -0
  55. package/build/es/src/restaurants-menus-v1-item-items.universal.js.map +1 -0
  56. package/build/internal/cjs/index.d.ts +1 -0
  57. package/build/internal/cjs/index.js +18 -0
  58. package/build/internal/cjs/index.js.map +1 -0
  59. package/build/internal/cjs/index.typings.d.ts +1 -0
  60. package/build/internal/cjs/index.typings.js +18 -0
  61. package/build/internal/cjs/index.typings.js.map +1 -0
  62. package/build/internal/cjs/meta.d.ts +1 -0
  63. package/build/internal/cjs/meta.js +18 -0
  64. package/build/internal/cjs/meta.js.map +1 -0
  65. package/build/internal/cjs/src/restaurants-menus-v1-item-items.context.d.ts +26 -0
  66. package/build/internal/cjs/src/restaurants-menus-v1-item-items.context.js +36 -0
  67. package/build/internal/cjs/src/restaurants-menus-v1-item-items.context.js.map +1 -0
  68. package/build/internal/cjs/src/restaurants-menus-v1-item-items.http.d.ts +82 -0
  69. package/build/internal/cjs/src/restaurants-menus-v1-item-items.http.js +466 -0
  70. package/build/internal/cjs/src/restaurants-menus-v1-item-items.http.js.map +1 -0
  71. package/build/internal/cjs/src/restaurants-menus-v1-item-items.meta.d.ts +28 -0
  72. package/build/internal/cjs/src/restaurants-menus-v1-item-items.meta.js +218 -0
  73. package/build/internal/cjs/src/restaurants-menus-v1-item-items.meta.js.map +1 -0
  74. package/build/internal/cjs/src/restaurants-menus-v1-item-items.public.d.ts +130 -0
  75. package/build/internal/cjs/src/restaurants-menus-v1-item-items.public.js +130 -0
  76. package/build/internal/cjs/src/restaurants-menus-v1-item-items.public.js.map +1 -0
  77. package/build/internal/cjs/src/restaurants-menus-v1-item-items.types.d.ts +960 -0
  78. package/build/internal/cjs/src/restaurants-menus-v1-item-items.types.js +65 -0
  79. package/build/internal/cjs/src/restaurants-menus-v1-item-items.types.js.map +1 -0
  80. package/build/internal/cjs/src/restaurants-menus-v1-item-items.universal.d.ts +1376 -0
  81. package/build/internal/cjs/src/restaurants-menus-v1-item-items.universal.js +657 -0
  82. package/build/internal/cjs/src/restaurants-menus-v1-item-items.universal.js.map +1 -0
  83. package/build/internal/es/index.d.ts +1 -0
  84. package/build/internal/es/index.js +2 -0
  85. package/build/internal/es/index.js.map +1 -0
  86. package/build/internal/es/index.typings.d.ts +1 -0
  87. package/build/internal/es/index.typings.js +2 -0
  88. package/build/internal/es/index.typings.js.map +1 -0
  89. package/build/internal/es/meta.d.ts +1 -0
  90. package/build/internal/es/meta.js +2 -0
  91. package/build/internal/es/meta.js.map +1 -0
  92. package/build/internal/es/src/restaurants-menus-v1-item-items.context.d.ts +26 -0
  93. package/build/internal/es/src/restaurants-menus-v1-item-items.context.js +26 -0
  94. package/build/internal/es/src/restaurants-menus-v1-item-items.context.js.map +1 -0
  95. package/build/internal/es/src/restaurants-menus-v1-item-items.http.d.ts +82 -0
  96. package/build/internal/es/src/restaurants-menus-v1-item-items.http.js +453 -0
  97. package/build/internal/es/src/restaurants-menus-v1-item-items.http.js.map +1 -0
  98. package/build/internal/es/src/restaurants-menus-v1-item-items.meta.d.ts +28 -0
  99. package/build/internal/es/src/restaurants-menus-v1-item-items.meta.js +182 -0
  100. package/build/internal/es/src/restaurants-menus-v1-item-items.meta.js.map +1 -0
  101. package/build/internal/es/src/restaurants-menus-v1-item-items.public.d.ts +130 -0
  102. package/build/internal/es/src/restaurants-menus-v1-item-items.public.js +110 -0
  103. package/build/internal/es/src/restaurants-menus-v1-item-items.public.js.map +1 -0
  104. package/build/internal/es/src/restaurants-menus-v1-item-items.types.d.ts +960 -0
  105. package/build/internal/es/src/restaurants-menus-v1-item-items.types.js +62 -0
  106. package/build/internal/es/src/restaurants-menus-v1-item-items.types.js.map +1 -0
  107. package/build/internal/es/src/restaurants-menus-v1-item-items.universal.d.ts +1376 -0
  108. package/build/internal/es/src/restaurants-menus-v1-item-items.universal.js +621 -0
  109. package/build/internal/es/src/restaurants-menus-v1-item-items.universal.js.map +1 -0
  110. package/meta/package.json +3 -0
  111. package/package.json +52 -0
@@ -0,0 +1,1376 @@
1
+ export interface Item extends ItemPricingOneOf {
2
+ /** Item price variants. */
3
+ priceVariants?: PriceVariants;
4
+ /** Item price info. */
5
+ priceInfo?: PriceInfo;
6
+ /**
7
+ * Item ID.
8
+ * @readonly
9
+ */
10
+ _id?: string | null;
11
+ /**
12
+ * Revision number, which increments by 1 each time the item is updated. To prevent conflicting changes, the current revision must be passed when updating the item. Ignored when creating a item.
13
+ * @readonly
14
+ */
15
+ revision?: string | null;
16
+ /**
17
+ * Date and time the item was created.
18
+ * @readonly
19
+ */
20
+ _createdDate?: Date | null;
21
+ /**
22
+ * Date and time the item was updated.
23
+ * @readonly
24
+ */
25
+ _updatedDate?: Date | null;
26
+ /** Item name. */
27
+ name?: string;
28
+ /** Item description. */
29
+ description?: string | null;
30
+ /** Main item image. */
31
+ image?: string;
32
+ /** Additional item images. */
33
+ additionalImages?: string[];
34
+ /** Item labels. */
35
+ labels?: Label[];
36
+ /** Whether the item is visible in the menu for site visitors. */
37
+ visible?: boolean | null;
38
+ /** Online order settings. */
39
+ orderSettings?: OrderSettings;
40
+ /** Item modifier groups. */
41
+ modifierGroups?: ModifierGroup[];
42
+ /** Extended fields. */
43
+ extendedFields?: ExtendedFields;
44
+ }
45
+ /** @oneof */
46
+ export interface ItemPricingOneOf {
47
+ /** Item price variants. */
48
+ priceVariants?: PriceVariants;
49
+ /** Item price info. */
50
+ priceInfo?: PriceInfo;
51
+ }
52
+ export interface PriceVariants {
53
+ /** List of price variants. */
54
+ variants?: PriceVariant[];
55
+ }
56
+ export interface PriceVariant {
57
+ /** Price variant ID. */
58
+ variantId?: string | null;
59
+ /**
60
+ * Price of a variant.
61
+ * @deprecated Price of a variant.
62
+ * @replacedBy pricing.price_variants.variants.price_info
63
+ * @targetRemovalDate 2024-08-01
64
+ */
65
+ price?: string | null;
66
+ /** Price info of a variant. */
67
+ priceInfo?: PriceInfo;
68
+ }
69
+ export interface PriceInfo {
70
+ /** Price. */
71
+ price?: string;
72
+ }
73
+ export interface Label {
74
+ /** Item label ID. */
75
+ _id?: string;
76
+ }
77
+ export interface OrderSettings {
78
+ /**
79
+ * Whether the item is in stock.
80
+ * Default: `true`.
81
+ */
82
+ inStock?: boolean | null;
83
+ /**
84
+ * Whether a customer can add a special request when ordering this item.
85
+ * Default: `true`.
86
+ */
87
+ acceptSpecialRequests?: boolean | null;
88
+ }
89
+ export interface ModifierGroup {
90
+ /** Modifier group ID. */
91
+ _id?: string | null;
92
+ }
93
+ export interface ExtendedFields {
94
+ /**
95
+ * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
96
+ * The value of each key is structured according to the schema defined when the extended fields were configured.
97
+ *
98
+ * You can only access fields for which you have the appropriate permissions.
99
+ *
100
+ * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
101
+ */
102
+ namespaces?: Record<string, Record<string, any>>;
103
+ }
104
+ export interface UpdateDocumentsEvent extends UpdateDocumentsEventOperationOneOf {
105
+ /** insert/update documents */
106
+ update?: DocumentUpdateOperation;
107
+ /** delete by document ids */
108
+ deleteByIds?: DeleteByIdsOperation;
109
+ /** delete documents matching filter */
110
+ deleteByFilter?: DeleteByFilterOperation;
111
+ /** update documents matching filter */
112
+ updateByFilter?: UpdateByFilterOperation;
113
+ /** update only existing documents */
114
+ updateExisting?: UpdateExistingOperation;
115
+ /** application which owns documents */
116
+ appDefId?: string | null;
117
+ /** type of the documents */
118
+ documentType?: string | null;
119
+ /** language of the documents */
120
+ language?: string | null;
121
+ /** site documents belong to */
122
+ msId?: string | null;
123
+ }
124
+ /** @oneof */
125
+ export interface UpdateDocumentsEventOperationOneOf {
126
+ /** insert/update documents */
127
+ update?: DocumentUpdateOperation;
128
+ /** delete by document ids */
129
+ deleteByIds?: DeleteByIdsOperation;
130
+ /** delete documents matching filter */
131
+ deleteByFilter?: DeleteByFilterOperation;
132
+ /** update documents matching filter */
133
+ updateByFilter?: UpdateByFilterOperation;
134
+ /** update only existing documents */
135
+ updateExisting?: UpdateExistingOperation;
136
+ }
137
+ export interface DocumentUpdateOperation {
138
+ /** documents to index or update */
139
+ documents?: IndexDocument[];
140
+ }
141
+ export interface IndexDocument {
142
+ /** data bag with non-searchable fields (url, image) */
143
+ payload?: DocumentPayload;
144
+ /** what type of users should documents be visible to */
145
+ exposure?: Enum;
146
+ /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */
147
+ document?: Record<string, any> | null;
148
+ /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */
149
+ permittedMemberGroups?: string[];
150
+ /** if true SEO is disabled for this document */
151
+ seoHidden?: boolean | null;
152
+ /** if true the page is a lightbox popup */
153
+ isPopup?: boolean | null;
154
+ }
155
+ export interface DocumentPayload {
156
+ /** url of the page representing the document */
157
+ url?: string | null;
158
+ /** image which represents the document */
159
+ documentImage?: DocumentImage;
160
+ }
161
+ export interface DocumentImage {
162
+ /** the name of the image */
163
+ name?: string;
164
+ /** the width of the image */
165
+ width?: number;
166
+ /** the height of the image */
167
+ height?: number;
168
+ }
169
+ export declare enum Enum {
170
+ /** Default value. Means that permission not set */
171
+ UNKNOWN = "UNKNOWN",
172
+ /** Protected exposure. Exposed to members and owners */
173
+ PROTECTED = "PROTECTED",
174
+ /** Private exposure. Exposed to owners */
175
+ PRIVATE = "PRIVATE",
176
+ /** Public exposure. Visible to everyone */
177
+ PUBLIC = "PUBLIC",
178
+ /** Used for partial updates, to state that exposure is not changing */
179
+ UNCHANGED = "UNCHANGED",
180
+ /** Protected to members of permitted groups and owners */
181
+ GROUP_PROTECTED = "GROUP_PROTECTED"
182
+ }
183
+ export interface DeleteByIdsOperation {
184
+ /** ids of the documents to delete */
185
+ documentIds?: string[];
186
+ }
187
+ export interface DeleteByFilterOperation {
188
+ /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */
189
+ filter?: Record<string, any> | null;
190
+ }
191
+ export interface UpdateByFilterOperation {
192
+ /** documents matching this filter will be updated */
193
+ filter?: Record<string, any> | null;
194
+ /** partial document to apply */
195
+ document?: IndexDocument;
196
+ }
197
+ export interface UpdateExistingOperation {
198
+ /** documents to update */
199
+ documents?: IndexDocument[];
200
+ }
201
+ export interface DomainEvent extends DomainEventBodyOneOf {
202
+ createdEvent?: EntityCreatedEvent;
203
+ updatedEvent?: EntityUpdatedEvent;
204
+ deletedEvent?: EntityDeletedEvent;
205
+ actionEvent?: ActionEvent;
206
+ /**
207
+ * Unique event ID.
208
+ * Allows clients to ignore duplicate webhooks.
209
+ */
210
+ _id?: string;
211
+ /**
212
+ * Assumes actions are also always typed to an entity_type
213
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
214
+ */
215
+ entityFqdn?: string;
216
+ /**
217
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
218
+ * This is although the created/updated/deleted notion is duplication of the oneof types
219
+ * Example: created/updated/deleted/started/completed/email_opened
220
+ */
221
+ slug?: string;
222
+ /** ID of the entity associated with the event. */
223
+ entityId?: string;
224
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
225
+ eventTime?: Date | null;
226
+ /**
227
+ * Whether the event was triggered as a result of a privacy regulation application
228
+ * (for example, GDPR).
229
+ */
230
+ triggeredByAnonymizeRequest?: boolean | null;
231
+ /** If present, indicates the action that triggered the event. */
232
+ originatedFrom?: string | null;
233
+ /**
234
+ * A sequence number defining the order of updates to the underlying entity.
235
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
236
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
237
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
238
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
239
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
240
+ */
241
+ entityEventSequence?: string | null;
242
+ }
243
+ /** @oneof */
244
+ export interface DomainEventBodyOneOf {
245
+ createdEvent?: EntityCreatedEvent;
246
+ updatedEvent?: EntityUpdatedEvent;
247
+ deletedEvent?: EntityDeletedEvent;
248
+ actionEvent?: ActionEvent;
249
+ }
250
+ export interface EntityCreatedEvent {
251
+ entity?: string;
252
+ }
253
+ export interface RestoreInfo {
254
+ deletedDate?: Date | null;
255
+ }
256
+ export interface EntityUpdatedEvent {
257
+ /**
258
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
259
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
260
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
261
+ */
262
+ currentEntity?: string;
263
+ }
264
+ export interface EntityDeletedEvent {
265
+ /** Entity that was deleted */
266
+ deletedEntity?: string | null;
267
+ }
268
+ export interface ActionEvent {
269
+ body?: string;
270
+ }
271
+ export interface Empty {
272
+ }
273
+ export interface SearchIndexingNotification {
274
+ /** new state of indexing for the site specified in ms_id */
275
+ indexState?: State;
276
+ /** type of the document the notification is targeted for. Applies to all types if not provided */
277
+ documentType?: string | null;
278
+ /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */
279
+ language?: string | null;
280
+ /** site for which notification is targeted */
281
+ msId?: string | null;
282
+ }
283
+ export declare enum State {
284
+ /** default state */
285
+ Unknown = "Unknown",
286
+ /** metasite does not require site search indexing */
287
+ Off = "Off",
288
+ /** metasite requires site search indexing */
289
+ On = "On"
290
+ }
291
+ /** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */
292
+ export interface SitePropertiesNotification {
293
+ /** The site ID for which this update notification applies. */
294
+ metasiteId?: string;
295
+ /** The actual update event. */
296
+ event?: SitePropertiesEvent;
297
+ /** A convenience set of mappings from the MetaSite ID to its constituent services. */
298
+ translations?: Translation[];
299
+ /** Context of the notification */
300
+ changeContext?: ChangeContext;
301
+ }
302
+ /** The actual update event for a particular notification. */
303
+ export interface SitePropertiesEvent {
304
+ /** Version of the site's properties represented by this update. */
305
+ version?: number;
306
+ /** Set of properties that were updated - corresponds to the fields in "properties". */
307
+ fields?: string[];
308
+ /** Updated properties. */
309
+ properties?: Properties;
310
+ }
311
+ export interface Properties {
312
+ /** Site categories. */
313
+ categories?: Categories;
314
+ /** Site locale. */
315
+ locale?: Locale;
316
+ /**
317
+ * Site language.
318
+ *
319
+ * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
320
+ */
321
+ language?: string | null;
322
+ /**
323
+ * Site currency format used to bill customers.
324
+ *
325
+ * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.
326
+ */
327
+ paymentCurrency?: string | null;
328
+ /** Timezone in `America/New_York` format. */
329
+ timeZone?: string | null;
330
+ /** Email address. */
331
+ email?: string | null;
332
+ /** Phone number. */
333
+ phone?: string | null;
334
+ /** Fax number. */
335
+ fax?: string | null;
336
+ /** Address. */
337
+ address?: Address;
338
+ /** Site display name. */
339
+ siteDisplayName?: string | null;
340
+ /** Business name. */
341
+ businessName?: string | null;
342
+ /** Path to the site's logo in Wix Media (without Wix Media base URL). */
343
+ logo?: string | null;
344
+ /** Site description. */
345
+ description?: string | null;
346
+ /**
347
+ * Business schedule. Regular and exceptional time periods when the business is open or the service is available.
348
+ *
349
+ * __Note:__ Not supported by Wix Bookings.
350
+ */
351
+ businessSchedule?: BusinessSchedule;
352
+ /** Supported languages of a site and the primary language. */
353
+ multilingual?: Multilingual;
354
+ /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */
355
+ consentPolicy?: ConsentPolicy;
356
+ /**
357
+ * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.
358
+ *
359
+ * Site business type.
360
+ */
361
+ businessConfig?: string | null;
362
+ /** External site URL that uses Wix as its headless business solution. */
363
+ externalSiteUrl?: string | null;
364
+ /** Track clicks analytics. */
365
+ trackClicksAnalytics?: boolean;
366
+ }
367
+ export interface Categories {
368
+ /** Primary site category. */
369
+ primary?: string;
370
+ /** Secondary site category. */
371
+ secondary?: string[];
372
+ /** Business Term Id */
373
+ businessTermId?: string | null;
374
+ }
375
+ export interface Locale {
376
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
377
+ languageCode?: string;
378
+ /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */
379
+ country?: string;
380
+ }
381
+ export interface Address {
382
+ /** Street name. */
383
+ street?: string;
384
+ /** City name. */
385
+ city?: string;
386
+ /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */
387
+ country?: string;
388
+ /** State. */
389
+ state?: string;
390
+ /** Zip or postal code. */
391
+ zip?: string;
392
+ /** Extra information to be displayed in the address. */
393
+ hint?: AddressHint;
394
+ /** Whether this address represents a physical location. */
395
+ isPhysical?: boolean;
396
+ /** Google-formatted version of this address. */
397
+ googleFormattedAddress?: string;
398
+ /** Street number. */
399
+ streetNumber?: string;
400
+ /** Apartment number. */
401
+ apartmentNumber?: string;
402
+ /** Geographic coordinates of location. */
403
+ coordinates?: GeoCoordinates;
404
+ }
405
+ /**
406
+ * Extra information on displayed addresses.
407
+ * This is used for display purposes. Used to add additional data about the address, such as "In the passage".
408
+ * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.
409
+ */
410
+ export interface AddressHint {
411
+ /** Extra text displayed next to, or instead of, the actual address. */
412
+ text?: string;
413
+ /** Where the extra text should be displayed. */
414
+ placement?: PlacementType;
415
+ }
416
+ /** Where the extra text should be displayed: before, after or instead of the actual address. */
417
+ export declare enum PlacementType {
418
+ BEFORE = "BEFORE",
419
+ AFTER = "AFTER",
420
+ REPLACE = "REPLACE"
421
+ }
422
+ /** Geocoordinates for a particular address. */
423
+ export interface GeoCoordinates {
424
+ /** Latitude of the location. Must be between -90 and 90. */
425
+ latitude?: number;
426
+ /** Longitude of the location. Must be between -180 and 180. */
427
+ longitude?: number;
428
+ }
429
+ /** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */
430
+ export interface BusinessSchedule {
431
+ /** Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods. */
432
+ periods?: TimePeriod[];
433
+ /** Exceptions to the business's regular hours. The business can be open or closed during the exception. */
434
+ specialHourPeriod?: SpecialHourPeriod[];
435
+ }
436
+ /** Weekly recurring time periods when the business is regularly open or the service is available. */
437
+ export interface TimePeriod {
438
+ /** Day of the week the period starts on. */
439
+ openDay?: DayOfWeek;
440
+ /**
441
+ * 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
442
+ * midnight at the end of the specified day.
443
+ */
444
+ openTime?: string;
445
+ /** Day of the week the period ends on. */
446
+ closeDay?: DayOfWeek;
447
+ /**
448
+ * 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
449
+ * midnight at the end of the specified day.
450
+ *
451
+ * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.
452
+ */
453
+ closeTime?: string;
454
+ }
455
+ /** Enumerates the days of the week. */
456
+ export declare enum DayOfWeek {
457
+ MONDAY = "MONDAY",
458
+ TUESDAY = "TUESDAY",
459
+ WEDNESDAY = "WEDNESDAY",
460
+ THURSDAY = "THURSDAY",
461
+ FRIDAY = "FRIDAY",
462
+ SATURDAY = "SATURDAY",
463
+ SUNDAY = "SUNDAY"
464
+ }
465
+ /** Exception to the business's regular hours. The business can be open or closed during the exception. */
466
+ export interface SpecialHourPeriod {
467
+ /** 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). */
468
+ startDate?: string;
469
+ /** 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). */
470
+ endDate?: string;
471
+ /**
472
+ * Whether the business is closed (or the service is not available) during the exception.
473
+ *
474
+ * Default: `true`.
475
+ */
476
+ isClosed?: boolean;
477
+ /** Additional info about the exception. For example, "We close earlier on New Year's Eve." */
478
+ comment?: string;
479
+ }
480
+ export interface Multilingual {
481
+ /** Supported languages list. */
482
+ supportedLanguages?: SupportedLanguage[];
483
+ /** Whether to redirect to user language. */
484
+ autoRedirect?: boolean;
485
+ }
486
+ export interface SupportedLanguage {
487
+ /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */
488
+ languageCode?: string;
489
+ /** Locale. */
490
+ locale?: Locale;
491
+ /** Whether the supported language is the primary language for the site. */
492
+ isPrimary?: boolean;
493
+ /** Language icon. */
494
+ countryCode?: string;
495
+ /** How the language will be resolved. For internal use. */
496
+ resolutionMethod?: ResolutionMethod;
497
+ }
498
+ export declare enum ResolutionMethod {
499
+ QUERY_PARAM = "QUERY_PARAM",
500
+ SUBDOMAIN = "SUBDOMAIN",
501
+ SUBDIRECTORY = "SUBDIRECTORY"
502
+ }
503
+ export interface ConsentPolicy {
504
+ /** Whether the site uses cookies that are essential to site operation. */
505
+ essential?: boolean | null;
506
+ /** Whether the site uses cookies that affect site performance and other functional measurements. */
507
+ functional?: boolean | null;
508
+ /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */
509
+ analytics?: boolean | null;
510
+ /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */
511
+ advertising?: boolean | null;
512
+ /** CCPA compliance flag. */
513
+ dataToThirdParty?: boolean | null;
514
+ }
515
+ /** A single mapping from the MetaSite ID to a particular service. */
516
+ export interface Translation {
517
+ /** The service type. */
518
+ serviceType?: string;
519
+ /** The application definition ID; this only applies to services of type ThirdPartyApps. */
520
+ appDefId?: string;
521
+ /** The instance ID of the service. */
522
+ instanceId?: string;
523
+ }
524
+ export interface ChangeContext extends ChangeContextPayloadOneOf {
525
+ /** Properties were updated. */
526
+ propertiesChange?: PropertiesChange;
527
+ /** Default properties were created on site creation. */
528
+ siteCreated?: SiteCreated;
529
+ /** Properties were cloned on site cloning. */
530
+ siteCloned?: SiteCloned;
531
+ }
532
+ /** @oneof */
533
+ export interface ChangeContextPayloadOneOf {
534
+ /** Properties were updated. */
535
+ propertiesChange?: PropertiesChange;
536
+ /** Default properties were created on site creation. */
537
+ siteCreated?: SiteCreated;
538
+ /** Properties were cloned on site cloning. */
539
+ siteCloned?: SiteCloned;
540
+ }
541
+ export interface PropertiesChange {
542
+ }
543
+ export interface SiteCreated {
544
+ /** Origin template site id. */
545
+ originTemplateId?: string | null;
546
+ }
547
+ export interface SiteCloned {
548
+ /** Origin site id. */
549
+ originMetaSiteId?: string;
550
+ }
551
+ export interface MessageEnvelope {
552
+ /** App instance ID. */
553
+ instanceId?: string | null;
554
+ /** Event type. */
555
+ eventType?: string;
556
+ /** The identification type and identity data. */
557
+ identity?: IdentificationData;
558
+ /** Stringify payload. */
559
+ data?: string;
560
+ }
561
+ export interface IdentificationData extends IdentificationDataIdOneOf {
562
+ /** ID of a site visitor that has not logged in to the site. */
563
+ anonymousVisitorId?: string;
564
+ /** ID of a site visitor that has logged in to the site. */
565
+ memberId?: string;
566
+ /** ID of a Wix user (site owner, contributor, etc.). */
567
+ wixUserId?: string;
568
+ /** ID of an app. */
569
+ appId?: string;
570
+ /** @readonly */
571
+ identityType?: WebhookIdentityType;
572
+ }
573
+ /** @oneof */
574
+ export interface IdentificationDataIdOneOf {
575
+ /** ID of a site visitor that has not logged in to the site. */
576
+ anonymousVisitorId?: string;
577
+ /** ID of a site visitor that has logged in to the site. */
578
+ memberId?: string;
579
+ /** ID of a Wix user (site owner, contributor, etc.). */
580
+ wixUserId?: string;
581
+ /** ID of an app. */
582
+ appId?: string;
583
+ }
584
+ export declare enum WebhookIdentityType {
585
+ UNKNOWN = "UNKNOWN",
586
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
587
+ MEMBER = "MEMBER",
588
+ WIX_USER = "WIX_USER",
589
+ APP = "APP"
590
+ }
591
+ export interface InvalidateCache extends InvalidateCacheGetByOneOf {
592
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
593
+ metaSiteId?: string;
594
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
595
+ siteId?: string;
596
+ /** Invalidate by App */
597
+ app?: App;
598
+ /** Invalidate by page id */
599
+ page?: Page;
600
+ /** Invalidate by URI path */
601
+ uri?: URI;
602
+ /** Invalidate by file (for media files such as PDFs) */
603
+ file?: File;
604
+ /** tell us why you're invalidating the cache. You don't need to add your app name */
605
+ reason?: string | null;
606
+ /** Is local DS */
607
+ localDc?: boolean;
608
+ hardPurge?: boolean;
609
+ }
610
+ /** @oneof */
611
+ export interface InvalidateCacheGetByOneOf {
612
+ /** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
613
+ metaSiteId?: string;
614
+ /** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
615
+ siteId?: string;
616
+ /** Invalidate by App */
617
+ app?: App;
618
+ /** Invalidate by page id */
619
+ page?: Page;
620
+ /** Invalidate by URI path */
621
+ uri?: URI;
622
+ /** Invalidate by file (for media files such as PDFs) */
623
+ file?: File;
624
+ }
625
+ export interface App {
626
+ /** The AppDefId */
627
+ appDefId?: string;
628
+ /** The instance Id */
629
+ instanceId?: string;
630
+ }
631
+ export interface Page {
632
+ /** the msid the page is on */
633
+ metaSiteId?: string;
634
+ /** Invalidate by Page ID */
635
+ pageId?: string;
636
+ }
637
+ export interface URI {
638
+ /** the msid the URI is on */
639
+ metaSiteId?: string;
640
+ /** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
641
+ uriPath?: string;
642
+ }
643
+ export interface File {
644
+ /** the msid the file is related to */
645
+ metaSiteId?: string;
646
+ /** Invalidate by filename (for media files such as PDFs) */
647
+ fileName?: string;
648
+ }
649
+ export interface CreateItemRequest {
650
+ /** Item details. */
651
+ item: Item;
652
+ }
653
+ export interface CreateItemResponse {
654
+ /** Item. */
655
+ item?: Item;
656
+ }
657
+ export interface BulkCreateItemsRequest {
658
+ /** Items details. */
659
+ items: Item[];
660
+ /** Whether to return entity in the response. */
661
+ returnEntity?: boolean;
662
+ }
663
+ export interface BulkCreateItemsResponse {
664
+ /** Information about the created items. */
665
+ results?: BulkCreateItemResult[];
666
+ /** Metadata for the API call. */
667
+ bulkActionMetadata?: BulkActionMetadata;
668
+ }
669
+ export interface BulkCreateItemResult {
670
+ /** Metadata for item update. */
671
+ itemMetadata?: ItemMetadata;
672
+ /** Created item. */
673
+ item?: Item;
674
+ }
675
+ export interface ItemMetadata {
676
+ /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
677
+ _id?: string | null;
678
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
679
+ originalIndex?: number;
680
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
681
+ success?: boolean;
682
+ /** Details about the error in case of failure. */
683
+ error?: ApplicationError;
684
+ }
685
+ export interface ApplicationError {
686
+ /** Error code. */
687
+ code?: string;
688
+ /** Description of the error. */
689
+ description?: string;
690
+ /** Data related to the error. */
691
+ data?: Record<string, any> | null;
692
+ }
693
+ export interface BulkActionMetadata {
694
+ /** Number of items that were successfully processed. */
695
+ totalSuccesses?: number;
696
+ /** Number of items that couldn't be processed. */
697
+ totalFailures?: number;
698
+ /** Number of failures without details because detailed failure threshold was exceeded. */
699
+ undetailedFailures?: number;
700
+ }
701
+ export interface GetItemRequest {
702
+ /** Item ID. */
703
+ itemId: string;
704
+ }
705
+ export interface GetItemResponse {
706
+ /** Item. */
707
+ item?: Item;
708
+ }
709
+ export interface ListItemsRequest {
710
+ /** Item IDs. */
711
+ itemIds?: string[];
712
+ /** The metadata of the paginated results. */
713
+ paging?: CursorPaging;
714
+ /** Whether to return only items that are visible to site visitors. */
715
+ onlyVisible?: boolean | null;
716
+ }
717
+ export interface CursorPaging {
718
+ /** Number of items to load. */
719
+ limit?: number | null;
720
+ /**
721
+ * Pointer to the next or previous page in the list of results.
722
+ *
723
+ * You can get the relevant cursor token
724
+ * from the `pagingMetadata` object in the previous call's response.
725
+ * Not relevant for the first request.
726
+ */
727
+ cursor?: string | null;
728
+ }
729
+ export interface ListItemsResponse {
730
+ /** Items. */
731
+ items?: Item[];
732
+ /** The metadata of the paginated results. */
733
+ pagingMetadata?: CursorPagingMetadata;
734
+ }
735
+ export interface CursorPagingMetadata {
736
+ /** Number of items returned in the response. */
737
+ count?: number | null;
738
+ /** Offset that was requested. */
739
+ cursors?: Cursors;
740
+ /**
741
+ * Indicates if there are more results after the current page.
742
+ * If `true`, another page of results can be retrieved.
743
+ * If `false`, this is the last page.
744
+ */
745
+ hasNext?: boolean | null;
746
+ }
747
+ export interface Cursors {
748
+ /** Cursor pointing to next page in the list of results. */
749
+ next?: string | null;
750
+ /** Cursor pointing to previous page in the list of results. */
751
+ prev?: string | null;
752
+ }
753
+ export interface QueryItemsRequest {
754
+ /** Query options. */
755
+ query?: CursorQuery;
756
+ }
757
+ export interface CursorQuery extends CursorQueryPagingMethodOneOf {
758
+ /** 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`. */
759
+ cursorPaging?: CursorPaging;
760
+ /**
761
+ * Filter object in the following format:
762
+ * `"filter" : {
763
+ * "fieldName1": "value1",
764
+ * "fieldName2":{"$operator":"value2"}
765
+ * }`
766
+ * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
767
+ */
768
+ filter?: Record<string, any> | null;
769
+ /**
770
+ * Sort object in the following format:
771
+ * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
772
+ */
773
+ sort?: Sorting[];
774
+ }
775
+ /** @oneof */
776
+ export interface CursorQueryPagingMethodOneOf {
777
+ /** 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`. */
778
+ cursorPaging?: CursorPaging;
779
+ }
780
+ export interface Sorting {
781
+ /** Name of the field to sort by. */
782
+ fieldName?: string;
783
+ /** Sort order. */
784
+ order?: SortOrder;
785
+ }
786
+ export declare enum SortOrder {
787
+ ASC = "ASC",
788
+ DESC = "DESC"
789
+ }
790
+ export interface QueryItemsResponse {
791
+ /** Retrieved items. */
792
+ items?: Item[];
793
+ /** The metadata of the paginated results. */
794
+ pagingMetadata?: CursorPagingMetadata;
795
+ }
796
+ export interface CountItemsRequest {
797
+ /** Filter for counting items. */
798
+ filter?: Record<string, any> | null;
799
+ }
800
+ export interface CountItemsResponse {
801
+ /** Counted items. */
802
+ count?: number;
803
+ }
804
+ export interface UpdateItemRequest {
805
+ /** Item to update. */
806
+ item: Item;
807
+ }
808
+ export interface UpdateItemResponse {
809
+ /** Updated item. */
810
+ item?: Item;
811
+ }
812
+ export interface BulkUpdateItemRequest {
813
+ /** Items to update. */
814
+ items: MaskedItem[];
815
+ /** Whether to return entity in the response. */
816
+ returnEntity?: boolean;
817
+ }
818
+ export interface MaskedItem {
819
+ /** Item to update. */
820
+ item?: Item;
821
+ /** Explicit list of fields to update. */
822
+ mask?: string[];
823
+ }
824
+ export interface BulkUpdateItemResponse {
825
+ /** Information about the updated items. */
826
+ results?: BulkItemResult[];
827
+ /** Metadata for the API call. */
828
+ bulkActionMetadata?: BulkActionMetadata;
829
+ }
830
+ export interface BulkItemResult {
831
+ /** Metadata for item update. */
832
+ itemMetadata?: ItemMetadata;
833
+ /** Updated item. Only returned if `returnEntity` is set to `true`. */
834
+ item?: Item;
835
+ }
836
+ export interface DeleteItemRequest {
837
+ /** Item ID. */
838
+ itemId: string;
839
+ }
840
+ export interface DeleteItemResponse {
841
+ }
842
+ export interface BulkDeleteItemsRequest {
843
+ /** Item IDs. */
844
+ ids: string[];
845
+ }
846
+ export interface BulkDeleteItemsResponse {
847
+ /** Information about the deleted items. */
848
+ results?: BulkDeleteItemResult[];
849
+ /** Metadata for the API call. */
850
+ bulkActionMetadata?: BulkActionMetadata;
851
+ }
852
+ export interface BulkDeleteItemResult {
853
+ /** Metadata for item delete. */
854
+ itemMetadata?: ItemMetadata;
855
+ }
856
+ export interface CloneItemsRequest {
857
+ /** The MetaSiteId to clone from. */
858
+ metaSiteId?: string;
859
+ }
860
+ export interface CloneItemsResponse {
861
+ }
862
+ interface PriceInfoNonNullableFields {
863
+ price: string;
864
+ }
865
+ interface PriceVariantNonNullableFields {
866
+ priceInfo?: PriceInfoNonNullableFields;
867
+ }
868
+ interface PriceVariantsNonNullableFields {
869
+ variants: PriceVariantNonNullableFields[];
870
+ }
871
+ interface LabelNonNullableFields {
872
+ _id: string;
873
+ }
874
+ export interface ItemNonNullableFields {
875
+ priceVariants?: PriceVariantsNonNullableFields;
876
+ priceInfo?: PriceInfoNonNullableFields;
877
+ name: string;
878
+ image: string;
879
+ additionalImages: string[];
880
+ labels: LabelNonNullableFields[];
881
+ businessLocationIds: string[];
882
+ }
883
+ export interface CreateItemResponseNonNullableFields {
884
+ item?: ItemNonNullableFields;
885
+ }
886
+ interface ApplicationErrorNonNullableFields {
887
+ code: string;
888
+ description: string;
889
+ }
890
+ interface ItemMetadataNonNullableFields {
891
+ originalIndex: number;
892
+ success: boolean;
893
+ error?: ApplicationErrorNonNullableFields;
894
+ }
895
+ interface BulkCreateItemResultNonNullableFields {
896
+ itemMetadata?: ItemMetadataNonNullableFields;
897
+ item?: ItemNonNullableFields;
898
+ }
899
+ interface BulkActionMetadataNonNullableFields {
900
+ totalSuccesses: number;
901
+ totalFailures: number;
902
+ undetailedFailures: number;
903
+ }
904
+ export interface BulkCreateItemsResponseNonNullableFields {
905
+ results: BulkCreateItemResultNonNullableFields[];
906
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
907
+ }
908
+ export interface GetItemResponseNonNullableFields {
909
+ item?: ItemNonNullableFields;
910
+ }
911
+ export interface ListItemsResponseNonNullableFields {
912
+ items: ItemNonNullableFields[];
913
+ }
914
+ export interface QueryItemsResponseNonNullableFields {
915
+ items: ItemNonNullableFields[];
916
+ }
917
+ export interface CountItemsResponseNonNullableFields {
918
+ count: number;
919
+ }
920
+ export interface UpdateItemResponseNonNullableFields {
921
+ item?: ItemNonNullableFields;
922
+ }
923
+ interface BulkItemResultNonNullableFields {
924
+ itemMetadata?: ItemMetadataNonNullableFields;
925
+ item?: ItemNonNullableFields;
926
+ }
927
+ export interface BulkUpdateItemResponseNonNullableFields {
928
+ results: BulkItemResultNonNullableFields[];
929
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
930
+ }
931
+ interface BulkDeleteItemResultNonNullableFields {
932
+ itemMetadata?: ItemMetadataNonNullableFields;
933
+ }
934
+ export interface BulkDeleteItemsResponseNonNullableFields {
935
+ results: BulkDeleteItemResultNonNullableFields[];
936
+ bulkActionMetadata?: BulkActionMetadataNonNullableFields;
937
+ }
938
+ export interface BaseEventMetadata {
939
+ /** App instance ID. */
940
+ instanceId?: string | null;
941
+ /** Event type. */
942
+ eventType?: string;
943
+ /** The identification type and identity data. */
944
+ identity?: IdentificationData;
945
+ }
946
+ export interface EventMetadata extends BaseEventMetadata {
947
+ /**
948
+ * Unique event ID.
949
+ * Allows clients to ignore duplicate webhooks.
950
+ */
951
+ _id?: string;
952
+ /**
953
+ * Assumes actions are also always typed to an entity_type
954
+ * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
955
+ */
956
+ entityFqdn?: string;
957
+ /**
958
+ * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
959
+ * This is although the created/updated/deleted notion is duplication of the oneof types
960
+ * Example: created/updated/deleted/started/completed/email_opened
961
+ */
962
+ slug?: string;
963
+ /** ID of the entity associated with the event. */
964
+ entityId?: string;
965
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
966
+ eventTime?: Date | null;
967
+ /**
968
+ * Whether the event was triggered as a result of a privacy regulation application
969
+ * (for example, GDPR).
970
+ */
971
+ triggeredByAnonymizeRequest?: boolean | null;
972
+ /** If present, indicates the action that triggered the event. */
973
+ originatedFrom?: string | null;
974
+ /**
975
+ * A sequence number defining the order of updates to the underlying entity.
976
+ * For example, given that some entity was updated at 16:00 and than again at 16:01,
977
+ * it is guaranteed that the sequence number of the second update is strictly higher than the first.
978
+ * As the consumer, you can use this value to ensure that you handle messages in the correct order.
979
+ * To do so, you will need to persist this number on your end, and compare the sequence number from the
980
+ * message against the one you have stored. Given that the stored number is higher, you should ignore the message.
981
+ */
982
+ entityEventSequence?: string | null;
983
+ }
984
+ export interface ItemCreatedEnvelope {
985
+ entity: Item;
986
+ metadata: EventMetadata;
987
+ }
988
+ /** @permissionScope Manage Bookings Services and Settings
989
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
990
+ * @permissionScope Manage Portfolio
991
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
992
+ * @permissionScope Manage Restaurants - all permissions
993
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
994
+ * @permissionId RESTAURANTS.ITEM_READ
995
+ * @webhook
996
+ * @eventType wix.restaurants.menus.v1.item_created
997
+ * @documentationMaturity preview
998
+ */
999
+ export declare function onItemCreated(handler: (event: ItemCreatedEnvelope) => void | Promise<void>): void;
1000
+ export interface ItemDeletedEnvelope {
1001
+ metadata: EventMetadata;
1002
+ }
1003
+ /** @permissionScope Manage Bookings Services and Settings
1004
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1005
+ * @permissionScope Manage Portfolio
1006
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1007
+ * @permissionScope Manage Restaurants - all permissions
1008
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1009
+ * @permissionId RESTAURANTS.ITEM_READ
1010
+ * @webhook
1011
+ * @eventType wix.restaurants.menus.v1.item_deleted
1012
+ * @documentationMaturity preview
1013
+ */
1014
+ export declare function onItemDeleted(handler: (event: ItemDeletedEnvelope) => void | Promise<void>): void;
1015
+ export interface ItemUpdatedEnvelope {
1016
+ entity: Item;
1017
+ metadata: EventMetadata;
1018
+ }
1019
+ /**
1020
+ * Triggered when an item is updated.
1021
+ * @permissionScope Manage Bookings Services and Settings
1022
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1023
+ * @permissionScope Manage Portfolio
1024
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1025
+ * @permissionScope Manage Restaurants - all permissions
1026
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1027
+ * @permissionId RESTAURANTS.ITEM_READ
1028
+ * @webhook
1029
+ * @eventType wix.restaurants.menus.v1.item_updated
1030
+ * @documentationMaturity preview
1031
+ */
1032
+ export declare function onItemUpdated(handler: (event: ItemUpdatedEnvelope) => void | Promise<void>): void;
1033
+ /**
1034
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1035
+ *
1036
+ * Creates an item.
1037
+ *
1038
+ * To create multiple items at once, use [Bulk Create Items](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-create-items).
1039
+ * @param item - Item details.
1040
+ * @public
1041
+ * @documentationMaturity preview
1042
+ * @requiredField item
1043
+ * @requiredField item.modifierGroups._id
1044
+ * @permissionId RESTAURANTS.ITEM_CREATE
1045
+ * @permissionScope Manage Bookings Services and Settings
1046
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1047
+ * @permissionScope Manage Portfolio
1048
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1049
+ * @permissionScope Manage Restaurants - all permissions
1050
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1051
+ * @applicableIdentity APP
1052
+ * @returns Item.
1053
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CreateItem
1054
+ */
1055
+ export declare function createItem(item: Item): Promise<Item & ItemNonNullableFields>;
1056
+ /**
1057
+ * > **Note:** The Items API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1058
+ *
1059
+ * Creates multiple items at once.
1060
+ * @param items - Items details.
1061
+ * @public
1062
+ * @documentationMaturity preview
1063
+ * @requiredField items
1064
+ * @requiredField items.modifierGroups._id
1065
+ * @permissionId RESTAURANTS.ITEM_CREATE
1066
+ * @permissionScope Manage Bookings Services and Settings
1067
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1068
+ * @permissionScope Manage Portfolio
1069
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1070
+ * @permissionScope Manage Restaurants - all permissions
1071
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1072
+ * @applicableIdentity APP
1073
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkCreateItems
1074
+ */
1075
+ export declare function bulkCreateItems(items: Item[], options?: BulkCreateItemsOptions): Promise<BulkCreateItemsResponse & BulkCreateItemsResponseNonNullableFields>;
1076
+ export interface BulkCreateItemsOptions {
1077
+ /** Whether to return entity in the response. */
1078
+ returnEntity?: boolean;
1079
+ }
1080
+ /**
1081
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1082
+ *
1083
+ * Retrieves an item by ID.
1084
+ * @param itemId - Item ID.
1085
+ * @public
1086
+ * @documentationMaturity preview
1087
+ * @requiredField itemId
1088
+ * @permissionId RESTAURANTS.ITEM_READ
1089
+ * @permissionScope Manage Bookings Services and Settings
1090
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1091
+ * @permissionScope Manage Portfolio
1092
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1093
+ * @permissionScope Manage Restaurants - all permissions
1094
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1095
+ * @applicableIdentity APP
1096
+ * @applicableIdentity VISITOR
1097
+ * @returns Item.
1098
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.GetItem
1099
+ */
1100
+ export declare function getItem(itemId: string): Promise<Item & ItemNonNullableFields>;
1101
+ /**
1102
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1103
+ *
1104
+ * Retrieves a list of up to 500 items.
1105
+ * @public
1106
+ * @documentationMaturity preview
1107
+ * @permissionId RESTAURANTS.ITEM_READ
1108
+ * @permissionScope Manage Bookings Services and Settings
1109
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1110
+ * @permissionScope Manage Portfolio
1111
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1112
+ * @permissionScope Manage Restaurants - all permissions
1113
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1114
+ * @applicableIdentity APP
1115
+ * @applicableIdentity VISITOR
1116
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.ListItems
1117
+ */
1118
+ export declare function listItems(options?: ListItemsOptions): Promise<ListItemsResponse & ListItemsResponseNonNullableFields>;
1119
+ export interface ListItemsOptions {
1120
+ /** Item IDs. */
1121
+ itemIds?: string[];
1122
+ /** The metadata of the paginated results. */
1123
+ paging?: CursorPaging;
1124
+ /** Whether to return only items that are visible to site visitors. */
1125
+ onlyVisible?: boolean | null;
1126
+ }
1127
+ /**
1128
+ * Creates a query to retrieve a list of items.
1129
+ *
1130
+ * The `queryItems()` function builds a query to retrieve a list of items and returns a `ItemsQueryBuilder` object.
1131
+ *
1132
+ * The returned object contains the query definition, which is used to run the query using the [`find()`](/items/items-query-builder/find) function.
1133
+ *
1134
+ * You can refine the query by chaining `ItemsQueryBuilder` functions onto the query. `ItemsQueryBuilder` functions enable you to filter, sort, and control the results that `queryItems()` returns.
1135
+ *
1136
+ * `queryItems()` runs with the following `ItemsQueryBuilder` defaults, which you can override:
1137
+ *
1138
+ * * [`limit(500)`](/items/items-query-builder/limit)
1139
+ * * [`ascending('entityId')`](/items/items-query-builder/ascending)
1140
+ *
1141
+ * The following `ItemsQueryBuilder` functions are supported for `queryItems()`. For a full description of the item object, see the object returned for the [`items`](/items/items-query-result/items) property in `ItemsQueryResult`.
1142
+ * @public
1143
+ * @documentationMaturity preview
1144
+ * @permissionScope Manage Bookings Services and Settings
1145
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1146
+ * @permissionScope Manage Portfolio
1147
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1148
+ * @permissionScope Manage Restaurants - all permissions
1149
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1150
+ * @permissionId RESTAURANTS.ITEM_READ
1151
+ * @applicableIdentity APP
1152
+ * @applicableIdentity VISITOR
1153
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.QueryItems
1154
+ */
1155
+ export declare function queryItems(): ItemsQueryBuilder;
1156
+ interface QueryCursorResult {
1157
+ cursors: Cursors;
1158
+ hasNext: () => boolean;
1159
+ hasPrev: () => boolean;
1160
+ length: number;
1161
+ pageSize: number;
1162
+ }
1163
+ export interface ItemsQueryResult extends QueryCursorResult {
1164
+ items: Item[];
1165
+ query: ItemsQueryBuilder;
1166
+ next: () => Promise<ItemsQueryResult>;
1167
+ prev: () => Promise<ItemsQueryResult>;
1168
+ }
1169
+ export interface ItemsQueryBuilder {
1170
+ /** @param propertyName - Property whose value is compared with `value`.
1171
+ * @param value - Value to compare against.
1172
+ * @documentationMaturity preview
1173
+ */
1174
+ eq: (propertyName: 'priceVariants.variants.price' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'image.id' | 'orderSettings.inStock' | 'orderSettings.acceptSpecialRequests', value: any) => ItemsQueryBuilder;
1175
+ /** @param propertyName - Property whose value is compared with `value`.
1176
+ * @param value - Value to compare against.
1177
+ * @documentationMaturity preview
1178
+ */
1179
+ ne: (propertyName: 'priceVariants.variants.price' | '_id' | '_createdDate' | '_updatedDate' | 'name' | 'description' | 'image.id' | 'orderSettings.inStock' | 'orderSettings.acceptSpecialRequests', value: any) => ItemsQueryBuilder;
1180
+ /** @param propertyName - Property whose value is compared with `value`.
1181
+ * @param value - Value to compare against.
1182
+ * @documentationMaturity preview
1183
+ */
1184
+ gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;
1185
+ /** @param propertyName - Property whose value is compared with `value`.
1186
+ * @param value - Value to compare against.
1187
+ * @documentationMaturity preview
1188
+ */
1189
+ le: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;
1190
+ /** @param propertyName - Property whose value is compared with `value`.
1191
+ * @param value - Value to compare against.
1192
+ * @documentationMaturity preview
1193
+ */
1194
+ lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => ItemsQueryBuilder;
1195
+ /** @param propertyName - Property whose value is compared with `string`.
1196
+ * @param string - String to compare against. Case-insensitive.
1197
+ * @documentationMaturity preview
1198
+ */
1199
+ startsWith: (propertyName: 'name' | 'description', value: string) => ItemsQueryBuilder;
1200
+ /** @documentationMaturity preview */
1201
+ in: (propertyName: '_id' | 'name' | 'description' | 'orderSettings.inStock' | 'orderSettings.acceptSpecialRequests', value: any) => ItemsQueryBuilder;
1202
+ /** @documentationMaturity preview */
1203
+ exists: (propertyName: 'priceVariants.variants' | 'image' | 'labels' | 'orderSettings', value: boolean) => ItemsQueryBuilder;
1204
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
1205
+ * @documentationMaturity preview
1206
+ */
1207
+ limit: (limit: number) => ItemsQueryBuilder;
1208
+ /** @param cursor - A pointer to specific record
1209
+ * @documentationMaturity preview
1210
+ */
1211
+ skipTo: (cursor: string) => ItemsQueryBuilder;
1212
+ /** @documentationMaturity preview */
1213
+ find: () => Promise<ItemsQueryResult>;
1214
+ }
1215
+ /**
1216
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1217
+ *
1218
+ * Retrieves the number of items that match a specified filter.
1219
+ *
1220
+ * If a filter isn't passed in the request, the endpoint returns the count of all items.
1221
+ * @public
1222
+ * @documentationMaturity preview
1223
+ * @permissionId RESTAURANTS.ITEM_READ
1224
+ * @permissionScope Manage Bookings Services and Settings
1225
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1226
+ * @permissionScope Manage Portfolio
1227
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1228
+ * @permissionScope Manage Restaurants - all permissions
1229
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1230
+ * @applicableIdentity APP
1231
+ * @applicableIdentity VISITOR
1232
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CountItems
1233
+ */
1234
+ export declare function countItems(options?: CountItemsOptions): Promise<CountItemsResponse & CountItemsResponseNonNullableFields>;
1235
+ export interface CountItemsOptions {
1236
+ /** Filter for counting items. */
1237
+ filter?: Record<string, any> | null;
1238
+ }
1239
+ /**
1240
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1241
+ *
1242
+ * Updates an item.
1243
+ *
1244
+ * To update multiple items at once, use [Bulk Update Item](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-update-item)
1245
+ *
1246
+ * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating the item. This ensures you're working with the latest item information, and it prevents unintended overwrites.
1247
+ * @param _id - Item ID.
1248
+ * @public
1249
+ * @documentationMaturity preview
1250
+ * @requiredField _id
1251
+ * @requiredField item
1252
+ * @requiredField item.modifierGroups._id
1253
+ * @requiredField item.revision
1254
+ * @permissionId RESTAURANTS.ITEM_UPDATE
1255
+ * @permissionScope Manage Bookings Services and Settings
1256
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1257
+ * @permissionScope Manage Portfolio
1258
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1259
+ * @permissionScope Manage Restaurants - all permissions
1260
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1261
+ * @applicableIdentity APP
1262
+ * @returns Updated item.
1263
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.UpdateItem
1264
+ */
1265
+ export declare function updateItem(_id: string | null, item: UpdateItem): Promise<Item & ItemNonNullableFields>;
1266
+ export interface UpdateItem {
1267
+ /** Item price variants. */
1268
+ priceVariants?: PriceVariants;
1269
+ /** Item price info. */
1270
+ priceInfo?: PriceInfo;
1271
+ /**
1272
+ * Item ID.
1273
+ * @readonly
1274
+ */
1275
+ _id?: string | null;
1276
+ /**
1277
+ * Revision number, which increments by 1 each time the item is updated. To prevent conflicting changes, the current revision must be passed when updating the item. Ignored when creating a item.
1278
+ * @readonly
1279
+ */
1280
+ revision?: string | null;
1281
+ /**
1282
+ * Date and time the item was created.
1283
+ * @readonly
1284
+ */
1285
+ _createdDate?: Date | null;
1286
+ /**
1287
+ * Date and time the item was updated.
1288
+ * @readonly
1289
+ */
1290
+ _updatedDate?: Date | null;
1291
+ /** Item name. */
1292
+ name?: string;
1293
+ /** Item description. */
1294
+ description?: string | null;
1295
+ /** Main item image. */
1296
+ image?: string;
1297
+ /** Additional item images. */
1298
+ additionalImages?: string[];
1299
+ /** Item labels. */
1300
+ labels?: Label[];
1301
+ /** Whether the item is visible in the menu for site visitors. */
1302
+ visible?: boolean | null;
1303
+ /** Online order settings. */
1304
+ orderSettings?: OrderSettings;
1305
+ /** Item modifier groups. */
1306
+ modifierGroups?: ModifierGroup[];
1307
+ /** Extended fields. */
1308
+ extendedFields?: ExtendedFields;
1309
+ }
1310
+ /**
1311
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1312
+ *
1313
+ * Updates up to 100 multiple items at once.
1314
+ *
1315
+ * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating item. This ensures you're working with the latest item information, and it prevents unintended overwrites.
1316
+ * @param items - Items to update.
1317
+ * @public
1318
+ * @documentationMaturity preview
1319
+ * @requiredField items
1320
+ * @requiredField items.item._id
1321
+ * @requiredField items.item.modifierGroups._id
1322
+ * @requiredField items.item.revision
1323
+ * @permissionId RESTAURANTS.ITEM_UPDATE
1324
+ * @permissionScope Manage Bookings Services and Settings
1325
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1326
+ * @permissionScope Manage Portfolio
1327
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1328
+ * @permissionScope Manage Restaurants - all permissions
1329
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1330
+ * @applicableIdentity APP
1331
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkUpdateItem
1332
+ */
1333
+ export declare function bulkUpdateItem(items: MaskedItem[], options?: BulkUpdateItemOptions): Promise<BulkUpdateItemResponse & BulkUpdateItemResponseNonNullableFields>;
1334
+ export interface BulkUpdateItemOptions {
1335
+ /** Whether to return entity in the response. */
1336
+ returnEntity?: boolean;
1337
+ }
1338
+ /**
1339
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1340
+ *
1341
+ * Deletes an item.
1342
+ * @param itemId - Item ID.
1343
+ * @public
1344
+ * @documentationMaturity preview
1345
+ * @requiredField itemId
1346
+ * @permissionId RESTAURANTS.ITEM_DELETE
1347
+ * @permissionScope Manage Bookings Services and Settings
1348
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1349
+ * @permissionScope Manage Portfolio
1350
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1351
+ * @permissionScope Manage Restaurants - all permissions
1352
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1353
+ * @applicableIdentity APP
1354
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.DeleteItem
1355
+ */
1356
+ export declare function deleteItem(itemId: string): Promise<void>;
1357
+ /**
1358
+ * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
1359
+ *
1360
+ * Deletes multiple items at once.
1361
+ * @param ids - Item IDs.
1362
+ * @public
1363
+ * @documentationMaturity preview
1364
+ * @requiredField ids
1365
+ * @permissionId RESTAURANTS.ITEM_DELETE
1366
+ * @permissionScope Manage Bookings Services and Settings
1367
+ * @permissionScopeId SCOPE.BOOKINGS.CONFIGURATION
1368
+ * @permissionScope Manage Portfolio
1369
+ * @permissionScopeId SCOPE.PORTFOLIO.MANAGE-PORTFOLIO
1370
+ * @permissionScope Manage Restaurants - all permissions
1371
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
1372
+ * @applicableIdentity APP
1373
+ * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkDeleteItems
1374
+ */
1375
+ export declare function bulkDeleteItems(ids: string[]): Promise<BulkDeleteItemsResponse & BulkDeleteItemsResponseNonNullableFields>;
1376
+ export {};