@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
@@ -109,7 +109,15 @@ interface Tag {
109
109
  meta?: Record<string, any> | null;
110
110
  /** SEO tag inner content. For example, `<title> inner content </title>`. */
111
111
  children?: string;
112
- /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */
112
+ /**
113
+ * Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages).
114
+ *
115
+ * Limitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read
116
+ * only from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor
117
+ * or Wix Studio pages, so custom tags saved on those pages are missing from the response entirely. For
118
+ * those pages `false` therefore does not mean "not a custom tag" — it means this API could not tell.
119
+ * Pass `seoData` explicitly to resolve against a known set of tags.
120
+ */
113
121
  custom?: boolean;
114
122
  /** 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
123
  disabled?: boolean;
@@ -164,183 +172,6 @@ interface ExternalReferenceInfo {
164
172
  /** Whether the connection to the external system is currently active. */
165
173
  connected?: boolean | null;
166
174
  }
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
175
  interface InvalidateCache extends InvalidateCacheGetByOneOf {
345
176
  /**
346
177
  * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!
@@ -656,6 +487,11 @@ interface Sorting {
656
487
  fieldName?: string;
657
488
  /** Sort order. */
658
489
  order?: SortOrderWithLiterals;
490
+ /**
491
+ * Origin point for geo-distance sorting on a GEO field
492
+ * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).
493
+ */
494
+ origin?: AddressLocation;
659
495
  }
