{"version":3,"sources":["jsdelivr-header.js","/npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/index.ts","/npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/src/table-reservations-v1-reservation-location-reservation-locations.public.ts","/npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/src/table-reservations-v1-reservation-location-reservation-locations.universal.ts","/npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/src/table-reservations-v1-reservation-location-reservation-locations.http.ts","/npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/src/table-reservations-v1-reservation-location-reservation-locations.context.ts"],"names":[],"mappings":"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","file":"/npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/build/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@wix/auto_sdk_table-reservations_reservation-locations@1.0.79/build/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export * from './src/table-reservations-v1-reservation-location-reservation-locations.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\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  ListReservationLocationsOptions,\n  ListReservationLocationsResponse,\n  QueryReservationLocationsResponse,\n  ReservationLocation,\n  ReservationLocationCreatedEnvelope,\n  ReservationLocationQuery,\n  ReservationLocationUpdatedEnvelope,\n  ReservationLocationsQueryBuilder,\n  UpdateReservationLocation,\n  UpdateReservationLocationValidationErrors,\n  getReservationLocation as universalGetReservationLocation,\n  listReservationLocations as universalListReservationLocations,\n  queryReservationLocations as universalQueryReservationLocations,\n  typedQueryReservationLocations as universalTypedQueryReservationLocations,\n  updateReservationLocation as universalUpdateReservationLocation,\n} from './table-reservations-v1-reservation-location-reservation-locations.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/table-reservations' };\n\nexport function getReservationLocation(\n  httpClient: HttpClient\n): GetReservationLocationSignature {\n  return (reservationLocationId: string) =>\n    universalGetReservationLocation(\n      reservationLocationId,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface GetReservationLocationSignature {\n  /**\n   * Retrieves a reservation location by ID.\n   * @param - ID of the ReservationLocation to retrieve.\n   * @param - An object representing the available options for retrieving a reservation location.\n   * @returns The retrieved reservation location.\n   */\n  (reservationLocationId: string): Promise<\n    NonNullablePaths<\n      ReservationLocation,\n      | `configuration.onlineReservations.approval.mode`\n      | `configuration.onlineReservations.seatPacing.number`\n      | `configuration.onlineReservations.seatPacing.enabled`\n      | `configuration.onlineReservations.partyPacing.number`\n      | `configuration.onlineReservations.partyPacing.enabled`\n      | `configuration.onlineReservations.partiesSize.min`\n      | `configuration.onlineReservations.partiesSize.max`\n      | `configuration.onlineReservations.partySize.min`\n      | `configuration.onlineReservations.partySize.max`\n      | `configuration.onlineReservations.minimumReservationNotice.number`\n      | `configuration.onlineReservations.minimumReservationNotice.unit`\n      | `configuration.onlineReservations.turnoverTimeRules`\n      | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMin`\n      | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMax`\n      | `configuration.onlineReservations.turnoverTimeRules.${number}.minutes`\n      | `configuration.onlineReservations.businessSchedule.periods`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.openDay`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.openTime`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.closeDay`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.closeTime`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.startDate`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.endDate`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.isClosed`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.comment`\n      | `configuration.onlineReservations.manualApproval.partySizeThreshold`\n      | `configuration.onlineReservations.manualApproval.enabled`\n      | `configuration.reservationForm.termsAndConditions.enabled`\n      | `configuration.reservationForm.privacyPolicy.enabled`\n      | `configuration.reservationForm.customFieldDefinitions`\n      | `configuration.reservationForm.customFieldDefinitions.${number}.name`\n      | `configuration.reservationForm.customFieldDefinitions.${number}.required`\n      | `configuration.reservationForm.emailMarketingCheckbox.enabled`\n      | `configuration.reservationForm.emailMarketingCheckbox.checkedByDefault`\n      | `configuration.myReservationsFields`\n      | `configuration.myReservationsFields.${number}.fieldType`\n      | `configuration.myReservationsFields.${number}.shown`\n      | `configuration.tableManagement.mode`\n      | `configuration.tableManagement.tableDefinitions`\n      | `configuration.tableManagement.tableDefinitions.${number}.name`\n      | `configuration.tableManagement.tableDefinitions.${number}.seatsMin`\n      | `configuration.tableManagement.tableDefinitions.${number}.seatsMax`\n      | `configuration.tableManagement.deletedTableDefinitions`\n      | `configuration.tableManagement.tableCombinations`\n      | `configuration.tableManagement.tableCombinations.${number}.seatsMin`\n      | `configuration.tableManagement.tableCombinations.${number}.seatsMax`\n      | `configuration.paymentPolicy.perGuestOptions.price`\n      | `configuration.paymentPolicy.perGuestOptions.minPartySize`\n      | `configuration.paymentPolicy.perReservationOptions.price`\n      | `configuration.paymentPolicy.perReservationOptions.minPartySize`\n      | `configuration.paymentPolicy.paymentPolicyType`,\n      7\n    >\n  >;\n}\n\nexport function updateReservationLocation(\n  httpClient: HttpClient\n): UpdateReservationLocationSignature {\n  return (\n    _id: string,\n    reservationLocation: NonNullablePaths<\n      UpdateReservationLocation,\n      `revision`,\n      2\n    >\n  ) =>\n    universalUpdateReservationLocation(\n      _id,\n      reservationLocation,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface UpdateReservationLocationSignature {\n  /**\n   * Updates a reservation location. Supports partial updates.\n   *\n   * Each time the reservation location is updated, `revision` increments by 1. The existing revision must be included when updating the reservation location. This ensures you're working with the latest reservation location information, and it prevents unintended overwrites.\n   *\n   * You cannot use this method to change a reservation location's `location` object. Attempting to do so will cause the server to return an application error.\n   * @param - Reservation location ID.\n   * @param - Reservation location information to update.\n   * @returns The updated reservation location.\n   */\n  (\n    _id: string,\n    reservationLocation: NonNullablePaths<\n      UpdateReservationLocation,\n      `revision`,\n      2\n    >\n  ): Promise<\n    NonNullablePaths<\n      ReservationLocation,\n      | `configuration.onlineReservations.approval.mode`\n      | `configuration.onlineReservations.seatPacing.number`\n      | `configuration.onlineReservations.seatPacing.enabled`\n      | `configuration.onlineReservations.partyPacing.number`\n      | `configuration.onlineReservations.partyPacing.enabled`\n      | `configuration.onlineReservations.partiesSize.min`\n      | `configuration.onlineReservations.partiesSize.max`\n      | `configuration.onlineReservations.partySize.min`\n      | `configuration.onlineReservations.partySize.max`\n      | `configuration.onlineReservations.minimumReservationNotice.number`\n      | `configuration.onlineReservations.minimumReservationNotice.unit`\n      | `configuration.onlineReservations.turnoverTimeRules`\n      | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMin`\n      | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMax`\n      | `configuration.onlineReservations.turnoverTimeRules.${number}.minutes`\n      | `configuration.onlineReservations.businessSchedule.periods`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.openDay`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.openTime`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.closeDay`\n      | `configuration.onlineReservations.businessSchedule.periods.${number}.closeTime`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.startDate`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.endDate`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.isClosed`\n      | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.comment`\n      | `configuration.onlineReservations.manualApproval.partySizeThreshold`\n      | `configuration.onlineReservations.manualApproval.enabled`\n      | `configuration.reservationForm.termsAndConditions.enabled`\n      | `configuration.reservationForm.privacyPolicy.enabled`\n      | `configuration.reservationForm.customFieldDefinitions`\n      | `configuration.reservationForm.customFieldDefinitions.${number}.name`\n      | `configuration.reservationForm.customFieldDefinitions.${number}.required`\n      | `configuration.reservationForm.emailMarketingCheckbox.enabled`\n      | `configuration.reservationForm.emailMarketingCheckbox.checkedByDefault`\n      | `configuration.myReservationsFields`\n      | `configuration.myReservationsFields.${number}.fieldType`\n      | `configuration.myReservationsFields.${number}.shown`\n      | `configuration.tableManagement.mode`\n      | `configuration.tableManagement.tableDefinitions`\n      | `configuration.tableManagement.tableDefinitions.${number}.name`\n      | `configuration.tableManagement.tableDefinitions.${number}.seatsMin`\n      | `configuration.tableManagement.tableDefinitions.${number}.seatsMax`\n      | `configuration.tableManagement.deletedTableDefinitions`\n      | `configuration.tableManagement.tableCombinations`\n      | `configuration.tableManagement.tableCombinations.${number}.seatsMin`\n      | `configuration.tableManagement.tableCombinations.${number}.seatsMax`\n      | `configuration.paymentPolicy.perGuestOptions.price`\n      | `configuration.paymentPolicy.perGuestOptions.minPartySize`\n      | `configuration.paymentPolicy.perReservationOptions.price`\n      | `configuration.paymentPolicy.perReservationOptions.minPartySize`\n      | `configuration.paymentPolicy.paymentPolicyType`,\n      7\n    > & {\n      __validationErrorsType?: UpdateReservationLocationValidationErrors;\n    }\n  >;\n}\n\nexport function queryReservationLocations(\n  httpClient: HttpClient\n): QueryReservationLocationsSignature {\n  return () =>\n    universalQueryReservationLocations(\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface QueryReservationLocationsSignature {\n  /**\n   * Creates a query to retrieve a list of reservation locations.\n   *\n   *\n   * The `queryReservationLocations()` function builds a query to retrieve a list of reservation locations and returns a `ReservationLocationsQueryBuilder` object.\n   *\n   * The returned object contains the query definition, which is used to run the query using the [find()](/reservation-locations/reservation-locations-query-builder/find) function.\n   *\n   * You can refine the query by chaining `ReservationLocationsQueryBuilder` functions onto the query. `ReservationLocationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryReservationLocations()` returns.\n   *\n   * `queryReservationLocations()` runs with the following `ReservationLocationsQueryBuilder` defaults, which you can override:\n   *\n   * * [`limit(50)`](/reservation-locations/reservation-locations-query-builder/limit)\n   *\n   * The following `ReservationLocationsQueryBuilder` functions are supported for `queryReservationLocations()`. For a full description of the reservation location object, see the object returned for the [`items`](/reservation-locations/reservation-locations-query-result/items) property in [`ReservationLocationsQueryResult`](/reservation-locations/reservation-locations-query-result).\n   * @param - An object representing the available options for querying reservation locations.\n   */\n  (): ReservationLocationsQueryBuilder;\n}\n\nexport function typedQueryReservationLocations(\n  httpClient: HttpClient\n): TypedQueryReservationLocationsSignature {\n  return (query: ReservationLocationQuery) =>\n    universalTypedQueryReservationLocations(\n      query,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface TypedQueryReservationLocationsSignature {\n  /** */\n  (query: ReservationLocationQuery): Promise<\n    NonNullablePaths<\n      QueryReservationLocationsResponse,\n      | `reservationLocations`\n      | `reservationLocations.${number}.configuration.tableManagement.mode`\n      | `reservationLocations.${number}.configuration.paymentPolicy.paymentPolicyType`,\n      6\n    >\n  >;\n}\n\nexport function listReservationLocations(\n  httpClient: HttpClient\n): ListReservationLocationsSignature {\n  return (options?: ListReservationLocationsOptions) =>\n    universalListReservationLocations(\n      options,\n      // @ts-ignore\n      { httpClient }\n    );\n}\n\ninterface ListReservationLocationsSignature {\n  /**\n   * Retrieves a list of up to 100 reservation locations.\n   * @param - An object representing the available options for listing reservation locations.\n   */\n  (options?: ListReservationLocationsOptions): Promise<\n    NonNullablePaths<\n      ListReservationLocationsResponse,\n      | `reservationLocations`\n      | `reservationLocations.${number}.configuration.tableManagement.mode`\n      | `reservationLocations.${number}.configuration.paymentPolicy.paymentPolicyType`,\n      6\n    >\n  >;\n}\n\nexport const onReservationLocationCreated = EventDefinition(\n  'wix.table_reservations.v1.reservation_location_created',\n  true,\n  (event: ReservationLocationCreatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'entity.createdDate' },\n            { path: 'entity.updatedDate' },\n            {\n              path: 'entity.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n            },\n            {\n              path: 'entity.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n            },\n            { path: 'metadata.eventTime' },\n          ],\n        },\n        {\n          transformFn: transformRESTAddressToSDKAddress,\n          paths: [{ path: 'entity.location.address' }],\n        },\n        {\n          transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n          paths: [\n            {\n              path: 'entity.configuration.reservationForm.termsAndConditions.url',\n            },\n            { path: 'entity.configuration.reservationForm.privacyPolicy.url' },\n          ],\n        },\n      ])\n    )\n)<ReservationLocationCreatedEnvelope>();\nexport const onReservationLocationUpdated = EventDefinition(\n  'wix.table_reservations.v1.reservation_location_updated',\n  true,\n  (event: ReservationLocationUpdatedEnvelope) =>\n    renameKeysFromRESTResponseToSDKResponse(\n      transformPaths(event, [\n        {\n          transformFn: transformRESTTimestampToSDKTimestamp,\n          paths: [\n            { path: 'entity.createdDate' },\n            { path: 'entity.updatedDate' },\n            {\n              path: 'entity.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n            },\n            {\n              path: 'entity.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n            },\n            { path: 'metadata.eventTime' },\n            { path: 'modifiedFields.createdDate' },\n            { path: 'modifiedFields.updatedDate' },\n            {\n              path: 'modifiedFields.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n            },\n            {\n              path: 'modifiedFields.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n            },\n          ],\n        },\n        {\n          transformFn: transformRESTAddressToSDKAddress,\n          paths: [\n            { path: 'entity.location.address' },\n            { path: 'modifiedFields.location.address' },\n          ],\n        },\n        {\n          transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n          paths: [\n            {\n              path: 'entity.configuration.reservationForm.termsAndConditions.url',\n            },\n            { path: 'entity.configuration.reservationForm.privacyPolicy.url' },\n            {\n              path: 'modifiedFields.configuration.reservationForm.termsAndConditions.url',\n            },\n            {\n              path: 'modifiedFields.configuration.reservationForm.privacyPolicy.url',\n            },\n          ],\n        },\n      ])\n    )\n)<ReservationLocationUpdatedEnvelope>();\n\nexport {\n  AccountInfo,\n  AccountInfoMetadata,\n  ActionEvent,\n  Address,\n  AddressHint,\n  AddressLocation,\n  App,\n  Approval,\n  ApprovalOptionsOneOf,\n  Asset,\n  AssignedFromFloatingReason,\n  BaseEventMetadata,\n  BooleanFeature,\n  BusinessSchedule,\n  BusinessScheduleSpecialHourPeriodEndBeforeStartViolation,\n  BusinessScheduleSpecialHourPeriodInvalidViolation,\n  BusinessScheduleTimePeriodCloseBeforeOpenViolation,\n  BusinessScheduleTimePeriodInvalidViolation,\n  CancelRequestedReason,\n  Categories,\n  ChangeContext,\n  ChangeContextPayloadOneOf,\n  CheckReservationLocationsCreatedRequest,\n  CheckReservationLocationsCreatedResponse,\n  CommonBusinessSchedule,\n  CommonDayOfWeek,\n  CommonSpecialHourPeriod,\n  CommonTimePeriod,\n  Configuration,\n  ConsentPolicy,\n  ContractSwitchClassification,\n  ContractSwitchedReason,\n  CursorPaging,\n  CursorPagingMetadata,\n  Cursors,\n  CustomFieldDefinition,\n  CustomFieldIdsDuplicationViolation,\n  CustomFieldNamesDuplicationViolation,\n  CustomTag,\n  DayOfWeek,\n  DeleteContext,\n  DeleteOrphanReservationLocationRequest,\n  DeleteOrphanReservationLocationResponse,\n  DeleteStatus,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  DuplicatedId,\n  DuplicatedName,\n  EditorlessAssigned,\n  EditorlessUnassigned,\n  EmailMarketingCheckbox,\n  Empty,\n  EntityCreatedEvent,\n  EntityDeletedEvent,\n  EntityUpdatedEvent,\n  EventMetadata,\n  ExtendedFields,\n  Feature,\n  FeatureCancelled,\n  FeatureCancelledReasonOneOf,\n  FeatureContext,\n  FeatureDisabled,\n  FeatureDisabledReasonOneOf,\n  FeatureEnabled,\n  FeatureEnabledReasonOneOf,\n  FeatureEvent,\n  FeatureEventEventOneOf,\n  FeaturePeriod,\n  FeatureQuantityInfoOneOf,\n  FeatureQuotaUsageChanged,\n  FeatureUpdated,\n  FeatureUpdatedPreviousQuantityInfoOneOf,\n  FeatureUpdatedReasonOneOf,\n  FieldType,\n  File,\n  GeoCoordinates,\n  GetReservationLocationRequest,\n  GetReservationLocationResponse,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  InvalidateCache,\n  InvalidateCacheGetByOneOf,\n  ListReservationLocationsOptions,\n  ListReservationLocationsRequest,\n  ListReservationLocationsResponse,\n  Locale,\n  Location,\n  LocationAddress,\n  ManualApproval,\n  ManualApprovalValueOneOf,\n  ManualFeatureCreationReason,\n  ManualForLargePartiesOptions,\n  ManualSyncReason,\n  MessageEnvelope,\n  MetaSiteSpecialEvent,\n  MetaSiteSpecialEventPayloadOneOf,\n  MigratedFromLegacyReason,\n  Mode,\n  Multilingual,\n  MyReservationsField,\n  MyReservationsFieldsDuplicationViolation,\n  Namespace,\n  NamespaceChanged,\n  NewFeatureReason,\n  NonExistentTablesInTableCombinationViolation,\n  NonExistentTablesInTableCombinationViolationViolation,\n  NotAllReservationFieldsViolation,\n  NoticePeriod,\n  OdeditorAssigned,\n  OdeditorUnassigned,\n  OnlineReservations,\n  Page,\n  Pages,\n  Paging,\n  PagingMetadataV2,\n  PartiesSize,\n  PartyPacing,\n  PartySize,\n  PauseSettings,\n  PaymentPolicy,\n  PaymentPolicyOptionsOneOf,\n  PaymentPolicyType,\n  PerGuestOptions,\n  PerReservationOptions,\n  PicassoAssigned,\n  PicassoUnassigned,\n  PlacementType,\n  PrivacyPolicy,\n  PrivacyPolicyValueOneOf,\n  Properties,\n  PropertiesChange,\n  QueryReservationLocationsRequest,\n  QueryReservationLocationsResponse,\n  QueryV2,\n  QueryV2PagingMethodOneOf,\n  QuotaFeature,\n  QuotaInfo,\n  QuotaInfoEntry,\n  ReassignedFromSiteReason,\n  ReassignedToAnotherSiteReason,\n  ReplacedByAnotherSubscriptionReason,\n  ReservationFieldMustHaveTypeViolation,\n  ReservationFieldNotExistViolation,\n  ReservationForm,\n  ReservationLocation,\n  ReservationLocationCreatedEnvelope,\n  ReservationLocationQuerySpec,\n  ReservationLocationUpdatedEnvelope,\n  ReservationLocationViolation,\n  ReservationLocationViolationViolationOneOf,\n  ReservationLocationsQueryBuilder,\n  ReservationLocationsQueryResult,\n  ReservationPayment,\n  ResolutionMethod,\n  RestoreInfo,\n  SeatPacing,\n  ServiceProvisioned,\n  ServiceRemoved,\n  SiteCloned,\n  SiteCreated,\n  SiteCreatedContext,\n  SiteDeleted,\n  SiteHardDeleted,\n  SiteMarkedAsTemplate,\n  SiteMarkedAsWixSite,\n  SitePropertiesEvent,\n  SitePropertiesNotification,\n  SitePublished,\n  SitePurgedExternally,\n  SiteRenamed,\n  SiteTransferred,\n  SiteUndeleted,\n  SiteUnpublished,\n  SiteUrlChanged,\n  SortOrder,\n  Sorting,\n  SpecialHourPeriod,\n  StandardReservations,\n  State,\n  StreetAddress,\n  StudioAssigned,\n  StudioTwoAssigned,\n  StudioTwoUnassigned,\n  StudioUnassigned,\n  SupportedLanguage,\n  TableCombination,\n  TableCombinationContainsLessThan2TablesViolation,\n  TableCombinationIdsDuplicationViolation,\n  TableCombinationIdsDuplicationViolationViolation,\n  TableCombinationMinMaxSeatsViolation,\n  TableCombinationNotExistViolation,\n  TableCombinationTableIdsCombinationDuplicationViolation,\n  TableCombinationTableIdsDuplicationViolation,\n  TableCombinationTableIdsDuplicationViolationViolation,\n  TableDefinition,\n  TableDefinitionIdsDuplicationViolation,\n  TableDefinitionIncorrectBoundariesViolation,\n  TableDefinitionNamesDuplicationViolation,\n  TableDefinitionNotExistViolation,\n  TableManagement,\n  TableManagementMode,\n  TablesDeleted,\n  TermsAndConditions,\n  TermsAndConditionsValueOneOf,\n  TimePeriod,\n  TransferredFromAnotherAccountReason,\n  TransferredToAnotherAccountReason,\n  Translation,\n  TurnoverRule,\n  TurnoverRulesIncorrectBoundariesViolation,\n  TurnoverRulesIntersectViolation,\n  TurnoverTimeRule,\n  TurnoverTimeRulesIncorrectBoundariesViolation,\n  TurnoverTimeRulesIntersectViolation,\n  Type,\n  URI,\n  URIs,\n  UnAssingedToFloatingReason,\n  Unit,\n  UpdateReservationLocation,\n  UpdateReservationLocationRequest,\n  UpdateReservationLocationResponse,\n  UserDomainMediaDisabled,\n  UserDomainMediaEnabled,\n  V4SiteCreated,\n  Violation,\n  WebhookIdentityType,\n  WixelAssigned,\n  WixelUnassigned,\n  utils,\n} from './table-reservations-v1-reservation-location-reservation-locations.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  NonNullablePaths,\n  QuerySpec,\n  Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixTableReservationsV1ReservationLocation from './table-reservations-v1-reservation-location-reservation-locations.http.js';\n// @ts-ignore\nimport { transformSDKAddressToRESTAddress } from '@wix/sdk-runtime/transformations/address';\nimport { transformRESTAddressToSDKAddress } from '@wix/sdk-runtime/transformations/address';\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\nexport interface ReservationLocation {\n  /**\n   * Reservation location ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. For an update operation to succeed, you must specify the latest revision.\n   * @immutable\n   */\n  revision?: string | null;\n  /**\n   * The date and time this reservation location was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * The date and time this reservation location was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Physical location details.\n   *\n   * Locations can be created and configured using the Locations API.\n   * or on the [Business Info](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info) page in the Dashboard.\n   * @readonly\n   */\n  location?: Location;\n  /** Reservation location configuration. */\n  configuration?: Configuration;\n  /**\n   * Whether this reservation location's `location` is the default location of the business.\n   * @readonly\n   */\n  default?: boolean | null;\n  /**\n   * Whether this reservation location's `location` is archived.\n   * @readonly\n   */\n  archived?: boolean | null;\n  /**\n   * Custom field data for the reservation location object.\n   *\n   * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n   */\n  extendedFields?: ExtendedFields;\n}\n\nexport interface StreetAddress {\n  /**\n   * Street number.\n   * @maxLength 100\n   */\n  number?: string;\n  /**\n   * Street name.\n   * @maxLength 100\n   */\n  name?: string;\n  /**\n   * Apartment number.\n   * @maxLength 100\n   */\n  apt?: string;\n}\n\n/** Address geolocation information. */\nexport interface AddressLocation {\n  /** Latitude of the location. Must be between -90 and 90. */\n  latitude?: number | null;\n  /** Longitude of the location. Must be between -180 and 180. */\n  longitude?: number | null;\n}\n\nexport interface LocationAddress {\n  /**\n   * 2-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n   * @format COUNTRY\n   */\n  country?: string | null;\n  /**\n   * Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format.\n   * @maxLength 100\n   */\n  subdivision?: string | null;\n  /**\n   * City name.\n   * @maxLength 100\n   */\n  city?: string | null;\n  /**\n   * Postal or zip code.\n   * @maxLength 20\n   */\n  postalCode?: string | null;\n  /** Street address of the location. Includes street name, number, and apartment number in separate fields. */\n  streetAddress?: StreetAddress;\n  /**\n   * Full address of the location.\n   * @maxLength 10000\n   */\n  formatted?: string | null;\n  /**\n   * Extra information that helps guests find the location.\n   * @maxLength 10000\n   */\n  hint?: string | null;\n  /** Geographic coordinates of the location. */\n  location?: AddressLocation;\n}\n\n/**\n * Time periods that this location is open for business. Includes a collection of TimePeriod instances.\n * Aligned with https://developers.google.com/my-business/reference/rest/v4/accounts.locations#businesshours\n * With a few minor adjustments\n */\nexport interface CommonBusinessSchedule {\n  periods?: CommonTimePeriod[];\n  /**\n   * Time periods during which this location is open. Each period represents a range of hours during the week during which the location is\n   * open.\n   *\n   * Max: 100 time periods\n   * @maxSize 50\n   */\n  specialHourPeriod?: CommonSpecialHourPeriod[];\n}\n\n/**\n * A span of time that the business is open,\n * starting on the specified open day/time and closing on the specified close day/time.\n * Closing time must occur after the opening time, for example later in the same day, or on a subsequent day.\n */\nexport interface CommonTimePeriod {\n  /** Day of the week this period starts on. */\n  openDay?: CommonDayOfWeekWithLiterals;\n  /**\n   * Time this period starts in 24hr [ISO 8601](http://www.w3.org/TR/NOTE-datetime) extended format (hh:mm). Valid values are `00:00-24:00`, where `24:00` represents\n   * midnight at the end of the specified day field.\n   */\n  openTime?: string;\n  /** Day of the week this period ends on. */\n  closeDay?: CommonDayOfWeekWithLiterals;\n  /**\n   * Time this period ends in 24hr [ISO 8601](http://www.w3.org/TR/NOTE-datetime) extended format (hh:mm). Valid values are `00:00-24:00`, where `24:00` represents\n   * midnight at the end of the specified day field.\n   *\n   * This is the last time a reservation can be made at the restaurant, not the time the restaurant closes its doors.\n   */\n  closeTime?: string;\n}\n\n/** Enumerates the days of the week. */\nexport enum CommonDayOfWeek {\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 CommonDayOfWeekWithLiterals =\n  | CommonDayOfWeek\n  | 'MONDAY'\n  | 'TUESDAY'\n  | 'WEDNESDAY'\n  | 'THURSDAY'\n  | 'FRIDAY'\n  | 'SATURDAY'\n  | 'SUNDAY';\n\n/** Set of time periods when a location's operational hours differ from its normal business hours. */\nexport interface CommonSpecialHourPeriod {\n  /** Start date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n  startDate?: string;\n  /** End date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#combined_date_and_time_representations) format. */\n  endDate?: string;\n  /** Whether or not the location is closed during this period. */\n  isClosed?: boolean;\n  /** Additional details about the period. */\n  comment?: string;\n}\n\nexport enum TableManagementMode {\n  /** Undefined table management mode. */\n  UNKNOWN = 'UNKNOWN',\n  /** Tables can be assigned manually for reservations at this location. When tables aren't manually assigned, Wix assigns them automatically. */\n  ON = 'ON',\n  /** Tables can be assigned manually for reservations at this location. Wix doesn't assign tables automatically. */\n  IN_HOUSE_ONLY = 'IN_HOUSE_ONLY',\n  /** Tables can't be assigned manually for reservations at this location. Wix doesn't assign tables automatically. If you try to assign a table manually, the request will fail. */\n  OFF = 'OFF',\n}\n\n/** @enumType */\nexport type TableManagementModeWithLiterals =\n  | TableManagementMode\n  | 'UNKNOWN'\n  | 'ON'\n  | 'IN_HOUSE_ONLY'\n  | 'OFF';\n\nexport interface TableDefinition {\n  /**\n   * Table ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Table name.\n   * @minLength 1\n   * @maxLength 50\n   */\n  name?: string;\n  /**\n   * Minimum number of seats.\n   * @max 10000\n   */\n  seatsMin?: number;\n  /**\n   * Maximum number of seats.\n   * @max 10000\n   */\n  seatsMax?: number;\n  /** Whether the table is active (available to be reserved). */\n  isActive?: boolean | null;\n}\n\nexport interface TableCombination {\n  /**\n   * Table combination ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * IDs of tables in the combination.\n   * @maxSize 1000\n   * @maxLength 36\n   */\n  tableIds?: string[] | null;\n  /**\n   * Minimum number of seats that can be reserved in this table combination.\n   * @max 10000\n   */\n  seatsMin?: number;\n  /**\n   * Maximum number of seats that can be reserved in this table combination.\n   * @max 10000\n   */\n  seatsMax?: number;\n  /** Whether the table combination is active (available to be reserved). */\n  isActive?: boolean | null;\n}\n\nexport enum Unit {\n  UNKNOWN = 'UNKNOWN',\n  MINUTES = 'MINUTES',\n  HOURS = 'HOURS',\n  DAYS = 'DAYS',\n}\n\n/** @enumType */\nexport type UnitWithLiterals = Unit | 'UNKNOWN' | 'MINUTES' | 'HOURS' | 'DAYS';\n\nexport enum Mode {\n  UNKNOWN = 'UNKNOWN',\n  AUTOMATIC = 'AUTOMATIC',\n  MANUAL = 'MANUAL',\n  MANUAL_FOR_LARGE_PARTIES = 'MANUAL_FOR_LARGE_PARTIES',\n}\n\n/** @enumType */\nexport type ModeWithLiterals =\n  | Mode\n  | 'UNKNOWN'\n  | 'AUTOMATIC'\n  | 'MANUAL'\n  | 'MANUAL_FOR_LARGE_PARTIES';\n\nexport interface ManualForLargePartiesOptions {\n  /**\n   * The minimum party size that requires manual approval.\n   * @max 10000\n   */\n  partySizeThreshold?: number | null;\n  /** Use tables for manual approval part. */\n  considerTablesForManualApproval?: boolean | null;\n}\n\n/** Settings for pausing standard online reservations. */\nexport interface StandardReservations {\n  /**\n   * Timestamp from which online reservations are paused. Read-only, set automatically when pause is configured.\n   * @readonly\n   */\n  pauseFrom?: Date | null;\n  /**\n   * Timestamp until which online reservations are paused.\n   * When set and the current time is before this timestamp, online reservations are blocked.\n   * When the current time passes this timestamp, reservations automatically resume.\n   */\n  pauseUntil?: Date | null;\n}\n\n/** Approval settings. */\nexport interface Approval extends ApprovalOptionsOneOf {\n  /** Manual approval for large parties options. */\n  manualForLargePartiesOptions?: ManualForLargePartiesOptions;\n  /** Approval mode. */\n  mode?: ModeWithLiterals;\n}\n\n/** @oneof */\nexport interface ApprovalOptionsOneOf {\n  /** Manual approval for large parties options. */\n  manualForLargePartiesOptions?: ManualForLargePartiesOptions;\n}\n\n/**\n * Seat pacing.\n * The maximum number of seats that can be filled by new reservations within a `timeSlotInterval`.\n * For example, if `timeSlotInterval` is 15 minutes then setting a seat pacing of 20 would mean that between `10:00.000`-`10:14.999` there will be no more than 20 new seats available for reservation.\n */\nexport interface SeatPacing {\n  /**\n   * Maximum number of seats allowed per `timeSlotInterval`.\n   * @max 10000\n   */\n  number?: number;\n  /** Whether this option is enabled. */\n  enabled?: boolean;\n}\n\n/**\n * Party pacing.\n * The maximum number of party reservations that can start within a `timSlotInterval`.\n * For example, if `timeSlotInterval` is 15 minutes then a party pacing of 5 would mean that no more than 5 parties could make a reservation for the period between `10:00.000`-`10:14.999`.\n */\nexport interface PartyPacing {\n  /**\n   * Maximum number of new party reservations allowed per `timeSlotInterval`.\n   * @max 10000\n   */\n  number?: number;\n  /** Whether this option is enabled. */\n  enabled?: boolean;\n}\n\n/** The party size limits for a single reservation. */\nexport interface PartiesSize {\n  /**\n   * Minimum number of seats a party can reserve.\n   * @max 10000\n   */\n  min?: number;\n  /**\n   * Maximum number of seats a party can reserve.\n   * @max 10000\n   */\n  max?: number;\n}\n\n/** The party size limits for a single reservation. */\nexport interface PartySize {\n  /**\n   * Minimum number of seats a party can reserve.\n   * @max 10000\n   */\n  min?: number;\n  /**\n   * Maximum number of seats a party can reserve.\n   * @max 10000\n   */\n  max?: number;\n}\n\n/**\n * Reservation notice period.\n *\n * The period of time between making a reservation and that reservation's start time. Reservations cannot be made after the start of this period.\n */\nexport interface NoticePeriod {\n  /**\n   * The quantity of the chosen time unit.\n   * @min 1\n   * @max 1000\n   */\n  number?: number;\n  /**\n   * Time unit.\n   *\n   * Supported values:\n   * 'UNKNOWN', 'MINUTES, 'HOURS', 'DAYS'.\n   */\n  unit?: UnitWithLiterals;\n}\n\n/** Turnover time rule. A turnover time is defined per party size range. */\nexport interface TurnoverTimeRule {\n  /**\n   * Minimum number of seats to qualify for this rule.\n   * @min 1\n   * @max 10000\n   */\n  seatsMin?: number;\n  /**\n   * Maximum number of seats to qualify for this rule.\n   * @min 1\n   * @max 10000\n   */\n  seatsMax?: number;\n  /**\n   * Turnover time in minutes for qualifying parties.\n   * @max 1440\n   */\n  minutes?: number;\n}\n\n/** Turnover rule. A turnover time is defined per party size range. */\nexport interface TurnoverRule {\n  /**\n   * Minimum number of seats to qualify for this rule.\n   * @min 1\n   * @max 10000\n   */\n  minSeats?: number;\n  /**\n   * Maximum number of seats to qualify for this rule.\n   * @min 1\n   * @max 10000\n   */\n  maxSeats?: number;\n  /**\n   * Turnover time in minutes for qualifying parties.\n   * @max 1440\n   */\n  minutes?: number;\n}\n\n/** Pause settings for online reservations. */\nexport interface PauseSettings {\n  /** Pause settings for standard reservations. */\n  standardReservations?: StandardReservations;\n}\n\n/** Manual approval settings. */\nexport interface ManualApproval extends ManualApprovalValueOneOf {\n  /**\n   * The minimum party size that requires manual approval.\n   * @max 10000\n   */\n  partySizeThreshold?: number;\n  /** Whether manual approval is required for online reservations. */\n  enabled?: boolean;\n}\n\n/** @oneof */\nexport interface ManualApprovalValueOneOf {\n  /**\n   * The minimum party size that requires manual approval.\n   * @max 10000\n   */\n  partySizeThreshold?: number;\n}\n\n/** Type of the field. */\nexport enum FieldType {\n  UNKNOWN = 'UNKNOWN',\n  TABLE = 'TABLE',\n  START_DATE = 'START_DATE',\n  END_DATE = 'END_DATE',\n  CREATED_DATE = 'CREATED_DATE',\n  UPDATED_DATE = 'UPDATED_DATE',\n  PARTY_SIZE = 'PARTY_SIZE',\n  FIRST_NAME = 'FIRST_NAME',\n  LAST_NAME = 'LAST_NAME',\n  EMAIL = 'EMAIL',\n  PHONE = 'PHONE',\n  ADDITIONAL_INFO = 'ADDITIONAL_INFO',\n  TEAM_MESSAGE = 'TEAM_MESSAGE',\n  CUSTOM_FIELD = 'CUSTOM_FIELD',\n  STATUS = 'STATUS',\n}\n\n/** @enumType */\nexport type FieldTypeWithLiterals =\n  | FieldType\n  | 'UNKNOWN'\n  | 'TABLE'\n  | 'START_DATE'\n  | 'END_DATE'\n  | 'CREATED_DATE'\n  | 'UPDATED_DATE'\n  | 'PARTY_SIZE'\n  | 'FIRST_NAME'\n  | 'LAST_NAME'\n  | 'EMAIL'\n  | 'PHONE'\n  | 'ADDITIONAL_INFO'\n  | 'TEAM_MESSAGE'\n  | 'CUSTOM_FIELD'\n  | 'STATUS';\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 shown to the customer.\n   *\n   * Default: `false`\n   */\n  enabled?: boolean;\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/** 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 shown to the customer.\n   *\n   * Default: `false`\n   */\n  enabled?: boolean;\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/** 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;\n  /**\n   * Whether the custom field is required.\n   *\n   * Default: `false`\n   */\n  required?: boolean;\n}\n\n/** Email marketing checkbox. */\nexport interface EmailMarketingCheckbox {\n  /**\n   * Whether the checkbox is shown to the customer.\n   *\n   * Default: `false`\n   */\n  enabled?: boolean;\n  /**\n   * Whether the checkbox is checked by default.\n   *\n   * Default: `false`\n   */\n  checkedByDefault?: boolean;\n}\n\nexport enum PaymentPolicyType {\n  /** Undefined table management mode. */\n  UNKNOWN_PAYMENT_POLICY = 'UNKNOWN_PAYMENT_POLICY',\n  /** A fee is charged for each guest in the reservation. */\n  PER_GUEST = 'PER_GUEST',\n  /** A fee is charged for the entire reservation. */\n  PER_RESERVATION = 'PER_RESERVATION',\n}\n\n/** @enumType */\nexport type PaymentPolicyTypeWithLiterals =\n  | PaymentPolicyType\n  | 'UNKNOWN_PAYMENT_POLICY'\n  | 'PER_GUEST'\n  | 'PER_RESERVATION';\n\n/** Payment per guest policy. */\nexport interface PerGuestOptions {\n  /**\n   * Monetary amount to charge. Must be a 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;\n  /**\n   * Minimum party size required to apply the payment policy.\n   * @min 1\n   * @max 1000\n   */\n  minPartySize?: number;\n}\n\n/** Payment per reservation policy. */\nexport interface PerReservationOptions {\n  /**\n   * Monetary amount to charge. Must be a 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;\n  /**\n   * Minimum party size required to apply the payment policy.\n   * @min 1\n   * @max 1000\n   */\n  minPartySize?: number;\n}\n\nexport interface OnlineReservations {\n  /** Approval settings. */\n  approval?: Approval;\n  /**\n   * Seat pacing settings.\n   *\n   * The maximum number of seats that can be filled by new reservations within a 15-minute period.\n   * For example, setting a seat pacing of 15 would mean that between `10:00.000`-`10:14.999` there will be no more than 15 new seats available for reservation.\n   */\n  seatPacing?: SeatPacing;\n  /**\n   * Party pacing settings.\n   *\n   * The maximum number of party reservations that can start within a `timeSlotInterval` period.\n   * For example, if `timeSlotInterval` is 15 minutes, then a party pacing of 5 would mean that no more than 5 parties could make a reservation for the period between `10:00.000`-`10:14.999`.\n   */\n  partyPacing?: PartyPacing;\n  /**\n   * PRIVATE Party size limits.\n   * @deprecated PRIVATE Party size limits.\n   * @replacedBy party_size\n   * @targetRemovalDate 2023-11-01\n   */\n  partiesSize?: PartiesSize;\n  /** Party size limits for a reservation. */\n  partySize?: PartySize;\n  /**\n   * Minimum reservation notice.\n   *\n   * The minimum amount of time that must be allowed between making a reservation and that reservation's start time.\n   */\n  minimumReservationNotice?: NoticePeriod;\n  /**\n   * Maximum reservation notice.\n   *\n   * The maximum amount of time that can be allowed between making a reservation and that reservation's start time.\n   */\n  maximumReservationNotice?: NoticePeriod;\n  /**\n   * Default turnover time in minutes.\n   *\n   * Turnover time is how much time a party is allotted for their entire reservation - from being seated to leaving the restaurant.\n   * @max 1440\n   */\n  defaultTurnoverTime?: number | null;\n  /**\n   * Custom turnover time rules.\n   *\n   * This allows you to set different turnover times for different party sizes.\n   * @maxSize 1000\n   */\n  turnoverTimeRules?: TurnoverTimeRule[];\n  /**\n   * The location's business schedule.\n   *\n   * Limited to 100 time periods.\n   */\n  businessSchedule?: CommonBusinessSchedule;\n  /** Whether a phone number is shown. */\n  showPhoneNumber?: boolean | null;\n  /** Whether online reservations are enabled. */\n  onlineReservationsEnabled?: boolean | null;\n  /** Pause settings for reservations. */\n  pauseSettings?: PauseSettings;\n  /**\n   * Manual approval settings.\n   * @deprecated Manual approval settings.\n   * @replacedBy approval\n   * @targetRemovalDate 2025-07-05\n   */\n  manualApproval?: ManualApproval;\n  /**\n   * Interval between a reservation location's time slots in minutes.\n   *\n   * This controls the interval between time slots on a Wix site's Reservations page, and the interval between time slots returned by [getTimeSlots()](/time-slots/get-time-slots).\n   *\n   * Default: `15`\n   * @min 15\n   * @max 120\n   */\n  timeSlotInterval?: number | null;\n}\n\n/** Reservation form settings. */\nexport interface ReservationForm {\n  /**\n   * A message shown to the customer in the registration form.\n   * @maxLength 1000000\n   */\n  submitMessage?: string | null;\n  /** Whether to show policies (the terms and conditions, and the privacy policy) to the customer. */\n  policiesEnabled?: boolean | null;\n  /** Settings for displaying the terms and conditions. */\n  termsAndConditions?: TermsAndConditions;\n  /** Settings for displaying the privacy policy. */\n  privacyPolicy?: PrivacyPolicy;\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\n/** My reservations field definition. */\nexport interface MyReservationsField {\n  /** Field type. */\n  fieldType?: FieldTypeWithLiterals;\n  /**\n   * Custom field ID.\n   *\n   * This should only be provided if the `fieldType` is `CUSTOM_FIELD`, in which case it is required and must match the ID of a custom field in the `customFieldDefinitions` array of the `reservationForm`.\n   * @format GUID\n   * @readonly\n   */\n  customFieldId?: string | null;\n  /** Whether the field is shown. */\n  shown?: boolean;\n}\n\nexport interface TableManagement {\n  /** Table management mode. The mode determines how tables are assigned for reservations at this location. */\n  mode?: TableManagementModeWithLiterals;\n  /**\n   * Table definitions.\n   * @maxSize 1000\n   */\n  tableDefinitions?: TableDefinition[];\n  /**\n   * Deleted table definitions.\n   * @maxSize 1000\n   */\n  deletedTableDefinitions?: TableDefinition[];\n  /**\n   * Table combinations.\n   * @maxSize 1000\n   */\n  tableCombinations?: TableCombination[];\n}\n\n/** Reservation payment. */\nexport interface ReservationPayment {\n  /**\n   * Monetary amount to charge. Decimal string with a period as a decimal separator (e.g., 3.99)\n   * @decimalValue options { gte:0.000, maxScale:3 }\n   */\n  value?: string;\n  /**\n   * Minimum party size to apply the payment policy.\n   * @min 1\n   * @max 1000\n   */\n  minPartySize?: number;\n}\n\n/** Payment policy. */\nexport interface PaymentPolicy extends PaymentPolicyOptionsOneOf {\n  /** Settings for charging per guest. */\n  perGuestOptions?: PerGuestOptions;\n  /** Settings for charging per reservation. */\n  perReservationOptions?: PerReservationOptions;\n  /** Type of payment policy. */\n  paymentPolicyType?: PaymentPolicyTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface PaymentPolicyOptionsOneOf {\n  /** Settings for charging per guest. */\n  perGuestOptions?: PerGuestOptions;\n  /** Settings for charging per reservation. */\n  perReservationOptions?: PerReservationOptions;\n}\n\nexport interface Location {\n  /**\n   * Location ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n}\n\nexport interface Configuration {\n  /** Settings for this location that are used to determine restaurant availability for reservations made online. */\n  onlineReservations?: OnlineReservations;\n  /** Reservation form settings. */\n  reservationForm?: ReservationForm;\n  /**\n   * \"My reservations\" field details.\n   *\n   * These are the fields that appear in the \"My reservations\" section of the Table Reservations page on the restaurant's Wix site dashboard.\n   * @maxSize 100\n   * @deprecated \"My reservations\" field details.\n   *\n   * These are the fields that appear in the \"My reservations\" section of the Table Reservations page on the restaurant's Wix site dashboard.\n   * @targetRemovalDate 2025-06-19\n   */\n  myReservationsFields?: MyReservationsField[];\n  /** Table management settings. */\n  tableManagement?: TableManagement;\n  /** Reservation payment policy. This policy determines how the restaurant charges for reservations. */\n  paymentPolicy?: PaymentPolicy;\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\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  /** Invalidate by multiple page ids */\n  pages?: Pages;\n  /** Invalidate by multiple URI paths */\n  uris?: URIs;\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   * Optional caller-provided ID for tracking this invalidation through the system.\n   * When set, the corresponding CDN purge completion event will include this ID,\n   * allowing you to confirm when the invalidation has fully propagated.\n   * Example: generate a UUID, pass it here, and later match it in the CDN purge completion event.\n   * @maxLength 256\n   */\n  correlationId?: string | null;\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  /** Invalidate by multiple page ids */\n  pages?: Pages;\n  /** Invalidate by multiple URI paths */\n  uris?: URIs;\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 Pages {\n  /**\n   * the msid the pages are on\n   * @format GUID\n   */\n  metaSiteId?: string;\n  /**\n   * Invalidate by multiple Page IDs in a single message\n   * @maxSize 100\n   * @minLength 1\n   */\n  pageIds?: string[];\n}\n\nexport interface URIs {\n  /**\n   * the msid the URIs are on\n   * @format GUID\n   */\n  metaSiteId?: string;\n  /**\n   * URI paths to invalidate (e.g. page/my/path) - without leading/trailing slashes\n   * @maxSize 100\n   * @minLength 1\n   */\n  uriPaths?: string[];\n}\n\nexport interface GetReservationLocationRequest {\n  /**\n   * ID of the ReservationLocation to retrieve.\n   * @format GUID\n   */\n  reservationLocationId: string;\n}\n\nexport interface GetReservationLocationResponse {\n  /** The retrieved reservation location. */\n  reservationLocation?: ReservationLocation;\n}\n\nexport interface UpdateReservationLocationRequest {\n  /** ReservationLocation to be updated, may be partial. */\n  reservationLocation: ReservationLocation;\n}\n\nexport interface UpdateReservationLocationResponse {\n  /** The updated reservation location. */\n  reservationLocation?: ReservationLocation;\n}\n\nexport interface TablesDeleted {\n  /**\n   * ID of the affected reservation location.\n   * @maxLength 36\n   */\n  reservationLocationId?: string;\n  /**\n   * IDs of deleted tables.\n   * @maxSize 1000\n   * @maxLength 36\n   */\n  tableIds?: string[];\n}\n\nexport interface ReservationLocationViolation\n  extends ReservationLocationViolationViolationOneOf {\n  /** Not all fields violation. */\n  notAllReservationFieldsViolation?: NotAllReservationFieldsViolation;\n  /** Field not exists violation. */\n  reservationFieldNotExistViolation?: ReservationFieldNotExistViolation;\n  /** Field must have type violation. */\n  reservationFieldMustHaveTypeViolation?: ReservationFieldMustHaveTypeViolation;\n  /** Custom field names duplication violation. */\n  customFieldNamesDuplicationViolation?: CustomFieldNamesDuplicationViolation;\n  /** Custom field ids duplication violation. */\n  customFieldIdsDuplicationViolation?: CustomFieldIdsDuplicationViolation;\n  /** Table definition names duplication violation. */\n  tableDefinitionNamesDuplicationViolation?: TableDefinitionNamesDuplicationViolation;\n  /** Table definition ids duplication violation. */\n  tableDefinitionIdsDuplicationViolation?: TableDefinitionIdsDuplicationViolation;\n  /** Table definition not exist violation. */\n  tableDefinitionNotExistViolation?: TableDefinitionNotExistViolation;\n  /** Table definition incorrect boundaries violation. */\n  tableDefinitionIncorrectBoundariesViolation?: TableDefinitionIncorrectBoundariesViolation;\n  /** Turnover time rules intersection violation. */\n  turnoverTimeRulesIntersectViolation?: TurnoverTimeRulesIntersectViolation;\n  /** Turnover time rules incorrect boundaries violation. */\n  turnoverTimeRulesIncorrectBoundariesViolation?: TurnoverTimeRulesIncorrectBoundariesViolation;\n  /** Table combinations list contains combinations with not unique id. */\n  tableCombinationIdsDuplicationViolation?: TableCombinationIdsDuplicationViolation;\n  /** Table ids list inside a combination contains not unique id. */\n  tableCombinationTableIdsDuplicationViolation?: TableCombinationTableIdsDuplicationViolation;\n  /** Table combinations list contains more then one combination with the same table_ids. */\n  tableCombinationTableIdsCombinationDuplicationViolation?: TableCombinationTableIdsCombinationDuplicationViolation;\n  /** Table combination not exist violation. */\n  tableCombinationNotExistViolation?: TableCombinationNotExistViolation;\n  /** Table combination contains less than 2 tables. */\n  tableCombinationContainsLessThan2TablesViolation?: TableCombinationContainsLessThan2TablesViolation;\n  /** Table combination min max seats violation. */\n  tableCombinationMinMaxSeatsViolation?: TableCombinationMinMaxSeatsViolation;\n  /** Non existent tables used in table combinations. */\n  nonExistentTablesInTableCombinationViolation?: NonExistentTablesInTableCombinationViolation;\n  /** Turnover rules intersection violation. */\n  turnoverRulesIntersectViolation?: TurnoverRulesIntersectViolation;\n  /** Turnover time rules incorrect boundaries violation. */\n  turnoverRulesIncorrectBoundariesViolation?: TurnoverRulesIncorrectBoundariesViolation;\n  /** Business schedule time period invalid violation. */\n  businessScheduleTimePeriodInvalidViolation?: BusinessScheduleTimePeriodInvalidViolation;\n  /** Business schedule special hour period invalid violation. */\n  businessScheduleSpecialHourPeriodInvalidViolation?: BusinessScheduleSpecialHourPeriodInvalidViolation;\n  /** Reservations fields duplication violation. */\n  myReservationsFieldsDuplicationViolation?: MyReservationsFieldsDuplicationViolation;\n  /** Business schedule special hour period end date is before or equal to start date violation. */\n  businessScheduleSpecialHourPeriodEndBeforeStartViolation?: BusinessScheduleSpecialHourPeriodEndBeforeStartViolation;\n  /** Business schedule time period close day and time before open day and time violation. */\n  businessScheduleTimePeriodCloseBeforeOpenViolation?: BusinessScheduleTimePeriodCloseBeforeOpenViolation;\n  /** Type of the violation. */\n  type?: TypeWithLiterals;\n}\n\n/** @oneof */\nexport interface ReservationLocationViolationViolationOneOf {\n  /** Not all fields violation. */\n  notAllReservationFieldsViolation?: NotAllReservationFieldsViolation;\n  /** Field not exists violation. */\n  reservationFieldNotExistViolation?: ReservationFieldNotExistViolation;\n  /** Field must have type violation. */\n  reservationFieldMustHaveTypeViolation?: ReservationFieldMustHaveTypeViolation;\n  /** Custom field names duplication violation. */\n  customFieldNamesDuplicationViolation?: CustomFieldNamesDuplicationViolation;\n  /** Custom field ids duplication violation. */\n  customFieldIdsDuplicationViolation?: CustomFieldIdsDuplicationViolation;\n  /** Table definition names duplication violation. */\n  tableDefinitionNamesDuplicationViolation?: TableDefinitionNamesDuplicationViolation;\n  /** Table definition ids duplication violation. */\n  tableDefinitionIdsDuplicationViolation?: TableDefinitionIdsDuplicationViolation;\n  /** Table definition not exist violation. */\n  tableDefinitionNotExistViolation?: TableDefinitionNotExistViolation;\n  /** Table definition incorrect boundaries violation. */\n  tableDefinitionIncorrectBoundariesViolation?: TableDefinitionIncorrectBoundariesViolation;\n  /** Turnover time rules intersection violation. */\n  turnoverTimeRulesIntersectViolation?: TurnoverTimeRulesIntersectViolation;\n  /** Turnover time rules incorrect boundaries violation. */\n  turnoverTimeRulesIncorrectBoundariesViolation?: TurnoverTimeRulesIncorrectBoundariesViolation;\n  /** Table combinations list contains combinations with not unique id. */\n  tableCombinationIdsDuplicationViolation?: TableCombinationIdsDuplicationViolation;\n  /** Table ids list inside a combination contains not unique id. */\n  tableCombinationTableIdsDuplicationViolation?: TableCombinationTableIdsDuplicationViolation;\n  /** Table combinations list contains more then one combination with the same table_ids. */\n  tableCombinationTableIdsCombinationDuplicationViolation?: TableCombinationTableIdsCombinationDuplicationViolation;\n  /** Table combination not exist violation. */\n  tableCombinationNotExistViolation?: TableCombinationNotExistViolation;\n  /** Table combination contains less than 2 tables. */\n  tableCombinationContainsLessThan2TablesViolation?: TableCombinationContainsLessThan2TablesViolation;\n  /** Table combination min max seats violation. */\n  tableCombinationMinMaxSeatsViolation?: TableCombinationMinMaxSeatsViolation;\n  /** Non existent tables used in table combinations. */\n  nonExistentTablesInTableCombinationViolation?: NonExistentTablesInTableCombinationViolation;\n  /** Turnover rules intersection violation. */\n  turnoverRulesIntersectViolation?: TurnoverRulesIntersectViolation;\n  /** Turnover time rules incorrect boundaries violation. */\n  turnoverRulesIncorrectBoundariesViolation?: TurnoverRulesIncorrectBoundariesViolation;\n  /** Business schedule time period invalid violation. */\n  businessScheduleTimePeriodInvalidViolation?: BusinessScheduleTimePeriodInvalidViolation;\n  /** Business schedule special hour period invalid violation. */\n  businessScheduleSpecialHourPeriodInvalidViolation?: BusinessScheduleSpecialHourPeriodInvalidViolation;\n  /** Reservations fields duplication violation. */\n  myReservationsFieldsDuplicationViolation?: MyReservationsFieldsDuplicationViolation;\n  /** Business schedule special hour period end date is before or equal to start date violation. */\n  businessScheduleSpecialHourPeriodEndBeforeStartViolation?: BusinessScheduleSpecialHourPeriodEndBeforeStartViolation;\n  /** Business schedule time period close day and time before open day and time violation. */\n  businessScheduleTimePeriodCloseBeforeOpenViolation?: BusinessScheduleTimePeriodCloseBeforeOpenViolation;\n}\n\nexport interface DuplicatedName {\n  /**\n   * Duplicated field name.\n   * @maxLength 50\n   */\n  name?: string;\n  /**\n   * Indexes of the invalid field.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface DuplicatedId {\n  /**\n   * Duplicated field id.\n   * @maxLength 36\n   */\n  _id?: string;\n  /**\n   * Indexes of the invalid field.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface Violation {\n  /** Duplicated field type. */\n  fieldType?: FieldTypeWithLiterals;\n  /**\n   * Id of custom field.\n   * @format GUID\n   * @readonly\n   */\n  customFieldId?: string | null;\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  myReservationsFieldIndexes?: number[];\n}\n\nexport interface TableCombinationIdsDuplicationViolationViolation {\n  /**\n   * Duplicated table ID.\n   * @maxLength 36\n   */\n  tableCombinationId?: string;\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  tableCombinationIndexes?: number[];\n}\n\nexport interface TableCombinationTableIdsDuplicationViolationViolation {\n  /** Index of the table combination that contains not unique table IDs. */\n  tableCombinationIndex?: number;\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  tableIndexes?: number[];\n}\n\nexport interface NonExistentTablesInTableCombinationViolationViolation {\n  /** Index of the table combination that contains non-existent table IDs. */\n  tableCombinationIndex?: number;\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  tableIndexes?: number[];\n}\n\nexport enum Type {\n  UNKNOWN = 'UNKNOWN',\n  RESERVATION_FIELD_NOT_EXIST = 'RESERVATION_FIELD_NOT_EXIST',\n  RESERVATION_FIELD_MUST_HAVE_TYPE = 'RESERVATION_FIELD_MUST_HAVE_TYPE',\n  CUSTOM_FIELD_NAMES_DUPLICATION = 'CUSTOM_FIELD_NAMES_DUPLICATION',\n  CUSTOM_FIELD_IDS_DUPLICATION = 'CUSTOM_FIELD_IDS_DUPLICATION',\n  TABLE_DEFINITION_NAMES_DUPLICATION = 'TABLE_DEFINITION_NAMES_DUPLICATION',\n  TABLE_DEFINITION_IDS_DUPLICATION = 'TABLE_DEFINITION_IDS_DUPLICATION',\n  TABLE_RESERVATION_INCORRECT_BOUNDARIES = 'TABLE_RESERVATION_INCORRECT_BOUNDARIES',\n  TABLE_DEFINITION_NOT_EXIST = 'TABLE_DEFINITION_NOT_EXIST',\n  TURNOVER_TIME_RULES_INTERSECT = 'TURNOVER_TIME_RULES_INTERSECT',\n  TURNOVER_TIME_RULES_INCORRECT_BOUNDARIES = 'TURNOVER_TIME_RULES_INCORRECT_BOUNDARIES',\n  MINIMUM_RESERVATION_NOTICE_PERIOD = 'MINIMUM_RESERVATION_NOTICE_PERIOD',\n  TABLE_COMBINATION_IDS_DUPLICATION = 'TABLE_COMBINATION_IDS_DUPLICATION',\n  TABLE_COMBINATION_TABLE_IDS_DUPLICATION = 'TABLE_COMBINATION_TABLE_IDS_DUPLICATION',\n  TABLE_COMBINATION_TABLE_IDS_COMBINATION_DUPLICATION = 'TABLE_COMBINATION_TABLE_IDS_COMBINATION_DUPLICATION',\n  TABLE_COMBINATION_NOT_EXIST = 'TABLE_COMBINATION_NOT_EXIST',\n  TABLE_COMBINATION_CONTAINS_LESS_THAN_2_TABLES = 'TABLE_COMBINATION_CONTAINS_LESS_THAN_2_TABLES',\n  TABLE_COMBINATION_MIN_MAX_SEATS = 'TABLE_COMBINATION_MIN_MAX_SEATS',\n  NON_EXISTENT_TABLES_IN_TABLE_COMBINATION = 'NON_EXISTENT_TABLES_IN_TABLE_COMBINATION',\n  PARTY_SIZE_AND_PARTIES_SIZE_ARE_DIFFERENT = 'PARTY_SIZE_AND_PARTIES_SIZE_ARE_DIFFERENT',\n  TURNOVER_TIME_RULES_AND_TURNOVER_RULES_ARE_DIFFERENT = 'TURNOVER_TIME_RULES_AND_TURNOVER_RULES_ARE_DIFFERENT',\n  TURNOVER_RULES_INTERSECT = 'TURNOVER_RULES_INTERSECT',\n  TURNOVER_RULES_INCORRECT_BOUNDARIES = 'TURNOVER_RULES_INCORRECT_BOUNDARIES',\n  PARTIES_SIZE_MIN_GREATER_THAN_MAX = 'PARTIES_SIZE_MIN_GREATER_THAN_MAX',\n  PARTY_SIZE_MIN_GREATER_THAN_MAX = 'PARTY_SIZE_MIN_GREATER_THAN_MAX',\n  BUSINESS_SCHEDULE_TIME_PERIOD_INVALID = 'BUSINESS_SCHEDULE_TIME_PERIOD_INVALID',\n  BUSINESS_SCHEDULE_SPECIAL_HOUR_PERIOD_INVALID = 'BUSINESS_SCHEDULE_SPECIAL_HOUR_PERIOD_INVALID',\n  MY_RESERVATIONS_FIELDS_DUPLICATION = 'MY_RESERVATIONS_FIELDS_DUPLICATION',\n  TERMS_AND_CONDITIONS_VALUE_ABSENT = 'TERMS_AND_CONDITIONS_VALUE_ABSENT',\n  PRIVACY_POLICY_VALUE_ABSENT = 'PRIVACY_POLICY_VALUE_ABSENT',\n  DEFAULT_TURNOVER_TIME_ABSENT = 'DEFAULT_TURNOVER_TIME_ABSENT',\n  NOT_ALL_RESERVATION_FIELDS = 'NOT_ALL_RESERVATION_FIELDS',\n  TABLE_DEFINITION_INCORRECT_BOUNDARIES = 'TABLE_DEFINITION_INCORRECT_BOUNDARIES',\n  BUSINESS_SCHEDULE_SPECIAL_HOUR_PERIOD_END_BEFORE_START = 'BUSINESS_SCHEDULE_SPECIAL_HOUR_PERIOD_END_BEFORE_START',\n  BUSINESS_SCHEDULE_TIME_PERIOD_CLOSE_BEFORE_OPEN = 'BUSINESS_SCHEDULE_TIME_PERIOD_CLOSE_BEFORE_OPEN',\n  MANUAL_APPROVAL_THRESHOLD_OUTSIDE_PARTY_SIZE = 'MANUAL_APPROVAL_THRESHOLD_OUTSIDE_PARTY_SIZE',\n  APPROVAL_ABSENT = 'APPROVAL_ABSENT',\n  MANUAL_APPROVAL_DEPRECATED = 'MANUAL_APPROVAL_DEPRECATED',\n  APPROVAL_THRESHOLD_OUTSIDE_PARTY_SIZE = 'APPROVAL_THRESHOLD_OUTSIDE_PARTY_SIZE',\n  APPROVAL_AND_MANUAL_APPROVAL_ARE_DIFFERENT = 'APPROVAL_AND_MANUAL_APPROVAL_ARE_DIFFERENT',\n  MANUAL_APPROVAL_THRESHOLD_OUTSIDE_PARTIES_SIZE = 'MANUAL_APPROVAL_THRESHOLD_OUTSIDE_PARTIES_SIZE',\n  PARTY_SIZE_ABSENT = 'PARTY_SIZE_ABSENT',\n  PARTIES_SIZE_ABSENT = 'PARTIES_SIZE_ABSENT',\n  TABLE_MANAGEMENT_MODE_ABSENT = 'TABLE_MANAGEMENT_MODE_ABSENT',\n  PARTY_SIZE_THRESHOLD_ABSENT = 'PARTY_SIZE_THRESHOLD_ABSENT',\n  CONSIDER_TABLES_FOR_MANUAL_APPROVAL_ABSENT = 'CONSIDER_TABLES_FOR_MANUAL_APPROVAL_ABSENT',\n  APPROVAL_MODE_AND_OPTIONS_NOT_CORRESPOND = 'APPROVAL_MODE_AND_OPTIONS_NOT_CORRESPOND',\n  RESERVATION_PAYMENT_DEPRECATED = 'RESERVATION_PAYMENT_DEPRECATED',\n  MAXIMUM_RESERVATION_NOTICE_PERIOD = 'MAXIMUM_RESERVATION_NOTICE_PERIOD',\n  NOTICE_PERIOD_MINIMUM_GREATER_THAN_MAXIMUM = 'NOTICE_PERIOD_MINIMUM_GREATER_THAN_MAXIMUM',\n  PAUSE_UNTIL_INVALID = 'PAUSE_UNTIL_INVALID',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n  | Type\n  | 'UNKNOWN'\n  | 'RESERVATION_FIELD_NOT_EXIST'\n  | 'RESERVATION_FIELD_MUST_HAVE_TYPE'\n  | 'CUSTOM_FIELD_NAMES_DUPLICATION'\n  | 'CUSTOM_FIELD_IDS_DUPLICATION'\n  | 'TABLE_DEFINITION_NAMES_DUPLICATION'\n  | 'TABLE_DEFINITION_IDS_DUPLICATION'\n  | 'TABLE_RESERVATION_INCORRECT_BOUNDARIES'\n  | 'TABLE_DEFINITION_NOT_EXIST'\n  | 'TURNOVER_TIME_RULES_INTERSECT'\n  | 'TURNOVER_TIME_RULES_INCORRECT_BOUNDARIES'\n  | 'MINIMUM_RESERVATION_NOTICE_PERIOD'\n  | 'TABLE_COMBINATION_IDS_DUPLICATION'\n  | 'TABLE_COMBINATION_TABLE_IDS_DUPLICATION'\n  | 'TABLE_COMBINATION_TABLE_IDS_COMBINATION_DUPLICATION'\n  | 'TABLE_COMBINATION_NOT_EXIST'\n  | 'TABLE_COMBINATION_CONTAINS_LESS_THAN_2_TABLES'\n  | 'TABLE_COMBINATION_MIN_MAX_SEATS'\n  | 'NON_EXISTENT_TABLES_IN_TABLE_COMBINATION'\n  | 'PARTY_SIZE_AND_PARTIES_SIZE_ARE_DIFFERENT'\n  | 'TURNOVER_TIME_RULES_AND_TURNOVER_RULES_ARE_DIFFERENT'\n  | 'TURNOVER_RULES_INTERSECT'\n  | 'TURNOVER_RULES_INCORRECT_BOUNDARIES'\n  | 'PARTIES_SIZE_MIN_GREATER_THAN_MAX'\n  | 'PARTY_SIZE_MIN_GREATER_THAN_MAX'\n  | 'BUSINESS_SCHEDULE_TIME_PERIOD_INVALID'\n  | 'BUSINESS_SCHEDULE_SPECIAL_HOUR_PERIOD_INVALID'\n  | 'MY_RESERVATIONS_FIELDS_DUPLICATION'\n  | 'TERMS_AND_CONDITIONS_VALUE_ABSENT'\n  | 'PRIVACY_POLICY_VALUE_ABSENT'\n  | 'DEFAULT_TURNOVER_TIME_ABSENT'\n  | 'NOT_ALL_RESERVATION_FIELDS'\n  | 'TABLE_DEFINITION_INCORRECT_BOUNDARIES'\n  | 'BUSINESS_SCHEDULE_SPECIAL_HOUR_PERIOD_END_BEFORE_START'\n  | 'BUSINESS_SCHEDULE_TIME_PERIOD_CLOSE_BEFORE_OPEN'\n  | 'MANUAL_APPROVAL_THRESHOLD_OUTSIDE_PARTY_SIZE'\n  | 'APPROVAL_ABSENT'\n  | 'MANUAL_APPROVAL_DEPRECATED'\n  | 'APPROVAL_THRESHOLD_OUTSIDE_PARTY_SIZE'\n  | 'APPROVAL_AND_MANUAL_APPROVAL_ARE_DIFFERENT'\n  | 'MANUAL_APPROVAL_THRESHOLD_OUTSIDE_PARTIES_SIZE'\n  | 'PARTY_SIZE_ABSENT'\n  | 'PARTIES_SIZE_ABSENT'\n  | 'TABLE_MANAGEMENT_MODE_ABSENT'\n  | 'PARTY_SIZE_THRESHOLD_ABSENT'\n  | 'CONSIDER_TABLES_FOR_MANUAL_APPROVAL_ABSENT'\n  | 'APPROVAL_MODE_AND_OPTIONS_NOT_CORRESPOND'\n  | 'RESERVATION_PAYMENT_DEPRECATED'\n  | 'MAXIMUM_RESERVATION_NOTICE_PERIOD'\n  | 'NOTICE_PERIOD_MINIMUM_GREATER_THAN_MAXIMUM'\n  | 'PAUSE_UNTIL_INVALID';\n\nexport interface NotAllReservationFieldsViolation {\n  /**\n   * Field types that are absent.\n   * @maxSize 1000\n   */\n  absentPredefinedFieldTypes?: FieldTypeWithLiterals[];\n  /**\n   * Custom field IDs that are absent.\n   * @maxSize 1000\n   * @maxLength 36\n   */\n  absentCustomFieldIds?: string[];\n}\n\nexport interface ReservationFieldNotExistViolation {\n  /**\n   * Indexes of the fields that are absent.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface ReservationFieldMustHaveTypeViolation {\n  /**\n   * Indexes of the fields that don't have types.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface CustomFieldNamesDuplicationViolation {\n  /**\n   * Duplicated names.\n   * @maxSize 1000\n   * @maxLength 1000\n   */\n  names?: string[];\n}\n\nexport interface CustomFieldIdsDuplicationViolation {\n  /**\n   * Duplicated IDs.\n   * @maxSize 1000\n   * @maxLength 36\n   */\n  ids?: string[];\n}\n\nexport interface TableDefinitionNamesDuplicationViolation {\n  /**\n   * Duplicated names.\n   * @maxSize 1000\n   */\n  names?: DuplicatedName[];\n}\n\nexport interface TableDefinitionIdsDuplicationViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  ids?: DuplicatedId[];\n}\n\nexport interface TableDefinitionNotExistViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface TableDefinitionIncorrectBoundariesViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface TurnoverTimeRulesIntersectViolation {\n  /**\n   * Violated rules.\n   * @maxSize 1000\n   */\n  rules?: TurnoverTimeRule[];\n}\n\nexport interface TurnoverTimeRulesIncorrectBoundariesViolation {\n  /**\n   * Violated rules.\n   * @maxSize 1000\n   */\n  rules?: TurnoverTimeRule[];\n}\n\nexport interface TableCombinationIdsDuplicationViolation {\n  /**\n   * List of violations.\n   * @maxSize 1000\n   */\n  violations?: TableCombinationIdsDuplicationViolationViolation[];\n}\n\nexport interface TableCombinationTableIdsDuplicationViolation {\n  /**\n   * List of violations.\n   * @maxSize 1000\n   */\n  violations?: TableCombinationTableIdsDuplicationViolationViolation[];\n}\n\nexport interface TableCombinationTableIdsCombinationDuplicationViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface TableCombinationNotExistViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface TableCombinationContainsLessThan2TablesViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface TableCombinationMinMaxSeatsViolation {\n  /**\n   * Indexes of the violated elements.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface NonExistentTablesInTableCombinationViolation {\n  /**\n   * List of violations.\n   * @maxSize 1000\n   */\n  violations?: NonExistentTablesInTableCombinationViolationViolation[];\n}\n\nexport interface TurnoverRulesIntersectViolation {\n  /**\n   * Violated rules.\n   * @maxSize 1000\n   */\n  rules?: TurnoverRule[];\n}\n\nexport interface TurnoverRulesIncorrectBoundariesViolation {\n  /**\n   * Violated rules.\n   * @maxSize 1000\n   */\n  rules?: TurnoverRule[];\n}\n\nexport interface BusinessScheduleTimePeriodInvalidViolation {\n  /**\n   * Positions of invalid time periods in array.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface BusinessScheduleSpecialHourPeriodInvalidViolation {\n  /**\n   * Positions of invalid special hour periods in array.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface MyReservationsFieldsDuplicationViolation {\n  /**\n   * Duplicated fields.\n   * @maxSize 1000\n   */\n  violations?: Violation[];\n}\n\nexport interface BusinessScheduleSpecialHourPeriodEndBeforeStartViolation {\n  /**\n   * Positions of invalid special hour periods in array.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface BusinessScheduleTimePeriodCloseBeforeOpenViolation {\n  /**\n   * Positions of invalid time periods in array.\n   * @maxSize 1000\n   */\n  indexes?: number[];\n}\n\nexport interface QueryReservationLocationsRequest {\n  /** Query options. */\n  query: QueryV2;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n  /** Paging options to limit and skip the number of items. */\n  paging?: Paging;\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n  cursorPaging?: CursorPaging;\n  /**\n   * Filter object in the following format:\n   * `\"filter\" : {\n   * \"fieldName1\": \"value1\",\n   * \"fieldName2\":{\"$operator\":\"value2\"}\n   * }`\n   *\n   * For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-and-filtering) article.\n   * To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n   */\n  filter?: Record<string, any> | null;\n  /**\n   * Sort object in the following format:\n   * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n   */\n  sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n  /** Paging options to limit and skip the number of items. */\n  paging?: Paging;\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n  cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n  /** Name of the field to sort by. */\n  fieldName?: string;\n  /**\n   * Sort order.\n   *\n   * Defaults to `ASC`.\n   */\n  order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n  /** Soer by ascending order. */\n  ASC = 'ASC',\n  /** Sort by descending order. */\n  DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n  /** Number of items to load. */\n  limit?: number | null;\n  /** Number of items to skip in the current sort order. */\n  offset?: number | null;\n}\n\nexport interface CursorPaging {\n  /**\n   * Number of items to load.\n   * @max 100\n   */\n  limit?: number | null;\n  /**\n   * Pointer to the next or previous page in the list of results.\n   *\n   * You can get the relevant cursor token\n   * from the `pagingMetadata` object in the previous call's response.\n   * Not relevant for the first request.\n   */\n  cursor?: string | null;\n}\n\nexport interface QueryReservationLocationsResponse {\n  /**\n   * List of reservation locations.\n   * @maxSize 100\n   */\n  reservationLocations?: ReservationLocation[];\n  /** Metadata for the paginated results. */\n  pagingMetadata?: PagingMetadataV2;\n}\n\nexport interface PagingMetadataV2 {\n  /** Offset that was requested. */\n  offset?: number | null;\n  /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */\n  cursors?: Cursors;\n}\n\nexport interface Cursors {\n  /** Cursor pointing to next page in the list of results. */\n  next?: string | null;\n  /** Cursor pointing to previous page in the list of results. */\n  prev?: string | null;\n}\n\nexport interface ListReservationLocationsRequest {\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n  paging?: CursorPaging;\n  /** Sorting for the locations list. */\n  sort?: Sorting;\n}\n\nexport interface ListReservationLocationsResponse {\n  /**\n   * Locations list.\n   * @maxSize 100\n   */\n  reservationLocations?: ReservationLocation[];\n  /** Metadata for the paginated results. */\n  pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n  /** Number of items returned in the response. */\n  count?: number | null;\n  /** Offset that was requested. */\n  cursors?: Cursors;\n  /**\n   * Indicates if there are more results after the current page.\n   * If `true`, another page of results can be retrieved.\n   * If `false`, this is the last page.\n   */\n  hasNext?: boolean | null;\n}\n\nexport interface DeleteOrphanReservationLocationRequest {\n  /**\n   * Id of the ReservationLocation.\n   * @format GUID\n   */\n  reservationLocationId?: string;\n}\n\nexport interface DeleteOrphanReservationLocationResponse {}\n\nexport interface CheckReservationLocationsCreatedRequest {}\n\nexport interface CheckReservationLocationsCreatedResponse {\n  /** Reservation locations created. */\n  created?: boolean;\n}\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 Empty {}\n\nexport interface MetaSiteSpecialEvent extends MetaSiteSpecialEventPayloadOneOf {\n  /** Emitted on a meta site creation. */\n  siteCreated?: SiteCreated;\n  /** Emitted on a meta site transfer completion. */\n  siteTransferred?: SiteTransferred;\n  /** Emitted on a meta site deletion. */\n  siteDeleted?: SiteDeleted;\n  /** Emitted on a meta site restoration. */\n  siteUndeleted?: SiteUndeleted;\n  /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n  sitePublished?: SitePublished;\n  /** Emitted on a meta site unpublish. */\n  siteUnpublished?: SiteUnpublished;\n  /** Emitted when meta site is marked as template. */\n  siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n  /** Emitted when meta site is marked as a WixSite. */\n  siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n  /** Emitted when an application is provisioned (installed). */\n  serviceProvisioned?: ServiceProvisioned;\n  /** Emitted when an application is removed (uninstalled). */\n  serviceRemoved?: ServiceRemoved;\n  /** Emitted when meta site name (URL slug) is changed. */\n  siteRenamedPayload?: SiteRenamed;\n  /** Emitted when meta site was permanently deleted. */\n  hardDeleted?: SiteHardDeleted;\n  /** Emitted on a namespace change. */\n  namespaceChanged?: NamespaceChanged;\n  /** Emitted when Studio is attached. */\n  studioAssigned?: StudioAssigned;\n  /** Emitted when Studio is detached. */\n  studioUnassigned?: StudioUnassigned;\n  /**\n   * Emitted when one of the URLs is changed. After this event you may call `urls-server` to fetch\n   * the actual URL.\n   *\n   * See: https://wix.slack.com/archives/C0UHEBPFT/p1732520791210559?thread_ts=1732027914.294059&cid=C0UHEBPFT\n   * See: https://wix.slack.com/archives/C0UHEBPFT/p1744115197619459\n   */\n  urlChanged?: SiteUrlChanged;\n  /** Site is marked as PurgedExternally */\n  sitePurgedExternally?: SitePurgedExternally;\n  /** Emitted when Odeditor is attached. */\n  odeditorAssigned?: OdeditorAssigned;\n  /** Emitted when Odeditor is detached. */\n  odeditorUnassigned?: OdeditorUnassigned;\n  /** Emitted when Picasso is attached. */\n  picassoAssigned?: PicassoAssigned;\n  /** Emitted when Picasso is detached. */\n  picassoUnassigned?: PicassoUnassigned;\n  /** Emitted when Wixel is attached. */\n  wixelAssigned?: WixelAssigned;\n  /** Emitted when Wixel is detached. */\n  wixelUnassigned?: WixelUnassigned;\n  /** Emitted when StudioTwo is attached. */\n  studioTwoAssigned?: StudioTwoAssigned;\n  /** Emitted when StudioTwo is detached. */\n  studioTwoUnassigned?: StudioTwoUnassigned;\n  /** Emitted when media from user domain is enabled. */\n  userDomainMediaEnabled?: UserDomainMediaEnabled;\n  /** Emitted when media from user domain is disabled. */\n  userDomainMediaDisabled?: UserDomainMediaDisabled;\n  /** Emitted when Editorless is attached. */\n  editorlessAssigned?: EditorlessAssigned;\n  /** Emitted when Editorless is detached. */\n  editorlessUnassigned?: EditorlessUnassigned;\n  /**\n   * A meta site id.\n   * @format GUID\n   */\n  metaSiteId?: string;\n  /** A meta site version. Monotonically increasing. */\n  version?: string;\n  /** A timestamp of the event. */\n  timestamp?: string;\n  /**\n   * TODO(meta-site): Change validation once validations are disabled for consumers\n   * More context: https://wix.slack.com/archives/C0UHEBPFT/p1720957844413149 and https://wix.slack.com/archives/CFWKX325T/p1728892152855659\n   * @maxSize 4000\n   */\n  assets?: Asset[];\n}\n\n/** @oneof */\nexport interface MetaSiteSpecialEventPayloadOneOf {\n  /** Emitted on a meta site creation. */\n  siteCreated?: SiteCreated;\n  /** Emitted on a meta site transfer completion. */\n  siteTransferred?: SiteTransferred;\n  /** Emitted on a meta site deletion. */\n  siteDeleted?: SiteDeleted;\n  /** Emitted on a meta site restoration. */\n  siteUndeleted?: SiteUndeleted;\n  /** Emitted on the first* publish of the meta site (* switching from unpublished to published state). */\n  sitePublished?: SitePublished;\n  /** Emitted on a meta site unpublish. */\n  siteUnpublished?: SiteUnpublished;\n  /** Emitted when meta site is marked as template. */\n  siteMarkedAsTemplate?: SiteMarkedAsTemplate;\n  /** Emitted when meta site is marked as a WixSite. */\n  siteMarkedAsWixSite?: SiteMarkedAsWixSite;\n  /** Emitted when an application is provisioned (installed). */\n  serviceProvisioned?: ServiceProvisioned;\n  /** Emitted when an application is removed (uninstalled). */\n  serviceRemoved?: ServiceRemoved;\n  /** Emitted when meta site name (URL slug) is changed. */\n  siteRenamedPayload?: SiteRenamed;\n  /** Emitted when meta site was permanently deleted. */\n  hardDeleted?: SiteHardDeleted;\n  /** Emitted on a namespace change. */\n  namespaceChanged?: NamespaceChanged;\n  /** Emitted when Studio is attached. */\n  studioAssigned?: StudioAssigned;\n  /** Emitted when Studio is detached. */\n  studioUnassigned?: StudioUnassigned;\n  /**\n   * Emitted when one of the URLs is changed. After this event you may call `urls-server` to fetch\n   * the actual URL.\n   *\n   * See: https://wix.slack.com/archives/C0UHEBPFT/p1732520791210559?thread_ts=1732027914.294059&cid=C0UHEBPFT\n   * See: https://wix.slack.com/archives/C0UHEBPFT/p1744115197619459\n   */\n  urlChanged?: SiteUrlChanged;\n  /** Site is marked as PurgedExternally */\n  sitePurgedExternally?: SitePurgedExternally;\n  /** Emitted when Odeditor is attached. */\n  odeditorAssigned?: OdeditorAssigned;\n  /** Emitted when Odeditor is detached. */\n  odeditorUnassigned?: OdeditorUnassigned;\n  /** Emitted when Picasso is attached. */\n  picassoAssigned?: PicassoAssigned;\n  /** Emitted when Picasso is detached. */\n  picassoUnassigned?: PicassoUnassigned;\n  /** Emitted when Wixel is attached. */\n  wixelAssigned?: WixelAssigned;\n  /** Emitted when Wixel is detached. */\n  wixelUnassigned?: WixelUnassigned;\n  /** Emitted when StudioTwo is attached. */\n  studioTwoAssigned?: StudioTwoAssigned;\n  /** Emitted when StudioTwo is detached. */\n  studioTwoUnassigned?: StudioTwoUnassigned;\n  /** Emitted when media from user domain is enabled. */\n  userDomainMediaEnabled?: UserDomainMediaEnabled;\n  /** Emitted when media from user domain is disabled. */\n  userDomainMediaDisabled?: UserDomainMediaDisabled;\n  /** Emitted when Editorless is attached. */\n  editorlessAssigned?: EditorlessAssigned;\n  /** Emitted when Editorless is detached. */\n  editorlessUnassigned?: EditorlessUnassigned;\n}\n\nexport interface Asset {\n  /**\n   * An application definition id (app_id in dev-center). For legacy reasons may be UUID or a string (from Java Enum).\n   * @maxLength 36\n   */\n  appDefId?: string;\n  /**\n   * An instance id. For legacy reasons may be UUID or a string.\n   * @maxLength 200\n   */\n  instanceId?: string;\n  /** An application state. */\n  state?: StateWithLiterals;\n}\n\nexport enum State {\n  UNKNOWN = 'UNKNOWN',\n  ENABLED = 'ENABLED',\n  DISABLED = 'DISABLED',\n  PENDING = 'PENDING',\n  DEMO = 'DEMO',\n}\n\n/** @enumType */\nexport type StateWithLiterals =\n  | State\n  | 'UNKNOWN'\n  | 'ENABLED'\n  | 'DISABLED'\n  | 'PENDING'\n  | 'DEMO';\n\nexport interface SiteCreated {\n  /**\n   * A template identifier (empty if not created from a template).\n   * @maxLength 36\n   */\n  originTemplateId?: string;\n  /**\n   * An account id of the owner.\n   * @format GUID\n   */\n  ownerId?: string;\n  /** A context in which meta site was created. */\n  context?: SiteCreatedContextWithLiterals;\n  /**\n   * A meta site id from which this site was created.\n   *\n   * In case of a creation from a template it's a template id.\n   * In case of a site duplication (\"Save As\" in dashboard or duplicate in UM) it's an id of a source site.\n   * @format GUID\n   */\n  originMetaSiteId?: string | null;\n  /**\n   * A meta site name (URL slug).\n   * @maxLength 20\n   */\n  siteName?: string;\n  /** A namespace. */\n  namespace?: NamespaceWithLiterals;\n}\n\nexport enum SiteCreatedContext {\n  /** A valid option, we don't expose all reasons why site might be created. */\n  OTHER = 'OTHER',\n  /** A meta site was created from template. */\n  FROM_TEMPLATE = 'FROM_TEMPLATE',\n  /** A meta site was created by copying of the transfferred meta site. */\n  DUPLICATE_BY_SITE_TRANSFER = 'DUPLICATE_BY_SITE_TRANSFER',\n  /** A copy of existing meta site. */\n  DUPLICATE = 'DUPLICATE',\n  /** A meta site was created as a transfferred site (copy of the original), old flow, should die soon. */\n  OLD_SITE_TRANSFER = 'OLD_SITE_TRANSFER',\n  /** deprecated A meta site was created for Flash editor. */\n  FLASH = 'FLASH',\n}\n\n/** @enumType */\nexport type SiteCreatedContextWithLiterals =\n  | SiteCreatedContext\n  | 'OTHER'\n  | 'FROM_TEMPLATE'\n  | 'DUPLICATE_BY_SITE_TRANSFER'\n  | 'DUPLICATE'\n  | 'OLD_SITE_TRANSFER'\n  | 'FLASH';\n\nexport enum Namespace {\n  UNKNOWN_NAMESPACE = 'UNKNOWN_NAMESPACE',\n  /** Default namespace for UGC sites. MetaSites with this namespace will be shown in a user's site list by default. */\n  WIX = 'WIX',\n  /** ShoutOut stand alone product. These are siteless (no actual Wix site, no HtmlWeb). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  SHOUT_OUT = 'SHOUT_OUT',\n  /** MetaSites created by the Albums product, they appear as part of the Albums app. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  ALBUMS = 'ALBUMS',\n  /** Part of the WixStores migration flow, a user tries to migrate and gets this site to view and if the user likes it then stores removes this namespace and deletes the old site with the old stores. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  WIX_STORES_TEST_DRIVE = 'WIX_STORES_TEST_DRIVE',\n  /** Hotels standalone (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  HOTELS = 'HOTELS',\n  /** Clubs siteless MetaSites, a club without a wix website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  CLUBS = 'CLUBS',\n  /** A partially created ADI website. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  ONBOARDING_DRAFT = 'ONBOARDING_DRAFT',\n  /** AppBuilder for AppStudio / shmite (c). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  DEV_SITE = 'DEV_SITE',\n  /** LogoMaker websites offered to the user after logo purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  LOGOS = 'LOGOS',\n  /** VideoMaker websites offered to the user after video purchase. MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  VIDEO_MAKER = 'VIDEO_MAKER',\n  /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  PARTNER_DASHBOARD = 'PARTNER_DASHBOARD',\n  /** MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  DEV_CENTER_COMPANY = 'DEV_CENTER_COMPANY',\n  /**\n   * A draft created by HTML editor on open. Upon \"first save\" it will be moved to be of WIX domain.\n   *\n   * Meta site with this namespace will *not* be shown in a user's site list by default.\n   */\n  HTML_DRAFT = 'HTML_DRAFT',\n  /**\n   * the user-journey for Fitness users who want to start from managing their business instead of designing their website.\n   * Will be accessible from Site List and will not have a website app.\n   * Once the user attaches a site, the site will become a regular wixsite.\n   */\n  SITELESS_BUSINESS = 'SITELESS_BUSINESS',\n  /** Belongs to \"strategic products\" company. Supports new product in the creator's economy space. */\n  CREATOR_ECONOMY = 'CREATOR_ECONOMY',\n  /** It is to be used in the Business First efforts. */\n  DASHBOARD_FIRST = 'DASHBOARD_FIRST',\n  /** Bookings business flow with no site. */\n  ANYWHERE = 'ANYWHERE',\n  /** Namespace for Headless Backoffice with no editor */\n  HEADLESS = 'HEADLESS',\n  /**\n   * Namespace for master site that will exist in parent account that will be referenced by subaccounts\n   * The site will be used for account level CSM feature for enterprise\n   */\n  ACCOUNT_MASTER_CMS = 'ACCOUNT_MASTER_CMS',\n  /** Rise.ai Siteless account management for Gift Cards and Store Credit. */\n  RISE = 'RISE',\n  /**\n   * As part of the branded app new funnel, users now can create a meta site that will be branded app first.\n   * There's a blank site behind the scene but it's blank).\n   * The Mobile company will be the owner of this namespace.\n   */\n  BRANDED_FIRST = 'BRANDED_FIRST',\n  /** Nownia.com Siteless account management for Ai Scheduling Assistant. */\n  NOWNIA = 'NOWNIA',\n  /**\n   * UGC Templates are templates that are created by users for personal use and to sale to other users.\n   * The Partners company owns this namespace.\n   */\n  UGC_TEMPLATE = 'UGC_TEMPLATE',\n  /** Codux Headless Sites */\n  CODUX = 'CODUX',\n  /** Bobb - AI Design Creator. */\n  MEDIA_DESIGN_CREATOR = 'MEDIA_DESIGN_CREATOR',\n  /**\n   * Shared Blog Site is a unique single site across Enterprise account,\n   * This site will hold all Blog posts related to the Marketing product.\n   */\n  SHARED_BLOG_ENTERPRISE = 'SHARED_BLOG_ENTERPRISE',\n  /** Standalone forms (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  STANDALONE_FORMS = 'STANDALONE_FORMS',\n  /** Standalone events (siteless). MetaSites with this namespace will *not* be shown in a user's site list by default. */\n  STANDALONE_EVENTS = 'STANDALONE_EVENTS',\n  /** MIMIR - Siteless account for MIMIR Ai Job runner. */\n  MIMIR = 'MIMIR',\n  /** Wix Twins platform. */\n  TWINS = 'TWINS',\n  /** Wix Nano. */\n  NANO = 'NANO',\n  /** Base44 headless sites. */\n  BASE44 = 'BASE44',\n  /** Wix Channels Sites */\n  CHANNELS = 'CHANNELS',\n}\n\n/** @enumType */\nexport type NamespaceWithLiterals =\n  | Namespace\n  | 'UNKNOWN_NAMESPACE'\n  | 'WIX'\n  | 'SHOUT_OUT'\n  | 'ALBUMS'\n  | 'WIX_STORES_TEST_DRIVE'\n  | 'HOTELS'\n  | 'CLUBS'\n  | 'ONBOARDING_DRAFT'\n  | 'DEV_SITE'\n  | 'LOGOS'\n  | 'VIDEO_MAKER'\n  | 'PARTNER_DASHBOARD'\n  | 'DEV_CENTER_COMPANY'\n  | 'HTML_DRAFT'\n  | 'SITELESS_BUSINESS'\n  | 'CREATOR_ECONOMY'\n  | 'DASHBOARD_FIRST'\n  | 'ANYWHERE'\n  | 'HEADLESS'\n  | 'ACCOUNT_MASTER_CMS'\n  | 'RISE'\n  | 'BRANDED_FIRST'\n  | 'NOWNIA'\n  | 'UGC_TEMPLATE'\n  | 'CODUX'\n  | 'MEDIA_DESIGN_CREATOR'\n  | 'SHARED_BLOG_ENTERPRISE'\n  | 'STANDALONE_FORMS'\n  | 'STANDALONE_EVENTS'\n  | 'MIMIR'\n  | 'TWINS'\n  | 'NANO'\n  | 'BASE44'\n  | 'CHANNELS';\n\n/** Site transferred to another user. */\nexport interface SiteTransferred {\n  /**\n   * A previous owner id (user that transfers meta site).\n   * @format GUID\n   */\n  oldOwnerId?: string;\n  /**\n   * A new owner id (user that accepts meta site).\n   * @format GUID\n   */\n  newOwnerId?: string;\n}\n\n/** Soft deletion of the meta site. Could be restored. */\nexport interface SiteDeleted {\n  /** A deletion context. */\n  deleteContext?: DeleteContext;\n}\n\nexport interface DeleteContext {\n  /** When the meta site was deleted. */\n  dateDeleted?: Date | null;\n  /** A status. */\n  deleteStatus?: DeleteStatusWithLiterals;\n  /**\n   * A reason (flow).\n   * @maxLength 255\n   */\n  deleteOrigin?: string;\n  /**\n   * A service that deleted it.\n   * @maxLength 255\n   */\n  initiatorId?: string | null;\n}\n\nexport enum DeleteStatus {\n  UNKNOWN = 'UNKNOWN',\n  TRASH = 'TRASH',\n  DELETED = 'DELETED',\n  PENDING_PURGE = 'PENDING_PURGE',\n  PURGED_EXTERNALLY = 'PURGED_EXTERNALLY',\n}\n\n/** @enumType */\nexport type DeleteStatusWithLiterals =\n  | DeleteStatus\n  | 'UNKNOWN'\n  | 'TRASH'\n  | 'DELETED'\n  | 'PENDING_PURGE'\n  | 'PURGED_EXTERNALLY';\n\n/** Restoration of the meta site. */\nexport interface SiteUndeleted {}\n\n/** First publish of a meta site. Or subsequent publish after unpublish. */\nexport interface SitePublished {}\n\nexport interface SiteUnpublished {\n  /**\n   * A list of URLs previously associated with the meta site.\n   * @maxLength 4000\n   * @maxSize 10000\n   */\n  urls?: string[];\n}\n\nexport interface SiteMarkedAsTemplate {}\n\nexport interface SiteMarkedAsWixSite {}\n\n/**\n * Represents a service provisioned a site.\n *\n * Note on `origin_instance_id`:\n * There is no guarantee that you will be able to find a meta site using `origin_instance_id`.\n * This is because of the following scenario:\n *\n * Imagine you have a template where a third-party application (TPA) includes some stub data,\n * such as a product catalog. When you create a site from this template, you inherit this\n * default product catalog. However, if the template's product catalog is modified,\n * your site will retain the catalog as it was at the time of site creation. This ensures that\n * your site remains consistent with what you initially received and does not include any\n * changes made to the original template afterward.\n * To ensure this, the TPA on the template gets a new instance_id.\n */\nexport interface ServiceProvisioned {\n  /**\n   * Either UUID or EmbeddedServiceType.\n   * @maxLength 36\n   */\n  appDefId?: string;\n  /**\n   * Not only UUID. Something here could be something weird.\n   * @maxLength 36\n   */\n  instanceId?: string;\n  /**\n   * An instance id from which this instance is originated.\n   * @maxLength 36\n   */\n  originInstanceId?: string;\n  /**\n   * A version.\n   * @maxLength 500\n   */\n  version?: string | null;\n  /**\n   * The origin meta site id\n   * @format GUID\n   */\n  originMetaSiteId?: string | null;\n}\n\nexport interface ServiceRemoved {\n  /**\n   * Either UUID or EmbeddedServiceType.\n   * @maxLength 36\n   */\n  appDefId?: string;\n  /**\n   * Not only UUID. Something here could be something weird.\n   * @maxLength 36\n   */\n  instanceId?: string;\n  /**\n   * A version.\n   * @maxLength 500\n   */\n  version?: string | null;\n}\n\n/** Rename of the site. Meaning, free public url has been changed as well. */\nexport interface SiteRenamed {\n  /**\n   * A new meta site name (URL slug).\n   * @maxLength 20\n   */\n  newSiteName?: string;\n  /**\n   * A previous meta site name (URL slug).\n   * @maxLength 255\n   */\n  oldSiteName?: string;\n}\n\n/**\n * Hard deletion of the meta site.\n *\n * Could not be restored. Therefore it's desirable to cleanup data.\n */\nexport interface SiteHardDeleted {\n  /** A deletion context. */\n  deleteContext?: DeleteContext;\n}\n\nexport interface NamespaceChanged {\n  /** A previous namespace. */\n  oldNamespace?: NamespaceWithLiterals;\n  /** A new namespace. */\n  newNamespace?: NamespaceWithLiterals;\n}\n\n/** Assigned Studio editor */\nexport interface StudioAssigned {}\n\n/** Unassigned Studio editor */\nexport interface StudioUnassigned {}\n\n/**\n * Fired in case site URLs were changed in any way: new secondary domain, published, account slug rename, site rename etc.\n *\n * This is an internal event, it's not propagated in special events, because it's non-actionable. If you need to keep up\n * with sites and its urls, you need to listen to another topic/event. Read about it:\n *\n * https://bo.wix.com/wix-docs/rest/meta-site/meta-site---urls-service\n */\nexport interface SiteUrlChanged {}\n\n/**\n * Used at the end of the deletion flow for both draft sites and when a user deletes a site.\n * Consumed by other teams to remove relevant data.\n */\nexport interface SitePurgedExternally {\n  /**\n   * @maxLength 2048\n   * @maxSize 100\n   * @deprecated\n   * @targetRemovalDate 2025-04-15\n   */\n  appDefId?: string[];\n}\n\n/** Assigned Odeditor */\nexport interface OdeditorAssigned {}\n\n/** Unassigned Odeditor */\nexport interface OdeditorUnassigned {}\n\n/** Assigned Picasso editor */\nexport interface PicassoAssigned {}\n\n/** Unassigned Picasso */\nexport interface PicassoUnassigned {}\n\n/** Assigned Wixel */\nexport interface WixelAssigned {}\n\n/** Unassigned Wixel */\nexport interface WixelUnassigned {}\n\n/** Assigned StudioTwo */\nexport interface StudioTwoAssigned {}\n\n/** Unassigned StudioTwo */\nexport interface StudioTwoUnassigned {}\n\n/** Media from user domain is enabled. */\nexport interface UserDomainMediaEnabled {}\n\n/** Media from user domain is disabled. */\nexport interface UserDomainMediaDisabled {}\n\n/** Assigned Editorless */\nexport interface EditorlessAssigned {}\n\n/** Unassigned Editorless */\nexport interface EditorlessUnassigned {}\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?: V4SiteCreated;\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?: V4SiteCreated;\n  /** Properties were cloned on site cloning. */\n  siteCloned?: SiteCloned;\n}\n\nexport interface PropertiesChange {}\n\nexport interface V4SiteCreated {\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 FeatureEvent extends FeatureEventEventOneOf {\n  /**\n   * Information about an event that makes a feature eligible to the user.\n   * Triggered for example, for new features or when a feature is reassigned\n   * to an account or a site.\n   */\n  enabled?: FeatureEnabled;\n  /**\n   * Information about an event that disables a feature for the user.\n   * Triggered for example, when a feature is unassigned from a site,\n   * reassigned to a different site, or the user switched to a different contract.\n   */\n  disabled?: FeatureDisabled;\n  /**\n   * Information about an event that updates a feature. An `updated` event\n   * is triggered for example by the\n   * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)\n   * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)\n   * endpoints.\n   */\n  updated?: FeatureUpdated;\n  /**\n   * Information about an event that cancels a feature for the user.\n   * Triggered for example, when a feature is canceled, transferred to\n   * another account, or the user switched to a different contract.\n   */\n  cancelled?: FeatureCancelled;\n  /**\n   * Information about a quota usage change for a feature. Triggered when\n   * quota usage is reported via Report Quota Usage endpoint. Includes\n   * before/after usage and remaining values.\n   */\n  quotaUsageChanged?: FeatureQuotaUsageChanged;\n  /**\n   * Timestamp of the event in\n   * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time).\n   */\n  timestamp?: Date | null;\n}\n\n/** @oneof */\nexport interface FeatureEventEventOneOf {\n  /**\n   * Information about an event that makes a feature eligible to the user.\n   * Triggered for example, for new features or when a feature is reassigned\n   * to an account or a site.\n   */\n  enabled?: FeatureEnabled;\n  /**\n   * Information about an event that disables a feature for the user.\n   * Triggered for example, when a feature is unassigned from a site,\n   * reassigned to a different site, or the user switched to a different contract.\n   */\n  disabled?: FeatureDisabled;\n  /**\n   * Information about an event that updates a feature. An `updated` event\n   * is triggered for example by the\n   * [Report Quota Usage](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/report-quota-usage)\n   * and [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter)\n   * endpoints.\n   */\n  updated?: FeatureUpdated;\n  /**\n   * Information about an event that cancels a feature for the user.\n   * Triggered for example, when a feature is canceled, transferred to\n   * another account, or the user switched to a different contract.\n   */\n  cancelled?: FeatureCancelled;\n  /**\n   * Information about a quota usage change for a feature. Triggered when\n   * quota usage is reported via Report Quota Usage endpoint. Includes\n   * before/after usage and remaining values.\n   */\n  quotaUsageChanged?: FeatureQuotaUsageChanged;\n}\n\n/** Feature created or enabled after disabled state */\nexport interface FeatureEnabled extends FeatureEnabledReasonOneOf {\n  /** Information about a transfer from another account. */\n  transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;\n  /** Information about a transfer from another site. */\n  reassignedFromSite?: ReassignedFromSiteReason;\n  /** Information about a feature that hadn't been assigned to site. */\n  assignedFromFloating?: AssignedFromFloatingReason;\n  /** Information about the new feature. */\n  newFeature?: NewFeatureReason;\n  /** Information about the contract switch. */\n  contractSwitched?: ContractSwitchedReason;\n  /** Information about the manually created features. */\n  manualFeatureCreation?: ManualFeatureCreationReason;\n  /** Information about a feature that was migrated from legacy. */\n  migratedFromLegacy?: MigratedFromLegacyReason;\n  /** Information about manual sync (e.g. immigrator task). */\n  manualSync?: ManualSyncReason;\n  /** Enabled feature. */\n  feature?: Feature;\n  /**\n   * Information about a transfer from another account.\n   * __Deprecated__. Use `reason.transferred_from_another_account` instead.\n   * @format GUID\n   */\n  transferredFromAccount?: string | null;\n  /**\n   * Information about a transfer from another site.\n   * __Deprecated__. Use `reason.reassigned_from_site` instead.\n   * @format GUID\n   */\n  reassignedFromMetasite?: string | null;\n}\n\n/** @oneof */\nexport interface FeatureEnabledReasonOneOf {\n  /** Information about a transfer from another account. */\n  transferredFromAnotherAccount?: TransferredFromAnotherAccountReason;\n  /** Information about a transfer from another site. */\n  reassignedFromSite?: ReassignedFromSiteReason;\n  /** Information about a feature that hadn't been assigned to site. */\n  assignedFromFloating?: AssignedFromFloatingReason;\n  /** Information about the new feature. */\n  newFeature?: NewFeatureReason;\n  /** Information about the contract switch. */\n  contractSwitched?: ContractSwitchedReason;\n  /** Information about the manually created features. */\n  manualFeatureCreation?: ManualFeatureCreationReason;\n  /** Information about a feature that was migrated from legacy. */\n  migratedFromLegacy?: MigratedFromLegacyReason;\n  /** Information about manual sync (e.g. immigrator task). */\n  manualSync?: ManualSyncReason;\n}\n\nexport interface Feature extends FeatureQuantityInfoOneOf {\n  /**\n   * Deprecated. Use `enabled` instead.\n   * @deprecated\n   */\n  booleanFeature?: BooleanFeature;\n  /**\n   * Deprecated. Use `quotaInfo` instead.\n   * @deprecated\n   */\n  quotaFeature?: QuotaFeature;\n  /**\n   * ID of the feature. __Note:__ Isn't unique. For example, all features that\n   * are available to free Wix accounts or site in some capacity have\n   * `{\"id\": \"DEFAULT\"}`. Use `uniqueName` as unique identifier for a feature.\n   * @readonly\n   */\n  _id?: string;\n  /**\n   * Unique name of the feature. Only lower case letters, numbers, and dashes\n   * `-` are supported. Used in the endpoints of the\n   * [Features Manager API](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/introduction)\n   * to specify the feature. Not visible to customers. We recommend to start\n   * the unique name with a prefix describing your organization or Wix company.\n   * For example, `bookings` or `crm`.\n   *\n   * Min: 2 characters\n   * Max: 50 characters\n   * @minLength 2\n   * @maxLength 50\n   */\n  uniqueName?: string;\n  /**\n   * Information about whether the feature belongs to a Wix account or site.\n   * Account features have `context.userId`. Site features have `context.metaSiteId` in case\n   * they're assigned to a specific site. Site features that aren't assigned to\n   * a specific site have neither ID.\n   */\n  context?: FeatureContext;\n  /**\n   * Deprecated.\n   * @readonly\n   * @deprecated\n   */\n  createdAt?: Date | null;\n  /**\n   * Deprecated.\n   * @readonly\n   * @deprecated\n   */\n  updatedAt?: Date | null;\n  /**\n   * Aggregated information about how often customers can use the feature.\n   * Available only for quota features.\n   */\n  quotaInfo?: QuotaInfo;\n  /**\n   * Whether the customer is currently allowed to use the feature.\n   * `true` means that the customer can use the feature. This means a boolean\n   * feature is active or a quota feature has remaining usage.\n   * `false` means that the customer can't use the feature.\n   * This means a boolean feature isn't active or a quota feature doesn't\n   * have remaining usage.\n   */\n  enabled?: boolean;\n  /**\n   * ID of the [subscription](https://bo.wix.com/wix-docs/rest/premium/premium-subscriptions-manager/subscription-object)\n   * to which the feature instance belongs.\n   * @format GUID\n   */\n  subscriptionId?: string | null;\n  /**\n   * Metadata of the feature. Wix Premium uses the metadata object to indicate\n   * that customers who purchase a product with the feature also get\n   * access to an additional product. For these bundled products `metadata`\n   * looks like this: `{\"tpa\": \"{\"appDefId\": \"sample-app-def-id-1234567890\", \"vendorProductId\": \"sample-productId\"}}\"`.\n   * But you can use the `metadata` property for other purposes, too.\n   */\n  metadata?: Record<string, string>;\n}\n\n/** @oneof */\nexport interface FeatureQuantityInfoOneOf {\n  /**\n   * Deprecated. Use `enabled` instead.\n   * @deprecated\n   */\n  booleanFeature?: BooleanFeature;\n  /**\n   * Deprecated. Use `quotaInfo` instead.\n   * @deprecated\n   */\n  quotaFeature?: QuotaFeature;\n}\n\n/**\n * Context this feature is currently connected to.\n * Note: Do not confuse with feature scope which is configured in the product catalog\n * and defines in which context the product can be used\n */\nexport interface FeatureContext {\n  /**\n   * ID of the Wix account that the feature instance belongs to.\n   * Available for both site and account level feature instances.\n   * @format GUID\n   */\n  userId?: string;\n  /**\n   * ID of the meta site that the feature instance is assigned to.\n   * Only available for site level feature instances that are assigned to a Wix\n   * site. Not available for account level and unassigned site level feature\n   * instances.\n   * @format GUID\n   */\n  metaSiteId?: string | null;\n}\n\n/**\n * A feature that can be either \"enabled\" or \"disabled\". The default/freemium setting is always OFF, and the premium setting is always ON (meaning, unlimited usage without tracking).\n * A boolean feature is similar to a quantitive feature with a default limit of 0 and UNLIMITED premium limit (although a bit simplified).\n */\nexport interface BooleanFeature {}\n\n/** A feature with a periodic usage limitation. The default limit is defined in the Feature Spec, the Premium limits are defined in the respective ProductFeature. */\nexport interface QuotaFeature {\n  /** Default (or Freemium) quota limitation. if left undefined the free feature has unlimited amount. */\n  limit?: string | null;\n  /** Periodic time-frame to reset the usage counter. You may use NO_PERIOD if counter shouldn't be reset. */\n  period?: FeaturePeriodWithLiterals;\n  /** Usage measurement units (seconds? MBs? unitless?). Usage reported will be counted in multiples of this basic unit. */\n  units?: string | null;\n}\n\n/** Determines the reset cycle of the feature usage. */\nexport enum FeaturePeriod {\n  NO_PERIOD = 'NO_PERIOD',\n  MILLISECOND = 'MILLISECOND',\n  SECOND = 'SECOND',\n  MINUTE = 'MINUTE',\n  HOUR = 'HOUR',\n  DAY = 'DAY',\n  WEEK = 'WEEK',\n  MONTH = 'MONTH',\n  YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type FeaturePeriodWithLiterals =\n  | FeaturePeriod\n  | 'NO_PERIOD'\n  | 'MILLISECOND'\n  | 'SECOND'\n  | 'MINUTE'\n  | 'HOUR'\n  | 'DAY'\n  | 'WEEK'\n  | 'MONTH'\n  | 'YEAR';\n\nexport interface QuotaInfo {\n  /**\n   * Aggregation of how often the customer is allowed to use the feature at the time of the request.\n   * `null` means that the customer has unlimited access to the feature.\n   */\n  limit?: string | null;\n  /**\n   * Deprecated because a feature can have multiple periods defined. Use `period` in `breakdown` entries instead.\n   * Time frame for the usage limitation. `NO_PERIOD` means that `remainingUsage`\n   * isn't automatically reset to the feature's `limit` after a specific period.\n   * You may still manually call\n   * [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter).\n   * @deprecated\n   * @replacedBy breakdown.period\n   * @targetRemovalDate 2026-03-31\n   */\n  period?: FeaturePeriodWithLiterals;\n  /**\n   * Aggregation of how often the customer has used the feature.\n   * This value is retrieved from the Quota Manager/Rate Limiter system. If the\n   * `exclude_quota_usage` field in the `ListFeaturesRequest` was set to `true`,\n   * this field will contain the value `-1`.\n   */\n  currentUsage?: string;\n  /**\n   * Aggregation of how often the customer can still use the feature.\n   * `null` means that the customer has unlimited access to the feature.\n   * This value is retrieved from the Quota Manager/Rate Limiter system. If the\n   * `exclude_quota_usage` field in the `ListFeaturesRequest` was set to `true`,\n   * this field will not be populated.\n   */\n  remainingUsage?: string | null;\n  /**\n   * Breakdown of quota information entries, entry per feature instance.\n   * @maxSize 1000\n   */\n  breakdown?: QuotaInfoEntry[];\n}\n\nexport interface QuotaInfoEntry {\n  /**\n   * If quota is of free feature, the id would be empty (None).\n   * If quota is of premium feature, this is the ID of the feature instance.\n   * @format GUID\n   */\n  featureInstanceId?: string | null;\n  /**\n   * How often the customer is allowed to use the feature during the specified\n   * period. `null` means that the customer has unlimited access to the feature.\n   */\n  limit?: string | null;\n  /**\n   * Time frame for the usage limitation. `NO_PERIOD` means that `remainingUsage`\n   * isn't automatically reset to the feature's `limit` after a specific period.\n   * You may still manually call\n   * [Reset Usage Counter](https://bo.wix.com/wix-docs/rest/premium/premium-features-manager/reset-usage-counter).\n   */\n  period?: FeaturePeriodWithLiterals;\n  /**\n   * How often the customer has used the feature during the current\n   * period.\n   * This value is retrieved from the Quota Manager/Rate Limiter system. If the\n   * `exclude_quota_usage` field in the `ListFeaturesRequest` was set to `true`,\n   * this field will contain the value `-1`.\n   */\n  currentUsage?: string;\n  /**\n   * How often the customer can still use the feature during the current\n   * period. `null` means that the customer has unlimited access to the feature.\n   * This value is retrieved from the Quota Manager/Rate Limiter system. If the\n   * `exclude_quota_usage` field in the `ListFeaturesRequest` was set to `true`,\n   * this field will not be populated.\n   */\n  remainingUsage?: string | null;\n  /**\n   * ID of the subscription to which the feature instance belongs.\n   * @format GUID\n   */\n  subscriptionId?: string | null;\n  /**\n   * Reset date of the quota.\n   * Relevant only for features with a period that is not `NO_PERIOD`, and only for features that are managed by the Quota Manager system.\n   */\n  resetDate?: Date | null;\n}\n\n/** Subscription transferred from another account, features on the current account were enabled. */\nexport interface TransferredFromAnotherAccountReason {\n  /**\n   * Information about a transfer from another account.\n   * @format GUID\n   */\n  transferredFromAccount?: string;\n}\n\n/** Subscription moved from one site to another in the same account, features enabled on the target site */\nexport interface ReassignedFromSiteReason {\n  /**\n   * Information about a transfer from another site.\n   * @format GUID\n   */\n  reassignedFromMetasite?: string;\n}\n\n/** Subscription was floating and assigned to site, features enabled on the target site */\nexport interface AssignedFromFloatingReason {}\n\n/** New subscription created and features created as enabled */\nexport interface NewFeatureReason {}\n\n/** Subscription was upgraded or downgraded, as a result new features enabled, missing features disabled , quantities are updated */\nexport interface ContractSwitchedReason {\n  /** Classification of the contract switch (upgrade, downgrade, or price increase) */\n  classification?: ContractSwitchClassificationWithLiterals;\n}\n\n/**\n * Classification of contract switch events for quota reset behavior\n * Needed to determine whether to reset usage and/or reset date for features affected by the contract switch.\n * For example, for an upgrade we want to reset both usage and date.\n * For a downgrade we want to keep the usage and date but update the limit, and for a price increase we want to reset the usage but keep the date.\n */\nexport enum ContractSwitchClassification {\n  /** Unknown or unclassified contract switch */\n  UNKNOWN = 'UNKNOWN',\n  /** Upgrade - reset usage, reset date, and update limit */\n  UPGRADE = 'UPGRADE',\n  /** Downgrade - only update limit (no reset) */\n  DOWNGRADE = 'DOWNGRADE',\n  /** Price increase - reset usage only (not reset date), update limit */\n  PRICE_INCREASE = 'PRICE_INCREASE',\n}\n\n/** @enumType */\nexport type ContractSwitchClassificationWithLiterals =\n  | ContractSwitchClassification\n  | 'UNKNOWN'\n  | 'UPGRADE'\n  | 'DOWNGRADE'\n  | 'PRICE_INCREASE';\n\n/** a call to CreateFeature in features-writer, creates feature that is not attached to subscription */\nexport interface ManualFeatureCreationReason {}\n\n/** Subscription created due to migration from old premium model */\nexport interface MigratedFromLegacyReason {}\n\n/** Feature was synced manually, for example by immigrator task */\nexport interface ManualSyncReason {\n  /**\n   * Optional description of the manual sync source (e.g. \"immigrator\", \"quota-sync\").\n   * @maxLength 100\n   */\n  source?: string | null;\n}\n\n/** Feature disabled and can be enabled in the future */\nexport interface FeatureDisabled extends FeatureDisabledReasonOneOf {\n  /** Information about a feature that's no longer assigned to a site. */\n  unassingedToFloating?: UnAssingedToFloatingReason;\n  /**\n   * Information about a feature that's been replaced by a feature from a\n   * different subscription.\n   */\n  replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;\n  /**\n   * Information about a feature that's been reassigned to a different\n   * site.\n   */\n  reassignedToAnotherSite?: ReassignedToAnotherSiteReason;\n  /**\n   * Disabled feature. Includes information about the feature's new state,\n   * possibly its new context.\n   */\n  feature?: Feature;\n  /**\n   * ID of the meta site for which the feature has been disabled.\n   * @format GUID\n   */\n  metaSiteId?: string | null;\n}\n\n/** @oneof */\nexport interface FeatureDisabledReasonOneOf {\n  /** Information about a feature that's no longer assigned to a site. */\n  unassingedToFloating?: UnAssingedToFloatingReason;\n  /**\n   * Information about a feature that's been replaced by a feature from a\n   * different subscription.\n   */\n  replacedByAnotherSubscription?: ReplacedByAnotherSubscriptionReason;\n  /**\n   * Information about a feature that's been reassigned to a different\n   * site.\n   */\n  reassignedToAnotherSite?: ReassignedToAnotherSiteReason;\n}\n\n/** Subscription was unassigned from the site and moved into floating state */\nexport interface UnAssingedToFloatingReason {}\n\n/** Another subscription was assigned to the site, causing existing features on this site to be disabled */\nexport interface ReplacedByAnotherSubscriptionReason {}\n\n/** Subscription was assigned to another site, causing  features on the origin  site to be disabled. */\nexport interface ReassignedToAnotherSiteReason {\n  /**\n   * Information about a transfer to the site.\n   * @format GUID\n   */\n  reassignedToMetasite?: string;\n}\n\n/** Feature updated, for example Quota was increased due to upgrade */\nexport interface FeatureUpdated\n  extends FeatureUpdatedPreviousQuantityInfoOneOf,\n    FeatureUpdatedReasonOneOf {\n  /** Information about a feature that doesn't have a usage quota. */\n  booleanFeature?: BooleanFeature;\n  /** Information about a feature that has a usage quota. */\n  quotaFeature?: QuotaFeature;\n  /** Information about the contract switch. */\n  contractSwitched?: ContractSwitchedReason;\n  /** Information about manual sync (e.g. immigrator task). */\n  manualSync?: ManualSyncReason;\n  /**\n   * Updated feature. Includes information about the feature's new state and\n   * possibly its new context.\n   */\n  feature?: Feature;\n}\n\n/** @oneof */\nexport interface FeatureUpdatedPreviousQuantityInfoOneOf {\n  /** Information about a feature that doesn't have a usage quota. */\n  booleanFeature?: BooleanFeature;\n  /** Information about a feature that has a usage quota. */\n  quotaFeature?: QuotaFeature;\n}\n\n/** @oneof */\nexport interface FeatureUpdatedReasonOneOf {\n  /** Information about the contract switch. */\n  contractSwitched?: ContractSwitchedReason;\n  /** Information about manual sync (e.g. immigrator task). */\n  manualSync?: ManualSyncReason;\n}\n\n/** Feature was permanently cancelled */\nexport interface FeatureCancelled extends FeatureCancelledReasonOneOf {\n  /** Information about a transfer to the account. */\n  transferredToAnotherAccount?: TransferredToAnotherAccountReason;\n  /** Information about the contract switch. */\n  contractSwitched?: ContractSwitchedReason;\n  /** Information about the feature cancellation. */\n  cancelRequest?: CancelRequestedReason;\n  /** Information about manual sync (e.g. immigrator task). */\n  manualSync?: ManualSyncReason;\n  /** Canceled feature. */\n  feature?: Feature;\n  /**\n   * Information about a transfer to the account.\n   * __Deprecated__. Use `reason.transferred_to_account` instead.\n   * @format GUID\n   */\n  transferredToAccount?: string | null;\n}\n\n/** @oneof */\nexport interface FeatureCancelledReasonOneOf {\n  /** Information about a transfer to the account. */\n  transferredToAnotherAccount?: TransferredToAnotherAccountReason;\n  /** Information about the contract switch. */\n  contractSwitched?: ContractSwitchedReason;\n  /** Information about the feature cancellation. */\n  cancelRequest?: CancelRequestedReason;\n  /** Information about manual sync (e.g. immigrator task). */\n  manualSync?: ManualSyncReason;\n}\n\n/** Subscription was transferred to another account, features in the origin account were cancelled */\nexport interface TransferredToAnotherAccountReason {\n  /**\n   * Information about a transfer to the account.\n   * @format GUID\n   */\n  transferredToAccount?: string;\n}\n\n/** Cancellation was requested from the subscription manager api, might be a result of billing event, or direct call */\nexport interface CancelRequestedReason {}\n\n/** Quota usage changed for a feature. */\nexport interface FeatureQuotaUsageChanged {\n  /** Full feature state before this quota usage report. */\n  featureBefore?: Feature;\n  /** Full feature state after this quota usage report. */\n  featureAfter?: Feature;\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 UpdateReservationLocationValidationErrors = {\n  ruleName?: 'RESERVATION_LOCATION_VIOLATION';\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 ReservationLocationCreatedEnvelope {\n  entity: ReservationLocation;\n  metadata: EventMetadata;\n}\n\n/**\n * Triggered when a reservation location is updated.\n * @permissionScope Read Reservation Locations (Full)\n * @permissionScopeId SCOPE.DC-RESERVATIONS.READ-LOCATIONS-FULL\n * @permissionScope Manage Reservation Locations\n * @permissionScopeId SCOPE.DC-RESERVATIONS.MANAGE-LOCATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ_FULL\n * @webhook\n * @eventType wix.table_reservations.v1.reservation_location_created\n * @serviceIdentifier wix.table_reservations.reservation_location.v1.ReservationLocationsService\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onReservationLocationCreated(\n  handler: (event: ReservationLocationCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ReservationLocationUpdatedEnvelope {\n  entity: ReservationLocation;\n  metadata: EventMetadata;\n  /** @hidden */\n  modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a reservation location is updated.\n * @permissionScope Read Reservation Locations (Full)\n * @permissionScopeId SCOPE.DC-RESERVATIONS.READ-LOCATIONS-FULL\n * @permissionScope Manage Reservation Locations\n * @permissionScopeId SCOPE.DC-RESERVATIONS.MANAGE-LOCATIONS\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ_FULL\n * @webhook\n * @eventType wix.table_reservations.v1.reservation_location_updated\n * @serviceIdentifier wix.table_reservations.reservation_location.v1.ReservationLocationsService\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onReservationLocationUpdated(\n  handler: (event: ReservationLocationUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Retrieves a reservation location by ID.\n * @param reservationLocationId - ID of the ReservationLocation to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField reservationLocationId\n * @param options - An object representing the available options for retrieving a reservation location.\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ_FULL\n * @applicableIdentity APP\n * @returns The retrieved reservation location.\n * @fqn wix.table_reservations.reservation_location.v1.ReservationLocationsService.GetReservationLocation\n */\nexport async function getReservationLocation(\n  reservationLocationId: string\n): Promise<\n  NonNullablePaths<\n    ReservationLocation,\n    | `configuration.onlineReservations.approval.mode`\n    | `configuration.onlineReservations.seatPacing.number`\n    | `configuration.onlineReservations.seatPacing.enabled`\n    | `configuration.onlineReservations.partyPacing.number`\n    | `configuration.onlineReservations.partyPacing.enabled`\n    | `configuration.onlineReservations.partiesSize.min`\n    | `configuration.onlineReservations.partiesSize.max`\n    | `configuration.onlineReservations.partySize.min`\n    | `configuration.onlineReservations.partySize.max`\n    | `configuration.onlineReservations.minimumReservationNotice.number`\n    | `configuration.onlineReservations.minimumReservationNotice.unit`\n    | `configuration.onlineReservations.turnoverTimeRules`\n    | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMin`\n    | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMax`\n    | `configuration.onlineReservations.turnoverTimeRules.${number}.minutes`\n    | `configuration.onlineReservations.businessSchedule.periods`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.openDay`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.openTime`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.closeDay`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.closeTime`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.startDate`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.endDate`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.isClosed`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.comment`\n    | `configuration.onlineReservations.manualApproval.partySizeThreshold`\n    | `configuration.onlineReservations.manualApproval.enabled`\n    | `configuration.reservationForm.termsAndConditions.enabled`\n    | `configuration.reservationForm.privacyPolicy.enabled`\n    | `configuration.reservationForm.customFieldDefinitions`\n    | `configuration.reservationForm.customFieldDefinitions.${number}.name`\n    | `configuration.reservationForm.customFieldDefinitions.${number}.required`\n    | `configuration.reservationForm.emailMarketingCheckbox.enabled`\n    | `configuration.reservationForm.emailMarketingCheckbox.checkedByDefault`\n    | `configuration.myReservationsFields`\n    | `configuration.myReservationsFields.${number}.fieldType`\n    | `configuration.myReservationsFields.${number}.shown`\n    | `configuration.tableManagement.mode`\n    | `configuration.tableManagement.tableDefinitions`\n    | `configuration.tableManagement.tableDefinitions.${number}.name`\n    | `configuration.tableManagement.tableDefinitions.${number}.seatsMin`\n    | `configuration.tableManagement.tableDefinitions.${number}.seatsMax`\n    | `configuration.tableManagement.deletedTableDefinitions`\n    | `configuration.tableManagement.tableCombinations`\n    | `configuration.tableManagement.tableCombinations.${number}.seatsMin`\n    | `configuration.tableManagement.tableCombinations.${number}.seatsMax`\n    | `configuration.paymentPolicy.perGuestOptions.price`\n    | `configuration.paymentPolicy.perGuestOptions.minPartySize`\n    | `configuration.paymentPolicy.perReservationOptions.price`\n    | `configuration.paymentPolicy.perReservationOptions.minPartySize`\n    | `configuration.paymentPolicy.paymentPolicyType`,\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    reservationLocationId: reservationLocationId,\n  });\n\n  const reqOpts =\n    ambassadorWixTableReservationsV1ReservationLocation.getReservationLocation(\n      payload\n    );\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: transformRESTAddressToSDKAddress,\n          paths: [{ path: 'reservationLocation.location.address' }],\n        },\n        {\n          transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n          paths: [\n            {\n              path: 'reservationLocation.configuration.reservationForm.termsAndConditions.url',\n            },\n            {\n              path: 'reservationLocation.configuration.reservationForm.privacyPolicy.url',\n            },\n          ],\n        },\n      ])\n    )?.reservationLocation!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { reservationLocationId: '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['reservationLocationId']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\n/**\n * Updates a reservation location. Supports partial updates.\n *\n * Each time the reservation location is updated, `revision` increments by 1. The existing revision must be included when updating the reservation location. This ensures you're working with the latest reservation location information, and it prevents unintended overwrites.\n *\n * You cannot use this method to change a reservation location's `location` object. Attempting to do so will cause the server to return an application error.\n * @param _id - Reservation location ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField reservationLocation\n * @requiredField reservationLocation.revision\n * @param reservationLocation - Reservation location information to update.\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_UPDATE\n * @applicableIdentity APP\n * @returns The updated reservation location.\n * @fqn wix.table_reservations.reservation_location.v1.ReservationLocationsService.UpdateReservationLocation\n */\nexport async function updateReservationLocation(\n  _id: string,\n  reservationLocation: NonNullablePaths<\n    UpdateReservationLocation,\n    `revision`,\n    2\n  >\n): Promise<\n  NonNullablePaths<\n    ReservationLocation,\n    | `configuration.onlineReservations.approval.mode`\n    | `configuration.onlineReservations.seatPacing.number`\n    | `configuration.onlineReservations.seatPacing.enabled`\n    | `configuration.onlineReservations.partyPacing.number`\n    | `configuration.onlineReservations.partyPacing.enabled`\n    | `configuration.onlineReservations.partiesSize.min`\n    | `configuration.onlineReservations.partiesSize.max`\n    | `configuration.onlineReservations.partySize.min`\n    | `configuration.onlineReservations.partySize.max`\n    | `configuration.onlineReservations.minimumReservationNotice.number`\n    | `configuration.onlineReservations.minimumReservationNotice.unit`\n    | `configuration.onlineReservations.turnoverTimeRules`\n    | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMin`\n    | `configuration.onlineReservations.turnoverTimeRules.${number}.seatsMax`\n    | `configuration.onlineReservations.turnoverTimeRules.${number}.minutes`\n    | `configuration.onlineReservations.businessSchedule.periods`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.openDay`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.openTime`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.closeDay`\n    | `configuration.onlineReservations.businessSchedule.periods.${number}.closeTime`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.startDate`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.endDate`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.isClosed`\n    | `configuration.onlineReservations.businessSchedule.specialHourPeriod.${number}.comment`\n    | `configuration.onlineReservations.manualApproval.partySizeThreshold`\n    | `configuration.onlineReservations.manualApproval.enabled`\n    | `configuration.reservationForm.termsAndConditions.enabled`\n    | `configuration.reservationForm.privacyPolicy.enabled`\n    | `configuration.reservationForm.customFieldDefinitions`\n    | `configuration.reservationForm.customFieldDefinitions.${number}.name`\n    | `configuration.reservationForm.customFieldDefinitions.${number}.required`\n    | `configuration.reservationForm.emailMarketingCheckbox.enabled`\n    | `configuration.reservationForm.emailMarketingCheckbox.checkedByDefault`\n    | `configuration.myReservationsFields`\n    | `configuration.myReservationsFields.${number}.fieldType`\n    | `configuration.myReservationsFields.${number}.shown`\n    | `configuration.tableManagement.mode`\n    | `configuration.tableManagement.tableDefinitions`\n    | `configuration.tableManagement.tableDefinitions.${number}.name`\n    | `configuration.tableManagement.tableDefinitions.${number}.seatsMin`\n    | `configuration.tableManagement.tableDefinitions.${number}.seatsMax`\n    | `configuration.tableManagement.deletedTableDefinitions`\n    | `configuration.tableManagement.tableCombinations`\n    | `configuration.tableManagement.tableCombinations.${number}.seatsMin`\n    | `configuration.tableManagement.tableCombinations.${number}.seatsMax`\n    | `configuration.paymentPolicy.perGuestOptions.price`\n    | `configuration.paymentPolicy.perGuestOptions.minPartySize`\n    | `configuration.paymentPolicy.perReservationOptions.price`\n    | `configuration.paymentPolicy.perReservationOptions.minPartySize`\n    | `configuration.paymentPolicy.paymentPolicyType`,\n    7\n  > & {\n    __validationErrorsType?: UpdateReservationLocationValidationErrors;\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      reservationLocation: { ...reservationLocation, id: _id },\n    }),\n    [\n      {\n        transformFn: transformSDKAddressToRESTAddress,\n        paths: [{ path: 'reservationLocation.location.address' }],\n      },\n      {\n        transformFn: transformSDKPageURLV2ToRESTPageURLV2,\n        paths: [\n          {\n            path: 'reservationLocation.configuration.reservationForm.termsAndConditions.url',\n          },\n          {\n            path: 'reservationLocation.configuration.reservationForm.privacyPolicy.url',\n          },\n        ],\n      },\n    ]\n  );\n\n  const reqOpts =\n    ambassadorWixTableReservationsV1ReservationLocation.updateReservationLocation(\n      payload\n    );\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: transformRESTAddressToSDKAddress,\n          paths: [{ path: 'reservationLocation.location.address' }],\n        },\n        {\n          transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n          paths: [\n            {\n              path: 'reservationLocation.configuration.reservationForm.termsAndConditions.url',\n            },\n            {\n              path: 'reservationLocation.configuration.reservationForm.privacyPolicy.url',\n            },\n          ],\n        },\n      ])\n    )?.reservationLocation!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: { reservationLocation: '$[1]' },\n        explicitPathsToArguments: { 'reservationLocation.id': '$[0]' },\n        singleArgumentUnchanged: false,\n      },\n      ['_id', 'reservationLocation']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface UpdateReservationLocation {\n  /**\n   * Reservation location ID.\n   * @format GUID\n   * @readonly\n   */\n  _id?: string | null;\n  /**\n   * Represents the current state of a reservation location. Each time the reservation location is modified, its `revision` changes. For an update operation to succeed, you must specify the latest revision.\n   * @immutable\n   */\n  revision?: string | null;\n  /**\n   * The date and time this reservation location was created.\n   * @readonly\n   */\n  _createdDate?: Date | null;\n  /**\n   * The date and time this reservation location was last updated.\n   * @readonly\n   */\n  _updatedDate?: Date | null;\n  /**\n   * Physical location details.\n   *\n   * Locations can be created and configured using the Locations API.\n   * or on the [Business Info](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Fsettings/business-info) page in the Dashboard.\n   * @readonly\n   */\n  location?: Location;\n  /** Reservation location configuration. */\n  configuration?: Configuration;\n  /**\n   * Whether this reservation location's `location` is the default location of the business.\n   * @readonly\n   */\n  default?: boolean | null;\n  /**\n   * Whether this reservation location's `location` is archived.\n   * @readonly\n   */\n  archived?: boolean | null;\n  /**\n   * Custom field data for the reservation location object.\n   *\n   * [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.\n   */\n  extendedFields?: ExtendedFields;\n}\n\n/**\n * Creates a query to retrieve a list of reservation locations.\n *\n *\n * The `queryReservationLocations()` function builds a query to retrieve a list of reservation locations and returns a `ReservationLocationsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the [find()](/reservation-locations/reservation-locations-query-builder/find) function.\n *\n * You can refine the query by chaining `ReservationLocationsQueryBuilder` functions onto the query. `ReservationLocationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryReservationLocations()` returns.\n *\n * `queryReservationLocations()` runs with the following `ReservationLocationsQueryBuilder` defaults, which you can override:\n *\n * * [`limit(50)`](/reservation-locations/reservation-locations-query-builder/limit)\n *\n * The following `ReservationLocationsQueryBuilder` functions are supported for `queryReservationLocations()`. For a full description of the reservation location object, see the object returned for the [`items`](/reservation-locations/reservation-locations-query-result/items) property in [`ReservationLocationsQueryResult`](/reservation-locations/reservation-locations-query-result).\n * @public\n * @documentationMaturity preview\n * @param options - An object representing the available options for querying reservation locations.\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ_FULL\n * @applicableIdentity APP\n * @fqn wix.table_reservations.reservation_location.v1.ReservationLocationsService.QueryReservationLocations\n */\nexport function queryReservationLocations(): ReservationLocationsQueryBuilder {\n  // @ts-ignore\n  const { httpClient, sideEffects } = arguments[0] as {\n    httpClient: HttpClient;\n    sideEffects?: any;\n  };\n\n  return queryBuilder<\n    ReservationLocation,\n    'CURSOR',\n    QueryReservationLocationsRequest,\n    QueryReservationLocationsResponse\n  >({\n    func: async (payload: QueryReservationLocationsRequest) => {\n      const reqOpts =\n        ambassadorWixTableReservationsV1ReservationLocation.queryReservationLocations(\n          payload\n        );\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: QueryReservationLocationsRequest['query']) => {\n      const args = [query, {}] as [\n        QueryReservationLocationsRequest['query'],\n        {}\n      ];\n      return renameKeysFromSDKRequestToRESTRequest({\n        ...args?.[1],\n        query: args?.[0],\n      });\n    },\n    responseTransformer: ({\n      data,\n    }: HttpResponse<QueryReservationLocationsResponse>) => {\n      const transformedData = renameKeysFromRESTResponseToSDKResponse(\n        transformPaths(data, [\n          {\n            transformFn: transformRESTAddressToSDKAddress,\n            paths: [{ path: 'reservationLocations.location.address' }],\n          },\n          {\n            transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n            paths: [\n              {\n                path: 'reservationLocations.configuration.reservationForm.termsAndConditions.url',\n              },\n              {\n                path: 'reservationLocations.configuration.reservationForm.privacyPolicy.url',\n              },\n            ],\n          },\n        ])\n      );\n\n      return {\n        items: transformedData?.reservationLocations,\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 ReservationLocationsQueryResult extends QueryCursorResult {\n  items: ReservationLocation[];\n  query: ReservationLocationsQueryBuilder;\n  next: () => Promise<ReservationLocationsQueryResult>;\n  prev: () => Promise<ReservationLocationsQueryResult>;\n}\n\nexport interface ReservationLocationsQueryBuilder {\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  eq: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;\n  /** @param propertyName - Property whose value is compared with `value`.\n   * @param value - Value to compare against.\n   * @documentationMaturity preview\n   */\n  ne: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;\n  /** @documentationMaturity preview */\n  in: (propertyName: '_id', value: any) => ReservationLocationsQueryBuilder;\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) => ReservationLocationsQueryBuilder;\n  /** @param cursor - A pointer to specific record\n   * @documentationMaturity preview\n   */\n  skipTo: (cursor: string) => ReservationLocationsQueryBuilder;\n  /** @documentationMaturity preview */\n  find: () => Promise<ReservationLocationsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.table_reservations.reservation_location.v1.ReservationLocationsService.QueryReservationLocations\n * @requiredField query\n */\nexport async function typedQueryReservationLocations(\n  query: ReservationLocationQuery\n): Promise<\n  NonNullablePaths<\n    QueryReservationLocationsResponse,\n    | `reservationLocations`\n    | `reservationLocations.${number}.configuration.tableManagement.mode`\n    | `reservationLocations.${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    ambassadorWixTableReservationsV1ReservationLocation.queryReservationLocations(\n      payload\n    );\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: transformRESTAddressToSDKAddress,\n          paths: [{ path: 'reservationLocations.location.address' }],\n        },\n        {\n          transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n          paths: [\n            {\n              path: 'reservationLocations.configuration.reservationForm.termsAndConditions.url',\n            },\n            {\n              path: 'reservationLocations.configuration.reservationForm.privacyPolicy.url',\n            },\n          ],\n        },\n      ])\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 ReservationLocationQuerySpec extends QuerySpec {\n  paging: 'cursor';\n  wql: [\n    {\n      fields: ['_id'];\n      operators: ['$eq', '$in', '$ne'];\n      sort: 'NONE';\n    }\n  ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n  ReservationLocation,\n  ReservationLocationQuerySpec\n>;\nexport type ReservationLocationQuery = {\n  /** \n  Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.  \n  */\n  cursorPaging?: {\n    /** \n  Number of items to load. \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  You can get the relevant cursor token\n  from the `pagingMetadata` object in the previous call's response.\n  Not relevant for the first request.  \n  */\n    cursor?:\n      | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n      | null;\n  };\n  /** \n  Filter object in the following format:\n  `\"filter\" : {\n  \"fieldName1\": \"value1\",\n  \"fieldName2\":{\"$operator\":\"value2\"}\n  }`\n\n  For a detailed list of supported operations, see the [Supported Filters and Sorting](https://dev.wix.com/docs/rest/api-reference/wix-restaurants/reservations/reservations/sorting-and-filtering) article.\n  To learn how to query reservations, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).  \n  */\n  filter?: CommonQueryWithEntityContext['filter'] | null;\n  /** \n  Sort object in the following format:\n  `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`  \n  */\n  sort?: {\n    /** \n  Name of the field to sort by.  \n  */\n    fieldName?: NonNullable<\n      CommonQueryWithEntityContext['sort']\n    >[number]['fieldName'];\n    /** \n  Sort order.\n\n  Defaults to `ASC`.  \n  */\n    order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n  }[];\n};\n\nexport const utils = {\n  ...createQueryUtils<\n    ReservationLocation,\n    ReservationLocationQuerySpec,\n    ReservationLocationQuery\n  >(),\n};\n\n/**\n * Retrieves a list of up to 100 reservation locations.\n * @public\n * @documentationMaturity preview\n * @param options - An object representing the available options for listing reservation locations.\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ\n * @permissionId TABLE_RESERVATIONS.RESERVATION_LOCATION_READ_FULL\n * @applicableIdentity APP\n * @fqn wix.table_reservations.reservation_location.v1.ReservationLocationsService.ListReservationLocations\n */\nexport async function listReservationLocations(\n  options?: ListReservationLocationsOptions\n): Promise<\n  NonNullablePaths<\n    ListReservationLocationsResponse,\n    | `reservationLocations`\n    | `reservationLocations.${number}.configuration.tableManagement.mode`\n    | `reservationLocations.${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({\n    paging: options?.paging,\n    sort: options?.sort,\n  });\n\n  const reqOpts =\n    ambassadorWixTableReservationsV1ReservationLocation.listReservationLocations(\n      payload\n    );\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: transformRESTAddressToSDKAddress,\n          paths: [{ path: 'reservationLocations.location.address' }],\n        },\n        {\n          transformFn: transformRESTPageURLV2ToSDKPageURLV2,\n          paths: [\n            {\n              path: 'reservationLocations.configuration.reservationForm.termsAndConditions.url',\n            },\n            {\n              path: 'reservationLocations.configuration.reservationForm.privacyPolicy.url',\n            },\n          ],\n        },\n      ])\n    )!;\n  } catch (err: any) {\n    const transformedError = sdkTransformError(\n      err,\n      {\n        spreadPathsToArguments: {},\n        explicitPathsToArguments: { paging: '$[0].paging', sort: '$[0].sort' },\n        singleArgumentUnchanged: false,\n      },\n      ['options']\n    );\n    sideEffects?.onError?.(err);\n\n    throw transformedError;\n  }\n}\n\nexport interface ListReservationLocationsOptions {\n  /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n  paging?: CursorPaging;\n  /** Sorting for the locations list. */\n  sort?: Sorting;\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 resolveWixTableReservationsReservationLocationV1ReservationLocationsServiceUrl(\n  opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n  const domainToMappings = {\n    'www.wixapis.com': [\n      {\n        srcPath: '/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'www._base_domain_': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'manage._base_domain_': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'editor.wixapps.net': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'editor._base_domain_': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'blocks._base_domain_': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'create.editorx': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    _: [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    '*.dev.wix-code.com': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'apps._base_domain_': [\n      {\n        srcPath: '/_api/table-reservations/reservation-locations',\n        destPath: '',\n      },\n    ],\n    'api._api_base_domain_': [\n      {\n        srcPath: '/reservation-locations',\n        destPath: '',\n      },\n    ],\n  };\n\n  return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_table-reservations_reservation-locations';\n\n/** Retrieves a reservation location by ID. */\nexport function getReservationLocation(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __getReservationLocation({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.table_reservations.v1.reservation_location',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.table_reservations.reservation_location.v1.ReservationLocationsService.GetReservationLocation',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixTableReservationsReservationLocationV1ReservationLocationsServiceUrl(\n        {\n          protoPath: '/v1/reservation-locations/{reservationLocationId}',\n          data: payload,\n          host,\n        }\n      ),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'reservationLocation.createdDate' },\n              { path: 'reservationLocation.updatedDate' },\n              {\n                path: 'reservationLocation.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n              },\n              {\n                path: 'reservationLocation.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n              },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'reservationLocation.location.address.geocode.latitude' },\n              {\n                path: 'reservationLocation.location.address.geocode.longitude',\n              },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __getReservationLocation;\n}\n\n/**\n * Updates a reservation location. Supports partial updates.\n *\n * Each time the reservation location is updated, `revision` increments by 1. The existing revision must be included when updating the reservation location. This ensures you're working with the latest reservation location information, and it prevents unintended overwrites.\n *\n * You cannot use this method to change a reservation location's `location` object. Attempting to do so will cause the server to return an application error.\n */\nexport function updateReservationLocation(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __updateReservationLocation({ host }: any) {\n    const serializedData = transformPaths(payload, [\n      {\n        transformFn: transformSDKFieldMaskToRESTFieldMask,\n        paths: [{ path: 'mask' }],\n      },\n      {\n        transformFn: transformSDKTimestampToRESTTimestamp,\n        paths: [\n          { path: 'reservationLocation.createdDate' },\n          { path: 'reservationLocation.updatedDate' },\n          {\n            path: 'reservationLocation.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n          },\n          {\n            path: 'reservationLocation.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n          },\n        ],\n      },\n      {\n        transformFn: transformSDKFloatToRESTFloat,\n        paths: [\n          { path: 'reservationLocation.location.address.geocode.latitude' },\n          { path: 'reservationLocation.location.address.geocode.longitude' },\n        ],\n      },\n    ]);\n    const metadata = {\n      entityFqdn: 'wix.table_reservations.v1.reservation_location',\n      method: 'PATCH' as any,\n      methodFqn:\n        'wix.table_reservations.reservation_location.v1.ReservationLocationsService.UpdateReservationLocation',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixTableReservationsReservationLocationV1ReservationLocationsServiceUrl(\n        {\n          protoPath: '/v1/reservation-locations/{reservationLocation.id}',\n          data: serializedData,\n          host,\n        }\n      ),\n      data: serializedData,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'reservationLocation.createdDate' },\n              { path: 'reservationLocation.updatedDate' },\n              {\n                path: 'reservationLocation.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n              },\n              {\n                path: 'reservationLocation.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n              },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              { path: 'reservationLocation.location.address.geocode.latitude' },\n              {\n                path: 'reservationLocation.location.address.geocode.longitude',\n              },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __updateReservationLocation;\n}\n\n/**\n * Creates a query to retrieve a list of reservation locations.\n *\n *\n * The `queryReservationLocations()` function builds a query to retrieve a list of reservation locations and returns a `ReservationLocationsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the [find()](/reservation-locations/reservation-locations-query-builder/find) function.\n *\n * You can refine the query by chaining `ReservationLocationsQueryBuilder` functions onto the query. `ReservationLocationsQueryBuilder` functions enable you to filter, sort, and control the results that `queryReservationLocations()` returns.\n *\n * `queryReservationLocations()` runs with the following `ReservationLocationsQueryBuilder` defaults, which you can override:\n *\n * * [`limit(50)`](/reservation-locations/reservation-locations-query-builder/limit)\n *\n * The following `ReservationLocationsQueryBuilder` functions are supported for `queryReservationLocations()`. For a full description of the reservation location object, see the object returned for the [`items`](/reservation-locations/reservation-locations-query-result/items) property in [`ReservationLocationsQueryResult`](/reservation-locations/reservation-locations-query-result).\n */\nexport function queryReservationLocations(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __queryReservationLocations({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.table_reservations.v1.reservation_location',\n      method: 'POST' as any,\n      methodFqn:\n        'wix.table_reservations.reservation_location.v1.ReservationLocationsService.QueryReservationLocations',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixTableReservationsReservationLocationV1ReservationLocationsServiceUrl(\n        { protoPath: '/v1/reservation-locations/query', data: payload, host }\n      ),\n      data: payload,\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'reservationLocations.createdDate' },\n              { path: 'reservationLocations.updatedDate' },\n              {\n                path: 'reservationLocations.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n              },\n              {\n                path: 'reservationLocations.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n              },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              {\n                path: 'reservationLocations.location.address.geocode.latitude',\n              },\n              {\n                path: 'reservationLocations.location.address.geocode.longitude',\n              },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __queryReservationLocations;\n}\n\n/** Retrieves a list of up to 100 reservation locations. */\nexport function listReservationLocations(\n  payload: object\n): RequestOptionsFactory<any> {\n  function __listReservationLocations({ host }: any) {\n    const metadata = {\n      entityFqdn: 'wix.table_reservations.v1.reservation_location',\n      method: 'GET' as any,\n      methodFqn:\n        'wix.table_reservations.reservation_location.v1.ReservationLocationsService.ListReservationLocations',\n      packageName: PACKAGE_NAME,\n      migrationOptions: {\n        optInTransformResponse: true,\n      },\n      url: resolveWixTableReservationsReservationLocationV1ReservationLocationsServiceUrl(\n        { protoPath: '/v1/reservation-locations', data: payload, host }\n      ),\n      params: toURLSearchParams(payload),\n      transformResponse: (payload: any) =>\n        transformPaths(payload, [\n          {\n            transformFn: transformRESTTimestampToSDKTimestamp,\n            paths: [\n              { path: 'reservationLocations.createdDate' },\n              { path: 'reservationLocations.updatedDate' },\n              {\n                path: 'reservationLocations.configuration.onlineReservations.pauseSettings.standardReservations.pauseFrom',\n              },\n              {\n                path: 'reservationLocations.configuration.onlineReservations.pauseSettings.standardReservations.pauseUntil',\n              },\n            ],\n          },\n          {\n            transformFn: transformRESTFloatToSDKFloat,\n            paths: [\n              {\n                path: 'reservationLocations.location.address.geocode.latitude',\n              },\n              {\n                path: 'reservationLocations.location.address.geocode.longitude',\n              },\n            ],\n          },\n        ]),\n    };\n\n    return metadata;\n  }\n\n  return __listReservationLocations;\n}\n","import {\n  getReservationLocation as publicGetReservationLocation,\n  updateReservationLocation as publicUpdateReservationLocation,\n  queryReservationLocations as publicQueryReservationLocations,\n  typedQueryReservationLocations as publicTypedQueryReservationLocations,\n  listReservationLocations as publicListReservationLocations,\n} from './table-reservations-v1-reservation-location-reservation-locations.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  ReservationLocationQuery,\n  ReservationLocationsQueryBuilder,\n  typedQueryReservationLocations as universalTypedQueryReservationLocations,\n} from './table-reservations-v1-reservation-location-reservation-locations.universal.js';\nimport { onReservationLocationCreated as publicOnReservationLocationCreated } from './table-reservations-v1-reservation-location-reservation-locations.public.js';\nimport { onReservationLocationUpdated as publicOnReservationLocationUpdated } from './table-reservations-v1-reservation-location-reservation-locations.public.js';\n\nfunction customQueryReservationLocations(httpClient: HttpClient) {\n  const router = createQueryOverloadRouter({\n    builderQueryFunction: () => publicQueryReservationLocations(httpClient)(),\n    typedQueryFunction: (query: ReservationLocationQuery) =>\n      publicTypedQueryReservationLocations(httpClient)(query),\n    hasOptionsParameter: false,\n  });\n\n  function overloadedQuery(): ReservationLocationsQueryBuilder;\n  function overloadedQuery(\n    query: ReservationLocationQuery\n  ): ReturnType<typeof universalTypedQueryReservationLocations>;\n  function overloadedQuery(query?: ReservationLocationQuery): any {\n    return router(...arguments);\n  }\n\n  return overloadedQuery;\n}\n\nexport const getReservationLocation: MaybeContext<\n  BuildRESTFunction<typeof publicGetReservationLocation> &\n    typeof publicGetReservationLocation\n> = /*#__PURE__*/ createRESTModule(publicGetReservationLocation);\nexport const updateReservationLocation: MaybeContext<\n  BuildRESTFunction<typeof publicUpdateReservationLocation> &\n    typeof publicUpdateReservationLocation\n> = /*#__PURE__*/ createRESTModule(publicUpdateReservationLocation);\nexport const listReservationLocations: MaybeContext<\n  BuildRESTFunction<typeof publicListReservationLocations> &\n    typeof publicListReservationLocations\n> = /*#__PURE__*/ createRESTModule(publicListReservationLocations);\nexport const queryReservationLocations: MaybeContext<\n  BuildRESTFunction<typeof customQueryReservationLocations> &\n    typeof customQueryReservationLocations\n> = /*#__PURE__*/ createRESTModule(customQueryReservationLocations);\n/**\n * Triggered when a reservation location is updated.\n */\nexport const onReservationLocationCreated: BuildEventDefinition<\n  typeof publicOnReservationLocationCreated\n> &\n  typeof publicOnReservationLocationCreated = createEventModule(\n  publicOnReservationLocationCreated\n);\n/**\n * Triggered when a reservation location is updated.\n */\nexport const onReservationLocationUpdated: BuildEventDefinition<\n  typeof publicOnReservationLocationUpdated\n> &\n  typeof publicOnReservationLocationUpdated = createEventModule(\n  publicOnReservationLocationUpdated\n);\n\nexport {\n  CommonDayOfWeek,\n  TableManagementMode,\n  Unit,\n  Mode,\n  FieldType,\n  PaymentPolicyType,\n  Type,\n  SortOrder,\n  State,\n  SiteCreatedContext,\n  Namespace,\n  DeleteStatus,\n  PlacementType,\n  DayOfWeek,\n  ResolutionMethod,\n  FeaturePeriod,\n  ContractSwitchClassification,\n  WebhookIdentityType,\n} from './table-reservations-v1-reservation-location-reservation-locations.universal.js';\nexport {\n  ReservationLocation,\n  StreetAddress,\n  AddressLocation,\n  LocationAddress,\n  CommonBusinessSchedule,\n  CommonTimePeriod,\n  CommonSpecialHourPeriod,\n  TableDefinition,\n  TableCombination,\n  ManualForLargePartiesOptions,\n  StandardReservations,\n  Approval,\n  ApprovalOptionsOneOf,\n  SeatPacing,\n  PartyPacing,\n  PartiesSize,\n  PartySize,\n  NoticePeriod,\n  TurnoverTimeRule,\n  TurnoverRule,\n  PauseSettings,\n  ManualApproval,\n  ManualApprovalValueOneOf,\n  TermsAndConditions,\n  TermsAndConditionsValueOneOf,\n  PrivacyPolicy,\n  PrivacyPolicyValueOneOf,\n  CustomFieldDefinition,\n  EmailMarketingCheckbox,\n  PerGuestOptions,\n  PerReservationOptions,\n  OnlineReservations,\n  ReservationForm,\n  MyReservationsField,\n  TableManagement,\n  ReservationPayment,\n  PaymentPolicy,\n  PaymentPolicyOptionsOneOf,\n  Location,\n  Configuration,\n  ExtendedFields,\n  InvalidateCache,\n  InvalidateCacheGetByOneOf,\n  App,\n  Page,\n  URI,\n  File,\n  CustomTag,\n  Pages,\n  URIs,\n  GetReservationLocationRequest,\n  GetReservationLocationResponse,\n  UpdateReservationLocationRequest,\n  UpdateReservationLocationResponse,\n  TablesDeleted,\n  ReservationLocationViolation,\n  ReservationLocationViolationViolationOneOf,\n  DuplicatedName,\n  DuplicatedId,\n  Violation,\n  TableCombinationIdsDuplicationViolationViolation,\n  TableCombinationTableIdsDuplicationViolationViolation,\n  NonExistentTablesInTableCombinationViolationViolation,\n  NotAllReservationFieldsViolation,\n  ReservationFieldNotExistViolation,\n  ReservationFieldMustHaveTypeViolation,\n  CustomFieldNamesDuplicationViolation,\n  CustomFieldIdsDuplicationViolation,\n  TableDefinitionNamesDuplicationViolation,\n  TableDefinitionIdsDuplicationViolation,\n  TableDefinitionNotExistViolation,\n  TableDefinitionIncorrectBoundariesViolation,\n  TurnoverTimeRulesIntersectViolation,\n  TurnoverTimeRulesIncorrectBoundariesViolation,\n  TableCombinationIdsDuplicationViolation,\n  TableCombinationTableIdsDuplicationViolation,\n  TableCombinationTableIdsCombinationDuplicationViolation,\n  TableCombinationNotExistViolation,\n  TableCombinationContainsLessThan2TablesViolation,\n  TableCombinationMinMaxSeatsViolation,\n  NonExistentTablesInTableCombinationViolation,\n  TurnoverRulesIntersectViolation,\n  TurnoverRulesIncorrectBoundariesViolation,\n  BusinessScheduleTimePeriodInvalidViolation,\n  BusinessScheduleSpecialHourPeriodInvalidViolation,\n  MyReservationsFieldsDuplicationViolation,\n  BusinessScheduleSpecialHourPeriodEndBeforeStartViolation,\n  BusinessScheduleTimePeriodCloseBeforeOpenViolation,\n  QueryReservationLocationsRequest,\n  QueryV2,\n  QueryV2PagingMethodOneOf,\n  Sorting,\n  Paging,\n  CursorPaging,\n  QueryReservationLocationsResponse,\n  PagingMetadataV2,\n  Cursors,\n  ListReservationLocationsRequest,\n  ListReservationLocationsResponse,\n  CursorPagingMetadata,\n  DeleteOrphanReservationLocationRequest,\n  DeleteOrphanReservationLocationResponse,\n  CheckReservationLocationsCreatedRequest,\n  CheckReservationLocationsCreatedResponse,\n  DomainEvent,\n  DomainEventBodyOneOf,\n  EntityCreatedEvent,\n  RestoreInfo,\n  EntityUpdatedEvent,\n  EntityDeletedEvent,\n  ActionEvent,\n  Empty,\n  MetaSiteSpecialEvent,\n  MetaSiteSpecialEventPayloadOneOf,\n  Asset,\n  SiteCreated,\n  SiteTransferred,\n  SiteDeleted,\n  DeleteContext,\n  SiteUndeleted,\n  SitePublished,\n  SiteUnpublished,\n  SiteMarkedAsTemplate,\n  SiteMarkedAsWixSite,\n  ServiceProvisioned,\n  ServiceRemoved,\n  SiteRenamed,\n  SiteHardDeleted,\n  NamespaceChanged,\n  StudioAssigned,\n  StudioUnassigned,\n  SiteUrlChanged,\n  SitePurgedExternally,\n  OdeditorAssigned,\n  OdeditorUnassigned,\n  PicassoAssigned,\n  PicassoUnassigned,\n  WixelAssigned,\n  WixelUnassigned,\n  StudioTwoAssigned,\n  StudioTwoUnassigned,\n  UserDomainMediaEnabled,\n  UserDomainMediaDisabled,\n  EditorlessAssigned,\n  EditorlessUnassigned,\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  V4SiteCreated,\n  SiteCloned,\n  FeatureEvent,\n  FeatureEventEventOneOf,\n  FeatureEnabled,\n  FeatureEnabledReasonOneOf,\n  Feature,\n  FeatureQuantityInfoOneOf,\n  FeatureContext,\n  BooleanFeature,\n  QuotaFeature,\n  QuotaInfo,\n  QuotaInfoEntry,\n  TransferredFromAnotherAccountReason,\n  ReassignedFromSiteReason,\n  AssignedFromFloatingReason,\n  NewFeatureReason,\n  ContractSwitchedReason,\n  ManualFeatureCreationReason,\n  MigratedFromLegacyReason,\n  ManualSyncReason,\n  FeatureDisabled,\n  FeatureDisabledReasonOneOf,\n  UnAssingedToFloatingReason,\n  ReplacedByAnotherSubscriptionReason,\n  ReassignedToAnotherSiteReason,\n  FeatureUpdated,\n  FeatureUpdatedPreviousQuantityInfoOneOf,\n  FeatureUpdatedReasonOneOf,\n  FeatureCancelled,\n  FeatureCancelledReasonOneOf,\n  TransferredToAnotherAccountReason,\n  CancelRequestedReason,\n  FeatureQuotaUsageChanged,\n  MessageEnvelope,\n  IdentificationData,\n  IdentificationDataIdOneOf,\n  AccountInfo,\n  BaseEventMetadata,\n  EventMetadata,\n  AccountInfoMetadata,\n  ReservationLocationCreatedEnvelope,\n  ReservationLocationUpdatedEnvelope,\n  UpdateReservationLocation,\n  ReservationLocationsQueryResult,\n  ReservationLocationsQueryBuilder,\n  ReservationLocationQuerySpec,\n  ListReservationLocationsOptions,\n} from './table-reservations-v1-reservation-location-reservation-locations.universal.js';\nexport { utils } from './table-reservations-v1-reservation-location-reservation-locations.universal.js';\nexport {\n  CommonDayOfWeekWithLiterals,\n  TableManagementModeWithLiterals,\n  UnitWithLiterals,\n  ModeWithLiterals,\n  FieldTypeWithLiterals,\n  PaymentPolicyTypeWithLiterals,\n  TypeWithLiterals,\n  SortOrderWithLiterals,\n  StateWithLiterals,\n  SiteCreatedContextWithLiterals,\n  NamespaceWithLiterals,\n  DeleteStatusWithLiterals,\n  PlacementTypeWithLiterals,\n  DayOfWeekWithLiterals,\n  ResolutionMethodWithLiterals,\n  FeaturePeriodWithLiterals,\n  ContractSwitchClassificationWithLiterals,\n  WebhookIdentityTypeWithLiterals,\n  UpdateReservationLocationValidationErrors,\n  CommonQueryWithEntityContext,\n  ReservationLocationQuery,\n} from './table-reservations-v1-reservation-location-reservation-locations.universal.js';\n"]}