@wix/auto_sdk_restaurants_menus 1.0.76 → 1.0.78

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 (49) hide show
  1. package/build/cjs/index.d.ts +11 -11
  2. package/build/cjs/index.js +113 -90
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +242 -224
  5. package/build/cjs/index.typings.js +86 -63
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +204 -185
  8. package/build/cjs/meta.js +71 -48
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/cjs/schemas.d.ts +16 -12
  11. package/build/cjs/schemas.js +34 -28
  12. package/build/cjs/schemas.js.map +1 -1
  13. package/build/es/index.d.mts +11 -11
  14. package/build/es/index.mjs +113 -90
  15. package/build/es/index.mjs.map +1 -1
  16. package/build/es/index.typings.d.mts +242 -224
  17. package/build/es/index.typings.mjs +86 -63
  18. package/build/es/index.typings.mjs.map +1 -1
  19. package/build/es/meta.d.mts +204 -185
  20. package/build/es/meta.mjs +71 -48
  21. package/build/es/meta.mjs.map +1 -1
  22. package/build/es/schemas.d.mts +16 -12
  23. package/build/es/schemas.mjs +34 -28
  24. package/build/es/schemas.mjs.map +1 -1
  25. package/build/internal/cjs/index.d.ts +11 -11
  26. package/build/internal/cjs/index.js +113 -90
  27. package/build/internal/cjs/index.js.map +1 -1
  28. package/build/internal/cjs/index.typings.d.ts +309 -224
  29. package/build/internal/cjs/index.typings.js +86 -63
  30. package/build/internal/cjs/index.typings.js.map +1 -1
  31. package/build/internal/cjs/meta.d.ts +282 -185
  32. package/build/internal/cjs/meta.js +71 -48
  33. package/build/internal/cjs/meta.js.map +1 -1
  34. package/build/internal/cjs/schemas.d.ts +16 -12
  35. package/build/internal/cjs/schemas.js +34 -28
  36. package/build/internal/cjs/schemas.js.map +1 -1
  37. package/build/internal/es/index.d.mts +11 -11
  38. package/build/internal/es/index.mjs +113 -90
  39. package/build/internal/es/index.mjs.map +1 -1
  40. package/build/internal/es/index.typings.d.mts +309 -224
  41. package/build/internal/es/index.typings.mjs +86 -63
  42. package/build/internal/es/index.typings.mjs.map +1 -1
  43. package/build/internal/es/meta.d.mts +282 -185
  44. package/build/internal/es/meta.mjs +71 -48
  45. package/build/internal/es/meta.mjs.map +1 -1
  46. package/build/internal/es/schemas.d.mts +16 -12
  47. package/build/internal/es/schemas.mjs +34 -28
  48. package/build/internal/es/schemas.mjs.map +1 -1
  49. package/package.json +4 -4
@@ -51,6 +51,12 @@ interface Menu {
51
51
  urlQueryParam?: string | null;
52
52
  /** Custom SEO data for the menu. */
53
53
  seoData?: SeoSchema;
54
+ /**
55
+ * Information about the business location where this menu is available. This information is taken from the `Location` object ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) corresponding with this menu's `businessLocationId`.
56
+ * @internal
57
+ * @readonly
58
+ */
59
+ businessLocationDetails?: BusinessLocationDetails;
54
60
  /**
55
61
  * ID of the business location ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) where this menu is available.
56
62
  * @format GUID
@@ -58,6 +64,17 @@ interface Menu {
58
64
  * @readonly
59
65
  */
60
66
  businessLocationId?: string | null;
67
+ /**
68
+ * @internal
69
+ * @readonly
70
+ * @maxLength 150
71
+ */
72
+ oloMigrationMenuId?: string | null;
73
+ /**
74
+ * References to an external app and resource associated with this object. Used for integration and tracking across different platforms.
75
+ * @internal
76
+ */
77
+ externalReferenceInfo?: ExternalReferenceInfo;
61
78
  }