660
496
  declare enum SortOrder {
661
497
  ASC = "ASC",
@@ -663,6 +499,12 @@ declare enum SortOrder {
663
499
  }
664
500
  /** @enumType */
665
501
  type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';
502
+ interface AddressLocation {
503
+ /** Address latitude. */
504
+ latitude?: number | null;
505
+ /** Address longitude. */
506
+ longitude?: number | null;
507
+ }
666
508
  interface QueryMenusResponse {
667
509
  /** Retrieved menus. */
668
510
  menus?: Menu[];
@@ -760,6 +602,68 @@ interface CloneMenusRequest {
760
602
  }
761
603
  interface CloneMenusResponse {
762
604
  }
605
+ interface DomainEvent extends DomainEventBodyOneOf {
606
+ createdEvent?: EntityCreatedEvent;
607
+ updatedEvent?: EntityUpdatedEvent;
608
+ deletedEvent?: EntityDeletedEvent;
609
+ actionEvent?: ActionEvent;
610
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
611
+ _id?: string;
612
+ /**
613
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
614
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
615
+ */
616
+ entityFqdn?: string;
617
+ /**
618
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
619
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
620
+ */
621
+ slug?: string;
622
+ /** ID of the entity associated with the event. */
623
+ entityId?: string;
624
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
625
+ eventTime?: Date | null;
626
+ /**
627
+ * Whether the event was triggered as a result of a privacy regulation application
628
+ * (for example, GDPR).
629
+ */
630
+ triggeredByAnonymizeRequest?: boolean | null;
631
+ /** If present, indicates the action that triggered the event. */
632
+ originatedFrom?: string | null;
633
+ /**
634
+ * 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.
635
+ * 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.
636
+ */
637
+ entityEventSequence?: string | null;
638
+ }
639
+ /** @oneof */
640
+ interface DomainEventBodyOneOf {
641
+ createdEvent?: EntityCreatedEvent;
642
+ updatedEvent?: EntityUpdatedEvent;
643
+ deletedEvent?: EntityDeletedEvent;
644
+ actionEvent?: ActionEvent;
645
+ }
646
+ interface EntityCreatedEvent {
647
+ entity?: string;
648
+ }
649
+ interface RestoreInfo {
650
+ deletedDate?: Date | null;
651
+ }
652
+ interface EntityUpdatedEvent {
653
+ /**
654
+ * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
655
+ * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
656
+ * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
657
+ */
658
+ currentEntity?: string;
659
+ }
660
+ interface EntityDeletedEvent {
661
+ /** Entity that was deleted. */
662
+ deletedEntity?: string | null;
663
+ }
664
+ interface ActionEvent {
665
+ body?: string;
666
+ }
763
667
  interface Empty {
764
668
  }
765
669
  interface SyncContentToMultilingualRequest {
@@ -771,6 +675,121 @@ interface SyncContentToMultilingualRequest {
771
675
  }
772
676
  interface SyncContentToMultilingualResponse {
773
677
  }
678
+ interface MessageEnvelope {
679
+ /**
680
+ * App instance ID.
681
+ * @format GUID
682
+ */
683
+ instanceId?: string | null;
684
+ /**
685
+ * Event type.
686
+ * @maxLength 150
687
+ */
688
+ eventType?: string;
689
+ /** The identification type and identity data. */
690
+ identity?: IdentificationData;
691
+ /** Stringify payload. */
692
+ data?: string;
693
+ /** Details related to the account */
694
+ accountInfo?: AccountInfo;
695
+ }
696
+ interface IdentificationData extends IdentificationDataIdOneOf {
697
+ /**
698
+ * ID of a site visitor that has not logged in to the site.
699
+ * @format GUID
700
+ */
701
+ anonymousVisitorId?: string;
702
+ /**
703
+ * ID of a site visitor that has logged in to the site.
704
+ * @format GUID
705
+ */
706
+ memberId?: string;
707
+ /**
708
+ * ID of a Wix user (site owner, contributor, etc.).
709
+ * @format GUID
710
+ */
711
+ wixUserId?: string;
712
+ /**
713
+ * ID of an app.
714
+ * @format GUID
715
+ */
716
+ appId?: string;
717
+ /** @readonly */
718
+ identityType?: WebhookIdentityTypeWithLiterals;
719
+ }
720
+ /** @oneof */
721
+ interface IdentificationDataIdOneOf {
722
+ /**
723
+ * ID of a site visitor that has not logged in to the site.
724
+ * @format GUID
725
+ */
726
+ anonymousVisitorId?: string;
727
+ /**
728
+ * ID of a site visitor that has logged in to the site.
729
+ * @format GUID
730
+ */
731
+ memberId?: string;
732
+ /**
733
+ * ID of a Wix user (site owner, contributor, etc.).
734
+ * @format GUID
735
+ */
736
+ wixUserId?: string;
737
+ /**
738
+ * ID of an app.
739
+ * @format GUID
740
+ */
741
+ appId?: string;
742
+ }
743
+ declare enum WebhookIdentityType {
744
+ UNKNOWN = "UNKNOWN",
745
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
746
+ MEMBER = "MEMBER",
747
+ WIX_USER = "WIX_USER",
748
+ APP = "APP"
749
+ }
750
+ /** @enumType */
751
+ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
752
+ interface AccountInfo {
753
+ /**
754
+ * ID of the Wix account associated with the event.
755
+ * @format GUID
756
+ */
757
+ accountId?: string | null;
758
+ /**
759
+ * ID of the parent Wix account. Only included when accountId belongs to a child account.
760
+ * @format GUID
761
+ */
762
+ parentAccountId?: string | null;
763
+ /**
764
+ * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.
765
+ * @format GUID
766
+ */
767
+ siteId?: string | null;
768
+ }
769
+ interface DuplicateMenuRequest {
770
+ /**
771
+ * Menu id to be duplicated.
772
+ * @format GUID
773
+ */
774
+ _id: string;
775
+ /**
776
+ * Business location ids to duplicate the menu to.
777
+ * @format GUID
778
+ * @maxSize 100
779
+ */
780
+ businessLocationIds?: string[] | null;
781
+ /** Indicates whether sub-entities (such as items) should be duplicated as well. */
782
+ duplicateSubEntities?: boolean | null;
783
+ /**
784
+ * The new name of the duplicated menu.
785
+ * @maxLength 500
786
+ */
787
+ menuName?: string | null;
788
+ }
789
+ interface DuplicateMenuResponse {
790
+ /** @format GUID */
791
+ menuIds?: string[];
792
+ }
774
793
  interface GetMenuSiteUrlRequest {
775
794
  /**
776
795
  * Menu ID.
@@ -842,7 +861,7 @@ interface EventMetadata extends BaseEventMetadata {
842
861
  /** If present, indicates the action that triggered the event. */
843
862
  originatedFrom?: string | null;
844
863
  /**
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.
864
+ * 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
865
  * 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
866
  */
848
867
  entityEventSequence?: string | null;
@@ -856,30 +875,11 @@ interface AccountInfoMetadata {
856
875
  /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */
857
876
  parentAccountId?: string;
858
877
  }
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
878
  interface MenuCreatedEnvelope {
877
879
  entity: Menu;
878
880
  metadata: EventMetadata;
879
881
  }
880
- /** @permissionScope Wix Multilingual - Nile Wrapper Domain Events Read
881
- * @permissionScopeId SCOPE.MULTILINGUAL.NILE_WRAPPER_DOMAIN_EVENTS_READ
882
- * @permissionScope Manage Restaurants - all permissions
882
+ /** @permissionScope Manage Restaurants - all permissions
883
883
  * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
884
884
  * @permissionId RESTAURANTS.MENU_READ
885
885
  * @webhook
@@ -894,8 +894,6 @@ interface MenuDeletedEnvelope {
894
894
  }
895
895
  /**
896
896
  * 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
897
  * @permissionScope Manage Restaurants - all permissions
900
898
  * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
901
899
  * @permissionId RESTAURANTS.MENU_READ
@@ -906,30 +904,21 @@ interface MenuDeletedEnvelope {
906
904
  * @documentationMaturity preview
907
905
  */
908
906
  declare function onMenuDeleted(handler: (event: MenuDeletedEnvelope) => void | Promise<void>): void;
909
- /** @param _id - Menu id to be duplicated.
910
- * @public
907
+ interface MenuUpdatedEnvelope {
908
+ entity: Menu;
909
+ metadata: EventMetadata;
910
+ /** @hidden */
911
+ modifiedFields: Record<string, any>;
912
+ }
913
+ /** @permissionScope Manage Restaurants - all permissions
914
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
915
+ * @permissionId RESTAURANTS.MENU_READ
916
+ * @webhook
917
+ * @eventType wix.restaurants.menus.v1.menu_updated
918
+ * @slug updated
911
919
  * @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
920
  */
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
- }
921
+ declare function onMenuUpdated(handler: (event: MenuUpdatedEnvelope) => void | Promise<void>): void;
933
922
  /**
934
923
  * > **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
924
  *
@@ -1175,6 +1164,11 @@ type MenuQuery = {
1175
1164
  Sort order.
1176
1165
  */
1177
1166
  order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];
1167
+ /**
1168
+ Origin point for geo-distance sorting on a GEO field
1169
+ results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).
1170
+ */
1171
+ origin?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['origin'];
1178
1172
  }[];
