@wix/auto_sdk_table-reservations_experiences 1.0.27 → 1.0.28

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 (41) hide show
  1. package/build/cjs/index.d.ts +2 -2
  2. package/build/cjs/index.js +7 -0
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +2 -2
  5. package/build/cjs/index.typings.js +7 -0
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +16 -2
  8. package/build/cjs/meta.js +7 -0
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/cjs/{table-reservations-v1-experience-experiences.universal-BkaxOWv3.d.ts → table-reservations-v1-experience-experiences.universal-BODKK8eH.d.ts} +15 -1
  11. package/build/es/index.d.mts +2 -2
  12. package/build/es/index.mjs +6 -0
  13. package/build/es/index.mjs.map +1 -1
  14. package/build/es/index.typings.d.mts +2 -2
  15. package/build/es/index.typings.mjs +6 -0
  16. package/build/es/index.typings.mjs.map +1 -1
  17. package/build/es/meta.d.mts +16 -2
  18. package/build/es/meta.mjs +6 -0
  19. package/build/es/meta.mjs.map +1 -1
  20. package/build/es/{table-reservations-v1-experience-experiences.universal-BkaxOWv3.d.mts → table-reservations-v1-experience-experiences.universal-BODKK8eH.d.mts} +15 -1
  21. package/build/internal/cjs/index.d.ts +2 -2
  22. package/build/internal/cjs/index.js +7 -0
  23. package/build/internal/cjs/index.js.map +1 -1
  24. package/build/internal/cjs/index.typings.d.ts +2 -2
  25. package/build/internal/cjs/index.typings.js +7 -0
  26. package/build/internal/cjs/index.typings.js.map +1 -1
  27. package/build/internal/cjs/meta.d.ts +16 -2
  28. package/build/internal/cjs/meta.js +7 -0
  29. package/build/internal/cjs/meta.js.map +1 -1
  30. package/build/internal/cjs/{table-reservations-v1-experience-experiences.universal-BkaxOWv3.d.ts → table-reservations-v1-experience-experiences.universal-BODKK8eH.d.ts} +15 -1
  31. package/build/internal/es/index.d.mts +2 -2
  32. package/build/internal/es/index.mjs +6 -0
  33. package/build/internal/es/index.mjs.map +1 -1
  34. package/build/internal/es/index.typings.d.mts +2 -2
  35. package/build/internal/es/index.typings.mjs +6 -0
  36. package/build/internal/es/index.typings.mjs.map +1 -1
  37. package/build/internal/es/meta.d.mts +16 -2
  38. package/build/internal/es/meta.mjs +6 -0
  39. package/build/internal/es/meta.mjs.map +1 -1
  40. package/build/internal/es/{table-reservations-v1-experience-experiences.universal-BkaxOWv3.d.mts → table-reservations-v1-experience-experiences.universal-BODKK8eH.d.mts} +15 -1
  41. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/table-reservations-v1-experience-experiences.public.ts","../../src/table-reservations-v1-experience-experiences.universal.ts","../../src/table-reservations-v1-experience-experiences.http.ts","../../src/table-reservations-v1-experience-experiences.context.ts"],"sourcesContent":["export * from './src/table-reservations-v1-experience-experiences.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkUpdateExperienceTagsApplicationErrors,\n BulkUpdateExperienceTagsByFilterApplicationErrors,\n BulkUpdateExperienceTagsByFilterOptions,\n BulkUpdateExperienceTagsByFilterResponse,\n BulkUpdateExperienceTagsOptions,\n BulkUpdateExperienceTagsResponse,\n Experience,\n ExperienceCreatedEnvelope,\n ExperienceQuery,\n ExperienceSearch,\n ExperienceTagsModifiedEnvelope,\n ExperienceUpdatedEnvelope,\n ExperiencesQueryBuilder,\n GetExperienceBySlugResponse,\n QueryExperiencesResponse,\n SearchExperiencesResponse,\n UpdateExperience,\n UpdateExperienceApplicationErrors,\n bulkUpdateExperienceTags as universalBulkUpdateExperienceTags,\n bulkUpdateExperienceTagsByFilter as universalBulkUpdateExperienceTagsByFilter,\n createExperience as universalCreateExperience,\n getExperience as universalGetExperience,\n getExperienceBySlug as universalGetExperienceBySlug,\n queryExperiences as universalQueryExperiences,\n searchExperiences as universalSearchExperiences,\n typedQueryExperiences as universalTypedQueryExperiences,\n updateExperience as universalUpdateExperience,\n} from './table-reservations-v1-experience-experiences.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/table-reservations' };\n\nexport function createExperience(\n httpClient: HttpClient\n): CreateExperienceSignature {\n return (\n experience: NonNullablePaths<\n Experience,\n | `configuration`\n | `configuration.displayInfo`\n | `configuration.displayInfo.name`\n | `configuration.onlineReservations`\n | `configuration.onlineReservations.approval`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.maxGuests.number`\n | `configuration.onlineReservations.maximumReservationNotice.number`\n | `configuration.onlineReservations.maximumReservationNotice.unit`\n | `configuration.onlineReservations.minimumReservationNotice.number`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.partySize`\n | `configuration.onlineReservations.partySize.max`\n | `configuration.onlineReservations.partySize.min`\n | `configuration.paymentPolicy`\n | `configuration.paymentPolicy.paymentPolicyType`\n | `reservationLocationId`,\n 5\n >\n ) =>\n universalCreateExperience(\n experience,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateExperienceSignature {\n /**\n * Creates an experience.\n * @param - Experience to create.\n * @returns Created experience.\n */\n (\n experience: NonNullablePaths<\n Experience,\n | `configuration`\n | `configuration.displayInfo`\n | `configuration.displayInfo.name`\n | `configuration.onlineReservations`\n | `configuration.onlineReservations.approval`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.maxGuests.number`\n | `configuration.onlineReservations.maximumReservationNotice.number`\n | `configuration.onlineReservations.maximumReservationNotice.unit`\n | `configuration.onlineReservations.minimumReservationNotice.number`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.partySize`\n | `configuration.onlineReservations.partySize.max`\n | `configuration.onlineReservations.partySize.min`\n | `configuration.paymentPolicy`\n | `configuration.paymentPolicy.paymentPolicyType`\n | `reservationLocationId`,\n 5\n >\n ): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n >;\n}\n\nexport function getExperience(httpClient: HttpClient): GetExperienceSignature {\n return (experienceId: string) =>\n universalGetExperience(\n experienceId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetExperienceSignature {\n /**\n * Retrieves an experience.\n * @param - ID of the experience to retrieve.\n * @returns Retrieved experience.\n */\n (experienceId: string): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n >;\n}\n\nexport function getExperienceBySlug(\n httpClient: HttpClient\n): GetExperienceBySlugSignature {\n return (slug: string) =>\n universalGetExperienceBySlug(\n slug,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetExperienceBySlugSignature {\n /**\n * Retrieves an experience.\n * @param - ID of the experience to retrieve.\n */\n (slug: string): Promise<\n NonNullablePaths<\n GetExperienceBySlugResponse,\n | `experience.configuration.paymentPolicy.paymentPolicyType`\n | `experience.configuration.onlineReservations.minimumReservationNotice.unit`\n | `experience.configuration.onlineReservations.approval.mode`\n | `experience.configuration.onlineReservations.businessSchedule.entries`\n | `experience.configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `experience.configuration.reservationForm.customFieldDefinitions`\n | `experience.tags.privateTags.tagIds`\n | `experience.seoSettings.seoSchema.tags`\n | `experience.seoSettings.seoSchema.tags.${number}.type`\n | `experience.seoSettings.seoSchema.tags.${number}.children`\n | `experience.seoSettings.seoSchema.tags.${number}.custom`\n | `experience.seoSettings.seoSchema.tags.${number}.disabled`\n | `experience.seoSettings.seoSchema.settings.preventAutoRedirect`\n | `experience.seoSettings.seoSchema.settings.keywords`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.term`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 8\n >\n >;\n}\n\nexport function updateExperience(\n httpClient: HttpClient\n): UpdateExperienceSignature {\n return (\n _id: string,\n experience: NonNullablePaths<UpdateExperience, `revision`, 2>\n ) =>\n universalUpdateExperience(\n _id,\n experience,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateExperienceSignature {\n /**\n * Updates an experience.\n *\n * Each time the experience is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the experience.\n * This ensures you're working with the latest experience information and prevents unintended overwrites.\n * @param - Experience ID.\n * @returns Updated experience.\n */\n (\n _id: string,\n experience: NonNullablePaths<UpdateExperience, `revision`, 2>\n ): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateExperienceApplicationErrors;\n }\n >;\n}\n\nexport function queryExperiences(\n httpClient: HttpClient\n): QueryExperiencesSignature {\n return () =>\n universalQueryExperiences(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryExperiencesSignature {\n /**\n * Retrieves a list of experiences using the specified paging, filtering, and sorting.\n *\n * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/sorting-and-filtering) article.\n * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n */\n (): ExperiencesQueryBuilder;\n}\n\nexport function typedQueryExperiences(\n httpClient: HttpClient\n): TypedQueryExperiencesSignature {\n return (query: ExperienceQuery) =>\n universalTypedQueryExperiences(\n query,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryExperiencesSignature {\n /** */\n (query: ExperienceQuery): Promise<\n NonNullablePaths<\n QueryExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`,\n 6\n >\n >;\n}\n\nexport function searchExperiences(\n httpClient: HttpClient\n): SearchExperiencesSignature {\n return (search: ExperienceSearch) =>\n universalSearchExperiences(\n search,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchExperiencesSignature {\n /**\n * Use this method to search the fields of the experiences on a site for a given expression.\n *\n * You can also use this method to perform data aggregations on a site's experience fields.\n * @param - Search query.\n */\n (search: ExperienceSearch): Promise<\n NonNullablePaths<\n SearchExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n >;\n}\n\nexport function bulkUpdateExperienceTags(\n httpClient: HttpClient\n): BulkUpdateExperienceTagsSignature {\n return (experienceIds: string[], options?: BulkUpdateExperienceTagsOptions) =>\n universalBulkUpdateExperienceTags(\n experienceIds,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateExperienceTagsSignature {\n /**\n * Synchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences by experience IDs. A tag that appears in both assign and unassign lists is assigned.\n * @param - List of experience IDs to update tags for.\n */\n (experienceIds: string[], options?: BulkUpdateExperienceTagsOptions): Promise<\n NonNullablePaths<\n BulkUpdateExperienceTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateExperienceTagsApplicationErrors;\n }\n >;\n}\n\nexport function bulkUpdateExperienceTagsByFilter(\n httpClient: HttpClient\n): BulkUpdateExperienceTagsByFilterSignature {\n return (\n filter: Record<string, any>,\n options?: BulkUpdateExperienceTagsByFilterOptions\n ) =>\n universalBulkUpdateExperienceTagsByFilter(\n filter,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateExperienceTagsByFilterSignature {\n /**\n * Asynchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences using filter criteria. An empty filter updates all experiences. A tag that appears in both assign and unassign lists is assigned.\n * @param - Filter criteria to select experiences for tag updates.\n */\n (\n filter: Record<string, any>,\n options?: BulkUpdateExperienceTagsByFilterOptions\n ): Promise<\n NonNullablePaths<BulkUpdateExperienceTagsByFilterResponse, `jobId`, 2> & {\n __applicationErrorsType?: BulkUpdateExperienceTagsByFilterApplicationErrors;\n }\n >;\n}\n\nexport const onExperienceCreated = EventDefinition(\n 'wix.table_reservations.v1.experience_created',\n true,\n (event: ExperienceCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.experiencePageUrl' },\n { path: 'entity.configuration.reservationForm.privacyPolicy.url' },\n {\n path: 'entity.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.configuration.displayInfo.coverImage' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ])\n )\n)<ExperienceCreatedEnvelope>();\nexport const onExperienceTagsModified = EventDefinition(\n 'wix.table_reservations.v1.experience_tags_modified',\n true,\n (event: ExperienceTagsModifiedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.experience.createdDate' },\n { path: 'data.experience.updatedDate' },\n {\n path: 'data.experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'data.experience.experiencePageUrl' },\n {\n path: 'data.experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'data.experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'data.experience.configuration.displayInfo.coverImage' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ])\n )\n)<ExperienceTagsModifiedEnvelope>();\nexport const onExperienceUpdated = EventDefinition(\n 'wix.table_reservations.v1.experience_updated',\n true,\n (event: ExperienceUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.experiencePageUrl' },\n { path: 'entity.configuration.reservationForm.privacyPolicy.url' },\n {\n path: 'entity.configuration.reservationForm.termsAndConditions.url',\n },\n { path: 'modifiedFields.experiencePageUrl' },\n {\n path: 'modifiedFields.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'modifiedFields.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.configuration.displayInfo.coverImage' },\n { path: 'modifiedFields.configuration.displayInfo.coverImage' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ])\n )\n)<ExperienceUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n Address,\n AddressHint,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationResultsScalarResult,\n AggregationType,\n Alignment,\n AnchorData,\n App,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n Approval,\n AspectRatio,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundImage,\n BackgroundType,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n BorderWidths,\n BulkActionMetadata,\n BulkArchiveExperiencesRequest,\n BulkArchiveExperiencesResponse,\n BulkArchiveExperiencesResult,\n BulkUnarchiveExperiencesRequest,\n BulkUnarchiveExperiencesResponse,\n BulkUnarchiveExperiencesResult,\n BulkUpdateExperienceTagsByFilterOptions,\n BulkUpdateExperienceTagsByFilterRequest,\n BulkUpdateExperienceTagsByFilterResponse,\n BulkUpdateExperienceTagsOptions,\n BulkUpdateExperienceTagsRequest,\n BulkUpdateExperienceTagsResponse,\n BulkUpdateExperienceTagsResult,\n BulletedListData,\n BusinessSchedule,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardStyles,\n Categories,\n CellStyle,\n ChangeContext,\n ChangeContextPayloadOneOf,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n Configuration,\n ConsentPolicy,\n CreateExperienceRequest,\n CreateExperienceResponse,\n Crop,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomFieldDefinition,\n CustomTag,\n DateHistogramAggregation,\n DateHistogramResult,\n DateHistogramResults,\n DayOfWeek,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n Design,\n DesignTarget,\n Dimensions,\n Direction,\n DisplayInfo,\n DividerData,\n DividerDataAlignment,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n EmailMarketingCheckbox,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n Entry,\n EntryRecurrenceOptionsOneOf,\n EventData,\n EventMetadata,\n Experience,\n ExperienceCreatedEnvelope,\n ExperienceQuerySpec,\n ExperienceSearchSpec,\n ExperienceTagsModifiedEnvelope,\n ExperienceUpdatedEnvelope,\n ExperiencesQueryBuilder,\n ExperiencesQueryResult,\n ExtendedFields,\n File,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FontFamilyData,\n FontSizeData,\n FontType,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n GeoCoordinates,\n GetExperienceBySlugRequest,\n GetExperienceBySlugResponse,\n GetExperienceRequest,\n GetExperienceResponse,\n Gradient,\n GroupByValueResults,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n ImagePosition,\n ImageStyles,\n IncludeMissingValuesOptions,\n InitialExpandedItems,\n Interval,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n Item,\n ItemDataOneOf,\n ItemMetadata,\n ItemStyle,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutData,\n LayoutType,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListValue,\n Locale,\n MapData,\n MapSettings,\n MapType,\n MaxGuests,\n Media,\n MentionData,\n MessageEnvelope,\n Metadata,\n MissingValues,\n Mode,\n Multilingual,\n NestedAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n NestedAggregationType,\n NestedResultValue,\n NestedResultValueResultOneOf,\n NestedResults,\n NestedValueAggregationResult,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NoticePeriod,\n NullValue,\n Oembed,\n OnOptions,\n OnOptionsOptionsOneOf,\n OneTimeOptions,\n OnlineReservations,\n OnlineReservationsBusinessSchedule,\n Option,\n OptionDesign,\n OptionLayout,\n OrderedListData,\n Orientation,\n PDFSettings,\n Page,\n ParagraphData,\n PartySize,\n PaymentPolicy,\n PaymentPolicyOptionsOneOf,\n PaymentPolicyType,\n PerGuestOptions,\n Permissions,\n Placement,\n PlacementType,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n PricingData,\n PrivacyPolicy,\n PrivacyPolicyValueOneOf,\n Properties,\n PropertiesChange,\n QueryExperiencesRequest,\n QueryExperiencesResponse,\n RangeAggregation,\n RangeAggregationResult,\n RangeBucket,\n RangeResult,\n RangeResults,\n Recurrence,\n Rel,\n ReservationForm,\n Resizing,\n ResolutionMethod,\n ResponsivenessBehaviour,\n RestoreInfo,\n Results,\n RibbonStyles,\n RichContent,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n Scaling,\n SearchDetails,\n SearchDetailsMode,\n SearchExperiencesRequest,\n SearchExperiencesResponse,\n SeoSchema,\n SeoSettings,\n Settings,\n ShapeData,\n ShapeDataStyles,\n SiteCloned,\n SiteCreated,\n SitePropertiesEvent,\n SitePropertiesNotification,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n Source,\n SpecialHourPeriod,\n SpecificTablesOptions,\n Spoiler,\n SpoilerData,\n StartDaysAndTimes,\n StartDaysAndTimesDayOfWeek,\n Styles,\n StylesBorder,\n StylesPosition,\n SupportedLanguage,\n Table,\n TableAssignmentType,\n TableAvailabilityType,\n TableCellData,\n TableCombination,\n TableData,\n TableManagement,\n TableManagementMode,\n TableManagementOptionsOneOf,\n Tag,\n TagList,\n Tags,\n TagsModified,\n Target,\n TermsAndConditions,\n TermsAndConditionsValueOneOf,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnails,\n ThumbnailsAlignment,\n TimePeriod,\n Translation,\n Type,\n URI,\n Unit,\n UpdateExperience,\n UpdateExperienceRequest,\n UpdateExperienceResponse,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n ValueAggregationResult,\n ValueResult,\n ValueResults,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n WeeklyOptions,\n Width,\n WidthType,\n utils,\n} from './table-reservations-v1-experience-experiences.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n SearchSpec,\n} from '@wix/sdk-types';\nimport * as ambassadorWixTableReservationsV1Experience from './table-reservations-v1-experience-experiences.http.js';\n// @ts-ignore\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformSDKPageURLV2ToRESTPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/** Experience. */\nexport interface Experience {\n /**\n * Experience ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the reservation location this experience is assigned to.\n * @format GUID\n * @readonly\n */\n reservationLocationId?: string | null;\n /**\n * Revision number, which increments by 1 each time the experience is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the experience.\n *\n * Ignored when creating an experience.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the experience was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the experience was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Experience configuration. */\n configuration?: Configuration;\n /**\n * 3-letter currency code in ISO-4217 alphabetic format. For exampled, `USD`.\n * @format CURRENCY\n * @readonly\n */\n currency?: string | null;\n /** Extended fields. */\n extendedFields?: ExtendedFields;\n /** Tags assigned to the experience. Tags must be created using the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) before they can be assigned. */\n tags?: Tags;\n /**\n * URL-friendly identifier for the experience page, derived from the experience display name in kebab-case format (e.g., \"wine-tasting-event\"). Used to create readable URLs for the experience page.\n * @maxLength 300\n */\n slug?: string | null;\n /** SEO settings for the experience page. */\n seoSettings?: SeoSettings;\n}\n\nexport interface Table {\n /**\n * Table ID.\n * @format GUID\n */\n _id?: string | null;\n}\n\nexport interface TableCombination {\n /**\n * Table combination ID.\n * @format GUID\n */\n _id?: string | null;\n}\n\nexport enum TableAvailabilityType {\n UNKNOWN_TABLE_AVAILABILITY_TYPE = 'UNKNOWN_TABLE_AVAILABILITY_TYPE',\n ANY_ONLINE_TABLE = 'ANY_ONLINE_TABLE',\n SPECIFIC_TABLES = 'SPECIFIC_TABLES',\n}\n\n/** @enumType */\nexport type TableAvailabilityTypeWithLiterals =\n | TableAvailabilityType\n | 'UNKNOWN_TABLE_AVAILABILITY_TYPE'\n | 'ANY_ONLINE_TABLE'\n | 'SPECIFIC_TABLES';\n\nexport enum TableAssignmentType {\n UNKNOWN_ASSIGMENT_TYPE = 'UNKNOWN_ASSIGMENT_TYPE',\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n}\n\n/** @enumType */\nexport type TableAssignmentTypeWithLiterals =\n | TableAssignmentType\n | 'UNKNOWN_ASSIGMENT_TYPE'\n | 'AUTOMATIC'\n | 'MANUAL';\n\nexport interface SpecificTablesOptions {\n /** When tables are mandatory for experience they can't be used for standard reservations during experience time. */\n reservedForExperience?: boolean | null;\n /**\n * Tables.\n * @maxSize 1000\n */\n tables?: Table[];\n /**\n * Table combinations.\n * @maxSize 1000\n */\n tableCombinations?: TableCombination[];\n}\n\nexport enum TableManagementMode {\n UNKNOWN_MODE = 'UNKNOWN_MODE',\n ON = 'ON',\n OFF = 'OFF',\n}\n\n/** @enumType */\nexport type TableManagementModeWithLiterals =\n | TableManagementMode\n | 'UNKNOWN_MODE'\n | 'ON'\n | 'OFF';\n\nexport interface OnOptions extends OnOptionsOptionsOneOf {\n /** Specific tables options. */\n specificTablesOptions?: SpecificTablesOptions;\n /** Table availability type. */\n tableAvailabilityType?: TableAvailabilityTypeWithLiterals;\n /** Table assignment type. */\n tableAssignmentType?: TableAssignmentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface OnOptionsOptionsOneOf {\n /** Specific tables options. */\n specificTablesOptions?: SpecificTablesOptions;\n}\n\nexport enum Unit {\n UNKNOWN_UNIT = 'UNKNOWN_UNIT',\n MINUTES = 'MINUTES',\n HOURS = 'HOURS',\n DAYS = 'DAYS',\n}\n\n/** @enumType */\nexport type UnitWithLiterals =\n | Unit\n | 'UNKNOWN_UNIT'\n | 'MINUTES'\n | 'HOURS'\n | 'DAYS';\n\nexport enum Mode {\n UNKNOWN_MODE = 'UNKNOWN_MODE',\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n}\n\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'UNKNOWN_MODE' | 'AUTOMATIC' | 'MANUAL';\n\n/** Enumerates the days of the week. */\nexport enum StartDaysAndTimesDayOfWeek {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type StartDaysAndTimesDayOfWeekWithLiterals =\n | StartDaysAndTimesDayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\nexport interface StartDaysAndTimes {\n /** Day of week. */\n day?: StartDaysAndTimesDayOfWeekWithLiterals;\n /**\n * Start time. ISO-8601 extended local time format (hh:mm). For example, `\"11:00\"`, or `\"23:30\"`.\n * @maxLength 5\n * @minLength 5\n * @format LOCAL_TIME\n */\n time?: string | null;\n}\n\nexport enum Recurrence {\n UNKNOWN_RECURRENCE = 'UNKNOWN_RECURRENCE',\n WEEKLY = 'WEEKLY',\n ONE_TIME = 'ONE_TIME',\n}\n\n/** @enumType */\nexport type RecurrenceWithLiterals =\n | Recurrence\n | 'UNKNOWN_RECURRENCE'\n | 'WEEKLY'\n | 'ONE_TIME';\n\nexport interface WeeklyOptions {\n /**\n * Start date.\n * @format LOCAL_DATE\n */\n startDate?: string | null;\n /**\n * End date.\n * @format LOCAL_DATE\n */\n endDate?: string | null;\n /**\n * Days of the week and times the experience starts.\n * @maxSize 100\n */\n startDaysAndTimes?: StartDaysAndTimes[];\n}\n\nexport interface OneTimeOptions {\n /**\n * Start date.\n * @format LOCAL_DATE\n */\n startDate?: string | null;\n /**\n * Start time. ISO-8601 extended local time format (hh:mm). For example, `\"11:00\"`, or `\"23:30\"`.\n * @maxLength 5\n * @minLength 5\n * @format LOCAL_TIME\n */\n startTime?: string | null;\n}\n\nexport interface Entry extends EntryRecurrenceOptionsOneOf {\n /** Weekly recurrence settings. */\n weeklyOptions?: WeeklyOptions;\n /** 1-time event settings. */\n oneTimeOptions?: OneTimeOptions;\n /** Recurrence settings for this entry. */\n recurrence?: RecurrenceWithLiterals;\n}\n\n/** @oneof */\nexport interface EntryRecurrenceOptionsOneOf {\n /** Weekly recurrence settings. */\n weeklyOptions?: WeeklyOptions;\n /** 1-time event settings. */\n oneTimeOptions?: OneTimeOptions;\n}\n\nexport interface PartySize {\n /**\n * Minimum number of guests allowed for a reservation.\n * @min 1\n * @max 10000\n */\n min?: number | null;\n /**\n * Maximum number of guests allowed for a reservation.\n * @min 1\n * @max 10000\n */\n max?: number | null;\n}\n\nexport interface NoticePeriod {\n /**\n * Number of time units for the notice period. For example, `2` for 2 hours or `30` for 30 days.\n * @min 1\n * @max 1000\n */\n number?: number | null;\n /** Time unit for the notice period. */\n unit?: UnitWithLiterals;\n}\n\n/** Approval settings. */\nexport interface Approval {\n /** Approval mode. */\n mode?: ModeWithLiterals;\n}\n\nexport interface MaxGuests {\n /**\n * Maximum total number of guests that can have active reservations for this experience at the same time.\n * @max 10000\n */\n number?: number | null;\n}\n\nexport interface OnlineReservationsBusinessSchedule {\n /**\n * Duration of the experience in minutes.\n * @min 1\n * @max 1440\n */\n durationInMinutes?: number | null;\n /**\n * Schedule entries defining when the experience is available. Can include both recurring weekly schedules and 1-time events.\n * @maxSize 10\n */\n entries?: Entry[];\n}\n\n/** Privacy policy. */\nexport interface PrivacyPolicy extends PrivacyPolicyValueOneOf {\n /** Privacy policy URL. */\n url?: string;\n /**\n * Privacy policy text.\n * @maxLength 1000000\n */\n text?: string | null;\n /**\n * Whether the privacy policy is displayed to customers.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n}\n\n/** @oneof */\nexport interface PrivacyPolicyValueOneOf {\n /** Privacy policy URL. */\n url?: string;\n /**\n * Privacy policy text.\n * @maxLength 1000000\n */\n text?: string | null;\n}\n\n/** Terms and conditions. */\nexport interface TermsAndConditions extends TermsAndConditionsValueOneOf {\n /** Terms and conditions URL. */\n url?: string;\n /**\n * Terms and conditions text.\n * @maxLength 1000000\n */\n text?: string | null;\n /**\n * Whether the terms and conditions are displayed to customers.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n}\n\n/** @oneof */\nexport interface TermsAndConditionsValueOneOf {\n /** Terms and conditions URL. */\n url?: string;\n /**\n * Terms and conditions text.\n * @maxLength 1000000\n */\n text?: string | null;\n}\n\n/** Custom field definition. Definitions of the fields that are added to the reservation form. */\nexport interface CustomFieldDefinition {\n /**\n * Custom field ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Custom field name.\n * @minLength 1\n * @maxLength 1000\n */\n name?: string | null;\n /**\n * Whether the custom field is required.\n *\n * Default: `false`\n */\n required?: boolean | null;\n}\n\n/** Email marketing checkbox settings. */\nexport interface EmailMarketingCheckbox {\n /**\n * Whether the email marketing checkbox is displayed to customers.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n /**\n * Whether the email marketing checkbox is checked by default.\n *\n * Default: `false`\n */\n checkedByDefault?: boolean | null;\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeTypeWithLiterals;\n /** Node ID. */\n id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n SHAPE = 'SHAPE',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL'\n | 'SHAPE';\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignmentWithLiterals;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: TargetWithLiterals;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewModeWithLiterals;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: Media;\n /** Video thumbnail file details. */\n thumbnail?: Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: OrientationWithLiterals;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n}\n\n/** @enumType */\nexport type SourceWithLiterals = Source | 'HTML' | 'ADSENSE' | 'AI';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapTypeWithLiterals;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals =\n | BackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n FONT_FAMILY = 'FONT_FAMILY',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT'\n | 'FONT_FAMILY';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppTypeWithLiterals;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: Media;\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum Position {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum Type {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';\n\nexport enum Alignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: PositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: TypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: AlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: Media;\n /** Video thumbnail details. */\n thumbnail?: Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | 'NULL_VALUE';\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border */\n borderRadius?: number | null;\n /**\n * Backdrop color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backdropColor?: string | null;\n /** Backdrop image.radius in pixels. */\n backdropImage?: BackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals =\n | ImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionWithLiterals;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface ShapeData {\n /** Styling for the shape's container. */\n containerData?: PluginContainerData;\n /** Shape file details. */\n shape?: Media;\n /** Styling for the shape. */\n styles?: ShapeDataStyles;\n}\n\nexport interface ShapeDataStyles {\n /**\n * Shape fill color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Map of original color keys to their new color values. */\n colors?: Record<string, string>;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport enum PaymentPolicyType {\n UNKNOWN_PAYMENT_POLICY_TYPE = 'UNKNOWN_PAYMENT_POLICY_TYPE',\n PER_GUEST = 'PER_GUEST',\n FREE = 'FREE',\n}\n\n/** @enumType */\nexport type PaymentPolicyTypeWithLiterals =\n | PaymentPolicyType\n | 'UNKNOWN_PAYMENT_POLICY_TYPE'\n | 'PER_GUEST'\n | 'FREE';\n\n/** Payment per guest policy. */\nexport interface PerGuestOptions {\n /**\n * Monetary amount to charge. Decimal string with a period as a decimal separator. For example, `\"3.99\"`.\n * @decimalValue options { gt:0.000, maxScale:3 }\n */\n price?: string | null;\n}\n\nexport interface DisplayInfo {\n /**\n * Experience name.\n * @minLength 1\n * @maxLength 100\n */\n name?: string | null;\n /**\n * Brief description of the experience.\n * @maxLength 100\n */\n shortDescription?: string | null;\n /** Cover image for the experience. */\n coverImage?: string;\n /** Detailed description of the experience using rich content formatting. */\n richContent?: RichContent;\n}\n\nexport interface PaymentPolicy extends PaymentPolicyOptionsOneOf {\n /** Per-guest pricing settings. */\n perGuestOptions?: PerGuestOptions;\n /** Payment policy type for the experience. */\n paymentPolicyType?: PaymentPolicyTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PaymentPolicyOptionsOneOf {\n /** Per-guest pricing settings. */\n perGuestOptions?: PerGuestOptions;\n}\n\nexport interface OnlineReservations {\n /** Party size. */\n partySize?: PartySize;\n /** Minimum reservation notice. */\n minimumReservationNotice?: NoticePeriod;\n /** Maximum reservation notice. */\n maximumReservationNotice?: NoticePeriod;\n /** Approval. */\n approval?: Approval;\n /** Maximum number of guests. */\n maxGuests?: MaxGuests;\n /** Business schedule. */\n businessSchedule?: OnlineReservationsBusinessSchedule;\n}\n\n/** Experience form settings. */\nexport interface ReservationForm {\n /**\n * Message displayed to customers when they submit the reservation form.\n * @maxLength 1000000\n */\n submitMessage?: string | null;\n /** Whether to display privacy policy and terms and conditions to customers. */\n policiesEnabled?: boolean | null;\n /** Privacy policy display settings. */\n privacyPolicy?: PrivacyPolicy;\n /** Terms and conditions display settings. */\n termsAndConditions?: TermsAndConditions;\n /**\n * Custom fields you wish to add to the registration form for the customer to fill in.\n * @maxSize 1000\n */\n customFieldDefinitions?: CustomFieldDefinition[];\n /**\n * Whether a last name is required in the reservation form.\n *\n * Default: `false`\n */\n lastNameRequired?: boolean | null;\n /**\n * Whether an email is required in the reservation form.\n *\n * Default: `false`\n */\n emailRequired?: boolean | null;\n /** Email marketing checkbox settings. */\n emailMarketingCheckbox?: EmailMarketingCheckbox;\n}\n\nexport interface TableManagement extends TableManagementOptionsOneOf {\n /** On options. */\n onOptions?: OnOptions;\n /** Table management mode. */\n mode?: TableManagementModeWithLiterals;\n}\n\n/** @oneof */\nexport interface TableManagementOptionsOneOf {\n /** On options. */\n onOptions?: OnOptions;\n}\n\nexport interface Configuration {\n /** Display information for the experience. */\n displayInfo?: DisplayInfo;\n /** Payment policy for the experience. This policy determines how the restaurant charges for reservations. */\n paymentPolicy?: PaymentPolicy;\n /** Settings for this experience that are used to determine restaurant availability for reservations made online. */\n onlineReservations?: OnlineReservations;\n /** Custom form fields and settings for the reservation booking form. */\n reservationForm?: ReservationForm;\n /** Whether the experience is visible on the live site. */\n visible?: boolean | null;\n}\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.commons.v2.tags.Foo\";\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * public_tags: {\n * tag_ids:[\"11\",\"22\"]\n * },\n * private_tags: {\n * tag_ids: [\"33\", \"44\"]\n * }\n * }\n * }\n */\nexport interface Tags {\n /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n privateTags?: TagList;\n /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n publicTags?: TagList;\n}\n\nexport interface TagList {\n /**\n * List of tag IDs.\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\n/** SEO settings for experience pages. */\nexport interface SeoSettings {\n /** SEO schema data for customizing meta tags and search engine settings. */\n seoSchema?: SeoSchema;\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface InvalidateCache extends InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n /**\n * tell us why you're invalidating the cache. You don't need to add your app name\n * @maxLength 256\n */\n reason?: string | null;\n /** Is local DS */\n localDc?: boolean;\n hardPurge?: boolean;\n}\n\n/** @oneof */\nexport interface InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n}\n\nexport interface App {\n /**\n * The AppDefId\n * @minLength 1\n */\n appDefId?: string;\n /**\n * The instance Id\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface Page {\n /**\n * the msid the page is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Page ID\n * @minLength 1\n */\n pageId?: string;\n}\n\nexport interface URI {\n /**\n * the msid the URI is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @minLength 1\n */\n uriPath?: string;\n}\n\nexport interface File {\n /**\n * the msid the file is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by filename (for media files such as PDFs)\n * @minLength 1\n * @maxLength 256\n */\n fileName?: string;\n}\n\nexport interface CustomTag {\n /**\n * the msid the tag is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Tag to invalidate by\n * @minLength 1\n * @maxLength 256\n */\n tag?: string;\n}\n\nexport interface TagsModified {\n /** Experience with updated tags. */\n experience?: Experience;\n /** Tags that were assigned to the experience. */\n assignedTags?: Tags;\n /** Tags that were unassigned from the experience. */\n unassignedTags?: Tags;\n}\n\nexport interface CreateExperienceRequest {\n /** Experience to create. */\n experience: Experience;\n}\n\nexport interface CreateExperienceResponse {\n /** Created experience. */\n experience?: Experience;\n}\n\nexport interface GetExperienceRequest {\n /**\n * ID of the experience to retrieve.\n * @format GUID\n */\n experienceId: string;\n}\n\nexport interface GetExperienceResponse {\n /** Retrieved experience. */\n experience?: Experience;\n}\n\nexport interface GetExperienceBySlugRequest {\n /**\n * ID of the experience to retrieve.\n * @maxLength 200\n */\n slug: string;\n}\n\nexport interface GetExperienceBySlugResponse {\n /** Retrieved experience. */\n experience?: Experience;\n}\n\nexport interface UpdateExperienceRequest {\n /** Experience to update. May be partial. */\n experience: Experience;\n}\n\nexport interface UpdateExperienceResponse {\n /** Updated experience. */\n experience?: Experience;\n}\n\nexport interface QueryExperiencesRequest {\n /** Query criteria for filtering and sorting experiences. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object.\n *\n * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryExperiencesResponse {\n /** List of experiences matching the query criteria. */\n experiences?: Experience[];\n /** Pagination information for the query results. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface SearchExperiencesRequest {\n /** Search query. */\n search?: CursorSearch;\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n */\n filter?: Record<string, any> | null;\n /**\n * List of sort objects.\n *\n * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n * @maxSize 100\n */\n sort?: Sorting[];\n /**\n * Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.\n * @maxSize 100\n */\n aggregations?: Aggregation[];\n /** Free text to match in searchable fields. */\n search?: SearchDetails;\n /**\n * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n * Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\".\n * @maxLength 100\n */\n timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.\n */\n nested?: NestedAggregation;\n /** @maxLength 1000 */\n name?: string | null;\n type?: AggregationTypeWithLiterals;\n /** @maxLength 1000 */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.\n */\n nested?: NestedAggregation;\n}\n\nexport interface RangeBucket {\n /** Inclusive lower bound of the range. Required if `to` is not provided. */\n from?: number | null;\n /** Exclusive upper bound of the range. Required if `from` is not provided. */\n to?: number | null;\n}\n\nexport enum SortType {\n /** Sort by number of matches. */\n COUNT = 'COUNT',\n /** Sort by value of the field alphabetically. */\n VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n /** Sort in descending order. */\n DESC = 'DESC',\n /** Sort in ascending order. */\n ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum MissingValues {\n /** Exclude missing values from the aggregation results */\n EXCLUDE = 'EXCLUDE',\n /** Include missing values in the aggregation results */\n INCLUDE = 'INCLUDE',\n}\n\n/** @enumType */\nexport type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';\n\nexport interface IncludeMissingValuesOptions {\n /**\n * Specify a custom name for the bucket containing the missing values. Defaults are \"N/A\" for strings, \"0\" for integers, and \"false\" for booleans.\n * @maxLength 1000\n */\n addToBucket?: string;\n}\n\nexport enum ScalarType {\n /** Undefined scalar type. */\n UNKNOWN_SCALAR_TYPE = 'UNKNOWN_SCALAR_TYPE',\n /** Count of distinct values. */\n COUNT_DISTINCT = 'COUNT_DISTINCT',\n /** Minimum value. */\n MIN = 'MIN',\n /** Maximum value. */\n MAX = 'MAX',\n}\n\n/** @enumType */\nexport type ScalarTypeWithLiterals =\n | ScalarType\n | 'UNKNOWN_SCALAR_TYPE'\n | 'COUNT_DISTINCT'\n | 'MIN'\n | 'MAX';\n\nexport enum NestedAggregationType {\n /** Undefined aggregation type. */\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** An aggregation where result buckets are dynamically built - one per unique value. */\n VALUE = 'VALUE',\n /** An aggregation where you can define a set of ranges - each representing a bucket. */\n RANGE = 'RANGE',\n /** A single-value metric aggregation - such as min, max, sum, and avg. */\n SCALAR = 'SCALAR',\n /** An aggregation where result buckets are dynamically built - one per time interval such as hour, day, or week. */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n}\n\n/** @enumType */\nexport type NestedAggregationTypeWithLiterals =\n | NestedAggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM';\n\nexport interface ValueAggregation extends ValueAggregationOptionsOneOf {\n /** Options for including missing values in results. */\n includeOptions?: IncludeMissingValuesOptions;\n /** Whether to sort by the number of matches or the value of the field. */\n sortType?: SortTypeWithLiterals;\n /** Whether to sort in ascending or descending order. */\n sortDirection?: SortDirectionWithLiterals;\n /**\n * Number of aggregation results to return.\n * Min: `1`\n * Max: `250`\n * Default: `10`\n */\n limit?: number | null;\n /**\n * Whether missing values should be included or excluded from the aggregation results.\n * Default: `EXCLUDE`.\n */\n missingValues?: MissingValuesWithLiterals;\n}\n\n/** @oneof */\nexport interface ValueAggregationOptionsOneOf {\n /** Options for including missing values in results. */\n includeOptions?: IncludeMissingValuesOptions;\n}\n\nexport interface RangeAggregation {\n /**\n * List of range buckets. During aggregation each entity will be placed in the first bucket its value falls into based on the provided range bounds.\n * @maxSize 1000\n */\n buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n /** Operation type for the scalar aggregation. */\n type?: ScalarTypeWithLiterals;\n}\n\nexport interface DateHistogramAggregation {\n /** Interval for date histogram aggregation. */\n interval?: IntervalWithLiterals;\n}\n\nexport enum Interval {\n UNKNOWN_INTERVAL = 'UNKNOWN_INTERVAL',\n YEAR = 'YEAR',\n MONTH = 'MONTH',\n WEEK = 'WEEK',\n DAY = 'DAY',\n HOUR = 'HOUR',\n MINUTE = 'MINUTE',\n SECOND = 'SECOND',\n}\n\n/** @enumType */\nexport type IntervalWithLiterals =\n | Interval\n | 'UNKNOWN_INTERVAL'\n | 'YEAR'\n | 'MONTH'\n | 'WEEK'\n | 'DAY'\n | 'HOUR'\n | 'MINUTE'\n | 'SECOND';\n\nexport interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * Aggregation name displayed in the return.\n * @maxLength 1000\n */\n name?: string | null;\n /** Type of aggregation to perform. */\n type?: NestedAggregationTypeWithLiterals;\n /**\n * Field to aggregate by.\n * @maxLength 1000\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationItemKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n}\n\nexport enum AggregationType {\n /** Undefined aggregation type. */\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** An aggregation where result buckets are dynamically built - one per unique value. */\n VALUE = 'VALUE',\n /** An aggregation where you can define a set of ranges - each representing a bucket. */\n RANGE = 'RANGE',\n /** A single-value metric aggregation - such as min, max, sum, or avg. */\n SCALAR = 'SCALAR',\n /** An aggregation where result buckets are dynamically built - one per time interval such as hour, day, or week. */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n /** Multi-level aggregation, where each next aggregation is nested within the previous one. */\n NESTED = 'NESTED',\n}\n\n/** @enumType */\nexport type AggregationTypeWithLiterals =\n | AggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM'\n | 'NESTED';\n\nexport interface NestedAggregation {\n /**\n * Flattened list of aggregations, where each aggregation is nested within the previous one.\n * @minSize 2\n * @maxSize 10\n */\n nestedAggregations?: NestedAggregationItem[];\n}\n\nexport interface SearchDetails {\n /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */\n mode?: SearchDetailsModeWithLiterals;\n /**\n * Search term or expression.\n * @maxLength 100\n */\n expression?: string | null;\n /**\n * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n * @maxSize 100\n * @maxLength 1000\n */\n fields?: string[];\n /** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */\n fuzzy?: boolean;\n}\n\nexport enum SearchDetailsMode {\n /** At least one of the search terms must be present. */\n OR = 'OR',\n /** All search terms must be present. */\n AND = 'AND',\n}\n\n/** @enumType */\nexport type SearchDetailsModeWithLiterals = SearchDetailsMode | 'OR' | 'AND';\n\nexport interface SearchExperiencesResponse {\n /** List of Experiences. */\n experiences?: Experience[];\n /** Cursor paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n /** Aggregation data. */\n aggregationData?: AggregationData;\n}\n\nexport interface AggregationData {\n /**\n * List of the aggregated data results.\n * @maxSize 1000\n */\n results?: AggregationResults[];\n}\n\nexport interface ValueAggregationResult {\n /**\n * Value of the field\n * @maxLength 1000\n */\n value?: string;\n /** Count of entities with this value */\n count?: number;\n}\n\nexport interface RangeAggregationResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in the range. */\n count?: number;\n}\n\nexport interface NestedAggregationResults\n extends NestedAggregationResultsResultOneOf {\n /** List of the value aggregation results. */\n values?: ValueResults;\n /** List of the range aggregation results. */\n ranges?: RangeResults;\n /** List of the scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /**\n * Aggregation name defined in the request.\n * @maxLength 1000\n */\n name?: string;\n /** Type of aggregation performed. */\n type?: AggregationTypeWithLiterals;\n /**\n * Field the data was aggregated by.\n * @maxLength 1000\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationResultsResultOneOf {\n /** List of the value aggregation results. */\n values?: ValueResults;\n /** List of the range aggregation results. */\n ranges?: RangeResults;\n /** List of the scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n}\n\nexport interface ValueResults {\n /**\n * List of value aggregations.\n * @maxSize 1000\n */\n results?: ValueAggregationResult[];\n}\n\nexport interface RangeResults {\n /**\n * List of ranges returned in same order as requested.\n * @maxSize 1000\n */\n results?: RangeAggregationResult[];\n}\n\nexport interface AggregationResultsScalarResult {\n /** Type of scalar aggregation. */\n type?: ScalarTypeWithLiterals;\n /** Value of the scalar aggregation. */\n value?: number;\n}\n\nexport interface NestedValueAggregationResult {\n /** @maxLength 1000 */\n value?: string;\n nestedResults?: NestedAggregationResults;\n}\n\nexport interface ValueResult {\n /**\n * Value of the field.\n * @maxLength 1000\n */\n value?: string;\n /** Count of entities with this value. */\n count?: number | null;\n}\n\nexport interface RangeResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in the range. */\n count?: number | null;\n}\n\nexport interface ScalarResult {\n /** Scalar aggregation results. */\n value?: number;\n}\n\nexport interface NestedResultValue extends NestedResultValueResultOneOf {\n /** Value aggregation results. */\n value?: ValueResult;\n /** Range aggregation results. */\n range?: RangeResult;\n /** Scalar aggregation results. */\n scalar?: ScalarResult;\n /** Date histogram aggregation results. */\n dateHistogram?: ValueResult;\n}\n\n/** @oneof */\nexport interface NestedResultValueResultOneOf {\n /** Value aggregation results. */\n value?: ValueResult;\n /** Range aggregation results. */\n range?: RangeResult;\n /** Scalar aggregation results. */\n scalar?: ScalarResult;\n /** Date histogram aggregation results. */\n dateHistogram?: ValueResult;\n}\n\nexport interface Results {\n /** List of nested aggregation results. */\n results?: Record<string, NestedResultValue>;\n}\n\nexport interface DateHistogramResult {\n /**\n * Date in ISO 8601 format.\n * @maxLength 100\n */\n value?: string;\n /** Count of entities in the interval. */\n count?: number;\n}\n\n/** deprecated */\nexport interface GroupByValueResults {\n /** @maxSize 1000 */\n results?: NestedValueAggregationResult[];\n}\n\nexport interface DateHistogramResults {\n /**\n * List of date histogram aggregations.\n * @maxSize 200\n */\n results?: DateHistogramResult[];\n}\n\n/**\n * Results of `NESTED` aggregation type in a flattened form.\n * Aggregations in the resulting array are keyed by the requested aggregation `name`.\n */\nexport interface NestedResults {\n /**\n * List of nested aggregation results.\n * @maxSize 1000\n */\n results?: Results[];\n}\n\nexport interface AggregationResults extends AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** deprecated */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n /**\n * Aggregation name defined in the request.\n * @maxLength 1000\n */\n name?: string;\n /** Type of aggregation that was performed. */\n type?: AggregationTypeWithLiterals;\n /**\n * Field the data was aggregated by.\n * @maxLength 1000\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** deprecated */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n}\n\nexport interface BulkUpdateExperienceTagsRequest {\n /**\n * List of experience IDs to update tags for.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n experienceIds: string[];\n /** Tags to assign to the experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the experiences. */\n unassignTags?: Tags;\n}\n\nexport interface BulkUpdateExperienceTagsResponse {\n /**\n * Results of the bulk tag update operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUpdateExperienceTagsResult[];\n /** Metadata about the bulk update operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkUpdateExperienceTagsResult {\n /** Metadata about the individual experience tag update operation. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkUpdateExperienceTagsByFilterRequest {\n /** Filter criteria to select experiences for tag updates. */\n filter: Record<string, any> | null;\n /** Tags to assign to the filtered experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the filtered experiences. */\n unassignTags?: Tags;\n}\n\nexport interface BulkUpdateExperienceTagsByFilterResponse {\n /**\n * Job ID for tracking the asynchronous bulk update operation.\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface BulkArchiveExperiencesRequest {\n /**\n * IDs of experiences to archive.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n experienceIds?: string[];\n}\n\nexport interface BulkArchiveExperiencesResponse {\n /**\n * Result of bulk archive action\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkArchiveExperiencesResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkArchiveExperiencesResult {\n /** Metadata about archiving the experience. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUnarchiveExperiencesRequest {\n /**\n * Experience IDs to unarchive.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n experienceIds?: string[];\n}\n\nexport interface BulkUnarchiveExperiencesResponse {\n /**\n * Result of bulk unarchive action\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUnarchiveExperiencesResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUnarchiveExperiencesResult {\n /** Metadata about unarchiving the experience. */\n itemMetadata?: ItemMetadata;\n}\n\n/** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\nexport interface SitePropertiesNotification {\n /** The site ID for which this update notification applies. */\n metasiteId?: string;\n /** The actual update event. */\n event?: SitePropertiesEvent;\n /**\n * A convenience set of mappings from the MetaSite ID to its constituent services.\n * @maxSize 500\n */\n translations?: Translation[];\n /** Context of the notification */\n changeContext?: ChangeContext;\n}\n\n/** The actual update event for a particular notification. */\nexport interface SitePropertiesEvent {\n /** Version of the site's properties represented by this update. */\n version?: number;\n /** Set of properties that were updated - corresponds to the fields in \"properties\". */\n fields?: string[];\n /** Updated properties. */\n properties?: Properties;\n}\n\nexport interface Properties {\n /** Site categories. */\n categories?: Categories;\n /** Site locale. */\n locale?: Locale;\n /**\n * Site language.\n *\n * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n */\n language?: string | null;\n /**\n * Site currency format used to bill customers.\n *\n * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n */\n paymentCurrency?: string | null;\n /** Timezone in `America/New_York` format. */\n timeZone?: string | null;\n /** Email address. */\n email?: string | null;\n /** Phone number. */\n phone?: string | null;\n /** Fax number. */\n fax?: string | null;\n /** Address. */\n address?: Address;\n /** Site display name. */\n siteDisplayName?: string | null;\n /** Business name. */\n businessName?: string | null;\n /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n logo?: string | null;\n /** Site description. */\n description?: string | null;\n /**\n * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n *\n * __Note:__ Not supported by Wix Bookings.\n */\n businessSchedule?: BusinessSchedule;\n /** Supported languages of a site and the primary language. */\n multilingual?: Multilingual;\n /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n consentPolicy?: ConsentPolicy;\n /**\n * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n *\n * Site business type.\n */\n businessConfig?: string | null;\n /** External site URL that uses Wix as its headless business solution. */\n externalSiteUrl?: string | null;\n /** Track clicks analytics. */\n trackClicksAnalytics?: boolean;\n}\n\nexport interface Categories {\n /** Primary site category. */\n primary?: string;\n /**\n * Secondary site category.\n * @maxSize 50\n */\n secondary?: string[];\n /** Business Term Id */\n businessTermId?: string | null;\n}\n\nexport interface Locale {\n /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n languageCode?: string;\n /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n country?: string;\n}\n\nexport interface Address {\n /** Street name. */\n street?: string;\n /** City name. */\n city?: string;\n /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n country?: string;\n /** State. */\n state?: string;\n /**\n * Zip or postal code.\n * @maxLength 20\n */\n zip?: string;\n /** Extra information to be displayed in the address. */\n hint?: AddressHint;\n /** Whether this address represents a physical location. */\n isPhysical?: boolean;\n /** Google-formatted version of this address. */\n googleFormattedAddress?: string;\n /** Street number. */\n streetNumber?: string;\n /** Apartment number. */\n apartmentNumber?: string;\n /** Geographic coordinates of location. */\n coordinates?: GeoCoordinates;\n}\n\n/**\n * Extra information on displayed addresses.\n * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n */\nexport interface AddressHint {\n /** Extra text displayed next to, or instead of, the actual address. */\n text?: string;\n /** Where the extra text should be displayed. */\n placement?: PlacementTypeWithLiterals;\n}\n\n/** Where the extra text should be displayed: before, after or instead of the actual address. */\nexport enum PlacementType {\n BEFORE = 'BEFORE',\n AFTER = 'AFTER',\n REPLACE = 'REPLACE',\n}\n\n/** @enumType */\nexport type PlacementTypeWithLiterals =\n | PlacementType\n | 'BEFORE'\n | 'AFTER'\n | 'REPLACE';\n\n/** Geocoordinates for a particular address. */\nexport interface GeoCoordinates {\n /** Latitude of the location. Must be between -90 and 90. */\n latitude?: number;\n /** Longitude of the location. Must be between -180 and 180. */\n longitude?: number;\n}\n\n/** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\nexport interface BusinessSchedule {\n /**\n * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods.\n * @maxSize 100\n */\n periods?: TimePeriod[];\n /**\n * Exceptions to the business's regular hours. The business can be open or closed during the exception.\n * @maxSize 100\n */\n specialHourPeriod?: SpecialHourPeriod[];\n}\n\n/** Weekly recurring time periods when the business is regularly open or the service is available. */\nexport interface TimePeriod {\n /** Day of the week the period starts on. */\n openDay?: DayOfWeekWithLiterals;\n /**\n * 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\n * midnight at the end of the specified day.\n */\n openTime?: string;\n /** Day of the week the period ends on. */\n closeDay?: DayOfWeekWithLiterals;\n /**\n * 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\n * midnight at the end of the specified day.\n *\n * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n */\n closeTime?: string;\n}\n\n/** Enumerates the days of the week. */\nexport enum DayOfWeek {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n | DayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\n/** Exception to the business's regular hours. The business can be open or closed during the exception. */\nexport interface SpecialHourPeriod {\n /** 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). */\n startDate?: string;\n /** 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). */\n endDate?: string;\n /**\n * Whether the business is closed (or the service is not available) during the exception.\n *\n * Default: `true`.\n */\n isClosed?: boolean;\n /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n comment?: string;\n}\n\nexport interface Multilingual {\n /**\n * Supported languages list.\n * @maxSize 200\n */\n supportedLanguages?: SupportedLanguage[];\n /** Whether to redirect to user language. */\n autoRedirect?: boolean;\n}\n\nexport interface SupportedLanguage {\n /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n languageCode?: string;\n /** Locale. */\n locale?: Locale;\n /** Whether the supported language is the primary language for the site. */\n isPrimary?: boolean;\n /** Language icon. */\n countryCode?: string;\n /** How the language will be resolved. For internal use. */\n resolutionMethod?: ResolutionMethodWithLiterals;\n /** Whether the supported language is the primary language for site visitors. */\n isVisitorPrimary?: boolean | null;\n}\n\nexport enum ResolutionMethod {\n QUERY_PARAM = 'QUERY_PARAM',\n SUBDOMAIN = 'SUBDOMAIN',\n SUBDIRECTORY = 'SUBDIRECTORY',\n}\n\n/** @enumType */\nexport type ResolutionMethodWithLiterals =\n | ResolutionMethod\n | 'QUERY_PARAM'\n | 'SUBDOMAIN'\n | 'SUBDIRECTORY';\n\nexport interface ConsentPolicy {\n /** Whether the site uses cookies that are essential to site operation. Always `true`. */\n essential?: boolean | null;\n /** Whether the site uses cookies that affect site performance and other functional measurements. */\n functional?: boolean | null;\n /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n analytics?: boolean | null;\n /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n advertising?: boolean | null;\n /** CCPA compliance flag. */\n dataToThirdParty?: boolean | null;\n}\n\n/** A single mapping from the MetaSite ID to a particular service. */\nexport interface Translation {\n /** The service type. */\n serviceType?: string;\n /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n appDefId?: string;\n /** The instance ID of the service. */\n instanceId?: string;\n}\n\nexport interface ChangeContext extends ChangeContextPayloadOneOf {\n /** Properties were updated. */\n propertiesChange?: PropertiesChange;\n /** Default properties were created on site creation. */\n siteCreated?: SiteCreated;\n /** Properties were cloned on site cloning. */\n siteCloned?: SiteCloned;\n}\n\n/** @oneof */\nexport interface ChangeContextPayloadOneOf {\n /** Properties were updated. */\n propertiesChange?: PropertiesChange;\n /** Default properties were created on site creation. */\n siteCreated?: SiteCreated;\n /** Properties were cloned on site cloning. */\n siteCloned?: SiteCloned;\n}\n\nexport interface PropertiesChange {}\n\nexport interface SiteCreated {\n /** Origin template site id. */\n originTemplateId?: string | null;\n}\n\nexport interface SiteCloned {\n /** Origin site id. */\n originMetaSiteId?: string;\n}\n\nexport interface Empty {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * 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.\n * 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.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type UpdateExperienceApplicationErrors = {\n code?: 'CAN_NOT_BE_UPDATED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdateExperienceTagsApplicationErrors = {\n code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdateExperienceTagsByFilterApplicationErrors = {\n code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * 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.\n * 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.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface ExperienceCreatedEnvelope {\n entity: Experience;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an experience is created.\n * @permissionScope Experience domain events read\n * @permissionScopeId SCOPE.TABLE-RESERVATIONS.EXPERIENCES_DOMAIN_EVENTS_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_DOMAIN_EVENTS_READ\n * @webhook\n * @eventType wix.table_reservations.v1.experience_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onExperienceCreated(\n handler: (event: ExperienceCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExperienceTagsModifiedEnvelope {\n data: TagsModified;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a tag on an experience is modified.\n * @permissionScope Experience domain events read\n * @permissionScopeId SCOPE.TABLE-RESERVATIONS.EXPERIENCES_DOMAIN_EVENTS_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_DOMAIN_EVENTS_READ\n * @webhook\n * @eventType wix.table_reservations.v1.experience_tags_modified\n * @slug tags_modified\n * @documentationMaturity preview\n */\nexport declare function onExperienceTagsModified(\n handler: (event: ExperienceTagsModifiedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExperienceUpdatedEnvelope {\n entity: Experience;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when an experience is updated.\n * @permissionScope Experience domain events read\n * @permissionScopeId SCOPE.TABLE-RESERVATIONS.EXPERIENCES_DOMAIN_EVENTS_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_DOMAIN_EVENTS_READ\n * @webhook\n * @eventType wix.table_reservations.v1.experience_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onExperienceUpdated(\n handler: (event: ExperienceUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates an experience.\n * @param experience - Experience to create.\n * @public\n * @documentationMaturity preview\n * @requiredField experience\n * @requiredField experience.configuration\n * @requiredField experience.configuration.displayInfo\n * @requiredField experience.configuration.displayInfo.name\n * @requiredField experience.configuration.onlineReservations\n * @requiredField experience.configuration.onlineReservations.approval\n * @requiredField experience.configuration.onlineReservations.approval.mode\n * @requiredField experience.configuration.onlineReservations.maxGuests.number\n * @requiredField experience.configuration.onlineReservations.maximumReservationNotice.number\n * @requiredField experience.configuration.onlineReservations.maximumReservationNotice.unit\n * @requiredField experience.configuration.onlineReservations.minimumReservationNotice.number\n * @requiredField experience.configuration.onlineReservations.minimumReservationNotice.unit\n * @requiredField experience.configuration.onlineReservations.partySize\n * @requiredField experience.configuration.onlineReservations.partySize.max\n * @requiredField experience.configuration.onlineReservations.partySize.min\n * @requiredField experience.configuration.paymentPolicy\n * @requiredField experience.configuration.paymentPolicy.paymentPolicyType\n * @requiredField experience.reservationLocationId\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_CREATE\n * @applicableIdentity APP\n * @returns Created experience.\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.CreateExperience\n */\nexport async function createExperience(\n experience: NonNullablePaths<\n Experience,\n | `configuration`\n | `configuration.displayInfo`\n | `configuration.displayInfo.name`\n | `configuration.onlineReservations`\n | `configuration.onlineReservations.approval`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.maxGuests.number`\n | `configuration.onlineReservations.maximumReservationNotice.number`\n | `configuration.onlineReservations.maximumReservationNotice.unit`\n | `configuration.onlineReservations.minimumReservationNotice.number`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.partySize`\n | `configuration.onlineReservations.partySize.max`\n | `configuration.onlineReservations.partySize.min`\n | `configuration.paymentPolicy`\n | `configuration.paymentPolicy.paymentPolicyType`\n | `reservationLocationId`,\n 5\n >\n): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({ experience: experience }, [\n 'experience.configuration.displayInfo.richContent',\n ]),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.createExperience(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )?.experience!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { experience: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['experience']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves an experience.\n * @param experienceId - ID of the experience to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField experienceId\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ_FULL\n * @applicableIdentity APP\n * @returns Retrieved experience.\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.GetExperience\n */\nexport async function getExperience(\n experienceId: string\n): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { experienceId: experienceId },\n []\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.getExperience(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )?.experience!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { experienceId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['experienceId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves an experience.\n * @param slug - ID of the experience to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField slug\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ_FULL\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.GetExperienceBySlug\n */\nexport async function getExperienceBySlug(\n slug: string\n): Promise<\n NonNullablePaths<\n GetExperienceBySlugResponse,\n | `experience.configuration.paymentPolicy.paymentPolicyType`\n | `experience.configuration.onlineReservations.minimumReservationNotice.unit`\n | `experience.configuration.onlineReservations.approval.mode`\n | `experience.configuration.onlineReservations.businessSchedule.entries`\n | `experience.configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `experience.configuration.reservationForm.customFieldDefinitions`\n | `experience.tags.privateTags.tagIds`\n | `experience.seoSettings.seoSchema.tags`\n | `experience.seoSettings.seoSchema.tags.${number}.type`\n | `experience.seoSettings.seoSchema.tags.${number}.children`\n | `experience.seoSettings.seoSchema.tags.${number}.custom`\n | `experience.seoSettings.seoSchema.tags.${number}.disabled`\n | `experience.seoSettings.seoSchema.settings.preventAutoRedirect`\n | `experience.seoSettings.seoSchema.settings.keywords`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.term`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ slug: slug }, []);\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.getExperienceBySlug(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { slug: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['slug']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates an experience.\n *\n * Each time the experience is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the experience.\n * This ensures you're working with the latest experience information and prevents unintended overwrites.\n * @param _id - Experience ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField experience\n * @requiredField experience.revision\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_UPDATE\n * @applicableIdentity APP\n * @returns Updated experience.\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.UpdateExperience\n */\nexport async function updateExperience(\n _id: string,\n experience: NonNullablePaths<UpdateExperience, `revision`, 2>\n): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateExperienceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n { experience: { ...experience, id: _id } },\n ['experience.configuration.displayInfo.richContent']\n ),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.updateExperience(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )?.experience!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { experience: '$[1]' },\n explicitPathsToArguments: { 'experience.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'experience']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateExperience {\n /**\n * Experience ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the reservation location this experience is assigned to.\n * @format GUID\n * @readonly\n */\n reservationLocationId?: string | null;\n /**\n * Revision number, which increments by 1 each time the experience is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the experience.\n *\n * Ignored when creating an experience.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the experience was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the experience was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Experience configuration. */\n configuration?: Configuration;\n /**\n * 3-letter currency code in ISO-4217 alphabetic format. For exampled, `USD`.\n * @format CURRENCY\n * @readonly\n */\n currency?: string | null;\n /** Extended fields. */\n extendedFields?: ExtendedFields;\n /** Tags assigned to the experience. Tags must be created using the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) before they can be assigned. */\n tags?: Tags;\n /**\n * URL-friendly identifier for the experience page, derived from the experience display name in kebab-case format (e.g., \"wine-tasting-event\"). Used to create readable URLs for the experience page.\n * @maxLength 300\n */\n slug?: string | null;\n /** SEO settings for the experience page. */\n seoSettings?: SeoSettings;\n}\n\n/**\n * Retrieves a list of experiences using the specified paging, filtering, and sorting.\n *\n * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/sorting-and-filtering) article.\n * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n * @public\n * @documentationMaturity preview\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ_FULL\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.QueryExperiences\n */\nexport function queryExperiences(): ExperiencesQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Experience,\n 'CURSOR',\n QueryExperiencesRequest,\n QueryExperiencesResponse\n >({\n func: async (payload: QueryExperiencesRequest) => {\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.queryExperiences(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryExperiencesRequest['query']) => {\n const args = [query, {}] as [QueryExperiencesRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest(\n { ...args?.[1], query: args?.[0] },\n []\n );\n },\n responseTransformer: ({ data }: HttpResponse<QueryExperiencesResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experiences.experiencePageUrl' },\n {\n path: 'experiences.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experiences.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'experiences.configuration.displayInfo.coverImage' },\n ],\n },\n ]),\n ['experiences.configuration.displayInfo.richContent']\n );\n\n return {\n items: transformedData?.experiences,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface ExperiencesQueryResult extends QueryCursorResult {\n items: Experience[];\n query: ExperiencesQueryBuilder;\n next: () => Promise<ExperiencesQueryResult>;\n prev: () => Promise<ExperiencesQueryResult>;\n}\n\nexport interface ExperiencesQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: string\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any[]\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasAll: (\n propertyName: 'tags.privateTags.tagIds' | 'tags.publicTags.tagIds',\n value: any[]\n ) => ExperiencesQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: boolean\n ) => ExperiencesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds'\n >\n ) => ExperiencesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds'\n >\n ) => ExperiencesQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => ExperiencesQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => ExperiencesQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<ExperiencesQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.QueryExperiences\n * @requiredField query\n */\nexport async function typedQueryExperiences(\n query: ExperienceQuery\n): Promise<\n NonNullablePaths<\n QueryExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query }, []);\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.queryExperiences(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experiences.experiencePageUrl' },\n {\n path: 'experiences.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experiences.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experiences.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experiences.configuration.displayInfo.richContent']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ExperienceQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate',\n 'tags.privateTags.tagIds',\n 'tags.publicTags.tagIds'\n ];\n operators: ['$hasAll', '$hasSome'];\n sort: 'BOTH';\n },\n {\n fields: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'configuration.displayInfo.name',\n 'configuration.visible',\n 'reservationLocationId'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Experience,\n ExperienceQuerySpec\n>;\nexport type ExperienceQuery = {\n /** \n Cursor paging options.\n\n Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n\n Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object.\n\n Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n ...createQueryUtils<Experience, ExperienceQuerySpec, ExperienceQuery>(),\n};\n\n/**\n * Use this method to search the fields of the experiences on a site for a given expression.\n *\n * You can also use this method to perform data aggregations on a site's experience fields.\n * @param search - Search query.\n * @public\n * @documentationMaturity preview\n * @requiredField search\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.SearchExperiences\n */\nexport async function searchExperiences(\n search: ExperienceSearch\n): Promise<\n NonNullablePaths<\n SearchExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ search: search }, []);\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.searchExperiences(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experiences.experiencePageUrl' },\n {\n path: 'experiences.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experiences.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experiences.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experiences.configuration.displayInfo.richContent']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { search: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['search']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ExperienceSearchSpec extends SearchSpec {\n searchable: [\n 'configuration.displayInfo.name',\n 'configuration.displayInfo.richContent',\n 'configuration.displayInfo.shortDescription'\n ];\n aggregatable: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'configuration.displayInfo.name',\n 'configuration.onlineReservations.approval.mode',\n 'configuration.onlineReservations.businessSchedule.durationInMinutes',\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startTime',\n 'configuration.onlineReservations.businessSchedule.entries.recurrence',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.day',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.time',\n 'configuration.onlineReservations.maxGuests.number',\n 'configuration.onlineReservations.partySize.max',\n 'configuration.onlineReservations.partySize.min',\n 'configuration.paymentPolicy.paymentPolicyType',\n 'configuration.visible',\n 'reservationLocationId',\n 'tags.privateTags.tagIds',\n 'tags.publicTags.tagIds'\n ];\n paging: 'cursor';\n wql: [\n {\n operators: ['$hasAll', '$hasSome'];\n fields: [\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startTime',\n 'configuration.onlineReservations.businessSchedule.entries.recurrence',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.day',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.time',\n 'tags.privateTags.tagIds',\n 'tags.publicTags.tagIds'\n ];\n sort: 'NONE';\n },\n {\n operators: '*';\n fields: ['_id', 'reservationLocationId'];\n sort: 'NONE';\n },\n {\n operators: '*';\n fields: [\n '_createdDate',\n '_updatedDate',\n 'configuration.displayInfo.name',\n 'configuration.onlineReservations.approval.mode',\n 'configuration.onlineReservations.businessSchedule.durationInMinutes',\n 'configuration.onlineReservations.maxGuests.number',\n 'configuration.onlineReservations.partySize.max',\n 'configuration.onlineReservations.partySize.min',\n 'configuration.paymentPolicy.paymentPolicyType',\n 'configuration.visible'\n ];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<\n Experience,\n ExperienceSearchSpec\n>;\nexport type ExperienceSearch = {\n /** \n Cursor paging options.\n\n Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n\n Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n List of sort objects.\n\n Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n @maxSize: 100 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories. \n @maxSize: 100 \n */\n aggregations?: {\n /** \n A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. \n */\n value?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['value'];\n /** \n A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. \n */\n range?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['range'];\n /** \n A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. \n */\n scalar?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['scalar'];\n /** \n A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. \n */\n dateHistogram?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['dateHistogram'];\n /** \n A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`. \n */\n nested?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['nested'];\n name?:\n | NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['name']\n | null;\n type?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['type'];\n fieldPath?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['fieldPath'];\n }[];\n /** \n Free text to match in searchable fields. \n */\n search?: {\n /** \n Search mode. Defines the search logic for combining multiple terms in the `expression`. \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n Search term or expression. \n @maxLength: 100 \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`. \n @maxSize: 100,\n @maxLength: 1000 \n */\n fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];\n /** \n Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n /** \n Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\". \n @maxLength: 100 \n */\n timeZone?: CommonSearchWithEntityContext['timeZone'] | null;\n};\n\n/**\n * Synchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences by experience IDs. A tag that appears in both assign and unassign lists is assigned.\n * @param experienceIds - List of experience IDs to update tags for.\n * @public\n * @documentationMaturity preview\n * @requiredField experienceIds\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_UPDATE_TAGS\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTags\n */\nexport async function bulkUpdateExperienceTags(\n experienceIds: string[],\n options?: BulkUpdateExperienceTagsOptions\n): Promise<\n NonNullablePaths<\n BulkUpdateExperienceTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateExperienceTagsApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n experienceIds: experienceIds,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.bulkUpdateExperienceTags(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n experienceIds: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['experienceIds', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateExperienceTagsOptions {\n /** Tags to assign to the experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the experiences. */\n unassignTags?: Tags;\n}\n\n/**\n * Asynchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences using filter criteria. An empty filter updates all experiences. A tag that appears in both assign and unassign lists is assigned.\n * @param filter - Filter criteria to select experiences for tag updates.\n * @public\n * @documentationMaturity preview\n * @requiredField filter\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_UPDATE_TAGS\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTagsByFilter\n */\nexport async function bulkUpdateExperienceTagsByFilter(\n filter: Record<string, any>,\n options?: BulkUpdateExperienceTagsByFilterOptions\n): Promise<\n NonNullablePaths<BulkUpdateExperienceTagsByFilterResponse, `jobId`, 2> & {\n __applicationErrorsType?: BulkUpdateExperienceTagsByFilterApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n filter: filter,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.bulkUpdateExperienceTagsByFilter(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['filter', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateExperienceTagsByFilterOptions {\n /** Tags to assign to the filtered experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the filtered experiences. */\n unassignTags?: Tags;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixTableReservationsExperienceV1ExperiencesServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/experiences',\n destPath: '',\n },\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'dev._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/table-reservations/experiences',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_table-reservations_experiences';\n\n/** Creates an experience. */\nexport function createExperience(payload: object): RequestOptionsFactory<any> {\n function __createExperience({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'POST' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.CreateExperience',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createExperience;\n}\n\n/** Retrieves an experience. */\nexport function getExperience(payload: object): RequestOptionsFactory<any> {\n function __getExperience({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.GetExperience',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/{experienceId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getExperience;\n}\n\n/** Retrieves an experience. */\nexport function getExperienceBySlug(\n payload: object\n): RequestOptionsFactory<any> {\n function __getExperienceBySlug({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.GetExperienceBySlug',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/slug/{slug}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getExperienceBySlug;\n}\n\n/**\n * Updates an experience.\n *\n * Each time the experience is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the experience.\n * This ensures you're working with the latest experience information and prevents unintended overwrites.\n */\nexport function updateExperience(payload: object): RequestOptionsFactory<any> {\n function __updateExperience({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'PATCH' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.UpdateExperience',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/{experience.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateExperience;\n}\n\n/**\n * Retrieves a list of experiences using the specified paging, filtering, and sorting.\n *\n * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/sorting-and-filtering) article.\n * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n */\nexport function queryExperiences(payload: object): RequestOptionsFactory<any> {\n function __queryExperiences({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.QueryExperiences',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/query',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experiences.createdDate' },\n { path: 'experiences.updatedDate' },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/query',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __queryExperiences;\n}\n\n/**\n * Use this method to search the fields of the experiences on a site for a given expression.\n *\n * You can also use this method to perform data aggregations on a site's experience fields.\n */\nexport function searchExperiences(payload: object): RequestOptionsFactory<any> {\n function __searchExperiences({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'search.aggregations.range.buckets.from' },\n { path: 'search.aggregations.range.buckets.to' },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.from',\n },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.to',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.SearchExperiences',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/search',\n data: serializedData,\n host,\n }),\n params: toURLSearchParams(serializedData, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experiences.createdDate' },\n { path: 'experiences.updatedDate' },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n { path: 'aggregationData.results.ranges.results.from' },\n { path: 'aggregationData.results.ranges.results.to' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.from',\n },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.to',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.from',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.to',\n },\n { path: 'aggregationData.results.scalar.value' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.scalar.value',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.scalar.value',\n },\n ],\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/search',\n data: serializedData,\n host,\n }),\n data: serializedData,\n },\n ],\n };\n\n return metadata;\n }\n\n return __searchExperiences;\n}\n\n/** Synchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences by experience IDs. A tag that appears in both assign and unassign lists is assigned. */\nexport function bulkUpdateExperienceTags(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateExperienceTags({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'POST' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTags',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/bulk/experiences/update-tags',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateExperienceTags;\n}\n\n/** Asynchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences using filter criteria. An empty filter updates all experiences. A tag that appears in both assign and unassign lists is assigned. */\nexport function bulkUpdateExperienceTagsByFilter(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateExperienceTagsByFilter({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'POST' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTagsByFilter',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/bulk/experiences/update-tags-by-filter',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateExperienceTagsByFilter;\n}\n","import {\n createExperience as publicCreateExperience,\n getExperience as publicGetExperience,\n getExperienceBySlug as publicGetExperienceBySlug,\n updateExperience as publicUpdateExperience,\n queryExperiences as publicQueryExperiences,\n typedQueryExperiences as publicTypedQueryExperiences,\n searchExperiences as publicSearchExperiences,\n bulkUpdateExperienceTags as publicBulkUpdateExperienceTags,\n bulkUpdateExperienceTagsByFilter as publicBulkUpdateExperienceTagsByFilter,\n} from './table-reservations-v1-experience-experiences.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n ExperienceQuery,\n ExperiencesQueryBuilder,\n typedQueryExperiences as universalTypedQueryExperiences,\n} from './table-reservations-v1-experience-experiences.universal.js';\nimport { onExperienceCreated as publicOnExperienceCreated } from './table-reservations-v1-experience-experiences.public.js';\nimport { onExperienceTagsModified as publicOnExperienceTagsModified } from './table-reservations-v1-experience-experiences.public.js';\nimport { onExperienceUpdated as publicOnExperienceUpdated } from './table-reservations-v1-experience-experiences.public.js';\n\nfunction customQueryExperiences(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: () => publicQueryExperiences(httpClient)(),\n typedQueryFunction: (query: ExperienceQuery) =>\n publicTypedQueryExperiences(httpClient)(query),\n hasOptionsParameter: false,\n });\n\n function overloadedQuery(): ExperiencesQueryBuilder;\n function overloadedQuery(\n query: ExperienceQuery\n ): ReturnType<typeof universalTypedQueryExperiences>;\n function overloadedQuery(query?: ExperienceQuery): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const createExperience: MaybeContext<\n BuildRESTFunction<typeof publicCreateExperience> &\n typeof publicCreateExperience\n> = /*#__PURE__*/ createRESTModule(publicCreateExperience);\nexport const getExperience: MaybeContext<\n BuildRESTFunction<typeof publicGetExperience> & typeof publicGetExperience\n> = /*#__PURE__*/ createRESTModule(publicGetExperience);\nexport const getExperienceBySlug: MaybeContext<\n BuildRESTFunction<typeof publicGetExperienceBySlug> &\n typeof publicGetExperienceBySlug\n> = /*#__PURE__*/ createRESTModule(publicGetExperienceBySlug);\nexport const updateExperience: MaybeContext<\n BuildRESTFunction<typeof publicUpdateExperience> &\n typeof publicUpdateExperience\n> = /*#__PURE__*/ createRESTModule(publicUpdateExperience);\nexport const searchExperiences: MaybeContext<\n BuildRESTFunction<typeof publicSearchExperiences> &\n typeof publicSearchExperiences\n> = /*#__PURE__*/ createRESTModule(publicSearchExperiences);\nexport const bulkUpdateExperienceTags: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateExperienceTags> &\n typeof publicBulkUpdateExperienceTags\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateExperienceTags);\nexport const bulkUpdateExperienceTagsByFilter: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateExperienceTagsByFilter> &\n typeof publicBulkUpdateExperienceTagsByFilter\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateExperienceTagsByFilter);\nexport const queryExperiences: MaybeContext<\n BuildRESTFunction<typeof customQueryExperiences> &\n typeof customQueryExperiences\n> = /*#__PURE__*/ createRESTModule(customQueryExperiences);\n/**\n * Triggered when an experience is created.\n */\nexport const onExperienceCreated: BuildEventDefinition<\n typeof publicOnExperienceCreated\n> &\n typeof publicOnExperienceCreated = createEventModule(\n publicOnExperienceCreated\n);\n/**\n * Triggered when a tag on an experience is modified.\n */\nexport const onExperienceTagsModified: BuildEventDefinition<\n typeof publicOnExperienceTagsModified\n> &\n typeof publicOnExperienceTagsModified = createEventModule(\n publicOnExperienceTagsModified\n);\n/**\n * Triggered when an experience is updated.\n */\nexport const onExperienceUpdated: BuildEventDefinition<\n typeof publicOnExperienceUpdated\n> &\n typeof publicOnExperienceUpdated = createEventModule(\n publicOnExperienceUpdated\n);\n\nexport {\n TableAvailabilityType,\n TableAssignmentType,\n TableManagementMode,\n Unit,\n Mode,\n StartDaysAndTimesDayOfWeek,\n Recurrence,\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n Position,\n AspectRatio,\n Resizing,\n Placement,\n Type,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n Scaling,\n ImagePosition,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n PaymentPolicyType,\n SortOrder,\n SortType,\n SortDirection,\n MissingValues,\n ScalarType,\n NestedAggregationType,\n Interval,\n AggregationType,\n SearchDetailsMode,\n PlacementType,\n DayOfWeek,\n ResolutionMethod,\n WebhookIdentityType,\n} from './table-reservations-v1-experience-experiences.universal.js';\nexport {\n Experience,\n Table,\n TableCombination,\n SpecificTablesOptions,\n OnOptions,\n OnOptionsOptionsOneOf,\n StartDaysAndTimes,\n WeeklyOptions,\n OneTimeOptions,\n Entry,\n EntryRecurrenceOptionsOneOf,\n PartySize,\n NoticePeriod,\n Approval,\n MaxGuests,\n OnlineReservationsBusinessSchedule,\n PrivacyPolicy,\n PrivacyPolicyValueOneOf,\n TermsAndConditions,\n TermsAndConditionsValueOneOf,\n CustomFieldDefinition,\n EmailMarketingCheckbox,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n FontFamilyData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n BackgroundImage,\n LayoutCellData,\n ShapeData,\n ShapeDataStyles,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n PerGuestOptions,\n DisplayInfo,\n PaymentPolicy,\n PaymentPolicyOptionsOneOf,\n OnlineReservations,\n ReservationForm,\n TableManagement,\n TableManagementOptionsOneOf,\n Configuration,\n ExtendedFields,\n Tags,\n TagList,\n SeoSettings,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n App,\n Page,\n URI,\n File,\n CustomTag,\n TagsModified,\n CreateExperienceRequest,\n CreateExperienceResponse,\n GetExperienceRequest,\n GetExperienceResponse,\n GetExperienceBySlugRequest,\n GetExperienceBySlugResponse,\n UpdateExperienceRequest,\n UpdateExperienceResponse,\n QueryExperiencesRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryExperiencesResponse,\n CursorPagingMetadata,\n Cursors,\n SearchExperiencesRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Aggregation,\n AggregationKindOneOf,\n RangeBucket,\n IncludeMissingValuesOptions,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n RangeAggregation,\n ScalarAggregation,\n DateHistogramAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregation,\n SearchDetails,\n SearchExperiencesResponse,\n AggregationData,\n ValueAggregationResult,\n RangeAggregationResult,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n ValueResults,\n RangeResults,\n AggregationResultsScalarResult,\n NestedValueAggregationResult,\n ValueResult,\n RangeResult,\n ScalarResult,\n NestedResultValue,\n NestedResultValueResultOneOf,\n Results,\n DateHistogramResult,\n GroupByValueResults,\n DateHistogramResults,\n NestedResults,\n AggregationResults,\n AggregationResultsResultOneOf,\n BulkUpdateExperienceTagsRequest,\n BulkUpdateExperienceTagsResponse,\n ItemMetadata,\n ApplicationError,\n BulkUpdateExperienceTagsResult,\n BulkActionMetadata,\n BulkUpdateExperienceTagsByFilterRequest,\n BulkUpdateExperienceTagsByFilterResponse,\n BulkArchiveExperiencesRequest,\n BulkArchiveExperiencesResponse,\n BulkArchiveExperiencesResult,\n BulkUnarchiveExperiencesRequest,\n BulkUnarchiveExperiencesResponse,\n BulkUnarchiveExperiencesResult,\n SitePropertiesNotification,\n SitePropertiesEvent,\n Properties,\n Categories,\n Locale,\n Address,\n AddressHint,\n GeoCoordinates,\n BusinessSchedule,\n TimePeriod,\n SpecialHourPeriod,\n Multilingual,\n SupportedLanguage,\n ConsentPolicy,\n Translation,\n ChangeContext,\n ChangeContextPayloadOneOf,\n PropertiesChange,\n SiteCreated,\n SiteCloned,\n Empty,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n ExperienceCreatedEnvelope,\n ExperienceTagsModifiedEnvelope,\n ExperienceUpdatedEnvelope,\n UpdateExperience,\n ExperiencesQueryResult,\n ExperiencesQueryBuilder,\n ExperienceQuerySpec,\n ExperienceSearchSpec,\n BulkUpdateExperienceTagsOptions,\n BulkUpdateExperienceTagsByFilterOptions,\n} from './table-reservations-v1-experience-experiences.universal.js';\nexport { utils } from './table-reservations-v1-experience-experiences.universal.js';\nexport {\n TableAvailabilityTypeWithLiterals,\n TableAssignmentTypeWithLiterals,\n TableManagementModeWithLiterals,\n UnitWithLiterals,\n ModeWithLiterals,\n StartDaysAndTimesDayOfWeekWithLiterals,\n RecurrenceWithLiterals,\n NodeTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n BackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n PositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n TypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ScalingWithLiterals,\n ImagePositionWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n PaymentPolicyTypeWithLiterals,\n SortOrderWithLiterals,\n SortTypeWithLiterals,\n SortDirectionWithLiterals,\n MissingValuesWithLiterals,\n ScalarTypeWithLiterals,\n NestedAggregationTypeWithLiterals,\n IntervalWithLiterals,\n AggregationTypeWithLiterals,\n SearchDetailsModeWithLiterals,\n PlacementTypeWithLiterals,\n DayOfWeekWithLiterals,\n ResolutionMethodWithLiterals,\n WebhookIdentityTypeWithLiterals,\n UpdateExperienceApplicationErrors,\n BulkUpdateExperienceTagsApplicationErrors,\n BulkUpdateExperienceTagsByFilterApplicationErrors,\n CommonQueryWithEntityContext,\n ExperienceQuery,\n CommonSearchWithEntityContext,\n ExperienceSearch,\n} from './table-reservations-v1-experience-experiences.universal.js';\n"],"mappings":"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","names":["bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","createExperience","getExperience","getExperienceBySlug","onExperienceCreated","onExperienceTagsModified","onExperienceUpdated","queryExperiences","searchExperiences","updateExperience","import_rename_all_nested_keys","import_float","import_image","import_page_url_v2","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_image","import_page_url_v2","import_transform_paths","TableAvailabilityType","TableAssignmentType","TableManagementMode","Unit","Mode","StartDaysAndTimesDayOfWeek","Recurrence","NodeType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","Position","AspectRatio","Resizing","Placement","Type","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","Scaling","ImagePosition","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","PaymentPolicyType","SortOrder","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","SearchDetailsMode","PlacementType","DayOfWeek","ResolutionMethod","WebhookIdentityType","createExperience","sdkTransformError","getExperience","getExperienceBySlug","updateExperience","queryExperiences","searchExperiences","bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","createExperience","getExperience","getExperienceBySlug","updateExperience","queryExperiences","typedQueryExperiences","searchExperiences","bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","import_rest_modules","queryExperiences","typedQueryExperiences","createExperience","getExperience","getExperienceBySlug","updateExperience","searchExperiences","bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","onExperienceCreated","onExperienceTagsModified","onExperienceUpdated"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/table-reservations-v1-experience-experiences.public.ts","../../src/table-reservations-v1-experience-experiences.universal.ts","../../src/table-reservations-v1-experience-experiences.http.ts","../../src/table-reservations-v1-experience-experiences.context.ts"],"sourcesContent":["export * from './src/table-reservations-v1-experience-experiences.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkUpdateExperienceTagsApplicationErrors,\n BulkUpdateExperienceTagsByFilterApplicationErrors,\n BulkUpdateExperienceTagsByFilterOptions,\n BulkUpdateExperienceTagsByFilterResponse,\n BulkUpdateExperienceTagsOptions,\n BulkUpdateExperienceTagsResponse,\n Experience,\n ExperienceCreatedEnvelope,\n ExperienceQuery,\n ExperienceSearch,\n ExperienceTagsModifiedEnvelope,\n ExperienceUpdatedEnvelope,\n ExperiencesQueryBuilder,\n GetExperienceBySlugResponse,\n QueryExperiencesResponse,\n SearchExperiencesResponse,\n UpdateExperience,\n UpdateExperienceApplicationErrors,\n bulkUpdateExperienceTags as universalBulkUpdateExperienceTags,\n bulkUpdateExperienceTagsByFilter as universalBulkUpdateExperienceTagsByFilter,\n createExperience as universalCreateExperience,\n getExperience as universalGetExperience,\n getExperienceBySlug as universalGetExperienceBySlug,\n queryExperiences as universalQueryExperiences,\n searchExperiences as universalSearchExperiences,\n typedQueryExperiences as universalTypedQueryExperiences,\n updateExperience as universalUpdateExperience,\n} from './table-reservations-v1-experience-experiences.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/table-reservations' };\n\nexport function createExperience(\n httpClient: HttpClient\n): CreateExperienceSignature {\n return (\n experience: NonNullablePaths<\n Experience,\n | `configuration`\n | `configuration.displayInfo`\n | `configuration.displayInfo.name`\n | `configuration.onlineReservations`\n | `configuration.onlineReservations.approval`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.maxGuests.number`\n | `configuration.onlineReservations.maximumReservationNotice.number`\n | `configuration.onlineReservations.maximumReservationNotice.unit`\n | `configuration.onlineReservations.minimumReservationNotice.number`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.partySize`\n | `configuration.onlineReservations.partySize.max`\n | `configuration.onlineReservations.partySize.min`\n | `configuration.paymentPolicy`\n | `configuration.paymentPolicy.paymentPolicyType`\n | `reservationLocationId`,\n 5\n >\n ) =>\n universalCreateExperience(\n experience,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateExperienceSignature {\n /**\n * Creates an experience.\n * @param - Experience to create.\n * @returns Created experience.\n */\n (\n experience: NonNullablePaths<\n Experience,\n | `configuration`\n | `configuration.displayInfo`\n | `configuration.displayInfo.name`\n | `configuration.onlineReservations`\n | `configuration.onlineReservations.approval`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.maxGuests.number`\n | `configuration.onlineReservations.maximumReservationNotice.number`\n | `configuration.onlineReservations.maximumReservationNotice.unit`\n | `configuration.onlineReservations.minimumReservationNotice.number`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.partySize`\n | `configuration.onlineReservations.partySize.max`\n | `configuration.onlineReservations.partySize.min`\n | `configuration.paymentPolicy`\n | `configuration.paymentPolicy.paymentPolicyType`\n | `reservationLocationId`,\n 5\n >\n ): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n >;\n}\n\nexport function getExperience(httpClient: HttpClient): GetExperienceSignature {\n return (experienceId: string) =>\n universalGetExperience(\n experienceId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetExperienceSignature {\n /**\n * Retrieves an experience.\n * @param - ID of the experience to retrieve.\n * @returns Retrieved experience.\n */\n (experienceId: string): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n >;\n}\n\nexport function getExperienceBySlug(\n httpClient: HttpClient\n): GetExperienceBySlugSignature {\n return (slug: string) =>\n universalGetExperienceBySlug(\n slug,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetExperienceBySlugSignature {\n /**\n * Retrieves an experience.\n * @param - ID of the experience to retrieve.\n */\n (slug: string): Promise<\n NonNullablePaths<\n GetExperienceBySlugResponse,\n | `experience.configuration.paymentPolicy.paymentPolicyType`\n | `experience.configuration.onlineReservations.minimumReservationNotice.unit`\n | `experience.configuration.onlineReservations.approval.mode`\n | `experience.configuration.onlineReservations.businessSchedule.entries`\n | `experience.configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `experience.configuration.reservationForm.customFieldDefinitions`\n | `experience.tags.privateTags.tagIds`\n | `experience.seoSettings.seoSchema.tags`\n | `experience.seoSettings.seoSchema.tags.${number}.type`\n | `experience.seoSettings.seoSchema.tags.${number}.children`\n | `experience.seoSettings.seoSchema.tags.${number}.custom`\n | `experience.seoSettings.seoSchema.tags.${number}.disabled`\n | `experience.seoSettings.seoSchema.settings.preventAutoRedirect`\n | `experience.seoSettings.seoSchema.settings.keywords`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.term`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 8\n >\n >;\n}\n\nexport function updateExperience(\n httpClient: HttpClient\n): UpdateExperienceSignature {\n return (\n _id: string,\n experience: NonNullablePaths<UpdateExperience, `revision`, 2>\n ) =>\n universalUpdateExperience(\n _id,\n experience,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateExperienceSignature {\n /**\n * Updates an experience.\n *\n * Each time the experience is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the experience.\n * This ensures you're working with the latest experience information and prevents unintended overwrites.\n * @param - Experience ID.\n * @returns Updated experience.\n */\n (\n _id: string,\n experience: NonNullablePaths<UpdateExperience, `revision`, 2>\n ): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateExperienceApplicationErrors;\n }\n >;\n}\n\nexport function queryExperiences(\n httpClient: HttpClient\n): QueryExperiencesSignature {\n return () =>\n universalQueryExperiences(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryExperiencesSignature {\n /**\n * Retrieves a list of experiences using the specified paging, filtering, and sorting.\n *\n * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/sorting-and-filtering) article.\n * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n */\n (): ExperiencesQueryBuilder;\n}\n\nexport function typedQueryExperiences(\n httpClient: HttpClient\n): TypedQueryExperiencesSignature {\n return (query: ExperienceQuery) =>\n universalTypedQueryExperiences(\n query,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryExperiencesSignature {\n /** */\n (query: ExperienceQuery): Promise<\n NonNullablePaths<\n QueryExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`,\n 6\n >\n >;\n}\n\nexport function searchExperiences(\n httpClient: HttpClient\n): SearchExperiencesSignature {\n return (search: ExperienceSearch) =>\n universalSearchExperiences(\n search,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchExperiencesSignature {\n /**\n * Use this method to search the fields of the experiences on a site for a given expression.\n *\n * You can also use this method to perform data aggregations on a site's experience fields.\n * @param - Search query.\n */\n (search: ExperienceSearch): Promise<\n NonNullablePaths<\n SearchExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n >;\n}\n\nexport function bulkUpdateExperienceTags(\n httpClient: HttpClient\n): BulkUpdateExperienceTagsSignature {\n return (experienceIds: string[], options?: BulkUpdateExperienceTagsOptions) =>\n universalBulkUpdateExperienceTags(\n experienceIds,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateExperienceTagsSignature {\n /**\n * Synchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences by experience IDs. A tag that appears in both assign and unassign lists is assigned.\n * @param - List of experience IDs to update tags for.\n */\n (experienceIds: string[], options?: BulkUpdateExperienceTagsOptions): Promise<\n NonNullablePaths<\n BulkUpdateExperienceTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateExperienceTagsApplicationErrors;\n }\n >;\n}\n\nexport function bulkUpdateExperienceTagsByFilter(\n httpClient: HttpClient\n): BulkUpdateExperienceTagsByFilterSignature {\n return (\n filter: Record<string, any>,\n options?: BulkUpdateExperienceTagsByFilterOptions\n ) =>\n universalBulkUpdateExperienceTagsByFilter(\n filter,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateExperienceTagsByFilterSignature {\n /**\n * Asynchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences using filter criteria. An empty filter updates all experiences. A tag that appears in both assign and unassign lists is assigned.\n * @param - Filter criteria to select experiences for tag updates.\n */\n (\n filter: Record<string, any>,\n options?: BulkUpdateExperienceTagsByFilterOptions\n ): Promise<\n NonNullablePaths<BulkUpdateExperienceTagsByFilterResponse, `jobId`, 2> & {\n __applicationErrorsType?: BulkUpdateExperienceTagsByFilterApplicationErrors;\n }\n >;\n}\n\nexport const onExperienceCreated = EventDefinition(\n 'wix.table_reservations.v1.experience_created',\n true,\n (event: ExperienceCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.experiencePageUrl' },\n { path: 'entity.configuration.reservationForm.privacyPolicy.url' },\n {\n path: 'entity.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'entity.configuration.displayInfo.coverImage' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ])\n )\n)<ExperienceCreatedEnvelope>();\nexport const onExperienceTagsModified = EventDefinition(\n 'wix.table_reservations.v1.experience_tags_modified',\n true,\n (event: ExperienceTagsModifiedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'data.experience.createdDate' },\n { path: 'data.experience.updatedDate' },\n {\n path: 'data.experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'data.experience.experiencePageUrl' },\n {\n path: 'data.experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'data.experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'data.experience.configuration.displayInfo.coverImage' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'data.experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ])\n )\n)<ExperienceTagsModifiedEnvelope>();\nexport const onExperienceUpdated = EventDefinition(\n 'wix.table_reservations.v1.experience_updated',\n true,\n (event: ExperienceUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n { path: 'metadata.eventTime' },\n { path: 'modifiedFields.createdDate' },\n { path: 'modifiedFields.updatedDate' },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'entity.experiencePageUrl' },\n { path: 'entity.configuration.reservationForm.privacyPolicy.url' },\n {\n path: 'entity.configuration.reservationForm.termsAndConditions.url',\n },\n { path: 'modifiedFields.experiencePageUrl' },\n {\n path: 'modifiedFields.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'modifiedFields.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.configuration.displayInfo.coverImage' },\n { path: 'modifiedFields.configuration.displayInfo.coverImage' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'entity.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'modifiedFields.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ])\n )\n)<ExperienceUpdatedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n Address,\n AddressHint,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationResultsScalarResult,\n AggregationType,\n Alignment,\n AnchorData,\n App,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n AppType,\n ApplicationError,\n Approval,\n AspectRatio,\n AudioData,\n Background,\n BackgroundBackgroundOneOf,\n BackgroundImage,\n BackgroundType,\n Banner,\n BaseEventMetadata,\n BlockquoteData,\n BookingData,\n Border,\n BorderColors,\n BorderWidths,\n BulkActionMetadata,\n BulkArchiveExperiencesRequest,\n BulkArchiveExperiencesResponse,\n BulkArchiveExperiencesResult,\n BulkUnarchiveExperiencesRequest,\n BulkUnarchiveExperiencesResponse,\n BulkUnarchiveExperiencesResult,\n BulkUpdateExperienceTagsByFilterOptions,\n BulkUpdateExperienceTagsByFilterRequest,\n BulkUpdateExperienceTagsByFilterResponse,\n BulkUpdateExperienceTagsOptions,\n BulkUpdateExperienceTagsRequest,\n BulkUpdateExperienceTagsResponse,\n BulkUpdateExperienceTagsResult,\n BulletedListData,\n BusinessSchedule,\n ButtonData,\n ButtonDataType,\n ButtonStyles,\n CaptionData,\n CardStyles,\n Categories,\n CellStyle,\n ChangeContext,\n ChangeContextPayloadOneOf,\n CodeBlockData,\n CollapsibleListData,\n ColorData,\n Colors,\n Configuration,\n ConsentPolicy,\n CreateExperienceRequest,\n CreateExperienceResponse,\n Crop,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomFieldDefinition,\n CustomTag,\n DateHistogramAggregation,\n DateHistogramResult,\n DateHistogramResults,\n DayOfWeek,\n Decoration,\n DecorationDataOneOf,\n DecorationType,\n Design,\n DesignTarget,\n Dimensions,\n Direction,\n DisplayInfo,\n DividerData,\n DividerDataAlignment,\n DocumentStyle,\n DomainEvent,\n DomainEventBodyOneOf,\n EmailMarketingCheckbox,\n EmbedData,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n Entry,\n EntryRecurrenceOptionsOneOf,\n EventData,\n EventMetadata,\n Experience,\n ExperienceCreatedEnvelope,\n ExperienceQuerySpec,\n ExperienceSearchSpec,\n ExperienceTagsModifiedEnvelope,\n ExperienceUpdatedEnvelope,\n ExperiencesQueryBuilder,\n ExperiencesQueryResult,\n ExtendedFields,\n File,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n FontFamilyData,\n FontSizeData,\n FontType,\n GIF,\n GIFData,\n GIFType,\n GalleryData,\n GalleryOptions,\n GalleryOptionsLayout,\n GeoCoordinates,\n GetExperienceBySlugRequest,\n GetExperienceBySlugResponse,\n GetExperienceRequest,\n GetExperienceResponse,\n Gradient,\n GroupByValueResults,\n HTMLData,\n HTMLDataDataOneOf,\n HeadingData,\n Height,\n IdentificationData,\n IdentificationDataIdOneOf,\n Image,\n ImageData,\n ImageDataStyles,\n ImagePosition,\n ImageStyles,\n IncludeMissingValuesOptions,\n InitialExpandedItems,\n Interval,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n Item,\n ItemDataOneOf,\n ItemMetadata,\n ItemStyle,\n Keyword,\n Layout,\n LayoutCellData,\n LayoutData,\n LayoutType,\n LineStyle,\n Link,\n LinkData,\n LinkDataOneOf,\n LinkPreviewData,\n LinkPreviewDataStyles,\n ListValue,\n Locale,\n MapData,\n MapSettings,\n MapType,\n MaxGuests,\n Media,\n MentionData,\n MessageEnvelope,\n Metadata,\n MissingValues,\n Mode,\n Multilingual,\n NestedAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n NestedAggregationType,\n NestedResultValue,\n NestedResultValueResultOneOf,\n NestedResults,\n NestedValueAggregationResult,\n Node,\n NodeDataOneOf,\n NodeStyle,\n NodeType,\n NoticePeriod,\n NullValue,\n Oembed,\n OnOptions,\n OnOptionsOptionsOneOf,\n OneTimeOptions,\n OnlineReservations,\n OnlineReservationsBusinessSchedule,\n Option,\n OptionDesign,\n OptionLayout,\n OrderedListData,\n Orientation,\n Origin,\n PDFSettings,\n Page,\n ParagraphData,\n PartySize,\n PaymentPolicy,\n PaymentPolicyOptionsOneOf,\n PaymentPolicyType,\n PerGuestOptions,\n Permissions,\n Placement,\n PlacementType,\n PlaybackOptions,\n PluginContainerData,\n PluginContainerDataAlignment,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Poll,\n PollData,\n PollDataLayout,\n PollDesign,\n PollLayout,\n PollLayoutDirection,\n PollLayoutType,\n PollSettings,\n Position,\n PricingData,\n PrivacyPolicy,\n PrivacyPolicyValueOneOf,\n Properties,\n PropertiesChange,\n QueryExperiencesRequest,\n QueryExperiencesResponse,\n RangeAggregation,\n RangeAggregationResult,\n RangeBucket,\n RangeResult,\n RangeResults,\n Recurrence,\n Rel,\n ReservationForm,\n Resizing,\n ResolutionMethod,\n ResponsivenessBehaviour,\n RestoreInfo,\n Results,\n RibbonStyles,\n RichContent,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n Scaling,\n SearchDetails,\n SearchDetailsMode,\n SearchExperiencesRequest,\n SearchExperiencesResponse,\n SeoSchema,\n SeoSettings,\n Settings,\n ShapeData,\n ShapeDataStyles,\n SiteCloned,\n SiteCreated,\n SitePropertiesEvent,\n SitePropertiesNotification,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n Source,\n SpecialHourPeriod,\n SpecificTablesOptions,\n Spoiler,\n SpoilerData,\n StartDaysAndTimes,\n StartDaysAndTimesDayOfWeek,\n Styles,\n StylesBorder,\n StylesPosition,\n SupportedLanguage,\n Table,\n TableAssignmentType,\n TableAvailabilityType,\n TableCellData,\n TableCombination,\n TableData,\n TableManagement,\n TableManagementMode,\n TableManagementOptionsOneOf,\n Tag,\n TagList,\n Tags,\n TagsModified,\n Target,\n TermsAndConditions,\n TermsAndConditionsValueOneOf,\n TextAlignment,\n TextData,\n TextNodeStyle,\n TextStyle,\n Thumbnails,\n ThumbnailsAlignment,\n TimePeriod,\n Translation,\n Type,\n URI,\n Unit,\n UpdateExperience,\n UpdateExperienceRequest,\n UpdateExperienceResponse,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n ValueAggregationResult,\n ValueResult,\n ValueResults,\n VerticalAlignment,\n VerticalAlignmentAlignment,\n Video,\n VideoData,\n ViewMode,\n ViewRole,\n VoteRole,\n WebhookIdentityType,\n WeeklyOptions,\n Width,\n WidthType,\n utils,\n} from './table-reservations-v1-experience-experiences.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n SearchSpec,\n} from '@wix/sdk-types';\nimport * as ambassadorWixTableReservationsV1Experience from './table-reservations-v1-experience-experiences.http.js';\n// @ts-ignore\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformSDKPageURLV2ToRESTPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformRESTPageURLV2ToSDKPageURLV2 } from '@wix/sdk-runtime/transformations/page-url-v2';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/** Experience. */\nexport interface Experience {\n /**\n * Experience ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the reservation location this experience is assigned to.\n * @format GUID\n * @readonly\n */\n reservationLocationId?: string | null;\n /**\n * Revision number, which increments by 1 each time the experience is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the experience.\n *\n * Ignored when creating an experience.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the experience was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the experience was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Experience configuration. */\n configuration?: Configuration;\n /**\n * 3-letter currency code in ISO-4217 alphabetic format. For exampled, `USD`.\n * @format CURRENCY\n * @readonly\n */\n currency?: string | null;\n /** Extended fields. */\n extendedFields?: ExtendedFields;\n /** Tags assigned to the experience. Tags must be created using the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) before they can be assigned. */\n tags?: Tags;\n /**\n * URL-friendly identifier for the experience page, derived from the experience display name in kebab-case format (e.g., \"wine-tasting-event\"). Used to create readable URLs for the experience page.\n * @maxLength 300\n */\n slug?: string | null;\n /** SEO settings for the experience page. */\n seoSettings?: SeoSettings;\n}\n\nexport interface Table {\n /**\n * Table ID.\n * @format GUID\n */\n _id?: string | null;\n}\n\nexport interface TableCombination {\n /**\n * Table combination ID.\n * @format GUID\n */\n _id?: string | null;\n}\n\nexport enum TableAvailabilityType {\n UNKNOWN_TABLE_AVAILABILITY_TYPE = 'UNKNOWN_TABLE_AVAILABILITY_TYPE',\n ANY_ONLINE_TABLE = 'ANY_ONLINE_TABLE',\n SPECIFIC_TABLES = 'SPECIFIC_TABLES',\n}\n\n/** @enumType */\nexport type TableAvailabilityTypeWithLiterals =\n | TableAvailabilityType\n | 'UNKNOWN_TABLE_AVAILABILITY_TYPE'\n | 'ANY_ONLINE_TABLE'\n | 'SPECIFIC_TABLES';\n\nexport enum TableAssignmentType {\n UNKNOWN_ASSIGMENT_TYPE = 'UNKNOWN_ASSIGMENT_TYPE',\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n}\n\n/** @enumType */\nexport type TableAssignmentTypeWithLiterals =\n | TableAssignmentType\n | 'UNKNOWN_ASSIGMENT_TYPE'\n | 'AUTOMATIC'\n | 'MANUAL';\n\nexport interface SpecificTablesOptions {\n /** When tables are mandatory for experience they can't be used for standard reservations during experience time. */\n reservedForExperience?: boolean | null;\n /**\n * Tables.\n * @maxSize 1000\n */\n tables?: Table[];\n /**\n * Table combinations.\n * @maxSize 1000\n */\n tableCombinations?: TableCombination[];\n}\n\nexport enum TableManagementMode {\n UNKNOWN_MODE = 'UNKNOWN_MODE',\n ON = 'ON',\n OFF = 'OFF',\n}\n\n/** @enumType */\nexport type TableManagementModeWithLiterals =\n | TableManagementMode\n | 'UNKNOWN_MODE'\n | 'ON'\n | 'OFF';\n\nexport interface OnOptions extends OnOptionsOptionsOneOf {\n /** Specific tables options. */\n specificTablesOptions?: SpecificTablesOptions;\n /** Table availability type. */\n tableAvailabilityType?: TableAvailabilityTypeWithLiterals;\n /** Table assignment type. */\n tableAssignmentType?: TableAssignmentTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface OnOptionsOptionsOneOf {\n /** Specific tables options. */\n specificTablesOptions?: SpecificTablesOptions;\n}\n\nexport enum Unit {\n UNKNOWN_UNIT = 'UNKNOWN_UNIT',\n MINUTES = 'MINUTES',\n HOURS = 'HOURS',\n DAYS = 'DAYS',\n}\n\n/** @enumType */\nexport type UnitWithLiterals =\n | Unit\n | 'UNKNOWN_UNIT'\n | 'MINUTES'\n | 'HOURS'\n | 'DAYS';\n\nexport enum Mode {\n UNKNOWN_MODE = 'UNKNOWN_MODE',\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n}\n\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'UNKNOWN_MODE' | 'AUTOMATIC' | 'MANUAL';\n\n/** Enumerates the days of the week. */\nexport enum StartDaysAndTimesDayOfWeek {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type StartDaysAndTimesDayOfWeekWithLiterals =\n | StartDaysAndTimesDayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\nexport interface StartDaysAndTimes {\n /** Day of week. */\n day?: StartDaysAndTimesDayOfWeekWithLiterals;\n /**\n * Start time. ISO-8601 extended local time format (hh:mm). For example, `\"11:00\"`, or `\"23:30\"`.\n * @maxLength 5\n * @minLength 5\n * @format LOCAL_TIME\n */\n time?: string | null;\n}\n\nexport enum Recurrence {\n UNKNOWN_RECURRENCE = 'UNKNOWN_RECURRENCE',\n WEEKLY = 'WEEKLY',\n ONE_TIME = 'ONE_TIME',\n}\n\n/** @enumType */\nexport type RecurrenceWithLiterals =\n | Recurrence\n | 'UNKNOWN_RECURRENCE'\n | 'WEEKLY'\n | 'ONE_TIME';\n\nexport interface WeeklyOptions {\n /**\n * Start date.\n * @format LOCAL_DATE\n */\n startDate?: string | null;\n /**\n * End date.\n * @format LOCAL_DATE\n */\n endDate?: string | null;\n /**\n * Days of the week and times the experience starts.\n * @maxSize 100\n */\n startDaysAndTimes?: StartDaysAndTimes[];\n}\n\nexport interface OneTimeOptions {\n /**\n * Start date.\n * @format LOCAL_DATE\n */\n startDate?: string | null;\n /**\n * Start time. ISO-8601 extended local time format (hh:mm). For example, `\"11:00\"`, or `\"23:30\"`.\n * @maxLength 5\n * @minLength 5\n * @format LOCAL_TIME\n */\n startTime?: string | null;\n}\n\nexport interface Entry extends EntryRecurrenceOptionsOneOf {\n /** Weekly recurrence settings. */\n weeklyOptions?: WeeklyOptions;\n /** 1-time event settings. */\n oneTimeOptions?: OneTimeOptions;\n /** Recurrence settings for this entry. */\n recurrence?: RecurrenceWithLiterals;\n}\n\n/** @oneof */\nexport interface EntryRecurrenceOptionsOneOf {\n /** Weekly recurrence settings. */\n weeklyOptions?: WeeklyOptions;\n /** 1-time event settings. */\n oneTimeOptions?: OneTimeOptions;\n}\n\nexport interface PartySize {\n /**\n * Minimum number of guests allowed for a reservation.\n * @min 1\n * @max 10000\n */\n min?: number | null;\n /**\n * Maximum number of guests allowed for a reservation.\n * @min 1\n * @max 10000\n */\n max?: number | null;\n}\n\nexport interface NoticePeriod {\n /**\n * Number of time units for the notice period. For example, `2` for 2 hours or `30` for 30 days.\n * @min 1\n * @max 1000\n */\n number?: number | null;\n /** Time unit for the notice period. */\n unit?: UnitWithLiterals;\n}\n\n/** Approval settings. */\nexport interface Approval {\n /** Approval mode. */\n mode?: ModeWithLiterals;\n}\n\nexport interface MaxGuests {\n /**\n * Maximum total number of guests that can have active reservations for this experience at the same time.\n * @max 10000\n */\n number?: number | null;\n}\n\nexport interface OnlineReservationsBusinessSchedule {\n /**\n * Duration of the experience in minutes.\n * @min 1\n * @max 1440\n */\n durationInMinutes?: number | null;\n /**\n * Schedule entries defining when the experience is available. Can include both recurring weekly schedules and 1-time events.\n * @maxSize 10\n */\n entries?: Entry[];\n}\n\n/** Privacy policy. */\nexport interface PrivacyPolicy extends PrivacyPolicyValueOneOf {\n /** Privacy policy URL. */\n url?: string;\n /**\n * Privacy policy text.\n * @maxLength 1000000\n */\n text?: string | null;\n /**\n * Whether the privacy policy is displayed to customers.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n}\n\n/** @oneof */\nexport interface PrivacyPolicyValueOneOf {\n /** Privacy policy URL. */\n url?: string;\n /**\n * Privacy policy text.\n * @maxLength 1000000\n */\n text?: string | null;\n}\n\n/** Terms and conditions. */\nexport interface TermsAndConditions extends TermsAndConditionsValueOneOf {\n /** Terms and conditions URL. */\n url?: string;\n /**\n * Terms and conditions text.\n * @maxLength 1000000\n */\n text?: string | null;\n /**\n * Whether the terms and conditions are displayed to customers.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n}\n\n/** @oneof */\nexport interface TermsAndConditionsValueOneOf {\n /** Terms and conditions URL. */\n url?: string;\n /**\n * Terms and conditions text.\n * @maxLength 1000000\n */\n text?: string | null;\n}\n\n/** Custom field definition. Definitions of the fields that are added to the reservation form. */\nexport interface CustomFieldDefinition {\n /**\n * Custom field ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Custom field name.\n * @minLength 1\n * @maxLength 1000\n */\n name?: string | null;\n /**\n * Whether the custom field is required.\n *\n * Default: `false`\n */\n required?: boolean | null;\n}\n\n/** Email marketing checkbox settings. */\nexport interface EmailMarketingCheckbox {\n /**\n * Whether the email marketing checkbox is displayed to customers.\n *\n * Default: `false`\n */\n enabled?: boolean | null;\n /**\n * Whether the email marketing checkbox is checked by default.\n *\n * Default: `false`\n */\n checkedByDefault?: boolean | null;\n}\n\nexport interface RichContent {\n /** Node objects representing a rich content document. */\n nodes?: Node[];\n /** Object metadata. */\n metadata?: Metadata;\n /** Global styling for header, paragraph, block quote, and code block nodes in the object. */\n documentStyle?: DocumentStyle;\n}\n\nexport interface Node extends NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */\n type?: NodeTypeWithLiterals;\n /** Node ID. */\n id?: string;\n /** A list of child nodes. */\n nodes?: Node[];\n /** Padding and background color styling for the node. */\n style?: NodeStyle;\n}\n\n/** @oneof */\nexport interface NodeDataOneOf {\n /** Data for a button node. */\n buttonData?: ButtonData;\n /** Data for a code block node. */\n codeBlockData?: CodeBlockData;\n /** Data for a divider node. */\n dividerData?: DividerData;\n /** Data for a file node. */\n fileData?: FileData;\n /** Data for a gallery node. */\n galleryData?: GalleryData;\n /** Data for a GIF node. */\n gifData?: GIFData;\n /** Data for a heading node. */\n headingData?: HeadingData;\n /** Data for an embedded HTML node. */\n htmlData?: HTMLData;\n /** Data for an image node. */\n imageData?: ImageData;\n /** Data for a link preview node. */\n linkPreviewData?: LinkPreviewData;\n /** @deprecated */\n mapData?: MapData;\n /** Data for a paragraph node. */\n paragraphData?: ParagraphData;\n /** Data for a poll node. */\n pollData?: PollData;\n /** Data for a text node. Used to apply decorations to text. */\n textData?: TextData;\n /** Data for an app embed node. */\n appEmbedData?: AppEmbedData;\n /** Data for a video node. */\n videoData?: VideoData;\n /** Data for an oEmbed node. */\n embedData?: EmbedData;\n /** Data for a collapsible list node. */\n collapsibleListData?: CollapsibleListData;\n /** Data for a table node. */\n tableData?: TableData;\n /** Data for a table cell node. */\n tableCellData?: TableCellData;\n /** Data for a custom external node. */\n externalData?: Record<string, any> | null;\n /** Data for an audio node. */\n audioData?: AudioData;\n /** Data for an ordered list node. */\n orderedListData?: OrderedListData;\n /** Data for a bulleted list node. */\n bulletedListData?: BulletedListData;\n /** Data for a block quote node. */\n blockquoteData?: BlockquoteData;\n /** Data for a caption node. */\n captionData?: CaptionData;\n /** Data for a layout node. Reserved for future use. */\n layoutData?: LayoutData;\n /** Data for a cell node. */\n layoutCellData?: LayoutCellData;\n /** Data for a shape node. */\n shapeData?: ShapeData;\n}\n\nexport enum NodeType {\n PARAGRAPH = 'PARAGRAPH',\n TEXT = 'TEXT',\n HEADING = 'HEADING',\n BULLETED_LIST = 'BULLETED_LIST',\n ORDERED_LIST = 'ORDERED_LIST',\n LIST_ITEM = 'LIST_ITEM',\n BLOCKQUOTE = 'BLOCKQUOTE',\n CODE_BLOCK = 'CODE_BLOCK',\n VIDEO = 'VIDEO',\n DIVIDER = 'DIVIDER',\n FILE = 'FILE',\n GALLERY = 'GALLERY',\n GIF = 'GIF',\n HTML = 'HTML',\n IMAGE = 'IMAGE',\n LINK_PREVIEW = 'LINK_PREVIEW',\n /** @deprecated */\n MAP = 'MAP',\n POLL = 'POLL',\n APP_EMBED = 'APP_EMBED',\n BUTTON = 'BUTTON',\n COLLAPSIBLE_LIST = 'COLLAPSIBLE_LIST',\n TABLE = 'TABLE',\n EMBED = 'EMBED',\n COLLAPSIBLE_ITEM = 'COLLAPSIBLE_ITEM',\n COLLAPSIBLE_ITEM_TITLE = 'COLLAPSIBLE_ITEM_TITLE',\n COLLAPSIBLE_ITEM_BODY = 'COLLAPSIBLE_ITEM_BODY',\n TABLE_CELL = 'TABLE_CELL',\n TABLE_ROW = 'TABLE_ROW',\n EXTERNAL = 'EXTERNAL',\n AUDIO = 'AUDIO',\n CAPTION = 'CAPTION',\n LAYOUT = 'LAYOUT',\n LAYOUT_CELL = 'LAYOUT_CELL',\n SHAPE = 'SHAPE',\n}\n\n/** @enumType */\nexport type NodeTypeWithLiterals =\n | NodeType\n | 'PARAGRAPH'\n | 'TEXT'\n | 'HEADING'\n | 'BULLETED_LIST'\n | 'ORDERED_LIST'\n | 'LIST_ITEM'\n | 'BLOCKQUOTE'\n | 'CODE_BLOCK'\n | 'VIDEO'\n | 'DIVIDER'\n | 'FILE'\n | 'GALLERY'\n | 'GIF'\n | 'HTML'\n | 'IMAGE'\n | 'LINK_PREVIEW'\n | 'MAP'\n | 'POLL'\n | 'APP_EMBED'\n | 'BUTTON'\n | 'COLLAPSIBLE_LIST'\n | 'TABLE'\n | 'EMBED'\n | 'COLLAPSIBLE_ITEM'\n | 'COLLAPSIBLE_ITEM_TITLE'\n | 'COLLAPSIBLE_ITEM_BODY'\n | 'TABLE_CELL'\n | 'TABLE_ROW'\n | 'EXTERNAL'\n | 'AUDIO'\n | 'CAPTION'\n | 'LAYOUT'\n | 'LAYOUT_CELL'\n | 'SHAPE';\n\nexport interface NodeStyle {\n /** The top padding value in pixels. */\n paddingTop?: string | null;\n /** The bottom padding value in pixels. */\n paddingBottom?: string | null;\n /** The background color as a hexadecimal value. */\n backgroundColor?: string | null;\n}\n\nexport interface ButtonData {\n /** Styling for the button's container. */\n containerData?: PluginContainerData;\n /** The button type. */\n type?: ButtonDataTypeWithLiterals;\n /** Styling for the button. */\n styles?: Styles;\n /** The text to display on the button. */\n text?: string | null;\n /** Button link details. */\n link?: Link;\n}\n\nexport interface Border {\n /**\n * Deprecated: Use `borderWidth` in `styles` instead.\n * @deprecated\n */\n width?: number | null;\n /**\n * Deprecated: Use `borderRadius` in `styles` instead.\n * @deprecated\n */\n radius?: number | null;\n}\n\nexport interface Colors {\n /**\n * Deprecated: Use `textColor` in `styles` instead.\n * @deprecated\n */\n text?: string | null;\n /**\n * Deprecated: Use `borderColor` in `styles` instead.\n * @deprecated\n */\n border?: string | null;\n /**\n * Deprecated: Use `backgroundColor` in `styles` instead.\n * @deprecated\n */\n background?: string | null;\n}\n\nexport interface PluginContainerData {\n /** The width of the node when it's displayed. */\n width?: PluginContainerDataWidth;\n /** The node's alignment within its container. */\n alignment?: PluginContainerDataAlignmentWithLiterals;\n /** Spoiler cover settings for the node. */\n spoiler?: Spoiler;\n /** The height of the node when it's displayed. */\n height?: Height;\n /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */\n textWrap?: boolean | null;\n}\n\nexport enum WidthType {\n /** Width matches the content width */\n CONTENT = 'CONTENT',\n /** Small Width */\n SMALL = 'SMALL',\n /** Width will match the original asset width */\n ORIGINAL = 'ORIGINAL',\n /** coast-to-coast display */\n FULL_WIDTH = 'FULL_WIDTH',\n}\n\n/** @enumType */\nexport type WidthTypeWithLiterals =\n | WidthType\n | 'CONTENT'\n | 'SMALL'\n | 'ORIGINAL'\n | 'FULL_WIDTH';\n\nexport interface PluginContainerDataWidth\n extends PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\n/** @oneof */\nexport interface PluginContainerDataWidthDataOneOf {\n /**\n * One of the following predefined width options:\n * `CONTENT`: The width of the container matches the content width.\n * `SMALL`: A small width.\n * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width.\n * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen.\n */\n size?: WidthTypeWithLiterals;\n /** A custom width value in pixels. */\n custom?: string | null;\n}\n\nexport enum PluginContainerDataAlignment {\n /** Center Alignment */\n CENTER = 'CENTER',\n /** Left Alignment */\n LEFT = 'LEFT',\n /** Right Alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type PluginContainerDataAlignmentWithLiterals =\n | PluginContainerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface Spoiler {\n /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */\n enabled?: boolean | null;\n /** The description displayed on top of the spoiler cover. */\n description?: string | null;\n /** The text for the button used to remove the spoiler cover. */\n buttonText?: string | null;\n}\n\nexport interface Height {\n /** A custom height value in pixels. */\n custom?: string | null;\n}\n\nexport enum ButtonDataType {\n /** Regular link button */\n LINK = 'LINK',\n /** Triggers custom action that is defined in plugin configuration by the consumer */\n ACTION = 'ACTION',\n}\n\n/** @enumType */\nexport type ButtonDataTypeWithLiterals = ButtonDataType | 'LINK' | 'ACTION';\n\nexport interface Styles {\n /**\n * Deprecated: Use `borderWidth` and `borderRadius` instead.\n * @deprecated\n */\n border?: Border;\n /**\n * Deprecated: Use `textColor`, `borderColor` and `backgroundColor` instead.\n * @deprecated\n */\n colors?: Colors;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /**\n * Deprecated: Use `borderWidth` for normal/hover states instead.\n * @deprecated\n */\n borderWidthHover?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface Link extends LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n /**\n * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows:\n * `SELF` - Default. Opens the linked document in the same frame as the link.\n * `BLANK` - Opens the linked document in a new browser tab or window.\n * `PARENT` - Opens the linked document in the link's parent frame.\n * `TOP` - Opens the linked document in the full body of the link's browser tab or window.\n */\n target?: TargetWithLiterals;\n /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */\n rel?: Rel;\n /** A serialized object used for a custom or external link panel. */\n customData?: string | null;\n}\n\n/** @oneof */\nexport interface LinkDataOneOf {\n /** The absolute URL for the linked document. */\n url?: string;\n /** The target node's ID. Used for linking to another node in this object. */\n anchor?: string;\n}\n\nexport enum Target {\n /** Opens the linked document in the same frame as it was clicked (this is default) */\n SELF = 'SELF',\n /** Opens the linked document in a new window or tab */\n BLANK = 'BLANK',\n /** Opens the linked document in the parent frame */\n PARENT = 'PARENT',\n /** Opens the linked document in the full body of the window */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type TargetWithLiterals = Target | 'SELF' | 'BLANK' | 'PARENT' | 'TOP';\n\nexport interface Rel {\n /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */\n nofollow?: boolean | null;\n /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */\n sponsored?: boolean | null;\n /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */\n ugc?: boolean | null;\n /** Indicates that this link protect referral information from being passed to the target website. */\n noreferrer?: boolean | null;\n}\n\nexport interface CodeBlockData {\n /** Styling for the code block's text. */\n textStyle?: TextStyle;\n}\n\nexport interface TextStyle {\n /** Text alignment. Defaults to `AUTO`. */\n textAlignment?: TextAlignmentWithLiterals;\n /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */\n lineHeight?: string | null;\n}\n\nexport enum TextAlignment {\n /** browser default, eqivalent to `initial` */\n AUTO = 'AUTO',\n /** Left align */\n LEFT = 'LEFT',\n /** Right align */\n RIGHT = 'RIGHT',\n /** Center align */\n CENTER = 'CENTER',\n /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */\n JUSTIFY = 'JUSTIFY',\n}\n\n/** @enumType */\nexport type TextAlignmentWithLiterals =\n | TextAlignment\n | 'AUTO'\n | 'LEFT'\n | 'RIGHT'\n | 'CENTER'\n | 'JUSTIFY';\n\nexport interface DividerData {\n /** Styling for the divider's container. */\n containerData?: PluginContainerData;\n /** Divider line style. */\n lineStyle?: LineStyleWithLiterals;\n /** Divider width. */\n width?: WidthWithLiterals;\n /** Divider alignment. */\n alignment?: DividerDataAlignmentWithLiterals;\n}\n\nexport enum LineStyle {\n /** Single Line */\n SINGLE = 'SINGLE',\n /** Double Line */\n DOUBLE = 'DOUBLE',\n /** Dashed Line */\n DASHED = 'DASHED',\n /** Dotted Line */\n DOTTED = 'DOTTED',\n}\n\n/** @enumType */\nexport type LineStyleWithLiterals =\n | LineStyle\n | 'SINGLE'\n | 'DOUBLE'\n | 'DASHED'\n | 'DOTTED';\n\nexport enum Width {\n /** Large line */\n LARGE = 'LARGE',\n /** Medium line */\n MEDIUM = 'MEDIUM',\n /** Small line */\n SMALL = 'SMALL',\n}\n\n/** @enumType */\nexport type WidthWithLiterals = Width | 'LARGE' | 'MEDIUM' | 'SMALL';\n\nexport enum DividerDataAlignment {\n /** Center alignment */\n CENTER = 'CENTER',\n /** Left alignment */\n LEFT = 'LEFT',\n /** Right alignment */\n RIGHT = 'RIGHT',\n}\n\n/** @enumType */\nexport type DividerDataAlignmentWithLiterals =\n | DividerDataAlignment\n | 'CENTER'\n | 'LEFT'\n | 'RIGHT';\n\nexport interface FileData {\n /** Styling for the file's container. */\n containerData?: PluginContainerData;\n /** The source for the file's data. */\n src?: FileSource;\n /** File name. */\n name?: string | null;\n /** File type. */\n type?: string | null;\n /**\n * Use `sizeInKb` instead.\n * @deprecated\n */\n size?: number | null;\n /** Settings for PDF files. */\n pdfSettings?: PDFSettings;\n /** File MIME type. */\n mimeType?: string | null;\n /** File path. */\n path?: string | null;\n /** File size in KB. */\n sizeInKb?: string | null;\n}\n\nexport enum ViewMode {\n /** No PDF view */\n NONE = 'NONE',\n /** Full PDF view */\n FULL = 'FULL',\n /** Mini PDF view */\n MINI = 'MINI',\n}\n\n/** @enumType */\nexport type ViewModeWithLiterals = ViewMode | 'NONE' | 'FULL' | 'MINI';\n\nexport interface FileSource extends FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n /** Indicates whether the file's source is private. Defaults to `false`. */\n private?: boolean | null;\n}\n\n/** @oneof */\nexport interface FileSourceDataOneOf {\n /** The absolute URL for the file's source. */\n url?: string | null;\n /**\n * Custom ID. Use `id` instead.\n * @deprecated\n */\n custom?: string | null;\n /** An ID that's resolved to a URL by a resolver function. */\n id?: string | null;\n}\n\nexport interface PDFSettings {\n /**\n * PDF view mode. One of the following:\n * `NONE` : The PDF isn't displayed.\n * `FULL` : A full page view of the PDF is displayed.\n * `MINI` : A mini view of the PDF is displayed.\n */\n viewMode?: ViewModeWithLiterals;\n /** Sets whether the PDF download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the PDF print button is disabled. Defaults to `false`. */\n disablePrint?: boolean | null;\n}\n\nexport interface GalleryData {\n /** Styling for the gallery's container. */\n containerData?: PluginContainerData;\n /** The items in the gallery. */\n items?: Item[];\n /** Options for defining the gallery's appearance. */\n options?: GalleryOptions;\n /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Sets whether the gallery's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n}\n\nexport interface Media {\n /** The source for the media's data. */\n src?: FileSource;\n /** Media width in pixels. */\n width?: number | null;\n /** Media height in pixels. */\n height?: number | null;\n /** Media duration in seconds. Only relevant for audio and video files. */\n duration?: number | null;\n}\n\nexport interface Image {\n /** Image file details. */\n media?: Media;\n /** Link details for images that are links. */\n link?: Link;\n}\n\nexport interface Video {\n /** Video file details. */\n media?: Media;\n /** Video thumbnail file details. */\n thumbnail?: Media;\n}\n\nexport interface Item extends ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n /** Item title. */\n title?: string | null;\n /** Item's alternative text. */\n altText?: string | null;\n}\n\n/** @oneof */\nexport interface ItemDataOneOf {\n /** An image item. */\n image?: Image;\n /** A video item. */\n video?: Video;\n}\n\nexport interface GalleryOptions {\n /** Gallery layout. */\n layout?: GalleryOptionsLayout;\n /** Styling for gallery items. */\n item?: ItemStyle;\n /** Styling for gallery thumbnail images. */\n thumbnails?: Thumbnails;\n}\n\nexport enum LayoutType {\n /** Collage type */\n COLLAGE = 'COLLAGE',\n /** Masonry type */\n MASONRY = 'MASONRY',\n /** Grid type */\n GRID = 'GRID',\n /** Thumbnail type */\n THUMBNAIL = 'THUMBNAIL',\n /** Slider type */\n SLIDER = 'SLIDER',\n /** Slideshow type */\n SLIDESHOW = 'SLIDESHOW',\n /** Panorama type */\n PANORAMA = 'PANORAMA',\n /** Column type */\n COLUMN = 'COLUMN',\n /** Magic type */\n MAGIC = 'MAGIC',\n /** Fullsize images type */\n FULLSIZE = 'FULLSIZE',\n}\n\n/** @enumType */\nexport type LayoutTypeWithLiterals =\n | LayoutType\n | 'COLLAGE'\n | 'MASONRY'\n | 'GRID'\n | 'THUMBNAIL'\n | 'SLIDER'\n | 'SLIDESHOW'\n | 'PANORAMA'\n | 'COLUMN'\n | 'MAGIC'\n | 'FULLSIZE';\n\nexport enum Orientation {\n /** Rows Orientation */\n ROWS = 'ROWS',\n /** Columns Orientation */\n COLUMNS = 'COLUMNS',\n}\n\n/** @enumType */\nexport type OrientationWithLiterals = Orientation | 'ROWS' | 'COLUMNS';\n\nexport enum Crop {\n /** Crop to fill */\n FILL = 'FILL',\n /** Crop to fit */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type CropWithLiterals = Crop | 'FILL' | 'FIT';\n\nexport enum ThumbnailsAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Right alignment */\n RIGHT = 'RIGHT',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n /** Left alignment */\n LEFT = 'LEFT',\n /** No thumbnail */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type ThumbnailsAlignmentWithLiterals =\n | ThumbnailsAlignment\n | 'TOP'\n | 'RIGHT'\n | 'BOTTOM'\n | 'LEFT'\n | 'NONE';\n\nexport interface GalleryOptionsLayout {\n /** Gallery layout type. */\n type?: LayoutTypeWithLiterals;\n /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */\n horizontalScroll?: boolean | null;\n /** Gallery orientation. */\n orientation?: OrientationWithLiterals;\n /** The number of columns to display on full size screens. */\n numberOfColumns?: number | null;\n /** The number of columns to display on mobile screens. */\n mobileNumberOfColumns?: number | null;\n}\n\nexport interface ItemStyle {\n /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */\n targetSize?: number | null;\n /** Item ratio */\n ratio?: number | null;\n /** Sets how item images are cropped. */\n crop?: CropWithLiterals;\n /** The spacing between items in pixels. */\n spacing?: number | null;\n}\n\nexport interface Thumbnails {\n /** Thumbnail alignment. */\n placement?: ThumbnailsAlignmentWithLiterals;\n /** Spacing between thumbnails in pixels. */\n spacing?: number | null;\n}\n\nexport interface GIFData {\n /** Styling for the GIF's container. */\n containerData?: PluginContainerData;\n /** The source of the full size GIF. */\n original?: GIF;\n /** The source of the downsized GIF. */\n downsized?: GIF;\n /** Height in pixels. */\n height?: number;\n /** Width in pixels. */\n width?: number;\n /** Type of GIF (Sticker or NORMAL). Defaults to `NORMAL`. */\n gifType?: GIFTypeWithLiterals;\n}\n\nexport interface GIF {\n /**\n * GIF format URL.\n * @format WEB_URL\n */\n gif?: string | null;\n /**\n * MP4 format URL.\n * @format WEB_URL\n */\n mp4?: string | null;\n /**\n * Thumbnail URL.\n * @format WEB_URL\n */\n still?: string | null;\n}\n\nexport enum GIFType {\n NORMAL = 'NORMAL',\n STICKER = 'STICKER',\n}\n\n/** @enumType */\nexport type GIFTypeWithLiterals = GIFType | 'NORMAL' | 'STICKER';\n\nexport interface HeadingData {\n /** Heading level from 1-6. */\n level?: number;\n /** Styling for the heading text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n}\n\nexport interface HTMLData extends HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n /** Styling for the HTML node's container. Height property is irrelevant for HTML embeds when autoHeight is set to `true`. */\n containerData?: PluginContainerData;\n /** The type of HTML code. */\n source?: SourceWithLiterals;\n /** If container height is aligned with its content height. Defaults to `true`. */\n autoHeight?: boolean | null;\n}\n\n/** @oneof */\nexport interface HTMLDataDataOneOf {\n /** The URL for the HTML code for the node. */\n url?: string;\n /** The HTML code for the node. */\n html?: string;\n /**\n * Whether this is an AdSense element. Use `source` instead.\n * @deprecated\n */\n isAdsense?: boolean | null;\n}\n\nexport enum Source {\n HTML = 'HTML',\n ADSENSE = 'ADSENSE',\n AI = 'AI',\n}\n\n/** @enumType */\nexport type SourceWithLiterals = Source | 'HTML' | 'ADSENSE' | 'AI';\n\nexport interface ImageData {\n /** Styling for the image's container. */\n containerData?: PluginContainerData;\n /** Image file details. */\n image?: Media;\n /** Link details for images that are links. */\n link?: Link;\n /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */\n disableExpand?: boolean | null;\n /** Image's alternative text. */\n altText?: string | null;\n /**\n * Deprecated: use Caption node instead.\n * @deprecated\n */\n caption?: string | null;\n /** Sets whether the image's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Sets whether the image is decorative and does not need an explanation. Defaults to `false`. */\n decorative?: boolean | null;\n /** Styling for the image. */\n styles?: ImageDataStyles;\n}\n\nexport interface StylesBorder {\n /** Border width in pixels. */\n width?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Border radius in pixels. */\n radius?: number | null;\n}\n\nexport interface ImageDataStyles {\n /** Border attributes. */\n border?: StylesBorder;\n}\n\nexport interface LinkPreviewData {\n /** Styling for the link preview's container. */\n containerData?: PluginContainerData;\n /** Link details. */\n link?: Link;\n /** Preview title. */\n title?: string | null;\n /** Preview thumbnail URL. */\n thumbnailUrl?: string | null;\n /** Preview description. */\n description?: string | null;\n /** The preview content as HTML. */\n html?: string | null;\n /** Styling for the link preview. */\n styles?: LinkPreviewDataStyles;\n}\n\nexport enum StylesPosition {\n /** Thumbnail positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Thumbnail positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Thumbnail positioned at the top */\n TOP = 'TOP',\n /** Thumbnail hidden and not displayed */\n HIDDEN = 'HIDDEN',\n}\n\n/** @enumType */\nexport type StylesPositionWithLiterals =\n | StylesPosition\n | 'START'\n | 'END'\n | 'TOP'\n | 'HIDDEN';\n\nexport interface LinkPreviewDataStyles {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Title color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Subtitle color as a hexadecimal value.\n * @format COLOR_HEX\n */\n subtitleColor?: string | null;\n /**\n * Link color as a hexadecimal value.\n * @format COLOR_HEX\n */\n linkColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Position of thumbnail. Defaults to `START`. */\n thumbnailPosition?: StylesPositionWithLiterals;\n}\n\nexport interface MapData {\n /** Styling for the map's container. */\n containerData?: PluginContainerData;\n /** Map settings. */\n mapSettings?: MapSettings;\n}\n\nexport interface MapSettings {\n /** The address to display on the map. */\n address?: string | null;\n /** Sets whether the map is draggable. */\n draggable?: boolean | null;\n /** Sets whether the location marker is visible. */\n marker?: boolean | null;\n /** Sets whether street view control is enabled. */\n streetViewControl?: boolean | null;\n /** Sets whether zoom control is enabled. */\n zoomControl?: boolean | null;\n /** Location latitude. */\n lat?: number | null;\n /** Location longitude. */\n lng?: number | null;\n /** Location name. */\n locationName?: string | null;\n /** Sets whether view mode control is enabled. */\n viewModeControl?: boolean | null;\n /** Initial zoom value. */\n initialZoom?: number | null;\n /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */\n mapType?: MapTypeWithLiterals;\n}\n\nexport enum MapType {\n /** Roadmap map type */\n ROADMAP = 'ROADMAP',\n /** Satellite map type */\n SATELITE = 'SATELITE',\n /** Hybrid map type */\n HYBRID = 'HYBRID',\n /** Terrain map type */\n TERRAIN = 'TERRAIN',\n}\n\n/** @enumType */\nexport type MapTypeWithLiterals =\n | MapType\n | 'ROADMAP'\n | 'SATELITE'\n | 'HYBRID'\n | 'TERRAIN';\n\nexport interface ParagraphData {\n /** Styling for the paragraph text. */\n textStyle?: TextStyle;\n /** Indentation level from 1-4. */\n indentation?: number | null;\n /** Paragraph level */\n level?: number | null;\n}\n\nexport interface PollData {\n /** Styling for the poll's container. */\n containerData?: PluginContainerData;\n /** Poll data. */\n poll?: Poll;\n /** Layout settings for the poll and voting options. */\n layout?: PollDataLayout;\n /** Styling for the poll and voting options. */\n design?: Design;\n}\n\nexport enum ViewRole {\n /** Only Poll creator can view the results */\n CREATOR = 'CREATOR',\n /** Anyone who voted can see the results */\n VOTERS = 'VOTERS',\n /** Anyone can see the results, even if one didn't vote */\n EVERYONE = 'EVERYONE',\n}\n\n/** @enumType */\nexport type ViewRoleWithLiterals = ViewRole | 'CREATOR' | 'VOTERS' | 'EVERYONE';\n\nexport enum VoteRole {\n /** Logged in member */\n SITE_MEMBERS = 'SITE_MEMBERS',\n /** Anyone */\n ALL = 'ALL',\n}\n\n/** @enumType */\nexport type VoteRoleWithLiterals = VoteRole | 'SITE_MEMBERS' | 'ALL';\n\nexport interface Permissions {\n /** Sets who can view the poll results. */\n view?: ViewRoleWithLiterals;\n /** Sets who can vote. */\n vote?: VoteRoleWithLiterals;\n /** Sets whether one voter can vote multiple times. Defaults to `false`. */\n allowMultipleVotes?: boolean | null;\n}\n\nexport interface Option {\n /** Option ID. */\n id?: string | null;\n /** Option title. */\n title?: string | null;\n /** The image displayed with the option. */\n image?: Media;\n}\n\nexport interface PollSettings {\n /** Permissions settings for voting. */\n permissions?: Permissions;\n /** Sets whether voters are displayed in the vote results. Defaults to `true`. */\n showVoters?: boolean | null;\n /** Sets whether the vote count is displayed. Defaults to `true`. */\n showVotesCount?: boolean | null;\n}\n\nexport enum PollLayoutType {\n /** List */\n LIST = 'LIST',\n /** Grid */\n GRID = 'GRID',\n}\n\n/** @enumType */\nexport type PollLayoutTypeWithLiterals = PollLayoutType | 'LIST' | 'GRID';\n\nexport enum PollLayoutDirection {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type PollLayoutDirectionWithLiterals =\n | PollLayoutDirection\n | 'LTR'\n | 'RTL';\n\nexport interface PollLayout {\n /** The layout for displaying the voting options. */\n type?: PollLayoutTypeWithLiterals;\n /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */\n direction?: PollLayoutDirectionWithLiterals;\n /** Sets whether to display the main poll image. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport interface OptionLayout {\n /** Sets whether to display option images. Defaults to `false`. */\n enableImage?: boolean | null;\n}\n\nexport enum BackgroundType {\n /** Color background type */\n COLOR = 'COLOR',\n /** Image background type */\n IMAGE = 'IMAGE',\n /** Gradiant background type */\n GRADIENT = 'GRADIENT',\n}\n\n/** @enumType */\nexport type BackgroundTypeWithLiterals =\n | BackgroundType\n | 'COLOR'\n | 'IMAGE'\n | 'GRADIENT';\n\nexport interface Gradient {\n /** The gradient angle in degrees. */\n angle?: number | null;\n /**\n * The start color as a hexademical value.\n * @format COLOR_HEX\n */\n startColor?: string | null;\n /**\n * The end color as a hexademical value.\n * @format COLOR_HEX\n */\n lastColor?: string | null;\n}\n\nexport interface Background extends BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n /** Background type. For each option, include the relevant details. */\n type?: BackgroundTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface BackgroundBackgroundOneOf {\n /**\n * The background color as a hexademical value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** An image to use for the background. */\n image?: Media;\n /** Details for a gradient background. */\n gradient?: Gradient;\n}\n\nexport interface PollDesign {\n /** Background styling. */\n background?: Background;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface OptionDesign {\n /** Border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface Poll {\n /** Poll ID. */\n id?: string | null;\n /** Poll title. */\n title?: string | null;\n /** Poll creator ID. */\n creatorId?: string | null;\n /** Main poll image. */\n image?: Media;\n /** Voting options. */\n options?: Option[];\n /** The poll's permissions and display settings. */\n settings?: PollSettings;\n}\n\nexport interface PollDataLayout {\n /** Poll layout settings. */\n poll?: PollLayout;\n /** Voting otpions layout settings. */\n options?: OptionLayout;\n}\n\nexport interface Design {\n /** Styling for the poll. */\n poll?: PollDesign;\n /** Styling for voting options. */\n options?: OptionDesign;\n}\n\nexport interface TextData {\n /** The text to apply decorations to. */\n text?: string;\n /** The decorations to apply. */\n decorations?: Decoration[];\n}\n\n/** Adds appearence changes to text */\nexport interface Decoration extends DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n /** The type of decoration to apply. */\n type?: DecorationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface DecorationDataOneOf {\n /** Data for an anchor link decoration. */\n anchorData?: AnchorData;\n /** Data for a color decoration. */\n colorData?: ColorData;\n /** Data for an external link decoration. */\n linkData?: LinkData;\n /** Data for a mention decoration. */\n mentionData?: MentionData;\n /** Data for a font size decoration. */\n fontSizeData?: FontSizeData;\n /** Font weight for a bold decoration. */\n fontWeightValue?: number | null;\n /** Data for an italic decoration. Defaults to `true`. */\n italicData?: boolean | null;\n /** Data for an underline decoration. Defaults to `true`. */\n underlineData?: boolean | null;\n /** Data for a spoiler decoration. */\n spoilerData?: SpoilerData;\n /** Data for a strikethrough decoration. Defaults to `true`. */\n strikethroughData?: boolean | null;\n /** Data for a superscript decoration. Defaults to `true`. */\n superscriptData?: boolean | null;\n /** Data for a subscript decoration. Defaults to `true`. */\n subscriptData?: boolean | null;\n /** Data for a font family decoration. */\n fontFamilyData?: FontFamilyData;\n}\n\nexport enum DecorationType {\n BOLD = 'BOLD',\n ITALIC = 'ITALIC',\n UNDERLINE = 'UNDERLINE',\n SPOILER = 'SPOILER',\n ANCHOR = 'ANCHOR',\n MENTION = 'MENTION',\n LINK = 'LINK',\n COLOR = 'COLOR',\n FONT_SIZE = 'FONT_SIZE',\n EXTERNAL = 'EXTERNAL',\n STRIKETHROUGH = 'STRIKETHROUGH',\n SUPERSCRIPT = 'SUPERSCRIPT',\n SUBSCRIPT = 'SUBSCRIPT',\n FONT_FAMILY = 'FONT_FAMILY',\n}\n\n/** @enumType */\nexport type DecorationTypeWithLiterals =\n | DecorationType\n | 'BOLD'\n | 'ITALIC'\n | 'UNDERLINE'\n | 'SPOILER'\n | 'ANCHOR'\n | 'MENTION'\n | 'LINK'\n | 'COLOR'\n | 'FONT_SIZE'\n | 'EXTERNAL'\n | 'STRIKETHROUGH'\n | 'SUPERSCRIPT'\n | 'SUBSCRIPT'\n | 'FONT_FAMILY';\n\nexport interface AnchorData {\n /** The target node's ID. */\n anchor?: string;\n}\n\nexport interface ColorData {\n /** The text's background color as a hexadecimal value. */\n background?: string | null;\n /** The text's foreground color as a hexadecimal value. */\n foreground?: string | null;\n}\n\nexport interface LinkData {\n /** Link details. */\n link?: Link;\n}\n\nexport interface MentionData {\n /** The mentioned user's name. */\n name?: string;\n /** The version of the user's name that appears after the `@` character in the mention. */\n slug?: string;\n /** Mentioned user's ID. */\n id?: string | null;\n}\n\nexport interface FontSizeData {\n /** The units used for the font size. */\n unit?: FontTypeWithLiterals;\n /** Font size value. */\n value?: number | null;\n}\n\nexport enum FontType {\n PX = 'PX',\n EM = 'EM',\n}\n\n/** @enumType */\nexport type FontTypeWithLiterals = FontType | 'PX' | 'EM';\n\nexport interface SpoilerData {\n /** Spoiler ID. */\n id?: string | null;\n}\n\nexport interface FontFamilyData {\n /** @maxLength 1000 */\n value?: string | null;\n}\n\nexport interface AppEmbedData extends AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n /** The type of Wix App content being embedded. */\n type?: AppTypeWithLiterals;\n /** The ID of the embedded content. */\n itemId?: string | null;\n /** The name of the embedded content. */\n name?: string | null;\n /**\n * Deprecated: Use `image` instead.\n * @deprecated\n */\n imageSrc?: string | null;\n /** The URL for the embedded content. */\n url?: string | null;\n /** An image for the embedded content. */\n image?: Media;\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Whether to hide the title. */\n hideTitle?: boolean | null;\n /** Whether to hide the price. */\n hidePrice?: boolean | null;\n /** Whether to hide the description (Event and Booking). */\n hideDescription?: boolean | null;\n /** Whether to hide the date and time (Event). */\n hideDateTime?: boolean | null;\n /** Whether to hide the location (Event). */\n hideLocation?: boolean | null;\n /** Whether to hide the duration (Booking). */\n hideDuration?: boolean | null;\n /** Whether to hide the button. */\n hideButton?: boolean | null;\n /** Whether to hide the ribbon. */\n hideRibbon?: boolean | null;\n /** Button styling options. */\n buttonStyles?: ButtonStyles;\n /** Image styling options. */\n imageStyles?: ImageStyles;\n /** Ribbon styling options. */\n ribbonStyles?: RibbonStyles;\n /** Card styling options. */\n cardStyles?: CardStyles;\n /** Styling for the app embed's container. */\n containerData?: PluginContainerData;\n /** Pricing data for embedded Wix App content. */\n pricingData?: PricingData;\n}\n\n/** @oneof */\nexport interface AppEmbedDataAppDataOneOf {\n /** Data for embedded Wix Bookings content. */\n bookingData?: BookingData;\n /** Data for embedded Wix Events content. */\n eventData?: EventData;\n}\n\nexport enum Position {\n /** Image positioned at the start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Image positioned at the end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n /** Image positioned at the top */\n TOP = 'TOP',\n}\n\n/** @enumType */\nexport type PositionWithLiterals = Position | 'START' | 'END' | 'TOP';\n\nexport enum AspectRatio {\n /** 1:1 aspect ratio */\n SQUARE = 'SQUARE',\n /** 16:9 aspect ratio */\n RECTANGLE = 'RECTANGLE',\n}\n\n/** @enumType */\nexport type AspectRatioWithLiterals = AspectRatio | 'SQUARE' | 'RECTANGLE';\n\nexport enum Resizing {\n /** Fill the container, may crop the image */\n FILL = 'FILL',\n /** Fit the image within the container */\n FIT = 'FIT',\n}\n\n/** @enumType */\nexport type ResizingWithLiterals = Resizing | 'FILL' | 'FIT';\n\nexport enum Placement {\n /** Ribbon placed on the image */\n IMAGE = 'IMAGE',\n /** Ribbon placed on the product information */\n PRODUCT_INFO = 'PRODUCT_INFO',\n}\n\n/** @enumType */\nexport type PlacementWithLiterals = Placement | 'IMAGE' | 'PRODUCT_INFO';\n\nexport enum Type {\n /** Card with visible border and background */\n CONTAINED = 'CONTAINED',\n /** Card without visible border */\n FRAMELESS = 'FRAMELESS',\n}\n\n/** @enumType */\nexport type TypeWithLiterals = Type | 'CONTAINED' | 'FRAMELESS';\n\nexport enum Alignment {\n /** Content aligned to start (left in LTR layouts, right in RTL layouts) */\n START = 'START',\n /** Content centered */\n CENTER = 'CENTER',\n /** Content aligned to end (right in LTR layouts, left in RTL layouts) */\n END = 'END',\n}\n\n/** @enumType */\nexport type AlignmentWithLiterals = Alignment | 'START' | 'CENTER' | 'END';\n\nexport enum Layout {\n /** Elements stacked vertically */\n STACKED = 'STACKED',\n /** Elements arranged horizontally */\n SIDE_BY_SIDE = 'SIDE_BY_SIDE',\n}\n\n/** @enumType */\nexport type LayoutWithLiterals = Layout | 'STACKED' | 'SIDE_BY_SIDE';\n\nexport enum AppType {\n PRODUCT = 'PRODUCT',\n EVENT = 'EVENT',\n BOOKING = 'BOOKING',\n}\n\n/** @enumType */\nexport type AppTypeWithLiterals = AppType | 'PRODUCT' | 'EVENT' | 'BOOKING';\n\nexport interface BookingData {\n /** Booking duration in minutes. */\n durations?: string | null;\n}\n\nexport interface EventData {\n /** Event schedule. */\n scheduling?: string | null;\n /** Event location. */\n location?: string | null;\n}\n\nexport interface ButtonStyles {\n /** Text to display on the button. */\n buttonText?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border radius in pixels. */\n borderRadius?: number | null;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Border color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n borderColorHover?: string | null;\n /**\n * Text color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n textColorHover?: string | null;\n /**\n * Background color as a hexadecimal value (hover state).\n * @format COLOR_HEX\n */\n backgroundColorHover?: string | null;\n /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */\n buttonSize?: string | null;\n}\n\nexport interface ImageStyles {\n /** Whether to hide the image. */\n hideImage?: boolean | null;\n /** Position of image. Defaults to `START`. */\n imagePosition?: PositionWithLiterals;\n /** Aspect ratio for the image. Defaults to `SQUARE`. */\n aspectRatio?: AspectRatioWithLiterals;\n /** How the image should be resized. Defaults to `FILL`. */\n resizing?: ResizingWithLiterals;\n /**\n * Image border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Image border width in pixels. */\n borderWidth?: number | null;\n /** Image border radius in pixels. */\n borderRadius?: number | null;\n}\n\nexport interface RibbonStyles {\n /** Text to display on the ribbon. */\n ribbonText?: string | null;\n /**\n * Ribbon background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Ribbon text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n /**\n * Ribbon border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Ribbon border width in pixels. */\n borderWidth?: number | null;\n /** Ribbon border radius in pixels. */\n borderRadius?: number | null;\n /** Placement of the ribbon. Defaults to `IMAGE`. */\n ribbonPlacement?: PlacementWithLiterals;\n}\n\nexport interface CardStyles {\n /**\n * Card background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /**\n * Card border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Card border width in pixels. */\n borderWidth?: number | null;\n /** Card border radius in pixels. */\n borderRadius?: number | null;\n /** Card type. Defaults to `CONTAINED`. */\n type?: TypeWithLiterals;\n /** Content alignment. Defaults to `START`. */\n alignment?: AlignmentWithLiterals;\n /** Layout for title and price. Defaults to `STACKED`. */\n titlePriceLayout?: LayoutWithLiterals;\n /**\n * Title text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n titleColor?: string | null;\n /**\n * Text color as a hexadecimal value.\n * @format COLOR_HEX\n */\n textColor?: string | null;\n}\n\nexport interface PricingData {\n /**\n * Minimum numeric price value as string (e.g., \"10.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueFrom?: string | null;\n /**\n * Maximum numeric price value as string (e.g., \"19.99\").\n * @decimalValue options { maxScale:2 }\n */\n valueTo?: string | null;\n /**\n * Numeric price value as string after discount application (e.g., \"15.99\").\n * @decimalValue options { maxScale:2 }\n */\n discountedValue?: string | null;\n /**\n * Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\").\n * @format CURRENCY\n */\n currency?: string | null;\n /**\n * Pricing plan ID.\n * @format GUID\n */\n pricingPlanId?: string | null;\n}\n\nexport interface VideoData {\n /** Styling for the video's container. */\n containerData?: PluginContainerData;\n /** Video details. */\n video?: Media;\n /** Video thumbnail details. */\n thumbnail?: Media;\n /** Sets whether the video's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Video title. */\n title?: string | null;\n /** Video options. */\n options?: PlaybackOptions;\n}\n\nexport interface PlaybackOptions {\n /** Sets whether the media will automatically start playing. */\n autoPlay?: boolean | null;\n /** Sets whether media's will be looped. */\n playInLoop?: boolean | null;\n /** Sets whether media's controls will be shown. */\n showControls?: boolean | null;\n}\n\nexport interface EmbedData {\n /** Styling for the oEmbed node's container. */\n containerData?: PluginContainerData;\n /** An [oEmbed](https://www.oembed.com) object. */\n oembed?: Oembed;\n /** Origin asset source. */\n src?: string | null;\n}\n\nexport interface Oembed {\n /** The resource type. */\n type?: string | null;\n /** The width of the resource specified in the `url` property in pixels. */\n width?: number | null;\n /** The height of the resource specified in the `url` property in pixels. */\n height?: number | null;\n /** Resource title. */\n title?: string | null;\n /** The source URL for the resource. */\n url?: string | null;\n /** HTML for embedding a video player. The HTML should have no padding or margins. */\n html?: string | null;\n /** The name of the author or owner of the resource. */\n authorName?: string | null;\n /** The URL for the author or owner of the resource. */\n authorUrl?: string | null;\n /** The name of the resource provider. */\n providerName?: string | null;\n /** The URL for the resource provider. */\n providerUrl?: string | null;\n /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */\n thumbnailUrl?: string | null;\n /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */\n thumbnailWidth?: string | null;\n /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */\n thumbnailHeight?: string | null;\n /** The URL for an embedded viedo. */\n videoUrl?: string | null;\n /** The oEmbed version number. This value must be `1.0`. */\n version?: string | null;\n}\n\nexport interface CollapsibleListData {\n /** Styling for the collapsible list's container. */\n containerData?: PluginContainerData;\n /** If `true`, only one item can be expanded at a time. Defaults to `false`. */\n expandOnlyOne?: boolean | null;\n /** Sets which items are expanded when the page loads. */\n initialExpandedItems?: InitialExpandedItemsWithLiterals;\n /** The direction of the text in the list. Either left-to-right or right-to-left. */\n direction?: DirectionWithLiterals;\n /** If `true`, The collapsible item will appear in search results as an FAQ. */\n isQapageData?: boolean | null;\n}\n\nexport enum InitialExpandedItems {\n /** First item will be expended initally */\n FIRST = 'FIRST',\n /** All items will expended initally */\n ALL = 'ALL',\n /** All items collapsed initally */\n NONE = 'NONE',\n}\n\n/** @enumType */\nexport type InitialExpandedItemsWithLiterals =\n | InitialExpandedItems\n | 'FIRST'\n | 'ALL'\n | 'NONE';\n\nexport enum Direction {\n /** Left-to-right */\n LTR = 'LTR',\n /** Right-to-left */\n RTL = 'RTL',\n}\n\n/** @enumType */\nexport type DirectionWithLiterals = Direction | 'LTR' | 'RTL';\n\nexport interface TableData {\n /** Styling for the table's container. */\n containerData?: PluginContainerData;\n /** The table's dimensions. */\n dimensions?: Dimensions;\n /**\n * Deprecated: Use `rowHeader` and `columnHeader` instead.\n * @deprecated\n */\n header?: boolean | null;\n /** Sets whether the table's first row is a header. Defaults to `false`. */\n rowHeader?: boolean | null;\n /** Sets whether the table's first column is a header. Defaults to `false`. */\n columnHeader?: boolean | null;\n /** The spacing between cells in pixels. Defaults to `0`. */\n cellSpacing?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left.\n * @maxSize 4\n */\n cellPadding?: number[];\n}\n\nexport interface Dimensions {\n /** An array representing relative width of each column in relation to the other columns. */\n colsWidthRatio?: number[];\n /** An array representing the height of each row in pixels. */\n rowsHeight?: number[];\n /** An array representing the minimum width of each column in pixels. */\n colsMinWidth?: number[];\n}\n\nexport interface TableCellData {\n /** Styling for the cell's background color and text alignment. */\n cellStyle?: CellStyle;\n /** The cell's border colors. */\n borderColors?: BorderColors;\n /** Defines how many columns the cell spans. Default: 1. */\n colspan?: number | null;\n /** Defines how many rows the cell spans. Default: 1. */\n rowspan?: number | null;\n /** The cell's border widths. */\n borderWidths?: BorderWidths;\n}\n\nexport enum VerticalAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentWithLiterals =\n | VerticalAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport interface CellStyle {\n /** Vertical alignment for the cell's text. */\n verticalAlignment?: VerticalAlignmentWithLiterals;\n /**\n * Cell background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n}\n\nexport interface BorderColors {\n /**\n * Left border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n left?: string | null;\n /**\n * Right border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n right?: string | null;\n /**\n * Top border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n top?: string | null;\n /**\n * Bottom border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n bottom?: string | null;\n}\n\nexport interface BorderWidths {\n /** Left border width in pixels. */\n left?: number | null;\n /** Right border width in pixels. */\n right?: number | null;\n /** Top border width in pixels. */\n top?: number | null;\n /** Bottom border width in pixels. */\n bottom?: number | null;\n}\n\n/**\n * `NullValue` is a singleton enumeration to represent the null value for the\n * `Value` type union.\n *\n * The JSON representation for `NullValue` is JSON `null`.\n */\nexport enum NullValue {\n /** Null value. */\n NULL_VALUE = 'NULL_VALUE',\n}\n\n/** @enumType */\nexport type NullValueWithLiterals = NullValue | 'NULL_VALUE';\n\n/**\n * `ListValue` is a wrapper around a repeated field of values.\n *\n * The JSON representation for `ListValue` is JSON array.\n */\nexport interface ListValue {\n /** Repeated field of dynamically typed values. */\n values?: any[];\n}\n\nexport interface AudioData {\n /** Styling for the audio node's container. */\n containerData?: PluginContainerData;\n /** Audio file details. */\n audio?: Media;\n /** Sets whether the audio node's download button is disabled. Defaults to `false`. */\n disableDownload?: boolean | null;\n /** Cover image. */\n coverImage?: Media;\n /** Track name. */\n name?: string | null;\n /** Author name. */\n authorName?: string | null;\n /** An HTML version of the audio node. */\n html?: string | null;\n}\n\nexport interface OrderedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n /** List start number. */\n start?: number | null;\n}\n\nexport interface BulletedListData {\n /** Indentation level from 0-4. */\n indentation?: number;\n /** Offset level from 0-4. */\n offset?: number | null;\n}\n\nexport interface BlockquoteData {\n /** Indentation level from 1-4. */\n indentation?: number;\n}\n\nexport interface CaptionData {\n textStyle?: TextStyle;\n}\n\nexport interface LayoutData {\n /**\n * Background color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backgroundColor?: string | null;\n /** Background image. */\n backgroundImage?: BackgroundImage;\n /**\n * Border color as a hexadecimal value.\n * @format COLOR_HEX\n */\n borderColor?: string | null;\n /** Border width in pixels. */\n borderWidth?: number | null;\n /** Border */\n borderRadius?: number | null;\n /**\n * Backdrop color as a hexadecimal value.\n * @format COLOR_HEX\n */\n backdropColor?: string | null;\n /** Backdrop image.radius in pixels. */\n backdropImage?: BackgroundImage;\n /** Backdrop top padding. */\n backdropPaddingTop?: number | null;\n /** Backdrop bottom padding */\n backdropPaddingBottom?: number | null;\n /** Horizontal and vertical gap between columns */\n gap?: number | null;\n /**\n * Padding in pixels for cells. Follows CSS order: top, right, bottom, left\n * @maxSize 4\n */\n cellPadding?: number[];\n /** Vertical alignment for the cell's items. */\n cellVerticalAlignment?: VerticalAlignmentAlignmentWithLiterals;\n /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */\n responsivenessBehaviour?: ResponsivenessBehaviourWithLiterals;\n /** Size in pixels when responsiveness_behaviour applies */\n responsivenessBreakpoint?: number | null;\n /** Styling for the layout's container. */\n containerData?: PluginContainerData;\n /** Defines where selected design propertied applies to */\n designTarget?: DesignTargetWithLiterals;\n /** Banner configuration. When present, this layout is displayed as a banner. */\n banner?: Banner;\n}\n\nexport enum Scaling {\n /** Auto image scaling */\n AUTO = 'AUTO',\n /** Contain image scaling */\n CONTAIN = 'CONTAIN',\n /** Cover image scaling */\n COVER = 'COVER',\n}\n\n/** @enumType */\nexport type ScalingWithLiterals = Scaling | 'AUTO' | 'CONTAIN' | 'COVER';\n\nexport enum ImagePosition {\n /** Image positioned at the center */\n CENTER = 'CENTER',\n /** Image positioned on the left */\n CENTER_LEFT = 'CENTER_LEFT',\n /** Image positioned on the right */\n CENTER_RIGHT = 'CENTER_RIGHT',\n /** Image positioned at the center top */\n TOP = 'TOP',\n /** Image positioned at the top left */\n TOP_LEFT = 'TOP_LEFT',\n /** Image positioned at the top right */\n TOP_RIGHT = 'TOP_RIGHT',\n /** Image positioned at the center bottom */\n BOTTOM = 'BOTTOM',\n /** Image positioned at the bottom left */\n BOTTOM_LEFT = 'BOTTOM_LEFT',\n /** Image positioned at the bottom right */\n BOTTOM_RIGHT = 'BOTTOM_RIGHT',\n}\n\n/** @enumType */\nexport type ImagePositionWithLiterals =\n | ImagePosition\n | 'CENTER'\n | 'CENTER_LEFT'\n | 'CENTER_RIGHT'\n | 'TOP'\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'BOTTOM'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT';\n\nexport enum Origin {\n /** Banner originated from an image */\n IMAGE = 'IMAGE',\n /** Banner originated from a layout */\n LAYOUT = 'LAYOUT',\n}\n\n/** @enumType */\nexport type OriginWithLiterals = Origin | 'IMAGE' | 'LAYOUT';\n\nexport interface BackgroundImage {\n /** Background image. */\n media?: Media;\n /** Background image opacity. */\n opacity?: number | null;\n /** Background image scaling. */\n scaling?: ScalingWithLiterals;\n /** Position of background. Defaults to `CENTER`. */\n position?: ImagePositionWithLiterals;\n}\n\nexport enum VerticalAlignmentAlignment {\n /** Top alignment */\n TOP = 'TOP',\n /** Middle alignment */\n MIDDLE = 'MIDDLE',\n /** Bottom alignment */\n BOTTOM = 'BOTTOM',\n}\n\n/** @enumType */\nexport type VerticalAlignmentAlignmentWithLiterals =\n | VerticalAlignmentAlignment\n | 'TOP'\n | 'MIDDLE'\n | 'BOTTOM';\n\nexport enum ResponsivenessBehaviour {\n /** Stacking of columns */\n STACK = 'STACK',\n /** Wrapping of columns */\n WRAP = 'WRAP',\n}\n\n/** @enumType */\nexport type ResponsivenessBehaviourWithLiterals =\n | ResponsivenessBehaviour\n | 'STACK'\n | 'WRAP';\n\nexport enum DesignTarget {\n /** Design applied to layout */\n LAYOUT = 'LAYOUT',\n /** Design applied to cells */\n CELL = 'CELL',\n}\n\n/** @enumType */\nexport type DesignTargetWithLiterals = DesignTarget | 'LAYOUT' | 'CELL';\n\nexport interface Banner {\n /** Origin of the banner */\n origin?: OriginWithLiterals;\n}\n\nexport interface LayoutCellData {\n /** Size of the cell in 12 columns grid. */\n colSpan?: number | null;\n}\n\nexport interface ShapeData {\n /** Styling for the shape's container. */\n containerData?: PluginContainerData;\n /** Shape file details. */\n shape?: Media;\n /** Styling for the shape. */\n styles?: ShapeDataStyles;\n}\n\nexport interface ShapeDataStyles {\n /**\n * Shape fill color as a hexadecimal value.\n * @format COLOR_HEX\n */\n color?: string | null;\n /** Map of original color keys to their new color values. */\n colors?: Record<string, string>;\n}\n\nexport interface Metadata {\n /** Schema version. */\n version?: number;\n /**\n * When the object was created.\n * @readonly\n * @deprecated\n */\n createdTimestamp?: Date | null;\n /**\n * When the object was most recently updated.\n * @deprecated\n */\n updatedTimestamp?: Date | null;\n /** Object ID. */\n _id?: string | null;\n}\n\nexport interface DocumentStyle {\n /** Styling for H1 nodes. */\n headerOne?: TextNodeStyle;\n /** Styling for H2 nodes. */\n headerTwo?: TextNodeStyle;\n /** Styling for H3 nodes. */\n headerThree?: TextNodeStyle;\n /** Styling for H4 nodes. */\n headerFour?: TextNodeStyle;\n /** Styling for H5 nodes. */\n headerFive?: TextNodeStyle;\n /** Styling for H6 nodes. */\n headerSix?: TextNodeStyle;\n /** Styling for paragraph nodes. */\n paragraph?: TextNodeStyle;\n /** Styling for block quote nodes. */\n blockquote?: TextNodeStyle;\n /** Styling for code block nodes. */\n codeBlock?: TextNodeStyle;\n}\n\nexport interface TextNodeStyle {\n /** The decorations to apply to the node. */\n decorations?: Decoration[];\n /** Padding and background color for the node. */\n nodeStyle?: NodeStyle;\n /** Line height for text in the node. */\n lineHeight?: string | null;\n}\n\nexport enum PaymentPolicyType {\n UNKNOWN_PAYMENT_POLICY_TYPE = 'UNKNOWN_PAYMENT_POLICY_TYPE',\n PER_GUEST = 'PER_GUEST',\n FREE = 'FREE',\n}\n\n/** @enumType */\nexport type PaymentPolicyTypeWithLiterals =\n | PaymentPolicyType\n | 'UNKNOWN_PAYMENT_POLICY_TYPE'\n | 'PER_GUEST'\n | 'FREE';\n\n/** Payment per guest policy. */\nexport interface PerGuestOptions {\n /**\n * Monetary amount to charge. Decimal string with a period as a decimal separator. For example, `\"3.99\"`.\n * @decimalValue options { gt:0.000, maxScale:3 }\n */\n price?: string | null;\n}\n\nexport interface DisplayInfo {\n /**\n * Experience name.\n * @minLength 1\n * @maxLength 100\n */\n name?: string | null;\n /**\n * Brief description of the experience.\n * @maxLength 100\n */\n shortDescription?: string | null;\n /** Cover image for the experience. */\n coverImage?: string;\n /** Detailed description of the experience using rich content formatting. */\n richContent?: RichContent;\n}\n\nexport interface PaymentPolicy extends PaymentPolicyOptionsOneOf {\n /** Per-guest pricing settings. */\n perGuestOptions?: PerGuestOptions;\n /** Payment policy type for the experience. */\n paymentPolicyType?: PaymentPolicyTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PaymentPolicyOptionsOneOf {\n /** Per-guest pricing settings. */\n perGuestOptions?: PerGuestOptions;\n}\n\nexport interface OnlineReservations {\n /** Party size. */\n partySize?: PartySize;\n /** Minimum reservation notice. */\n minimumReservationNotice?: NoticePeriod;\n /** Maximum reservation notice. */\n maximumReservationNotice?: NoticePeriod;\n /** Approval. */\n approval?: Approval;\n /** Maximum number of guests. */\n maxGuests?: MaxGuests;\n /** Business schedule. */\n businessSchedule?: OnlineReservationsBusinessSchedule;\n}\n\n/** Experience form settings. */\nexport interface ReservationForm {\n /**\n * Message displayed to customers when they submit the reservation form.\n * @maxLength 1000000\n */\n submitMessage?: string | null;\n /** Whether to display privacy policy and terms and conditions to customers. */\n policiesEnabled?: boolean | null;\n /** Privacy policy display settings. */\n privacyPolicy?: PrivacyPolicy;\n /** Terms and conditions display settings. */\n termsAndConditions?: TermsAndConditions;\n /**\n * Custom fields you wish to add to the registration form for the customer to fill in.\n * @maxSize 1000\n */\n customFieldDefinitions?: CustomFieldDefinition[];\n /**\n * Whether a last name is required in the reservation form.\n *\n * Default: `false`\n */\n lastNameRequired?: boolean | null;\n /**\n * Whether an email is required in the reservation form.\n *\n * Default: `false`\n */\n emailRequired?: boolean | null;\n /** Email marketing checkbox settings. */\n emailMarketingCheckbox?: EmailMarketingCheckbox;\n}\n\nexport interface TableManagement extends TableManagementOptionsOneOf {\n /** On options. */\n onOptions?: OnOptions;\n /** Table management mode. */\n mode?: TableManagementModeWithLiterals;\n}\n\n/** @oneof */\nexport interface TableManagementOptionsOneOf {\n /** On options. */\n onOptions?: OnOptions;\n}\n\nexport interface Configuration {\n /** Display information for the experience. */\n displayInfo?: DisplayInfo;\n /** Payment policy for the experience. This policy determines how the restaurant charges for reservations. */\n paymentPolicy?: PaymentPolicy;\n /** Settings for this experience that are used to determine restaurant availability for reservations made online. */\n onlineReservations?: OnlineReservations;\n /** Custom form fields and settings for the reservation booking form. */\n reservationForm?: ReservationForm;\n /** Whether the experience is visible on the live site. */\n visible?: boolean | null;\n}\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\n/**\n * Common object for tags.\n * Should be use as in this example:\n * message Foo {\n * option (.wix.api.decomposite_of) = \"wix.commons.v2.tags.Foo\";\n * string id = 1;\n * ...\n * Tags tags = 5\n * }\n *\n * example of taggable entity\n * {\n * id: \"123\"\n * tags: {\n * public_tags: {\n * tag_ids:[\"11\",\"22\"]\n * },\n * private_tags: {\n * tag_ids: [\"33\", \"44\"]\n * }\n * }\n * }\n */\nexport interface Tags {\n /** Tags that require an additional permission in order to access them, normally not given to site members or visitors. */\n privateTags?: TagList;\n /** Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors. */\n publicTags?: TagList;\n}\n\nexport interface TagList {\n /**\n * List of tag IDs.\n * @maxSize 100\n * @maxLength 5\n */\n tagIds?: string[];\n}\n\n/** SEO settings for experience pages. */\nexport interface SeoSettings {\n /** SEO schema data for customizing meta tags and search engine settings. */\n seoSchema?: SeoSchema;\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /** Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages). */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface InvalidateCache extends InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n /**\n * tell us why you're invalidating the cache. You don't need to add your app name\n * @maxLength 256\n */\n reason?: string | null;\n /** Is local DS */\n localDc?: boolean;\n hardPurge?: boolean;\n}\n\n/** @oneof */\nexport interface InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n}\n\nexport interface App {\n /**\n * The AppDefId\n * @minLength 1\n */\n appDefId?: string;\n /**\n * The instance Id\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface Page {\n /**\n * the msid the page is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Page ID\n * @minLength 1\n */\n pageId?: string;\n}\n\nexport interface URI {\n /**\n * the msid the URI is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @minLength 1\n */\n uriPath?: string;\n}\n\nexport interface File {\n /**\n * the msid the file is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by filename (for media files such as PDFs)\n * @minLength 1\n * @maxLength 256\n */\n fileName?: string;\n}\n\nexport interface CustomTag {\n /**\n * the msid the tag is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Tag to invalidate by\n * @minLength 1\n * @maxLength 256\n */\n tag?: string;\n}\n\nexport interface TagsModified {\n /** Experience with updated tags. */\n experience?: Experience;\n /** Tags that were assigned to the experience. */\n assignedTags?: Tags;\n /** Tags that were unassigned from the experience. */\n unassignedTags?: Tags;\n}\n\nexport interface CreateExperienceRequest {\n /** Experience to create. */\n experience: Experience;\n}\n\nexport interface CreateExperienceResponse {\n /** Created experience. */\n experience?: Experience;\n}\n\nexport interface GetExperienceRequest {\n /**\n * ID of the experience to retrieve.\n * @format GUID\n */\n experienceId: string;\n}\n\nexport interface GetExperienceResponse {\n /** Retrieved experience. */\n experience?: Experience;\n}\n\nexport interface GetExperienceBySlugRequest {\n /**\n * ID of the experience to retrieve.\n * @maxLength 200\n */\n slug: string;\n}\n\nexport interface GetExperienceBySlugResponse {\n /** Retrieved experience. */\n experience?: Experience;\n}\n\nexport interface UpdateExperienceRequest {\n /** Experience to update. May be partial. */\n experience: Experience;\n}\n\nexport interface UpdateExperienceResponse {\n /** Updated experience. */\n experience?: Experience;\n}\n\nexport interface QueryExperiencesRequest {\n /** Query criteria for filtering and sorting experiences. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object.\n *\n * Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QueryExperiencesResponse {\n /** List of experiences matching the query criteria. */\n experiences?: Experience[];\n /** Pagination information for the query results. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface SearchExperiencesRequest {\n /** Search query. */\n search?: CursorSearch;\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n */\n filter?: Record<string, any> | null;\n /**\n * List of sort objects.\n *\n * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n * @maxSize 100\n */\n sort?: Sorting[];\n /**\n * Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.\n * @maxSize 100\n */\n aggregations?: Aggregation[];\n /** Free text to match in searchable fields. */\n search?: SearchDetails;\n /**\n * Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n * Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\".\n * @maxLength 100\n */\n timeZone?: string | null;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.\n */\n nested?: NestedAggregation;\n /** @maxLength 1000 */\n name?: string | null;\n type?: AggregationTypeWithLiterals;\n /** @maxLength 1000 */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n * For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`.\n */\n nested?: NestedAggregation;\n}\n\nexport interface RangeBucket {\n /** Inclusive lower bound of the range. Required if `to` is not provided. */\n from?: number | null;\n /** Exclusive upper bound of the range. Required if `from` is not provided. */\n to?: number | null;\n}\n\nexport enum SortType {\n /** Sort by number of matches. */\n COUNT = 'COUNT',\n /** Sort by value of the field alphabetically. */\n VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n /** Sort in descending order. */\n DESC = 'DESC',\n /** Sort in ascending order. */\n ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum MissingValues {\n /** Exclude missing values from the aggregation results */\n EXCLUDE = 'EXCLUDE',\n /** Include missing values in the aggregation results */\n INCLUDE = 'INCLUDE',\n}\n\n/** @enumType */\nexport type MissingValuesWithLiterals = MissingValues | 'EXCLUDE' | 'INCLUDE';\n\nexport interface IncludeMissingValuesOptions {\n /**\n * Specify a custom name for the bucket containing the missing values. Defaults are \"N/A\" for strings, \"0\" for integers, and \"false\" for booleans.\n * @maxLength 1000\n */\n addToBucket?: string;\n}\n\nexport enum ScalarType {\n /** Undefined scalar type. */\n UNKNOWN_SCALAR_TYPE = 'UNKNOWN_SCALAR_TYPE',\n /** Count of distinct values. */\n COUNT_DISTINCT = 'COUNT_DISTINCT',\n /** Minimum value. */\n MIN = 'MIN',\n /** Maximum value. */\n MAX = 'MAX',\n}\n\n/** @enumType */\nexport type ScalarTypeWithLiterals =\n | ScalarType\n | 'UNKNOWN_SCALAR_TYPE'\n | 'COUNT_DISTINCT'\n | 'MIN'\n | 'MAX';\n\nexport enum NestedAggregationType {\n /** Undefined aggregation type. */\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** An aggregation where result buckets are dynamically built - one per unique value. */\n VALUE = 'VALUE',\n /** An aggregation where you can define a set of ranges - each representing a bucket. */\n RANGE = 'RANGE',\n /** A single-value metric aggregation - such as min, max, sum, and avg. */\n SCALAR = 'SCALAR',\n /** An aggregation where result buckets are dynamically built - one per time interval such as hour, day, or week. */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n}\n\n/** @enumType */\nexport type NestedAggregationTypeWithLiterals =\n | NestedAggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM';\n\nexport interface ValueAggregation extends ValueAggregationOptionsOneOf {\n /** Options for including missing values in results. */\n includeOptions?: IncludeMissingValuesOptions;\n /** Whether to sort by the number of matches or the value of the field. */\n sortType?: SortTypeWithLiterals;\n /** Whether to sort in ascending or descending order. */\n sortDirection?: SortDirectionWithLiterals;\n /**\n * Number of aggregation results to return.\n * Min: `1`\n * Max: `250`\n * Default: `10`\n */\n limit?: number | null;\n /**\n * Whether missing values should be included or excluded from the aggregation results.\n * Default: `EXCLUDE`.\n */\n missingValues?: MissingValuesWithLiterals;\n}\n\n/** @oneof */\nexport interface ValueAggregationOptionsOneOf {\n /** Options for including missing values in results. */\n includeOptions?: IncludeMissingValuesOptions;\n}\n\nexport interface RangeAggregation {\n /**\n * List of range buckets. During aggregation each entity will be placed in the first bucket its value falls into based on the provided range bounds.\n * @maxSize 1000\n */\n buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n /** Operation type for the scalar aggregation. */\n type?: ScalarTypeWithLiterals;\n}\n\nexport interface DateHistogramAggregation {\n /** Interval for date histogram aggregation. */\n interval?: IntervalWithLiterals;\n}\n\nexport enum Interval {\n UNKNOWN_INTERVAL = 'UNKNOWN_INTERVAL',\n YEAR = 'YEAR',\n MONTH = 'MONTH',\n WEEK = 'WEEK',\n DAY = 'DAY',\n HOUR = 'HOUR',\n MINUTE = 'MINUTE',\n SECOND = 'SECOND',\n}\n\n/** @enumType */\nexport type IntervalWithLiterals =\n | Interval\n | 'UNKNOWN_INTERVAL'\n | 'YEAR'\n | 'MONTH'\n | 'WEEK'\n | 'DAY'\n | 'HOUR'\n | 'MINUTE'\n | 'SECOND';\n\nexport interface NestedAggregationItem extends NestedAggregationItemKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n /**\n * Aggregation name displayed in the return.\n * @maxLength 1000\n */\n name?: string | null;\n /** Type of aggregation to perform. */\n type?: NestedAggregationTypeWithLiterals;\n /**\n * Field to aggregate by.\n * @maxLength 1000\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationItemKindOneOf {\n /** A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. */\n value?: ValueAggregation;\n /** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */\n range?: RangeAggregation;\n /** A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. */\n scalar?: ScalarAggregation;\n /** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */\n dateHistogram?: DateHistogramAggregation;\n}\n\nexport enum AggregationType {\n /** Undefined aggregation type. */\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n /** An aggregation where result buckets are dynamically built - one per unique value. */\n VALUE = 'VALUE',\n /** An aggregation where you can define a set of ranges - each representing a bucket. */\n RANGE = 'RANGE',\n /** A single-value metric aggregation - such as min, max, sum, or avg. */\n SCALAR = 'SCALAR',\n /** An aggregation where result buckets are dynamically built - one per time interval such as hour, day, or week. */\n DATE_HISTOGRAM = 'DATE_HISTOGRAM',\n /** Multi-level aggregation, where each next aggregation is nested within the previous one. */\n NESTED = 'NESTED',\n}\n\n/** @enumType */\nexport type AggregationTypeWithLiterals =\n | AggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR'\n | 'DATE_HISTOGRAM'\n | 'NESTED';\n\nexport interface NestedAggregation {\n /**\n * Flattened list of aggregations, where each aggregation is nested within the previous one.\n * @minSize 2\n * @maxSize 10\n */\n nestedAggregations?: NestedAggregationItem[];\n}\n\nexport interface SearchDetails {\n /** Search mode. Defines the search logic for combining multiple terms in the `expression`. */\n mode?: SearchDetailsModeWithLiterals;\n /**\n * Search term or expression.\n * @maxLength 100\n */\n expression?: string | null;\n /**\n * Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`.\n * @maxSize 100\n * @maxLength 1000\n */\n fields?: string[];\n /** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */\n fuzzy?: boolean;\n}\n\nexport enum SearchDetailsMode {\n /** At least one of the search terms must be present. */\n OR = 'OR',\n /** All search terms must be present. */\n AND = 'AND',\n}\n\n/** @enumType */\nexport type SearchDetailsModeWithLiterals = SearchDetailsMode | 'OR' | 'AND';\n\nexport interface SearchExperiencesResponse {\n /** List of Experiences. */\n experiences?: Experience[];\n /** Cursor paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n /** Aggregation data. */\n aggregationData?: AggregationData;\n}\n\nexport interface AggregationData {\n /**\n * List of the aggregated data results.\n * @maxSize 1000\n */\n results?: AggregationResults[];\n}\n\nexport interface ValueAggregationResult {\n /**\n * Value of the field\n * @maxLength 1000\n */\n value?: string;\n /** Count of entities with this value */\n count?: number;\n}\n\nexport interface RangeAggregationResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in the range. */\n count?: number;\n}\n\nexport interface NestedAggregationResults\n extends NestedAggregationResultsResultOneOf {\n /** List of the value aggregation results. */\n values?: ValueResults;\n /** List of the range aggregation results. */\n ranges?: RangeResults;\n /** List of the scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /**\n * Aggregation name defined in the request.\n * @maxLength 1000\n */\n name?: string;\n /** Type of aggregation performed. */\n type?: AggregationTypeWithLiterals;\n /**\n * Field the data was aggregated by.\n * @maxLength 1000\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface NestedAggregationResultsResultOneOf {\n /** List of the value aggregation results. */\n values?: ValueResults;\n /** List of the range aggregation results. */\n ranges?: RangeResults;\n /** List of the scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n}\n\nexport interface ValueResults {\n /**\n * List of value aggregations.\n * @maxSize 1000\n */\n results?: ValueAggregationResult[];\n}\n\nexport interface RangeResults {\n /**\n * List of ranges returned in same order as requested.\n * @maxSize 1000\n */\n results?: RangeAggregationResult[];\n}\n\nexport interface AggregationResultsScalarResult {\n /** Type of scalar aggregation. */\n type?: ScalarTypeWithLiterals;\n /** Value of the scalar aggregation. */\n value?: number;\n}\n\nexport interface NestedValueAggregationResult {\n /** @maxLength 1000 */\n value?: string;\n nestedResults?: NestedAggregationResults;\n}\n\nexport interface ValueResult {\n /**\n * Value of the field.\n * @maxLength 1000\n */\n value?: string;\n /** Count of entities with this value. */\n count?: number | null;\n}\n\nexport interface RangeResult {\n /** Inclusive lower bound of the range. */\n from?: number | null;\n /** Exclusive upper bound of the range. */\n to?: number | null;\n /** Count of entities in the range. */\n count?: number | null;\n}\n\nexport interface ScalarResult {\n /** Scalar aggregation results. */\n value?: number;\n}\n\nexport interface NestedResultValue extends NestedResultValueResultOneOf {\n /** Value aggregation results. */\n value?: ValueResult;\n /** Range aggregation results. */\n range?: RangeResult;\n /** Scalar aggregation results. */\n scalar?: ScalarResult;\n /** Date histogram aggregation results. */\n dateHistogram?: ValueResult;\n}\n\n/** @oneof */\nexport interface NestedResultValueResultOneOf {\n /** Value aggregation results. */\n value?: ValueResult;\n /** Range aggregation results. */\n range?: RangeResult;\n /** Scalar aggregation results. */\n scalar?: ScalarResult;\n /** Date histogram aggregation results. */\n dateHistogram?: ValueResult;\n}\n\nexport interface Results {\n /** List of nested aggregation results. */\n results?: Record<string, NestedResultValue>;\n}\n\nexport interface DateHistogramResult {\n /**\n * Date in ISO 8601 format.\n * @maxLength 100\n */\n value?: string;\n /** Count of entities in the interval. */\n count?: number;\n}\n\n/** deprecated */\nexport interface GroupByValueResults {\n /** @maxSize 1000 */\n results?: NestedValueAggregationResult[];\n}\n\nexport interface DateHistogramResults {\n /**\n * List of date histogram aggregations.\n * @maxSize 200\n */\n results?: DateHistogramResult[];\n}\n\n/**\n * Results of `NESTED` aggregation type in a flattened form.\n * Aggregations in the resulting array are keyed by the requested aggregation `name`.\n */\nexport interface NestedResults {\n /**\n * List of nested aggregation results.\n * @maxSize 1000\n */\n results?: Results[];\n}\n\nexport interface AggregationResults extends AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** deprecated */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n /**\n * Aggregation name defined in the request.\n * @maxLength 1000\n */\n name?: string;\n /** Type of aggregation that was performed. */\n type?: AggregationTypeWithLiterals;\n /**\n * Field the data was aggregated by.\n * @maxLength 1000\n */\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationResultsResultOneOf {\n /** Value aggregation results. */\n values?: ValueResults;\n /** Range aggregation results. */\n ranges?: RangeResults;\n /** Scalar aggregation results. */\n scalar?: AggregationResultsScalarResult;\n /** deprecated */\n groupedByValue?: GroupByValueResults;\n /** Date histogram aggregation results. */\n dateHistogram?: DateHistogramResults;\n /** Nested aggregation results. */\n nested?: NestedResults;\n}\n\nexport interface BulkUpdateExperienceTagsRequest {\n /**\n * List of experience IDs to update tags for.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n experienceIds: string[];\n /** Tags to assign to the experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the experiences. */\n unassignTags?: Tags;\n}\n\nexport interface BulkUpdateExperienceTagsResponse {\n /**\n * Results of the bulk tag update operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUpdateExperienceTagsResult[];\n /** Metadata about the bulk update operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed.\n * @format GUID\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action for this item was successful. When `false`, the `error` field is returned. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkUpdateExperienceTagsResult {\n /** Metadata about the individual experience tag update operation. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkUpdateExperienceTagsByFilterRequest {\n /** Filter criteria to select experiences for tag updates. */\n filter: Record<string, any> | null;\n /** Tags to assign to the filtered experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the filtered experiences. */\n unassignTags?: Tags;\n}\n\nexport interface BulkUpdateExperienceTagsByFilterResponse {\n /**\n * Job ID for tracking the asynchronous bulk update operation.\n * @format GUID\n */\n jobId?: string;\n}\n\nexport interface BulkArchiveExperiencesRequest {\n /**\n * IDs of experiences to archive.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n experienceIds?: string[];\n}\n\nexport interface BulkArchiveExperiencesResponse {\n /**\n * Result of bulk archive action\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkArchiveExperiencesResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkArchiveExperiencesResult {\n /** Metadata about archiving the experience. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUnarchiveExperiencesRequest {\n /**\n * Experience IDs to unarchive.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n experienceIds?: string[];\n}\n\nexport interface BulkUnarchiveExperiencesResponse {\n /**\n * Result of bulk unarchive action\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUnarchiveExperiencesResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUnarchiveExperiencesResult {\n /** Metadata about unarchiving the experience. */\n itemMetadata?: ItemMetadata;\n}\n\n/** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\nexport interface SitePropertiesNotification {\n /** The site ID for which this update notification applies. */\n metasiteId?: string;\n /** The actual update event. */\n event?: SitePropertiesEvent;\n /**\n * A convenience set of mappings from the MetaSite ID to its constituent services.\n * @maxSize 500\n */\n translations?: Translation[];\n /** Context of the notification */\n changeContext?: ChangeContext;\n}\n\n/** The actual update event for a particular notification. */\nexport interface SitePropertiesEvent {\n /** Version of the site's properties represented by this update. */\n version?: number;\n /** Set of properties that were updated - corresponds to the fields in \"properties\". */\n fields?: string[];\n /** Updated properties. */\n properties?: Properties;\n}\n\nexport interface Properties {\n /** Site categories. */\n categories?: Categories;\n /** Site locale. */\n locale?: Locale;\n /**\n * Site language.\n *\n * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n */\n language?: string | null;\n /**\n * Site currency format used to bill customers.\n *\n * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n */\n paymentCurrency?: string | null;\n /** Timezone in `America/New_York` format. */\n timeZone?: string | null;\n /** Email address. */\n email?: string | null;\n /** Phone number. */\n phone?: string | null;\n /** Fax number. */\n fax?: string | null;\n /** Address. */\n address?: Address;\n /** Site display name. */\n siteDisplayName?: string | null;\n /** Business name. */\n businessName?: string | null;\n /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n logo?: string | null;\n /** Site description. */\n description?: string | null;\n /**\n * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n *\n * __Note:__ Not supported by Wix Bookings.\n */\n businessSchedule?: BusinessSchedule;\n /** Supported languages of a site and the primary language. */\n multilingual?: Multilingual;\n /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n consentPolicy?: ConsentPolicy;\n /**\n * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n *\n * Site business type.\n */\n businessConfig?: string | null;\n /** External site URL that uses Wix as its headless business solution. */\n externalSiteUrl?: string | null;\n /** Track clicks analytics. */\n trackClicksAnalytics?: boolean;\n}\n\nexport interface Categories {\n /** Primary site category. */\n primary?: string;\n /**\n * Secondary site category.\n * @maxSize 50\n */\n secondary?: string[];\n /** Business Term Id */\n businessTermId?: string | null;\n}\n\nexport interface Locale {\n /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n languageCode?: string;\n /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n country?: string;\n}\n\nexport interface Address {\n /** Street name. */\n street?: string;\n /** City name. */\n city?: string;\n /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n country?: string;\n /** State. */\n state?: string;\n /**\n * Zip or postal code.\n * @maxLength 20\n */\n zip?: string;\n /** Extra information to be displayed in the address. */\n hint?: AddressHint;\n /** Whether this address represents a physical location. */\n isPhysical?: boolean;\n /** Google-formatted version of this address. */\n googleFormattedAddress?: string;\n /** Street number. */\n streetNumber?: string;\n /** Apartment number. */\n apartmentNumber?: string;\n /** Geographic coordinates of location. */\n coordinates?: GeoCoordinates;\n}\n\n/**\n * Extra information on displayed addresses.\n * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n */\nexport interface AddressHint {\n /** Extra text displayed next to, or instead of, the actual address. */\n text?: string;\n /** Where the extra text should be displayed. */\n placement?: PlacementTypeWithLiterals;\n}\n\n/** Where the extra text should be displayed: before, after or instead of the actual address. */\nexport enum PlacementType {\n BEFORE = 'BEFORE',\n AFTER = 'AFTER',\n REPLACE = 'REPLACE',\n}\n\n/** @enumType */\nexport type PlacementTypeWithLiterals =\n | PlacementType\n | 'BEFORE'\n | 'AFTER'\n | 'REPLACE';\n\n/** Geocoordinates for a particular address. */\nexport interface GeoCoordinates {\n /** Latitude of the location. Must be between -90 and 90. */\n latitude?: number;\n /** Longitude of the location. Must be between -180 and 180. */\n longitude?: number;\n}\n\n/** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\nexport interface BusinessSchedule {\n /**\n * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods.\n * @maxSize 100\n */\n periods?: TimePeriod[];\n /**\n * Exceptions to the business's regular hours. The business can be open or closed during the exception.\n * @maxSize 100\n */\n specialHourPeriod?: SpecialHourPeriod[];\n}\n\n/** Weekly recurring time periods when the business is regularly open or the service is available. */\nexport interface TimePeriod {\n /** Day of the week the period starts on. */\n openDay?: DayOfWeekWithLiterals;\n /**\n * 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\n * midnight at the end of the specified day.\n */\n openTime?: string;\n /** Day of the week the period ends on. */\n closeDay?: DayOfWeekWithLiterals;\n /**\n * 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\n * midnight at the end of the specified day.\n *\n * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n */\n closeTime?: string;\n}\n\n/** Enumerates the days of the week. */\nexport enum DayOfWeek {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n | DayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\n/** Exception to the business's regular hours. The business can be open or closed during the exception. */\nexport interface SpecialHourPeriod {\n /** 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). */\n startDate?: string;\n /** 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). */\n endDate?: string;\n /**\n * Whether the business is closed (or the service is not available) during the exception.\n *\n * Default: `true`.\n */\n isClosed?: boolean;\n /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n comment?: string;\n}\n\nexport interface Multilingual {\n /**\n * Supported languages list.\n * @maxSize 200\n */\n supportedLanguages?: SupportedLanguage[];\n /** Whether to redirect to user language. */\n autoRedirect?: boolean;\n}\n\nexport interface SupportedLanguage {\n /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n languageCode?: string;\n /** Locale. */\n locale?: Locale;\n /** Whether the supported language is the primary language for the site. */\n isPrimary?: boolean;\n /** Language icon. */\n countryCode?: string;\n /** How the language will be resolved. For internal use. */\n resolutionMethod?: ResolutionMethodWithLiterals;\n /** Whether the supported language is the primary language for site visitors. */\n isVisitorPrimary?: boolean | null;\n}\n\nexport enum ResolutionMethod {\n QUERY_PARAM = 'QUERY_PARAM',\n SUBDOMAIN = 'SUBDOMAIN',\n SUBDIRECTORY = 'SUBDIRECTORY',\n}\n\n/** @enumType */\nexport type ResolutionMethodWithLiterals =\n | ResolutionMethod\n | 'QUERY_PARAM'\n | 'SUBDOMAIN'\n | 'SUBDIRECTORY';\n\nexport interface ConsentPolicy {\n /** Whether the site uses cookies that are essential to site operation. Always `true`. */\n essential?: boolean | null;\n /** Whether the site uses cookies that affect site performance and other functional measurements. */\n functional?: boolean | null;\n /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n analytics?: boolean | null;\n /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n advertising?: boolean | null;\n /** CCPA compliance flag. */\n dataToThirdParty?: boolean | null;\n}\n\n/** A single mapping from the MetaSite ID to a particular service. */\nexport interface Translation {\n /** The service type. */\n serviceType?: string;\n /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n appDefId?: string;\n /** The instance ID of the service. */\n instanceId?: string;\n}\n\nexport interface ChangeContext extends ChangeContextPayloadOneOf {\n /** Properties were updated. */\n propertiesChange?: PropertiesChange;\n /** Default properties were created on site creation. */\n siteCreated?: SiteCreated;\n /** Properties were cloned on site cloning. */\n siteCloned?: SiteCloned;\n}\n\n/** @oneof */\nexport interface ChangeContextPayloadOneOf {\n /** Properties were updated. */\n propertiesChange?: PropertiesChange;\n /** Default properties were created on site creation. */\n siteCreated?: SiteCreated;\n /** Properties were cloned on site cloning. */\n siteCloned?: SiteCloned;\n}\n\nexport interface PropertiesChange {}\n\nexport interface SiteCreated {\n /** Origin template site id. */\n originTemplateId?: string | null;\n}\n\nexport interface SiteCloned {\n /** Origin site id. */\n originMetaSiteId?: string;\n}\n\nexport interface Empty {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * 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.\n * 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.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type UpdateExperienceApplicationErrors = {\n code?: 'CAN_NOT_BE_UPDATED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdateExperienceTagsApplicationErrors = {\n code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkUpdateExperienceTagsByFilterApplicationErrors = {\n code?: 'EMPTY_ASSIGN_AND_UNASSIGN_LISTS';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * 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.\n * 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.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface ExperienceCreatedEnvelope {\n entity: Experience;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an experience is created.\n * @permissionScope Experience domain events read\n * @permissionScopeId SCOPE.TABLE-RESERVATIONS.EXPERIENCES_DOMAIN_EVENTS_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_DOMAIN_EVENTS_READ\n * @webhook\n * @eventType wix.table_reservations.v1.experience_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onExperienceCreated(\n handler: (event: ExperienceCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExperienceTagsModifiedEnvelope {\n data: TagsModified;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a tag on an experience is modified.\n * @permissionScope Experience domain events read\n * @permissionScopeId SCOPE.TABLE-RESERVATIONS.EXPERIENCES_DOMAIN_EVENTS_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_DOMAIN_EVENTS_READ\n * @webhook\n * @eventType wix.table_reservations.v1.experience_tags_modified\n * @slug tags_modified\n * @documentationMaturity preview\n */\nexport declare function onExperienceTagsModified(\n handler: (event: ExperienceTagsModifiedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ExperienceUpdatedEnvelope {\n entity: Experience;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when an experience is updated.\n * @permissionScope Experience domain events read\n * @permissionScopeId SCOPE.TABLE-RESERVATIONS.EXPERIENCES_DOMAIN_EVENTS_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_DOMAIN_EVENTS_READ\n * @webhook\n * @eventType wix.table_reservations.v1.experience_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onExperienceUpdated(\n handler: (event: ExperienceUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates an experience.\n * @param experience - Experience to create.\n * @public\n * @documentationMaturity preview\n * @requiredField experience\n * @requiredField experience.configuration\n * @requiredField experience.configuration.displayInfo\n * @requiredField experience.configuration.displayInfo.name\n * @requiredField experience.configuration.onlineReservations\n * @requiredField experience.configuration.onlineReservations.approval\n * @requiredField experience.configuration.onlineReservations.approval.mode\n * @requiredField experience.configuration.onlineReservations.maxGuests.number\n * @requiredField experience.configuration.onlineReservations.maximumReservationNotice.number\n * @requiredField experience.configuration.onlineReservations.maximumReservationNotice.unit\n * @requiredField experience.configuration.onlineReservations.minimumReservationNotice.number\n * @requiredField experience.configuration.onlineReservations.minimumReservationNotice.unit\n * @requiredField experience.configuration.onlineReservations.partySize\n * @requiredField experience.configuration.onlineReservations.partySize.max\n * @requiredField experience.configuration.onlineReservations.partySize.min\n * @requiredField experience.configuration.paymentPolicy\n * @requiredField experience.configuration.paymentPolicy.paymentPolicyType\n * @requiredField experience.reservationLocationId\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_CREATE\n * @applicableIdentity APP\n * @returns Created experience.\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.CreateExperience\n */\nexport async function createExperience(\n experience: NonNullablePaths<\n Experience,\n | `configuration`\n | `configuration.displayInfo`\n | `configuration.displayInfo.name`\n | `configuration.onlineReservations`\n | `configuration.onlineReservations.approval`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.maxGuests.number`\n | `configuration.onlineReservations.maximumReservationNotice.number`\n | `configuration.onlineReservations.maximumReservationNotice.unit`\n | `configuration.onlineReservations.minimumReservationNotice.number`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.partySize`\n | `configuration.onlineReservations.partySize.max`\n | `configuration.onlineReservations.partySize.min`\n | `configuration.paymentPolicy`\n | `configuration.paymentPolicy.paymentPolicyType`\n | `reservationLocationId`,\n 5\n >\n): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({ experience: experience }, [\n 'experience.configuration.displayInfo.richContent',\n ]),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.createExperience(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )?.experience!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { experience: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['experience']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves an experience.\n * @param experienceId - ID of the experience to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField experienceId\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ_FULL\n * @applicableIdentity APP\n * @returns Retrieved experience.\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.GetExperience\n */\nexport async function getExperience(\n experienceId: string\n): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n { experienceId: experienceId },\n []\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.getExperience(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )?.experience!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { experienceId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['experienceId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves an experience.\n * @param slug - ID of the experience to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField slug\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ_FULL\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.GetExperienceBySlug\n */\nexport async function getExperienceBySlug(\n slug: string\n): Promise<\n NonNullablePaths<\n GetExperienceBySlugResponse,\n | `experience.configuration.paymentPolicy.paymentPolicyType`\n | `experience.configuration.onlineReservations.minimumReservationNotice.unit`\n | `experience.configuration.onlineReservations.approval.mode`\n | `experience.configuration.onlineReservations.businessSchedule.entries`\n | `experience.configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `experience.configuration.reservationForm.customFieldDefinitions`\n | `experience.tags.privateTags.tagIds`\n | `experience.seoSettings.seoSchema.tags`\n | `experience.seoSettings.seoSchema.tags.${number}.type`\n | `experience.seoSettings.seoSchema.tags.${number}.children`\n | `experience.seoSettings.seoSchema.tags.${number}.custom`\n | `experience.seoSettings.seoSchema.tags.${number}.disabled`\n | `experience.seoSettings.seoSchema.settings.preventAutoRedirect`\n | `experience.seoSettings.seoSchema.settings.keywords`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.term`\n | `experience.seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 8\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ slug: slug }, []);\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.getExperienceBySlug(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { slug: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['slug']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates an experience.\n *\n * Each time the experience is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the experience.\n * This ensures you're working with the latest experience information and prevents unintended overwrites.\n * @param _id - Experience ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField experience\n * @requiredField experience.revision\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_UPDATE\n * @applicableIdentity APP\n * @returns Updated experience.\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.UpdateExperience\n */\nexport async function updateExperience(\n _id: string,\n experience: NonNullablePaths<UpdateExperience, `revision`, 2>\n): Promise<\n NonNullablePaths<\n Experience,\n | `configuration.paymentPolicy.paymentPolicyType`\n | `configuration.onlineReservations.minimumReservationNotice.unit`\n | `configuration.onlineReservations.approval.mode`\n | `configuration.onlineReservations.businessSchedule.entries`\n | `configuration.onlineReservations.businessSchedule.entries.${number}.recurrence`\n | `configuration.reservationForm.customFieldDefinitions`\n | `tags.privateTags.tagIds`\n | `seoSettings.seoSchema.tags`\n | `seoSettings.seoSchema.tags.${number}.type`\n | `seoSettings.seoSchema.tags.${number}.children`\n | `seoSettings.seoSchema.tags.${number}.custom`\n | `seoSettings.seoSchema.tags.${number}.disabled`\n | `seoSettings.seoSchema.settings.preventAutoRedirect`\n | `seoSettings.seoSchema.settings.keywords`\n | `seoSettings.seoSchema.settings.keywords.${number}.term`\n | `seoSettings.seoSchema.settings.keywords.${number}.isMain`,\n 7\n > & {\n __applicationErrorsType?: UpdateExperienceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest(\n { experience: { ...experience, id: _id } },\n ['experience.configuration.displayInfo.richContent']\n ),\n [\n {\n transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.updateExperience(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experience.experiencePageUrl' },\n {\n path: 'experience.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experience.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experience.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experience.configuration.displayInfo.richContent']\n )?.experience!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { experience: '$[1]' },\n explicitPathsToArguments: { 'experience.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'experience']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateExperience {\n /**\n * Experience ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * ID of the reservation location this experience is assigned to.\n * @format GUID\n * @readonly\n */\n reservationLocationId?: string | null;\n /**\n * Revision number, which increments by 1 each time the experience is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the experience.\n *\n * Ignored when creating an experience.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the experience was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the experience was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /** Experience configuration. */\n configuration?: Configuration;\n /**\n * 3-letter currency code in ISO-4217 alphabetic format. For exampled, `USD`.\n * @format CURRENCY\n * @readonly\n */\n currency?: string | null;\n /** Extended fields. */\n extendedFields?: ExtendedFields;\n /** Tags assigned to the experience. Tags must be created using the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) before they can be assigned. */\n tags?: Tags;\n /**\n * URL-friendly identifier for the experience page, derived from the experience display name in kebab-case format (e.g., \"wine-tasting-event\"). Used to create readable URLs for the experience page.\n * @maxLength 300\n */\n slug?: string | null;\n /** SEO settings for the experience page. */\n seoSettings?: SeoSettings;\n}\n\n/**\n * Retrieves a list of experiences using the specified paging, filtering, and sorting.\n *\n * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/sorting-and-filtering) article.\n * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n * @public\n * @documentationMaturity preview\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ_FULL\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.QueryExperiences\n */\nexport function queryExperiences(): ExperiencesQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Experience,\n 'CURSOR',\n QueryExperiencesRequest,\n QueryExperiencesResponse\n >({\n func: async (payload: QueryExperiencesRequest) => {\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.queryExperiences(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryExperiencesRequest['query']) => {\n const args = [query, {}] as [QueryExperiencesRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest(\n { ...args?.[1], query: args?.[0] },\n []\n );\n },\n responseTransformer: ({ data }: HttpResponse<QueryExperiencesResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experiences.experiencePageUrl' },\n {\n path: 'experiences.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experiences.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'experiences.configuration.displayInfo.coverImage' },\n ],\n },\n ]),\n ['experiences.configuration.displayInfo.richContent']\n );\n\n return {\n items: transformedData?.experiences,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface ExperiencesQueryResult extends QueryCursorResult {\n items: Experience[];\n query: ExperiencesQueryBuilder;\n next: () => Promise<ExperiencesQueryResult>;\n prev: () => Promise<ExperiencesQueryResult>;\n}\n\nexport interface ExperiencesQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n value: string\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any[]\n ) => ExperiencesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasAll: (\n propertyName: 'tags.privateTags.tagIds' | 'tags.publicTags.tagIds',\n value: any[]\n ) => ExperiencesQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: any\n ) => ExperiencesQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName:\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds',\n value: boolean\n ) => ExperiencesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds'\n >\n ) => ExperiencesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | 'reservationLocationId'\n | '_createdDate'\n | '_updatedDate'\n | 'configuration.displayInfo.name'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate'\n | 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate'\n | 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate'\n | 'configuration.visible'\n | 'tags.privateTags.tagIds'\n | 'tags.publicTags.tagIds'\n >\n ) => ExperiencesQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => ExperiencesQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => ExperiencesQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<ExperiencesQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.QueryExperiences\n * @requiredField query\n */\nexport async function typedQueryExperiences(\n query: ExperienceQuery\n): Promise<\n NonNullablePaths<\n QueryExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query }, []);\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.queryExperiences(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experiences.experiencePageUrl' },\n {\n path: 'experiences.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experiences.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experiences.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experiences.configuration.displayInfo.richContent']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ExperienceQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate',\n 'tags.privateTags.tagIds',\n 'tags.publicTags.tagIds'\n ];\n operators: ['$hasAll', '$hasSome'];\n sort: 'BOTH';\n },\n {\n fields: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'configuration.displayInfo.name',\n 'configuration.visible',\n 'reservationLocationId'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Experience,\n ExperienceQuerySpec\n>;\nexport type ExperienceQuery = {\n /** \n Cursor paging options.\n\n Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n\n Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section). \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object.\n\n Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section). \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n ...createQueryUtils<Experience, ExperienceQuerySpec, ExperienceQuery>(),\n};\n\n/**\n * Use this method to search the fields of the experiences on a site for a given expression.\n *\n * You can also use this method to perform data aggregations on a site's experience fields.\n * @param search - Search query.\n * @public\n * @documentationMaturity preview\n * @requiredField search\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_READ\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.SearchExperiences\n */\nexport async function searchExperiences(\n search: ExperienceSearch\n): Promise<\n NonNullablePaths<\n SearchExperiencesResponse,\n | `experiences`\n | `experiences.${number}.configuration.paymentPolicy.paymentPolicyType`\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n | `aggregationData.results.${number}.fieldPath`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ search: search }, []);\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.searchExperiences(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n paths: [\n { path: 'experiences.experiencePageUrl' },\n {\n path: 'experiences.configuration.reservationForm.privacyPolicy.url',\n },\n {\n path: 'experiences.configuration.reservationForm.termsAndConditions.url',\n },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [{ path: 'experiences.configuration.displayInfo.coverImage' }],\n },\n ]),\n ['experiences.configuration.displayInfo.richContent']\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { search: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['search']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ExperienceSearchSpec extends SearchSpec {\n searchable: [\n 'configuration.displayInfo.name',\n 'configuration.displayInfo.richContent',\n 'configuration.displayInfo.shortDescription'\n ];\n aggregatable: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'configuration.displayInfo.name',\n 'configuration.onlineReservations.approval.mode',\n 'configuration.onlineReservations.businessSchedule.durationInMinutes',\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startTime',\n 'configuration.onlineReservations.businessSchedule.entries.recurrence',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.day',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.time',\n 'configuration.onlineReservations.maxGuests.number',\n 'configuration.onlineReservations.partySize.max',\n 'configuration.onlineReservations.partySize.min',\n 'configuration.paymentPolicy.paymentPolicyType',\n 'configuration.visible',\n 'reservationLocationId',\n 'tags.privateTags.tagIds',\n 'tags.publicTags.tagIds'\n ];\n paging: 'cursor';\n wql: [\n {\n operators: ['$hasAll', '$hasSome'];\n fields: [\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.oneTimeOptions.startTime',\n 'configuration.onlineReservations.businessSchedule.entries.recurrence',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.endDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDate',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.day',\n 'configuration.onlineReservations.businessSchedule.entries.weeklyOptions.startDaysAndTimes.time',\n 'tags.privateTags.tagIds',\n 'tags.publicTags.tagIds'\n ];\n sort: 'NONE';\n },\n {\n operators: '*';\n fields: ['_id', 'reservationLocationId'];\n sort: 'NONE';\n },\n {\n operators: '*';\n fields: [\n '_createdDate',\n '_updatedDate',\n 'configuration.displayInfo.name',\n 'configuration.onlineReservations.approval.mode',\n 'configuration.onlineReservations.businessSchedule.durationInMinutes',\n 'configuration.onlineReservations.maxGuests.number',\n 'configuration.onlineReservations.partySize.max',\n 'configuration.onlineReservations.partySize.min',\n 'configuration.paymentPolicy.paymentPolicyType',\n 'configuration.visible'\n ];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<\n Experience,\n ExperienceSearchSpec\n>;\nexport type ExperienceSearch = {\n /** \n Cursor paging options.\n\n Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n\n Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n List of sort objects.\n\n Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n @maxSize: 100 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Logical groupings of data into facets, with summaries for each facet. For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories. \n @maxSize: 100 \n */\n aggregations?: {\n /** \n A value aggregation calculates metrics such as \"count\" for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number of reservations (count) of each status that have been made on the site. \n */\n value?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['value'];\n /** \n A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. \n */\n range?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['range'];\n /** \n A scalar aggregation calculates a single numerical value from a dataset, such as the total sum, average, min, or max, summarizing the dataset into one key metric. For example, use a scalar aggregation to get the average part size of reservations made on a site. \n */\n scalar?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['scalar'];\n /** \n A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. \n */\n dateHistogram?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['dateHistogram'];\n /** \n A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy.\n For example, to get the number of reservations by party size for each week, first perform a date histogram aggregation on `details.startDate` with the interval `WEEK`, and a second value aggregation on `details.partySize`. \n */\n nested?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['nested'];\n name?:\n | NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['name']\n | null;\n type?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['type'];\n fieldPath?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['fieldPath'];\n }[];\n /** \n Free text to match in searchable fields. \n */\n search?: {\n /** \n Search mode. Defines the search logic for combining multiple terms in the `expression`. \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n Search term or expression. \n @maxLength: 100 \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n Fields to search in. If the array is empty, all searchable fields are searched. Use dot notation to specify a JSON path. For example, `order.address.streetName`. \n @maxSize: 100,\n @maxLength: 1000 \n */\n fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];\n /** \n Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n /** \n Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\n Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\". \n @maxLength: 100 \n */\n timeZone?: CommonSearchWithEntityContext['timeZone'] | null;\n};\n\n/**\n * Synchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences by experience IDs. A tag that appears in both assign and unassign lists is assigned.\n * @param experienceIds - List of experience IDs to update tags for.\n * @public\n * @documentationMaturity preview\n * @requiredField experienceIds\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_UPDATE_TAGS\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTags\n */\nexport async function bulkUpdateExperienceTags(\n experienceIds: string[],\n options?: BulkUpdateExperienceTagsOptions\n): Promise<\n NonNullablePaths<\n BulkUpdateExperienceTagsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkUpdateExperienceTagsApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n experienceIds: experienceIds,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.bulkUpdateExperienceTags(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n experienceIds: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['experienceIds', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateExperienceTagsOptions {\n /** Tags to assign to the experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the experiences. */\n unassignTags?: Tags;\n}\n\n/**\n * Asynchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences using filter criteria. An empty filter updates all experiences. A tag that appears in both assign and unassign lists is assigned.\n * @param filter - Filter criteria to select experiences for tag updates.\n * @public\n * @documentationMaturity preview\n * @requiredField filter\n * @permissionId TABLE_RESERVATIONS.EXPERIENCE_UPDATE_TAGS\n * @applicableIdentity APP\n * @fqn wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTagsByFilter\n */\nexport async function bulkUpdateExperienceTagsByFilter(\n filter: Record<string, any>,\n options?: BulkUpdateExperienceTagsByFilterOptions\n): Promise<\n NonNullablePaths<BulkUpdateExperienceTagsByFilterResponse, `jobId`, 2> & {\n __applicationErrorsType?: BulkUpdateExperienceTagsByFilterApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest(\n {\n filter: filter,\n assignTags: options?.assignTags,\n unassignTags: options?.unassignTags,\n },\n []\n );\n\n const reqOpts =\n ambassadorWixTableReservationsV1Experience.bulkUpdateExperienceTagsByFilter(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data, [])!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0]',\n assignTags: '$[1].assignTags',\n unassignTags: '$[1].unassignTags',\n },\n singleArgumentUnchanged: false,\n },\n ['filter', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateExperienceTagsByFilterOptions {\n /** Tags to assign to the filtered experiences. */\n assignTags?: Tags;\n /** Tags to unassign from the filtered experiences. */\n unassignTags?: Tags;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixTableReservationsExperienceV1ExperiencesServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/experiences',\n destPath: '',\n },\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'bo._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'dev._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/table-reservations/experiences',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/table-reservations/experiences',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_table-reservations_experiences';\n\n/** Creates an experience. */\nexport function createExperience(payload: object): RequestOptionsFactory<any> {\n function __createExperience({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'POST' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.CreateExperience',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createExperience;\n}\n\n/** Retrieves an experience. */\nexport function getExperience(payload: object): RequestOptionsFactory<any> {\n function __getExperience({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.GetExperience',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/{experienceId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getExperience;\n}\n\n/** Retrieves an experience. */\nexport function getExperienceBySlug(\n payload: object\n): RequestOptionsFactory<any> {\n function __getExperienceBySlug({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.GetExperienceBySlug',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/slug/{slug}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getExperienceBySlug;\n}\n\n/**\n * Updates an experience.\n *\n * Each time the experience is updated, `revision` increments by 1.\n * The current `revision` must be passed when updating the experience.\n * This ensures you're working with the latest experience information and prevents unintended overwrites.\n */\nexport function updateExperience(payload: object): RequestOptionsFactory<any> {\n function __updateExperience({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'PATCH' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.UpdateExperience',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/{experience.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experience.createdDate' },\n { path: 'experience.updatedDate' },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experience.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateExperience;\n}\n\n/**\n * Retrieves a list of experiences using the specified paging, filtering, and sorting.\n *\n * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/sorting-and-filtering) article.\n * To learn how to query reservation locations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n */\nexport function queryExperiences(payload: object): RequestOptionsFactory<any> {\n function __queryExperiences({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.QueryExperiences',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/query',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experiences.createdDate' },\n { path: 'experiences.updatedDate' },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n ],\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/query',\n data: payload,\n host,\n }),\n data: payload,\n },\n ],\n };\n\n return metadata;\n }\n\n return __queryExperiences;\n}\n\n/**\n * Use this method to search the fields of the experiences on a site for a given expression.\n *\n * You can also use this method to perform data aggregations on a site's experience fields.\n */\nexport function searchExperiences(payload: object): RequestOptionsFactory<any> {\n function __searchExperiences({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'search.aggregations.range.buckets.from' },\n { path: 'search.aggregations.range.buckets.to' },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.from',\n },\n {\n path: 'search.aggregations.nested.nestedAggregations.range.buckets.to',\n },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'GET' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.SearchExperiences',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/search',\n data: serializedData,\n host,\n }),\n params: toURLSearchParams(serializedData, true),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'experiences.createdDate' },\n { path: 'experiences.updatedDate' },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.createdTimestamp',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.metadata.updatedTimestamp',\n },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.image.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.items.video.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.galleryData.options.item.ratio',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.imageData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lat',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.mapData.mapSettings.lng',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.poll.options.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.pollData.design.poll.background.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.appEmbedData.image.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.video.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.videoData.thumbnail.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.audio.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.audioData.coverImage.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backgroundImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.layoutData.backdropImage.media.duration',\n },\n {\n path: 'experiences.configuration.displayInfo.richContent.nodes.shapeData.shape.duration',\n },\n { path: 'aggregationData.results.ranges.results.from' },\n { path: 'aggregationData.results.ranges.results.to' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.from',\n },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.ranges.results.to',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.from',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.range.to',\n },\n { path: 'aggregationData.results.scalar.value' },\n {\n path: 'aggregationData.results.groupedByValue.results.nestedResults.scalar.value',\n },\n {\n path: 'aggregationData.results.nested.results.results.*.scalar.value',\n },\n ],\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/experiences/search',\n data: serializedData,\n host,\n }),\n data: serializedData,\n },\n ],\n };\n\n return metadata;\n }\n\n return __searchExperiences;\n}\n\n/** Synchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences by experience IDs. A tag that appears in both assign and unassign lists is assigned. */\nexport function bulkUpdateExperienceTags(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateExperienceTags({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'POST' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTags',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/bulk/experiences/update-tags',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateExperienceTags;\n}\n\n/** Asynchronously updates [tags](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) on multiple experiences using filter criteria. An empty filter updates all experiences. A tag that appears in both assign and unassign lists is assigned. */\nexport function bulkUpdateExperienceTagsByFilter(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkUpdateExperienceTagsByFilter({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.table_reservations.v1.experience',\n method: 'POST' as any,\n methodFqn:\n 'wix.table_reservations.experience.v1.ExperiencesService.BulkUpdateExperienceTagsByFilter',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixTableReservationsExperienceV1ExperiencesServiceUrl({\n protoPath: '/v1/bulk/experiences/update-tags-by-filter',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkUpdateExperienceTagsByFilter;\n}\n","import {\n createExperience as publicCreateExperience,\n getExperience as publicGetExperience,\n getExperienceBySlug as publicGetExperienceBySlug,\n updateExperience as publicUpdateExperience,\n queryExperiences as publicQueryExperiences,\n typedQueryExperiences as publicTypedQueryExperiences,\n searchExperiences as publicSearchExperiences,\n bulkUpdateExperienceTags as publicBulkUpdateExperienceTags,\n bulkUpdateExperienceTagsByFilter as publicBulkUpdateExperienceTagsByFilter,\n} from './table-reservations-v1-experience-experiences.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n ExperienceQuery,\n ExperiencesQueryBuilder,\n typedQueryExperiences as universalTypedQueryExperiences,\n} from './table-reservations-v1-experience-experiences.universal.js';\nimport { onExperienceCreated as publicOnExperienceCreated } from './table-reservations-v1-experience-experiences.public.js';\nimport { onExperienceTagsModified as publicOnExperienceTagsModified } from './table-reservations-v1-experience-experiences.public.js';\nimport { onExperienceUpdated as publicOnExperienceUpdated } from './table-reservations-v1-experience-experiences.public.js';\n\nfunction customQueryExperiences(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: () => publicQueryExperiences(httpClient)(),\n typedQueryFunction: (query: ExperienceQuery) =>\n publicTypedQueryExperiences(httpClient)(query),\n hasOptionsParameter: false,\n });\n\n function overloadedQuery(): ExperiencesQueryBuilder;\n function overloadedQuery(\n query: ExperienceQuery\n ): ReturnType<typeof universalTypedQueryExperiences>;\n function overloadedQuery(query?: ExperienceQuery): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const createExperience: MaybeContext<\n BuildRESTFunction<typeof publicCreateExperience> &\n typeof publicCreateExperience\n> = /*#__PURE__*/ createRESTModule(publicCreateExperience);\nexport const getExperience: MaybeContext<\n BuildRESTFunction<typeof publicGetExperience> & typeof publicGetExperience\n> = /*#__PURE__*/ createRESTModule(publicGetExperience);\nexport const getExperienceBySlug: MaybeContext<\n BuildRESTFunction<typeof publicGetExperienceBySlug> &\n typeof publicGetExperienceBySlug\n> = /*#__PURE__*/ createRESTModule(publicGetExperienceBySlug);\nexport const updateExperience: MaybeContext<\n BuildRESTFunction<typeof publicUpdateExperience> &\n typeof publicUpdateExperience\n> = /*#__PURE__*/ createRESTModule(publicUpdateExperience);\nexport const searchExperiences: MaybeContext<\n BuildRESTFunction<typeof publicSearchExperiences> &\n typeof publicSearchExperiences\n> = /*#__PURE__*/ createRESTModule(publicSearchExperiences);\nexport const bulkUpdateExperienceTags: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateExperienceTags> &\n typeof publicBulkUpdateExperienceTags\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateExperienceTags);\nexport const bulkUpdateExperienceTagsByFilter: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateExperienceTagsByFilter> &\n typeof publicBulkUpdateExperienceTagsByFilter\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateExperienceTagsByFilter);\nexport const queryExperiences: MaybeContext<\n BuildRESTFunction<typeof customQueryExperiences> &\n typeof customQueryExperiences\n> = /*#__PURE__*/ createRESTModule(customQueryExperiences);\n/**\n * Triggered when an experience is created.\n */\nexport const onExperienceCreated: BuildEventDefinition<\n typeof publicOnExperienceCreated\n> &\n typeof publicOnExperienceCreated = createEventModule(\n publicOnExperienceCreated\n);\n/**\n * Triggered when a tag on an experience is modified.\n */\nexport const onExperienceTagsModified: BuildEventDefinition<\n typeof publicOnExperienceTagsModified\n> &\n typeof publicOnExperienceTagsModified = createEventModule(\n publicOnExperienceTagsModified\n);\n/**\n * Triggered when an experience is updated.\n */\nexport const onExperienceUpdated: BuildEventDefinition<\n typeof publicOnExperienceUpdated\n> &\n typeof publicOnExperienceUpdated = createEventModule(\n publicOnExperienceUpdated\n);\n\nexport {\n TableAvailabilityType,\n TableAssignmentType,\n TableManagementMode,\n Unit,\n Mode,\n StartDaysAndTimesDayOfWeek,\n Recurrence,\n NodeType,\n WidthType,\n PluginContainerDataAlignment,\n ButtonDataType,\n Target,\n TextAlignment,\n LineStyle,\n Width,\n DividerDataAlignment,\n ViewMode,\n LayoutType,\n Orientation,\n Crop,\n ThumbnailsAlignment,\n GIFType,\n Source,\n StylesPosition,\n MapType,\n ViewRole,\n VoteRole,\n PollLayoutType,\n PollLayoutDirection,\n BackgroundType,\n DecorationType,\n FontType,\n Position,\n AspectRatio,\n Resizing,\n Placement,\n Type,\n Alignment,\n Layout,\n AppType,\n InitialExpandedItems,\n Direction,\n VerticalAlignment,\n NullValue,\n Scaling,\n ImagePosition,\n Origin,\n VerticalAlignmentAlignment,\n ResponsivenessBehaviour,\n DesignTarget,\n PaymentPolicyType,\n SortOrder,\n SortType,\n SortDirection,\n MissingValues,\n ScalarType,\n NestedAggregationType,\n Interval,\n AggregationType,\n SearchDetailsMode,\n PlacementType,\n DayOfWeek,\n ResolutionMethod,\n WebhookIdentityType,\n} from './table-reservations-v1-experience-experiences.universal.js';\nexport {\n Experience,\n Table,\n TableCombination,\n SpecificTablesOptions,\n OnOptions,\n OnOptionsOptionsOneOf,\n StartDaysAndTimes,\n WeeklyOptions,\n OneTimeOptions,\n Entry,\n EntryRecurrenceOptionsOneOf,\n PartySize,\n NoticePeriod,\n Approval,\n MaxGuests,\n OnlineReservationsBusinessSchedule,\n PrivacyPolicy,\n PrivacyPolicyValueOneOf,\n TermsAndConditions,\n TermsAndConditionsValueOneOf,\n CustomFieldDefinition,\n EmailMarketingCheckbox,\n RichContent,\n Node,\n NodeDataOneOf,\n NodeStyle,\n ButtonData,\n Border,\n Colors,\n PluginContainerData,\n PluginContainerDataWidth,\n PluginContainerDataWidthDataOneOf,\n Spoiler,\n Height,\n Styles,\n Link,\n LinkDataOneOf,\n Rel,\n CodeBlockData,\n TextStyle,\n DividerData,\n FileData,\n FileSource,\n FileSourceDataOneOf,\n PDFSettings,\n GalleryData,\n Media,\n Image,\n Video,\n Item,\n ItemDataOneOf,\n GalleryOptions,\n GalleryOptionsLayout,\n ItemStyle,\n Thumbnails,\n GIFData,\n GIF,\n HeadingData,\n HTMLData,\n HTMLDataDataOneOf,\n ImageData,\n StylesBorder,\n ImageDataStyles,\n LinkPreviewData,\n LinkPreviewDataStyles,\n MapData,\n MapSettings,\n ParagraphData,\n PollData,\n Permissions,\n Option,\n PollSettings,\n PollLayout,\n OptionLayout,\n Gradient,\n Background,\n BackgroundBackgroundOneOf,\n PollDesign,\n OptionDesign,\n Poll,\n PollDataLayout,\n Design,\n TextData,\n Decoration,\n DecorationDataOneOf,\n AnchorData,\n ColorData,\n LinkData,\n MentionData,\n FontSizeData,\n SpoilerData,\n FontFamilyData,\n AppEmbedData,\n AppEmbedDataAppDataOneOf,\n BookingData,\n EventData,\n ButtonStyles,\n ImageStyles,\n RibbonStyles,\n CardStyles,\n PricingData,\n VideoData,\n PlaybackOptions,\n EmbedData,\n Oembed,\n CollapsibleListData,\n TableData,\n Dimensions,\n TableCellData,\n CellStyle,\n BorderColors,\n BorderWidths,\n ListValue,\n AudioData,\n OrderedListData,\n BulletedListData,\n BlockquoteData,\n CaptionData,\n LayoutData,\n BackgroundImage,\n Banner,\n LayoutCellData,\n ShapeData,\n ShapeDataStyles,\n Metadata,\n DocumentStyle,\n TextNodeStyle,\n PerGuestOptions,\n DisplayInfo,\n PaymentPolicy,\n PaymentPolicyOptionsOneOf,\n OnlineReservations,\n ReservationForm,\n TableManagement,\n TableManagementOptionsOneOf,\n Configuration,\n ExtendedFields,\n Tags,\n TagList,\n SeoSettings,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n App,\n Page,\n URI,\n File,\n CustomTag,\n TagsModified,\n CreateExperienceRequest,\n CreateExperienceResponse,\n GetExperienceRequest,\n GetExperienceResponse,\n GetExperienceBySlugRequest,\n GetExperienceBySlugResponse,\n UpdateExperienceRequest,\n UpdateExperienceResponse,\n QueryExperiencesRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n CursorPaging,\n QueryExperiencesResponse,\n CursorPagingMetadata,\n Cursors,\n SearchExperiencesRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Aggregation,\n AggregationKindOneOf,\n RangeBucket,\n IncludeMissingValuesOptions,\n ValueAggregation,\n ValueAggregationOptionsOneOf,\n RangeAggregation,\n ScalarAggregation,\n DateHistogramAggregation,\n NestedAggregationItem,\n NestedAggregationItemKindOneOf,\n NestedAggregation,\n SearchDetails,\n SearchExperiencesResponse,\n AggregationData,\n ValueAggregationResult,\n RangeAggregationResult,\n NestedAggregationResults,\n NestedAggregationResultsResultOneOf,\n ValueResults,\n RangeResults,\n AggregationResultsScalarResult,\n NestedValueAggregationResult,\n ValueResult,\n RangeResult,\n ScalarResult,\n NestedResultValue,\n NestedResultValueResultOneOf,\n Results,\n DateHistogramResult,\n GroupByValueResults,\n DateHistogramResults,\n NestedResults,\n AggregationResults,\n AggregationResultsResultOneOf,\n BulkUpdateExperienceTagsRequest,\n BulkUpdateExperienceTagsResponse,\n ItemMetadata,\n ApplicationError,\n BulkUpdateExperienceTagsResult,\n BulkActionMetadata,\n BulkUpdateExperienceTagsByFilterRequest,\n BulkUpdateExperienceTagsByFilterResponse,\n BulkArchiveExperiencesRequest,\n BulkArchiveExperiencesResponse,\n BulkArchiveExperiencesResult,\n BulkUnarchiveExperiencesRequest,\n BulkUnarchiveExperiencesResponse,\n BulkUnarchiveExperiencesResult,\n SitePropertiesNotification,\n SitePropertiesEvent,\n Properties,\n Categories,\n Locale,\n Address,\n AddressHint,\n GeoCoordinates,\n BusinessSchedule,\n TimePeriod,\n SpecialHourPeriod,\n Multilingual,\n SupportedLanguage,\n ConsentPolicy,\n Translation,\n ChangeContext,\n ChangeContextPayloadOneOf,\n PropertiesChange,\n SiteCreated,\n SiteCloned,\n Empty,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n ExperienceCreatedEnvelope,\n ExperienceTagsModifiedEnvelope,\n ExperienceUpdatedEnvelope,\n UpdateExperience,\n ExperiencesQueryResult,\n ExperiencesQueryBuilder,\n ExperienceQuerySpec,\n ExperienceSearchSpec,\n BulkUpdateExperienceTagsOptions,\n BulkUpdateExperienceTagsByFilterOptions,\n} from './table-reservations-v1-experience-experiences.universal.js';\nexport { utils } from './table-reservations-v1-experience-experiences.universal.js';\nexport {\n TableAvailabilityTypeWithLiterals,\n TableAssignmentTypeWithLiterals,\n TableManagementModeWithLiterals,\n UnitWithLiterals,\n ModeWithLiterals,\n StartDaysAndTimesDayOfWeekWithLiterals,\n RecurrenceWithLiterals,\n NodeTypeWithLiterals,\n WidthTypeWithLiterals,\n PluginContainerDataAlignmentWithLiterals,\n ButtonDataTypeWithLiterals,\n TargetWithLiterals,\n TextAlignmentWithLiterals,\n LineStyleWithLiterals,\n WidthWithLiterals,\n DividerDataAlignmentWithLiterals,\n ViewModeWithLiterals,\n LayoutTypeWithLiterals,\n OrientationWithLiterals,\n CropWithLiterals,\n ThumbnailsAlignmentWithLiterals,\n GIFTypeWithLiterals,\n SourceWithLiterals,\n StylesPositionWithLiterals,\n MapTypeWithLiterals,\n ViewRoleWithLiterals,\n VoteRoleWithLiterals,\n PollLayoutTypeWithLiterals,\n PollLayoutDirectionWithLiterals,\n BackgroundTypeWithLiterals,\n DecorationTypeWithLiterals,\n FontTypeWithLiterals,\n PositionWithLiterals,\n AspectRatioWithLiterals,\n ResizingWithLiterals,\n PlacementWithLiterals,\n TypeWithLiterals,\n AlignmentWithLiterals,\n LayoutWithLiterals,\n AppTypeWithLiterals,\n InitialExpandedItemsWithLiterals,\n DirectionWithLiterals,\n VerticalAlignmentWithLiterals,\n NullValueWithLiterals,\n ScalingWithLiterals,\n ImagePositionWithLiterals,\n OriginWithLiterals,\n VerticalAlignmentAlignmentWithLiterals,\n ResponsivenessBehaviourWithLiterals,\n DesignTargetWithLiterals,\n PaymentPolicyTypeWithLiterals,\n SortOrderWithLiterals,\n SortTypeWithLiterals,\n SortDirectionWithLiterals,\n MissingValuesWithLiterals,\n ScalarTypeWithLiterals,\n NestedAggregationTypeWithLiterals,\n IntervalWithLiterals,\n AggregationTypeWithLiterals,\n SearchDetailsModeWithLiterals,\n PlacementTypeWithLiterals,\n DayOfWeekWithLiterals,\n ResolutionMethodWithLiterals,\n WebhookIdentityTypeWithLiterals,\n UpdateExperienceApplicationErrors,\n BulkUpdateExperienceTagsApplicationErrors,\n BulkUpdateExperienceTagsByFilterApplicationErrors,\n CommonQueryWithEntityContext,\n ExperienceQuery,\n CommonSearchWithEntityContext,\n ExperienceSearch,\n} from './table-reservations-v1-experience-experiences.universal.js';\n"],"mappings":"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","names":["bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","createExperience","getExperience","getExperienceBySlug","onExperienceCreated","onExperienceTagsModified","onExperienceUpdated","queryExperiences","searchExperiences","updateExperience","import_rename_all_nested_keys","import_float","import_image","import_page_url_v2","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_image","import_page_url_v2","import_transform_paths","TableAvailabilityType","TableAssignmentType","TableManagementMode","Unit","Mode","StartDaysAndTimesDayOfWeek","Recurrence","NodeType","WidthType","PluginContainerDataAlignment","ButtonDataType","Target","TextAlignment","LineStyle","Width","DividerDataAlignment","ViewMode","LayoutType","Orientation","Crop","ThumbnailsAlignment","GIFType","Source","StylesPosition","MapType","ViewRole","VoteRole","PollLayoutType","PollLayoutDirection","BackgroundType","DecorationType","FontType","Position","AspectRatio","Resizing","Placement","Type","Alignment","Layout","AppType","InitialExpandedItems","Direction","VerticalAlignment","NullValue","Scaling","ImagePosition","Origin","VerticalAlignmentAlignment","ResponsivenessBehaviour","DesignTarget","PaymentPolicyType","SortOrder","SortType","SortDirection","MissingValues","ScalarType","NestedAggregationType","Interval","AggregationType","SearchDetailsMode","PlacementType","DayOfWeek","ResolutionMethod","WebhookIdentityType","createExperience","sdkTransformError","getExperience","getExperienceBySlug","updateExperience","queryExperiences","searchExperiences","bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","createExperience","getExperience","getExperienceBySlug","updateExperience","queryExperiences","typedQueryExperiences","searchExperiences","bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","import_rest_modules","queryExperiences","typedQueryExperiences","createExperience","getExperience","getExperienceBySlug","updateExperience","searchExperiences","bulkUpdateExperienceTags","bulkUpdateExperienceTagsByFilter","onExperienceCreated","onExperienceTagsModified","onExperienceUpdated"]}