62
79
  interface ExtendedFields {
63
80
  /**
@@ -109,7 +126,15 @@ interface Tag {
109
126
  meta?: Record<string, any> | null;
110
127
  /** SEO tag inner content. For example, `<title> inner content </title>`. */
111
128
  children?: string;
112
- /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */
129
+ /**
130
+ * Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).
131
+ *
132
+ * Limitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read
133
+ * only from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor
134
+ * or Wix Studio pages, so custom tags saved on those pages are missing from the response entirely. For
135
+ * those pages `false` therefore does not mean "not a custom tag" — it means this API could not tell.
136
+ * Pass `seoData` explicitly to resolve against a known set of tags.
137
+ */
113
138
  custom?: boolean;
114
139
  /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */
115
140
  disabled?: boolean;
@@ -164,183 +189,6 @@ interface ExternalReferenceInfo {
164
189
  /** Whether the connection to the external system is currently active. */
165
190
  connected?: boolean | null;
166
191
  }
167
- interface DuplicateMenuRequest {
168
- /**
169
- * Menu id to be duplicated.
170
- * @format GUID
171
- */
172
- _id: string;
173
- /**
174
- * Business location ids to duplicate the menu to.
175
- * @format GUID
176
- * @maxSize 100
177
- */
178
- businessLocationIds?: string[] | null;
179
- /** Indicates whether sub-entities (such as items) should be duplicated as well. */
180
- duplicateSubEntities?: boolean | null;
181
- /**
182
- * The new name of the duplicated menu.
183
- * @maxLength 500
184
- */
185
- menuName?: string | null;
186
- }
187
- interface DuplicateMenuResponse {
188
- /** @format GUID */
189
- menuIds?: string[];
190
- }
191
- interface DomainEvent extends DomainEventBodyOneOf {
192
- createdEvent?: EntityCreatedEvent;
193
- updatedEvent?: EntityUpdatedEvent;
194
- deletedEvent?: EntityDeletedEvent;
195
- actionEvent?: ActionEvent;
196
- /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
197
- _id?: string;
198
- /**
199
- * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
200
- * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
201
- */
202
- entityFqdn?: string;
203
- /**
204
- * Event action name, placed at the top level to make it easier for users to dispatch messages.
205
- * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
206
- */
207
- slug?: string;
208
- /** ID of the entity associated with the event. */
209
- entityId?: string;
210
- /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
211
- eventTime?: Date | null;
212
- /**
213
- * Whether the event was triggered as a result of a privacy regulation application
214
- * (for example, GDPR).
215
- */
216
- triggeredByAnonymizeRequest?: boolean | null;
217
- /** If present, indicates the action that triggered the event. */
218
- originatedFrom?: string | null;
219
- /**
220
- * 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.
221
- * 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.
222
- */
223
- entityEventSequence?: string | null;
224
- }
225
- /** @oneof */
226
- interface DomainEventBodyOneOf {
227
- createdEvent?: EntityCreatedEvent;
228
- updatedEvent?: EntityUpdatedEvent;
229
- deletedEvent?: EntityDeletedEvent;
230
- actionEvent?: ActionEvent;
231
- }
232
- interface EntityCreatedEvent {
233
- entity?: string;
234
- }
235
- interface RestoreInfo {
236
- deletedDate?: Date | null;
237
- }
238
- interface EntityUpdatedEvent {
239
- /**
240
- * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
241
- * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
242
- * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
243
- */
244
- currentEntity?: string;
245
- }
246
- interface EntityDeletedEvent {
247
- /** Entity that was deleted. */
248
- deletedEntity?: string | null;
249
- }
250
- interface ActionEvent {
251
- body?: string;
252
- }
253
- interface MessageEnvelope {
254
- /**
255
- * App instance ID.
256
- * @format GUID
257
- */
258
- instanceId?: string | null;
259
- /**
260
- * Event type.
261
- * @maxLength 150
262
- */
263
- eventType?: string;
264
- /** The identification type and identity data. */
265
- identity?: IdentificationData;
266
- /** Stringify payload. */
267
- data?: string;
268
- /** Details related to the account */
269
- accountInfo?: AccountInfo;
270
- }
271
- interface IdentificationData extends IdentificationDataIdOneOf {
272
- /**
273
- * ID of a site visitor that has not logged in to the site.
274
- * @format GUID
275
- */
276
- anonymousVisitorId?: string;
277
- /**
278
- * ID of a site visitor that has logged in to the site.
279
- * @format GUID
280
- */
281
- memberId?: string;
282
- /**
283
- * ID of a Wix user (site owner, contributor, etc.).
284
- * @format GUID
285
- */
286
- wixUserId?: string;
287
- /**
288
- * ID of an app.
289
- * @format GUID
290
- */
291
- appId?: string;
292
- /** @readonly */
293
- identityType?: WebhookIdentityTypeWithLiterals;
294
- }
295
- /** @oneof */
296
- interface IdentificationDataIdOneOf {
297
- /**
298
- * ID of a site visitor that has not logged in to the site.
299
- * @format GUID
300
- */
301
- anonymousVisitorId?: string;
302
- /**
303
- * ID of a site visitor that has logged in to the site.
304
- * @format GUID
305
- */
306
- memberId?: string;
307
- /**
308
- * ID of a Wix user (site owner, contributor, etc.).
309
- * @format GUID
310
- */
311
- wixUserId?: string;
312
- /**
313
- * ID of an app.
314
- * @format GUID
315
- */
316
- appId?: string;
317
- }
318
- declare enum WebhookIdentityType {
319
- UNKNOWN = "UNKNOWN",
320
- ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
321
- MEMBER = "MEMBER",
322
- WIX_USER = "WIX_USER",
323
- APP = "APP"
324
- }
325
- /** @enumType */
326
- type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
327
- interface AccountInfo {
328
- /**
329
- * ID of the Wix account associated with the event.
330
- * @format GUID
331
- */
332
- accountId?: string | null;
333
- /**
334
- * ID of the parent Wix account. Only included when accountId belongs to a child account.
335
- * @format GUID
336
- */
337
- parentAccountId?: string | null;
338
- /**
339
- * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
340
- * @format GUID
341
- */
342
- siteId?: string | null;
343
- }
344
192
  interface InvalidateCache extends InvalidateCacheGetByOneOf {
345
193
  /**
346
194
  * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!
@@ -656,6 +504,25 @@ interface Sorting {
656
504
  fieldName?: string;
657
505
  /** Sort order. */
658
506
  order?: SortOrderWithLiterals;
507
+ /**
508
+ * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
509
+ * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
510
+ *
511
+ * If multiple filters are provided, they are combined with AND operator.
512
+ *
513
+ * Example:
514
+ * Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
515
+ * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
516
+ * { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
517
+ * @internal
518
+ * @maxSize 10
519
+ */
520
+ selectItemsBy?: Record<string, any>[] | null;
521
+ /**
522
+ * Origin point for geo-distance sorting on a GEO field
523
+ * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).
524
+ */
525
+ origin?: AddressLocation;
659
526
  }
660
527
  declare enum SortOrder {
661
528
  ASC = "ASC",
@@ -663,6 +530,12 @@ declare enum SortOrder {
663
530
  }
664
531
  /** @enumType */
665
532
  type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
533
+ interface AddressLocation {
534
+ /** Address latitude. */
535
+ latitude?: number | null;
536
+ /** Address longitude. */
537
+ longitude?: number | null;
538
+ }
666
539
  interface QueryMenusResponse {
667
540
  /** Retrieved menus. */
668
541
  menus?: Menu[];
@@ -672,6 +545,11 @@ interface QueryMenusResponse {
672
545
  interface UpdateMenuRequest {
673
546
  /** Menu to update. */
674
547
  menu: Menu;
548
+ /**
549
+ * Explicit list of fields to update.
550
+ * @internal
551
+ */
552
+ mask?: string[];
675
553
  }
676
554
  interface UpdateMenuResponse {
677
555
  /** Updated menu. */
@@ -760,6 +638,68 @@ interface CloneMenusRequest {
760
638
  }
761
639
  interface CloneMenusResponse {
762
640
  }
641
+ interface DomainEvent extends DomainEventBodyOneOf {
642
+ createdEvent?: EntityCreatedEvent;
643
+ updatedEvent?: EntityUpdatedEvent;
644
+ deletedEvent?: EntityDeletedEvent;
645
+ actionEvent?: ActionEvent;
646
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
647
+ _id?: string;
648
+ /**
649
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
650
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
651
+ */
652
+ entityFqdn?: string;
653
+ /**
654
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
655
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
656
+ */
657
+ slug?: string;
658
+ /** ID of the entity associated with the event. */
659
+ entityId?: string;
660
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
661
+ eventTime?: Date | null;
662
+ /**
663
+ * Whether the event was triggered as a result of a privacy regulation application
664
+ * (for example, GDPR).
665
+ */
666
+ triggeredByAnonymizeRequest?: boolean | null;
667
+ /** If present, indicates the action that triggered the event. */
668
+ originatedFrom?: string | null;
669
+ /**
670
+ * 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.
671
+ * 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.
672
+ */
673
+ entityEventSequence?: string | null;
674
+ }
675
+ /** @oneof */
676
+ interface DomainEventBodyOneOf {
677
+ createdEvent?: EntityCreatedEvent;
678
+ updatedEvent?: EntityUpdatedEvent;
679
+ deletedEvent?: EntityDeletedEvent;
680
+ actionEvent?: ActionEvent;
681
+ }
682
+ interface EntityCreatedEvent {
683
+ entity?: string;
684
+ }
685
+ interface RestoreInfo {
686
+ deletedDate?: Date | null;
687
+ }
688
+ interface EntityUpdatedEvent {
689
+ /**
690
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
691
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
692
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
693
+ */
694
+ currentEntity?: string;
695
+ }
696
+ interface EntityDeletedEvent {
697
+ /** Entity that was deleted. */
698
+ deletedEntity?: string | null;
699
+ }
700
+ interface ActionEvent {
701
+ body?: string;
702
+ }
763
703
  interface Empty {
764
704
  }
765
705
  interface SyncContentToMultilingualRequest {
@@ -771,6 +711,121 @@ interface SyncContentToMultilingualRequest {
771
711
  }
772
712
  interface SyncContentToMultilingualResponse {
773
713
  }
714
+ interface MessageEnvelope {
715
+ /**
716
+ * App instance ID.
717
+ * @format GUID
718
+ */
719
+ instanceId?: string | null;
720
+ /**
721
+ * Event type.
722
+ * @maxLength 150
723
+ */
724
+ eventType?: string;
725
+ /** The identification type and identity data. */
726
+ identity?: IdentificationData;
727
+ /** Stringify payload. */
728
+ data?: string;
729
+ /** Details related to the account */
730
+ accountInfo?: AccountInfo;
731
+ }
732
+ interface IdentificationData extends IdentificationDataIdOneOf {
733
+ /**
734
+ * ID of a site visitor that has not logged in to the site.
735
+ * @format GUID
736
+ */
737
+ anonymousVisitorId?: string;
738
+ /**
739
+ * ID of a site visitor that has logged in to the site.
740
+ * @format GUID
741
+ */
742
+ memberId?: string;
743
+ /**
744
+ * ID of a Wix user (site owner, contributor, etc.).
745
+ * @format GUID
746
+ */
747
+ wixUserId?: string;
748
+ /**
749
+ * ID of an app.
750
+ * @format GUID
751
+ */
752
+ appId?: string;
753
+ /** @readonly */
754
+ identityType?: WebhookIdentityTypeWithLiterals;
755
+ }
756
+ /** @oneof */
757
+ interface IdentificationDataIdOneOf {
758
+ /**
759
+ * ID of a site visitor that has not logged in to the site.
760
+ * @format GUID
761
+ */
762
+ anonymousVisitorId?: string;
763
+ /**
764
+ * ID of a site visitor that has logged in to the site.
765
+ * @format GUID
766
+ */
767
+ memberId?: string;
768
+ /**
769
+ * ID of a Wix user (site owner, contributor, etc.).
770
+ * @format GUID
771
+ */
772
+ wixUserId?: string;
773
+ /**
774
+ * ID of an app.
775
+ * @format GUID
776
+ */
777
+ appId?: string;
778
+ }
779
+ declare enum WebhookIdentityType {
780
+ UNKNOWN = "UNKNOWN",
781
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
782
+ MEMBER = "MEMBER",
783
+ WIX_USER = "WIX_USER",
784
+ APP = "APP"
785
+ }
786
+ /** @enumType */
787
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
788
+ interface AccountInfo {
789
+ /**
790
+ * ID of the Wix account associated with the event.
791
+ * @format GUID
792
+ */
793
+ accountId?: string | null;
794
+ /**
795
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
796
+ * @format GUID
797
+ */
798
+ parentAccountId?: string | null;
799
+ /**
800
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
801
+ * @format GUID
802
+ */
803
+ siteId?: string | null;
804
+ }
805
+ interface DuplicateMenuRequest {
806
+ /**
807
+ * Menu id to be duplicated.
808
+ * @format GUID
809
+ */
810
+ _id: string;
811
+ /**
812
+ * Business location ids to duplicate the menu to.
813
+ * @format GUID
814
+ * @maxSize 100
815
+ */
816
+ businessLocationIds?: string[] | null;
817
+ /** Indicates whether sub-entities (such as items) should be duplicated as well. */
818
+ duplicateSubEntities?: boolean | null;
819
+ /**
820
+ * The new name of the duplicated menu.
821
+ * @maxLength 500
822
+ */
823
+ menuName?: string | null;
824
+ }
825
+ interface DuplicateMenuResponse {
826
+ /** @format GUID */
827
+ menuIds?: string[];
828
+ }
774
829
  interface GetMenuSiteUrlRequest {
775
830
  /**
776
831
  * Menu ID.
@@ -842,7 +897,7 @@ interface EventMetadata extends BaseEventMetadata {
842
897
  /** If present, indicates the action that triggered the event. */
843
898
  originatedFrom?: string | null;
844
899
  /**
845
- * 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.
900
+ * 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.
846
901
  * 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.
847
902
  */
848
903
  entityEventSequence?: string | null;
@@ -856,30 +911,11 @@ interface AccountInfoMetadata {
856
911
  /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */
857
912
  parentAccountId?: string;
858
913
  }
859
- interface MenuUpdatedEnvelope {
860
- entity: Menu;
861
- metadata: EventMetadata;
862
- /** @hidden */
863
- modifiedFields: Record<string, any>;
864
- }
865
- /** @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read
866
- * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ
867
- * @permissionScope Manage Restaurants - all permissions
868
- * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
869
- * @permissionId RESTAURANTS.MENU_READ
870
- * @webhook
871
- * @eventType wix.restaurants.menus.v1.menu_updated
872
- * @slug updated
873
- * @documentationMaturity preview
874
- */
875
- declare function onMenuUpdated(handler: (event: MenuUpdatedEnvelope) => void | Promise<void>): void;
876
914
  interface MenuCreatedEnvelope {
877
915
  entity: Menu;
878
916
  metadata: EventMetadata;
879
917
  }
880
- /** @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read
881
- * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ
882
- * @permissionScope Manage Restaurants - all permissions
918
+ /** @permissionScope Manage Restaurants - all permissions
883
919
  * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
884
920
  * @permissionId RESTAURANTS.MENU_READ
885
921
  * @webhook
@@ -894,8 +930,6 @@ interface MenuDeletedEnvelope {
894
930
  }
895
931
  /**
896
932
  * Triggered when a menu is deleted.
897
- * @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read
898
- * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ
899
933
  * @permissionScope Manage Restaurants - all permissions
900
934
  * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
901
935
  * @permissionId RESTAURANTS.MENU_READ
@@ -906,30 +940,21 @@ interface MenuDeletedEnvelope {
906
940
  * @documentationMaturity preview
907
941
  */
908
942
  declare function onMenuDeleted(handler: (event: MenuDeletedEnvelope) => void | Promise<void>): void;
909
- /** @param _id - Menu id to be duplicated.
910
- * @public
943
+ interface MenuUpdatedEnvelope {
944
+ entity: Menu;
945
+ metadata: EventMetadata;
946
+ /** @hidden */
947
+ modifiedFields: Record<string, any>;
948
+ }
949
+ /** @permissionScope Manage Restaurants - all permissions
950
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
951
+ * @permissionId RESTAURANTS.MENU_READ
952
+ * @webhook
953
+ * @eventType wix.restaurants.menus.v1.menu_updated
954
+ * @slug updated
911
955
  * @documentationMaturity preview
912
- * @requiredField _id
913
- * @permissionId RESTAURANTS.MENU_CREATE
914
- * @applicableIdentity APP
915
- * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_duplicate_menu.RestaurantsDuplicateMenu.DuplicateMenu
916
956
  */
917
- declare function duplicateMenu(_id: string, options?: DuplicateMenuOptions): Promise<NonNullablePaths<DuplicateMenuResponse, `menuIds`, 2>>;
918
- interface DuplicateMenuOptions {
919
- /**
920
- * Business location ids to duplicate the menu to.
921
- * @format GUID
922
- * @maxSize 100
923
- */
924
- businessLocationIds?: string[] | null;
925
- /** Indicates whether sub-entities (such as items) should be duplicated as well. */
926
- duplicateSubEntities?: boolean | null;
927
- /**
928
- * The new name of the duplicated menu.
929
- * @maxLength 500
930
- */
931
- menuName?: string | null;
932
- }
957
+ declare function onMenuUpdated(handler: (event: MenuUpdatedEnvelope) => void | Promise<void>): void;
933
958
  /**
934
959
  * > **Note:** The Menus API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
935
960
  *
@@ -1175,6 +1200,25 @@ type MenuQuery = {
1175
1200
  Sort order.
1176
1201
  */
1177
1202
  order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];
1203
+ /**
1204
+ When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
1205
+ a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
1206
+
1207
+ If multiple filters are provided, they are combined with AND operator.
1208
+
1209
+ Example:
1210
+ Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
1211
+ and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
1212
+ { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
1213
+ @internal: undefined,
1214
+ @maxSize: 10
1215
+ */
1216
+ selectItemsBy?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['selectItemsBy'] | null;
1217
+ /**
1218
+ Origin point for geo-distance sorting on a GEO field
1219
+ results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).
1220
+ */
1221
+ origin?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['origin'];
1178
1222
  }[];
1179
1223
  };
1180
1224
  declare const utils: {
@@ -1254,6 +1298,12 @@ interface UpdateMenu {
1254
1298
  urlQueryParam?: string | null;
1255
1299
  /** Custom SEO data for the menu. */
1256
1300
  seoData?: SeoSchema;
1301
+ /**
1302
+ * Information about the business location where this menu is available. This information is taken from the `Location` object ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) corresponding with this menu's `businessLocationId`.
1303
+ * @internal
1304
+ * @readonly
1305
+ */
1306
+ businessLocationDetails?: BusinessLocationDetails;
1257
1307
  /**
1258
1308
  * ID of the business location ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) where this menu is available.
1259
1309
  * @format GUID
@@ -1261,6 +1311,17 @@ interface UpdateMenu {
1261
1311
  * @readonly
1262
1312
  */
1263
1313
  businessLocationId?: string | null;
1314
+ /**
1315
+ * @internal
1316
+ * @readonly
1317
+ * @maxLength 150
1318
+ */
1319
+ oloMigrationMenuId?: string | null;
1320
+ /**
1321
+ * References to an external app and resource associated with this object. Used for integration and tracking across different platforms.
1322
+ * @internal
1323
+ */
1324
+ externalReferenceInfo?: ExternalReferenceInfo;
1264
1325
  }
1265
1326
  /**
1266
1327
  * > **Note:** The Menu API only works with the Wix Restaurants Menus app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).
@@ -1315,6 +1376,30 @@ interface UpdateExtendedFieldsOptions {
1315
1376
  * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.DeleteMenu
1316
1377
  */
1317
1378
  declare function deleteMenu(menuId: string): Promise<void>;
1379
+ /** @param _id - Menu id to be duplicated.
1380
+ * @public
1381
+ * @documentationMaturity preview
1382
+ * @requiredField _id
1383
+ * @permissionId RESTAURANTS.MENU_CREATE
1384
+ * @applicableIdentity APP
1385
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_duplicate_menu.RestaurantsDuplicateMenu.DuplicateMenu
1386
+ */
1387
+ declare function duplicateMenu(_id: string, options?: DuplicateMenuOptions): Promise<NonNullablePaths<DuplicateMenuResponse, `menuIds`, 2>>;
1388
+ interface DuplicateMenuOptions {
1389
+ /**
1390
+ * Business location ids to duplicate the menu to.
1391
+ * @format GUID
1392
+ * @maxSize 100
1393
+ */
1394
+ businessLocationIds?: string[] | null;
1395
+ /** Indicates whether sub-entities (such as items) should be duplicated as well. */
1396
+ duplicateSubEntities?: boolean | null;
1397
+ /**
1398
+ * The new name of the duplicated menu.
1399
+ * @maxLength 500
1400
+ */
1401
+ menuName?: string | null;
1402
+ }
1318
1403
  /**
1319
1404
  * Get menu details and path URL by menu ID.
1320
1405
  * @param _id - Menu ID.
@@ -1340,4 +1425,4 @@ interface QueryMenusSiteUrlOptions {
1340
1425
  query?: CursorQuery;
1341
1426
  }
1342
1427
 
1343
- export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type App, type ApplicationError, type BaseEventMetadata, type BulkActionMetadata, type BulkCreateMenuResult, type BulkCreateMenusOptions, type BulkCreateMenusRequest, type BulkCreateMenusResponse, type BulkMenuResult, type BulkUpdateMenuOptions, type BulkUpdateMenuRequest, type BulkUpdateMenuResponse, type BusinessLocationDetails, type CloneMenusRequest, type CloneMenusResponse, type CommonQueryWithEntityContext, type CreateMenuRequest, type CreateMenuResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type CustomTag, type DeleteMenuRequest, type DeleteMenuResponse, type DeleteOrphanSections, type DomainEvent, type DomainEventBodyOneOf, type DuplicateMenuOptions, type DuplicateMenuRequest, type DuplicateMenuResponse, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type ExternalReferenceInfo, type File, type GetMenuRequest, type GetMenuResponse, type GetMenuSiteUrlRequest, type GetMenuSiteUrlResponse, type IdentificationData, type IdentificationDataIdOneOf, type InvalidateCache, type InvalidateCacheGetByOneOf, type ItemMetadata, type Keyword, type ListMenusOptions, type ListMenusRequest, type ListMenusResponse, type MaskedMenu, type Menu, type MenuCreatedEnvelope, type MenuDeletedEnvelope, type MenuQuery, type MenuQuerySpec, type MenuSiteUrl, type MenuUpdatedEnvelope, type MenusDataCloningCompleted, type MenusQueryBuilder, type MenusQueryResult, type MessageEnvelope, type Page, type Pages, type QueryMenusRequest, type QueryMenusResponse, type QueryMenusSiteUrlOptions, type QueryMenusSiteUrlRequest, type QueryMenusSiteUrlResponse, type RestoreInfo, type RunMenusMultiLocationMigrationRequest, type RunMenusMultiLocationMigrationResponse, type SeoSchema, type Settings, SortOrder, type SortOrderWithLiterals, type Sorting, type SyncContentToMultilingualRequest, type SyncContentToMultilingualResponse, type Tag, type URI, type URIs, type UpdateBusinessLocationIdRequest, type UpdateBusinessLocationIdResponse, type UpdateExtendedFieldsOptions, type UpdateExtendedFieldsRequest, type UpdateExtendedFieldsResponse, type UpdateMenu, type UpdateMenuRequest, type UpdateMenuResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateMenus, bulkUpdateMenu, createMenu, deleteMenu, duplicateMenu, getMenu, getMenuSiteUrl, listMenus, onMenuCreated, onMenuDeleted, onMenuUpdated, queryMenus, queryMenusSiteUrl, typedQueryMenus, updateExtendedFields, updateMenu, utils };
1428
+ export { type AccountInfo, type AccountInfoMetadata, type ActionEvent, type AddressLocation, type App, type ApplicationError, type BaseEventMetadata, type BulkActionMetadata, type BulkCreateMenuResult, type BulkCreateMenusOptions, type BulkCreateMenusRequest, type BulkCreateMenusResponse, type BulkMenuResult, type BulkUpdateMenuOptions, type BulkUpdateMenuRequest, type BulkUpdateMenuResponse, type BusinessLocationDetails, type CloneMenusRequest, type CloneMenusResponse, type CommonQueryWithEntityContext, type CreateMenuRequest, type CreateMenuResponse, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type CustomTag, type DeleteMenuRequest, type DeleteMenuResponse, type DeleteOrphanSections, type DomainEvent, type DomainEventBodyOneOf, type DuplicateMenuOptions, type DuplicateMenuRequest, type DuplicateMenuResponse, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type ExtendedFields, type ExternalReferenceInfo, type File, type GetMenuRequest, type GetMenuResponse, type GetMenuSiteUrlRequest, type GetMenuSiteUrlResponse, type IdentificationData, type IdentificationDataIdOneOf, type InvalidateCache, type InvalidateCacheGetByOneOf, type ItemMetadata, type Keyword, type ListMenusOptions, type ListMenusRequest, type ListMenusResponse, type MaskedMenu, type Menu, type MenuCreatedEnvelope, type MenuDeletedEnvelope, type MenuQuery, type MenuQuerySpec, type MenuSiteUrl, type MenuUpdatedEnvelope, type MenusDataCloningCompleted, type MenusQueryBuilder, type MenusQueryResult, type MessageEnvelope, type Page, type Pages, type QueryMenusRequest, type QueryMenusResponse, type QueryMenusSiteUrlOptions, type QueryMenusSiteUrlRequest, type QueryMenusSiteUrlResponse, type RestoreInfo, type RunMenusMultiLocationMigrationRequest, type RunMenusMultiLocationMigrationResponse, type SeoSchema, type Settings, SortOrder, type SortOrderWithLiterals, type Sorting, type SyncContentToMultilingualRequest, type SyncContentToMultilingualResponse, type Tag, type URI, type URIs, type UpdateBusinessLocationIdRequest, type UpdateBusinessLocationIdResponse, type UpdateExtendedFieldsOptions, type UpdateExtendedFieldsRequest, type UpdateExtendedFieldsResponse, type UpdateMenu, type UpdateMenuRequest, type UpdateMenuResponse, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateMenus, bulkUpdateMenu, createMenu, deleteMenu, duplicateMenu, getMenu, getMenuSiteUrl, listMenus, onMenuCreated, onMenuDeleted, onMenuUpdated, queryMenus, queryMenusSiteUrl, typedQueryMenus, updateExtendedFields, updateMenu, utils };