1179
1173
  };
1180
1174
  declare const utils: {
@@ -1315,6 +1309,30 @@ interface UpdateExtendedFieldsOptions {
1315
1309
  * @fqn com.wixpress.restaurants.menus_menu.v1.RestaurantsMenusMenu.DeleteMenu
1316
1310
  */
1317
1311
  declare function deleteMenu(menuId: string): Promise<void>;
1312
+ /** @param _id - Menu id to be duplicated.
1313
+ * @public
1314
+ * @documentationMaturity preview
1315
+ * @requiredField _id
1316
+ * @permissionId RESTAURANTS.MENU_CREATE
1317
+ * @applicableIdentity APP
1318
+ * @fqn com.wixpress.restaurants.menus_menu.v1.restaurants_duplicate_menu.RestaurantsDuplicateMenu.DuplicateMenu
1319
+ */
1320
+ declare function duplicateMenu(_id: string, options?: DuplicateMenuOptions): Promise<NonNullablePaths<DuplicateMenuResponse, `menuIds`, 2>>;
1321
+ interface DuplicateMenuOptions {
1322
+ /**
1323
+ * Business location ids to duplicate the menu to.
1324
+ * @format GUID
1325
+ * @maxSize 100
1326
+ */
1327
+ businessLocationIds?: string[] | null;
1328
+ /** Indicates whether sub-entities (such as items) should be duplicated as well. */
1329
+ duplicateSubEntities?: boolean | null;
1330
+ /**
1331
+ * The new name of the duplicated menu.
1332
+ * @maxLength 500
1333
+ */
1334
+ menuName?: string | null;
1335
+ }
1318
1336
  /**
1319
1337
  * Get menu details and path URL by menu ID.
1320
1338
  * @param _id - Menu ID.
@@ -1340,4 +1358,4 @@ interface QueryMenusSiteUrlOptions {
1340
1358
  query?: CursorQuery;
1341
1359
  }
1342
1360
 
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 };
1361
+ 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 };