import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types'; import { S as Service, C as CreateServiceValidationErrors, B as BulkCreateServicesOptions, a as BulkCreateServicesResponse, U as UpdateService, b as UpdateServiceValidationErrors, c as BulkUpdateServicesOptions, d as BulkUpdateServicesResponse, e as BulkUpdateServicesByFilterOptions, f as BulkUpdateServicesByFilterResponse, D as DeleteServiceOptions, g as BulkDeleteServicesOptions, h as BulkDeleteServicesResponse, i as BulkDeleteServicesByFilterOptions, j as BulkDeleteServicesByFilterResponse, k as ServiceSearch, l as SearchServicesResponse, m as CursorQuery, Q as QueryPoliciesResponse, n as QueryBookingFormsOptions, o as QueryBookingFormsResponse, p as QueryBookingFormsApplicationErrors, q as CountServicesOptions, r as CountServicesResponse, s as QueryLocationsOptions, t as QueryLocationsResponse, u as QueryCategoriesOptions, v as QueryCategoriesResponse, w as SetServiceLocationsOptions, x as SetServiceLocationsResponse, E as EnablePricingPlansForServiceResponse, y as EnablePricingPlansForServiceApplicationErrors, z as DisablePricingPlansForServiceOptions, A as DisablePricingPlansForServiceResponse, F as DisablePricingPlansForServiceApplicationErrors, G as SetCustomSlugOptions, H as SetCustomSlugResponse, I as SetCustomSlugApplicationErrors, J as SetCustomSlugValidationErrors, V as ValidateSlugOptions, K as ValidateSlugResponse, L as CloneServiceResponse, M as AddOnGroup, N as CreateAddOnGroupOptions, O as CreateAddOnGroupResponse, P as DeleteAddOnGroupOptions, R as DeleteAddOnGroupApplicationErrors, T as UpdateAddOnGroupOptions, W as UpdateAddOnGroupResponse, X as UpdateAddOnGroupApplicationErrors, Y as ListAddOnGroupsByServiceIdOptions, Z as ListAddOnGroupsByServiceIdResponse, _ as SetAddOnsForGroupOptions, $ as SetAddOnsForGroupResponse, a0 as SetAddOnsForGroupApplicationErrors, a1 as ServiceCreatedEnvelope, a2 as ServiceDeletedEnvelope, a3 as ServiceUpdatedEnvelope, a4 as ServiceQuery, a5 as QueryServicesOptions, a6 as typedQueryServices, a7 as ServicesQueryBuilder } from './bookings-services-v2-service-services.universal-CrtyjfbZ.js'; export { cE as AccountInfo, e$ as AccountInfoMetadata, aH as Action, cA as ActionEvent, fD as ActionWithLiterals, at as Actor, fp as ActorWithLiterals, eV as AddOn, eW as AddOnAddOnInfoOneOf, bW as AddOnDetails, eX as AddOnGroupDetail, ac as AddOnPaymentOptions, f8 as AddOnPaymentOptionsWithLiterals, cc as Address, eC as AddressHint, cf as AddressLocation, cd as AddressStreetOneOf, df as Aggregation, dw as AggregationData, dg as AggregationKindOneOf, dR as AggregationResults, dS as AggregationResultsResultOneOf, dQ as AggregationResultsScalarDateResult, dD as AggregationResultsScalarResult, aE as AggregationType, fA as AggregationTypeWithLiterals, cN as ApplicationError, bA as AvailabilityConstraints, eZ as BaseEventMetadata, er as Behavior, es as BehaviorBehaviorOneOf, en as Benefit, em as BenefitNotification, aM as BenefitType, fI as BenefitTypeWithLiterals, bk as BookAfterStartPolicy, ct as BookedAddOn, c3 as BookedEntity, c4 as BookedEntityItemOneOf, c6 as BookedResource, ca as BookedSchedule, c5 as BookedSlot, c1 as Booking, dX as BookingForm, c2 as BookingParticipantsInfoOneOf, bg as BookingPolicy, dV as BookingPolicyWithServices, ci as BookingSource, ap as BookingStatus, fl as BookingStatusWithLiterals, cO as BulkActionMetadata, cK as BulkCreateServicesRequest, d2 as BulkDeleteServicesByFilterRequest, d1 as BulkDeleteServicesRequest, cL as BulkServiceResult, cZ as BulkUpdateServicesByFilterRequest, cX as BulkUpdateServicesRequest, be as BusinessLocationOptions, e1 as BusinessLocations, eE as BusinessSchedule, bq as CancellationFeePolicy, bl as CancellationPolicy, br as CancellationWindow, bs as CancellationWindowFeeOneOf, ez as Categories, ek as Category, ej as CategoryNotification, aL as CategoryNotificationEvent, fH as CategoryNotificationEventWithLiterals, eL as ChangeContext, eM as ChangeContextPayloadOneOf, aJ as CloneErrors, fF as CloneErrorsWithLiterals, ei as CloneServiceRequest, ba as CommonAddress, bd as CommonAddressLocation, bb as CommonAddressStreetOneOf, ck as CommonIdentificationData, cl as CommonIdentificationDataIdOneOf, fO as CommonQueryWithEntityContext, fP as CommonSearchWithEntityContext, bc as CommonStreetAddress, ah as CompletionRequirement, fd as CompletionRequirementWithLiterals, b7 as Conferencing, dZ as ConnectedService, eJ as ConsentPolicy, cb as ContactDetails, d_ as CountServicesRequest, eQ as CreateAddOnGroupRequest, cF as CreateServiceRequest, cG as CreateServiceResponse, aO as CrudType, fK as CrudTypeWithLiterals, d8 as CursorPaging, dv as CursorPagingMetadata, dU as CursorQueryPagingMethodOneOf, dd as CursorSearch, de as CursorSearchPagingMethodOneOf, db as Cursors, ch as CustomFormField, bf as CustomLocationOptions, e2 as CustomLocations, bx as CustomOptions, b0 as CustomPayment, e3 as CustomerLocations, bF as DailyConfig, dn as DateHistogramAggregation, dM as DateHistogramResult, dO as DateHistogramResults, aQ as DayOfWeek, fM as DayOfWeekWithLiterals, eR as DeleteAddOnGroupRequest, eS as DeleteAddOnGroupResponse, c_ as DeleteServiceRequest, d0 as DeleteServiceResponse, ef as DisablePricingPlansForServiceRequest, ep as Discount, eq as DiscountDiscountOneOf, b5 as DiscountInfo, cu as DomainEvent, cv as DomainEventBodyOneOf, b$ as DummyRequest, c0 as DummyResponse, cr as Duration, bC as DurationRange, bD as DurationRangeConfigOneOf, el as Empty, ec as EnablePricingPlansForServiceRequest, cw as EntityCreatedEvent, cz as EntityDeletedEvent, cy as EntityUpdatedEvent, eo as EntryPass, aN as Event, e_ as EventMetadata, fJ as EventWithLiterals, bR as ExtendedFields, cJ as FieldViolation, ab as FirstChargeDateType, f7 as FirstChargeDateTypeWithLiterals, a_ as FixedPayment, cm as FlowControlSettings, aW as Form, dY as FormDetails, aX as FormSettings, aa as FrequencyType, f6 as FrequencyTypeWithLiterals, b3 as FullUpfrontPayment, eD as GeoCoordinates, cR as GetServiceAvailabilityConstraintsRequest, cS as GetServiceAvailabilityConstraintsResponse, cP as GetServiceRequest, cQ as GetServiceResponse, ds as GroupByAggregation, dt as GroupByAggregationKindOneOf, dN as GroupByValueResults, bE as HourlyConfig, eu as HtmlSitePublished, cC as IdentificationData, cD as IdentificationDataIdOneOf, au as IdentityType, fq as IdentityTypeWithLiterals, di as IncludeMissingValuesOptions, by as IntakeFormPolicy, aD as Interval, fz as IntervalWithLiterals, ee as InvalidPricingPlan, aI as InvalidSlugError, fE as InvalidSlugErrorWithLiterals, cM as ItemMetadata, bT as Keyword, bi as LimitEarlyBookingPolicy, bj as LimitLateBookingPolicy, eU as ListAddOnGroupsByServiceIdRequest, eA as Locale, c7 as Location, am as LocationType, ad as LocationTypeEnumLocationType, f9 as LocationTypeEnumLocationTypeWithLiterals, fi as LocationTypeWithLiterals, cY as MaskedService, aS as Media, aT as MediaItem, aU as MediaItemItemOneOf, cB as MessageEnvelope, aA as MissingValues, fw as MissingValuesWithLiterals, aF as Mode, fB as ModeWithLiterals, a$ as Money, eb as MoveToNewLocationsOptions, cs as MultiServiceBookingInfo, ak as MultiServiceBookingType, fg as MultiServiceBookingTypeWithLiterals, eH as Multilingual, dr as NestedAggregation, dp as NestedAggregationItem, dq as NestedAggregationItemKindOneOf, dz as NestedAggregationResults, dA as NestedAggregationResultsResultOneOf, aC as NestedAggregationType, fy as NestedAggregationTypeWithLiterals, dJ as NestedResultValue, dK as NestedResultValueResultOneOf, dP as NestedResults, dE as NestedValueAggregationResult, b6 as OnlineBooking, ev as Page, d7 as Paging, da as PagingMetadataV2, cn as ParticipantChoices, cj as ParticipantNotification, bo as ParticipantsPolicy, aY as Payment, b4 as PaymentOptions, aZ as PaymentRateOneOf, aq as PaymentStatus, fm as PaymentStatusWithLiterals, c8 as PhoneCall, aP as PlacementType, fL as PlacementTypeWithLiterals, as as Platform, fo as PlatformWithLiterals, bh as PolicyDescription, ed as PricingPlanSelection, ey as Properties, eN as PropertiesChange, dW as QueryBookingFormsRequest, e5 as QueryCategoriesFilter, e4 as QueryCategoriesRequest, e0 as QueryLocationsFilter, d$ as QueryLocationsRequest, dT as QueryPoliciesRequest, e6 as QueryServicesMultiLanguageRequest, e7 as QueryServicesMultiLanguageResponse, d3 as QueryServicesRequest, d9 as QueryServicesResponse, d4 as QueryV2, d5 as QueryV2PagingMethodOneOf, dl as RangeAggregation, dy as RangeAggregationResult, dh as RangeBucket, dG as RangeResult, dC as RangeResults, bw as RankingOptions, ae as RankingOrder, fa as RankingOrderWithLiterals, a9 as RateType, f5 as RateTypeWithLiterals, e9 as RemovedLocationSessionsAction, ea as RemovedLocationSessionsActionActionOptionsOneOf, aG as RequestedFields, fC as RequestedFieldsWithLiterals, bm as ReschedulePolicy, aR as ResolutionMethod, fN as ResolutionMethodWithLiterals, bK as ResourceGroup, bL as ResourceIds, c9 as ResourceSelection, al as ResourceTransparency, fh as ResourceTransparencyWithLiterals, bO as ResourceType, bp as ResourcesPolicy, cx as RestoreInfo, dL as Results, bt as SaveCreditCardPolicy, dm as ScalarAggregation, dI as ScalarDateResult, dH as ScalarResult, aB as ScalarType, fx as ScalarTypeWithLiterals, bz as Schedule, du as SearchDetails, dc as SearchServicesRequest, ar as SelectedPaymentOption, fn as SelectedPaymentOptionWithLiterals, an as SelectionMethod, fj as SelectionMethodWithLiterals, bS as SeoSchema, cT as ServiceAvailabilityConstraints, cp as ServiceChoice, cq as ServiceChoiceChoiceOneOf, co as ServiceChoices, f1 as ServiceQuerySpec, bM as ServiceResource, bN as ServiceResourceSelectionOneOf, f2 as ServiceSearchSpec, a8 as ServiceType, f4 as ServiceTypeWithLiterals, f0 as ServicesQueryResult, b_ as ServicesUrlsChanged, eY as SetAddOnsForGroupRequest, bZ as SetCustomSlugEvent, eg as SetCustomSlugRequest, e8 as SetServiceLocationsRequest, bV as Settings, eP as SiteCloned, eO as SiteCreated, ex as SitePropertiesEvent, ew as SitePropertiesNotification, bP as Slug, az as SortDirection, fv as SortDirectionWithLiterals, ax as SortOrder, ft as SortOrderWithLiterals, ay as SortType, fu as SortTypeWithLiterals, d6 as Sorting, af as SortingMethodType, fb as SortingMethodTypeWithLiterals, eG as SpecialHourPeriod, cU as SplitInterval, bH as StaffMediaItem, bI as StaffMediaItemItemOneOf, bG as StaffMember, bJ as StaffMemberDetails, bu as StaffSortingPolicy, bv as StaffSortingPolicyOptionsOneOf, aK as Status, fG as StatusWithLiterals, ce as StreetAddress, cg as Subdivision, b2 as SubscriptionPayment, eI as SupportedLanguage, bU as Tag, bX as TaxableAddress, aj as TaxableAddressType, ff as TaxableAddressTypeWithLiterals, eF as TimePeriod, ag as Timing, fc as TimingWithLiterals, eK as Translation, bQ as URLs, ai as UnitType, fe as UnitTypeWithLiterals, eT as UpdateAddOnGroupRequest, cV as UpdateServiceRequest, cW as UpdateServiceResponse, et as UserDomainInfoChangedEvent, aV as V2Category, bB as V2Duration, b8 as V2Location, b9 as V2LocationOptionsOneOf, c$ as V2ParticipantNotification, bY as V2PhoneCall, aw as V2RequestedFields, fs as V2RequestedFieldsWithLiterals, eB as V4Address, cH as ValidateServiceRequest, cI as ValidateServiceResponse, eh as ValidateSlugRequest, dj as ValueAggregation, dk as ValueAggregationOptionsOneOf, dx as ValueAggregationResult, dF as ValueResult, dB as ValueResults, ao as ValueType, fk as ValueTypeWithLiterals, b1 as VariedPayment, bn as WaitlistPolicy, av as WebhookIdentityType, fr as WebhookIdentityTypeWithLiterals, f3 as utils } from './bookings-services-v2-service-services.universal-CrtyjfbZ.js'; declare function createService$1(httpClient: HttpClient): CreateServiceSignature; interface CreateServiceSignature { /** * Creates a service. * * * ### Required fields * * When creating a service you must specify the following fields: * - [`type`](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-types): * Whether it's an appointment-based service, class, or course. * - `name`: Service name that's displayed to customers. * - `onlineBooking`: * Settings determining whether customers can book online, whether the business * must manually confirm bookings, and whether customers can request to book an * appointment time slot that already has a booking request awaiting business * confirmation. * - [`payment`](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments): * How customers can pay when signing up for the service. * - `defaultCapacity`: The maximum number of customers that can book the service. Required for all service types. * - For appointment-based services, it must be `1`. * - For classes, set to the maximum number of participants per session. * - For courses, set to the maximum number of participants for the course. * * ### Category * * Set `category.id` to assign the service to a [category](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/categories/introduction). * Without an assigned category, the service isn't visible on the live site. * * ### Online booking * * Set `onlineBooking.enabled` to `true` so customers can book the service online. * When enabled, the service is included in the [single-service booking flow](https://dev.wix.com/docs/api-reference/business-solutions/bookings/flow-single-service-booking). * * ### Approval * * Set `onlineBooking.requireManualApproval` to control whether bookings need business approval before confirmation. * Services with manual approval enabled can't accept pricing plan payments. * * ### Payment * * Set `payment.rateType` to `FIXED`, `VARIED`, `CUSTOM`, or `NO_FEE` and specify the corresponding rate details: * - `FIXED`: Set `payment.fixed.price`. * - `VARIED`: Set `payment.varied.defaultPrice`. * - `CUSTOM`: Set `payment.custom.description`. * - `NO_FEE`: No additional rate details required. * * Configure `payment.options` to control how customers can pay: * - `online`: Customers can pay online. Requires `rateType` of `FIXED` or `VARIED`. * - `inPerson`: Customers can pay in person. * - `deposit`: A deposit is required to book. Requires `rateType` of `FIXED` or `VARIED` and a `deposit` amount in the rate details. * - `pricingPlan`: Customers can pay using a [pricing plan](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/plans/introduction). * Can't be used in combination with manual approval. * * Learn more about [service payments](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-payments). * * ### Session durations * * Depending on which type of service you're creating, you may also need to specify * supported session durations. * * __Classes and courses__ * * Don't specify `schedule.availabilityConstraints.sessionDurations`. * * __Appointment-based services without varied pricing based on session length__ * * Specify the single supported session duration in the * `schedule.availabilityConstraints.sessionDurations` array. * * __Appointment-based services with varied pricing based on session length__ * * - Specify all supported session durations in `schedule.availabilityConstraints.sessionDurations`. * - Note that Wix Bookings doesn't display these values to customers and * ignores them in pricing and availability calculations. Instead session * durations are retrieved from the relevant [service variants](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction). * - It is mandatory to specify `schedule.availabilityConstraints.sessionDurations`, * even though these values are ignored. * * ### Buffer time * * For appointment-based services, you can set `schedule.availabilityConstraints.timeBetweenSessions` to add buffer time between booked sessions. * * ### Locations * * Set the service's location types and options. You can set 1, some, or all types simultaneously. See [About service locations](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/about-service-locations) for details. * * ### Media * * Specify `media` so customers see images when selecting the service. * Set `media.mainMedia` as the primary image and optionally `media.coverMedia` or `media.items`. * Each item is an image with `id`, `height`, and `width`, and optionally `url` and `altText`. * Refer to the [Media Manager API](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction) for details about uploading images and retrieving their IDs. * * ### Add-on groups * * Don't specify existing add-on groups when calling Create Service. * Instead, use dedicated add-on group and add-on creation methods to ensure proper validation and maintain referential integrity between services and their optional extras. * You can follow this [sample flow](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/add-ons/sample-flows#create-bookable-add-ons-for-a-new-group) to create bookable add-ons. * @param - Service to create. * @returns Created service. */ (service: Service): Promise & { __validationErrorsType?: CreateServiceValidationErrors; }>; } declare function bulkCreateServices$1(httpClient: HttpClient): BulkCreateServicesSignature; interface BulkCreateServicesSignature { /** * Creates multiple services. * * * See [Create Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/create-service) for more details. * @param - Services to create. */ (services: Service[], options?: BulkCreateServicesOptions): Promise>; } declare function getService$1(httpClient: HttpClient): GetServiceSignature; interface GetServiceSignature { /** * Retrieves a service. * @param - ID of the service to retrieve. * @returns Retrieved service. */ (serviceId: string): Promise>; } declare function updateService$1(httpClient: HttpClient): UpdateServiceSignature; interface UpdateServiceSignature { /** * Updates a service. * * * Each time the service is updated, `revision` increments by 1. You must * include the number of the existing revision when updating the service. * This ensures you're working with the latest service information and * prevents unintended overwrites. * * ### Session durations * * Specify `schedule.availabilityConstraints.sessionDurations` * only if you want to update it for appointment-based services without varied * pricing based on session length. Don't specify `schedule.availabilityConstraints.sessionDurations` * for all other appointment-based services, classes, or courses. See [Create Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/create-service#session-durations) for more details. * * ### Service locations * * Don't call Update Service to adjust service locations, call [Set Service Locations](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/set-service-locations) instead. * * ### Add-on groups * * Don't use Update Service to modify service add-on groups. Use these dedicated methods instead: * - **Update add-on group properties**: Call Update Add On Group ([SDK](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/update-add-on-group?apiView=SDK) | [REST](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/update-add-on-group)). * - **Update add-on display order**: Call Set Add Ons For Group ([SDK](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/set-add-ons-for-group?apiView=SDK) | [REST](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/set-add-ons-for-group)). * @param - Service ID. * @returns Updated service. */ (_id: string, service: NonNullablePaths): Promise & { __validationErrorsType?: UpdateServiceValidationErrors; }>; } declare function bulkUpdateServices$1(httpClient: HttpClient): BulkUpdateServicesSignature; interface BulkUpdateServicesSignature { /** * Updates up to 100 services. * * * See [Update Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/update-service) * for more details. * * The call succeeds even if one or more individual services can't be updated. * Information about failures is returned in `bulkActionMetadata`. */ (options?: NonNullablePaths): Promise>; } declare function bulkUpdateServicesByFilter$1(httpClient: HttpClient): BulkUpdateServicesByFilterSignature; interface BulkUpdateServicesByFilterSignature { /** * Updates multiple services by filter. * * * See [Query Services](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/query-services) for a list of supported filters. * * See [Update Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/update-service) for more details about updating a service. * * The call succeeds even if one or more individual services can't be updated. * Information about failures is returned in `bulkActionMetadata`. * @param - Filter to identify the services to update. */ (filter: Record, options: NonNullablePaths): Promise>; } declare function deleteService$1(httpClient: HttpClient): DeleteServiceSignature; interface DeleteServiceSignature { /** * Deletes a service. * * * Specify `{"preserveFutureSessionsWithParticipants": true}` to retain all * future sessions for the service. By default, all future sessions are canceled. * @param - ID of the service to delete. * @param - Allows you to configure how to handle the deleted service's future sessions and how to notify the sessions participants. */ (serviceId: string, options?: DeleteServiceOptions): Promise; } declare function bulkDeleteServices$1(httpClient: HttpClient): BulkDeleteServicesSignature; interface BulkDeleteServicesSignature { /** * Deletes multiple services. * * * See [Delete Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/delete-service) * for more details about deleting a service. * * The call succeeds even if one or more individual services can't be deleted. * Information about failures is returned in `bulkActionMetadata`. * @param - IDs of the services to delete. */ (ids: string[], options?: BulkDeleteServicesOptions): Promise>; } declare function bulkDeleteServicesByFilter$1(httpClient: HttpClient): BulkDeleteServicesByFilterSignature; interface BulkDeleteServicesByFilterSignature { /** * Deletes multiple services by filter. * * * See [Delete Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/delete-service) * for more details about deleting a service. * * The call succeeds even if one or more individual services can't be deleted. * Information about failures is returned in `bulkActionMetadata`. * * Refer to the [supported filters article](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/introduction#services-filtering-and-sorting) * for more details. * * To learn about working with filters in general, see * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). * @param - Filter to identify the services that need to be deleted. */ (filter: Record, options?: BulkDeleteServicesByFilterOptions): Promise>; } declare function searchServices$1(httpClient: HttpClient): SearchServicesSignature; interface SearchServicesSignature { /** * Retrieves a list of up to 100 services, given the provided filtering, paging, * and sorting. * * * ### Defaults * * Search Services has the following default settings, which you can override: * + Sorted by `createdDate` in ascending order. * + `paging.limit` set to `100`. * + `paging.offset` set to `0`. * * ### Filters * * When using filters for dates, you must use * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). * * ### See also * * To learn about working with Search methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging). * @param - Search criteria including filter, sort, aggregations, and paging options. */ (search: ServiceSearch): Promise>; } declare function queryPolicies$1(httpClient: HttpClient): QueryPoliciesSignature; interface QueryPoliciesSignature { /** * Retrieves a list of up to 100 [booking policies](https://dev.wix.com/docs/api-reference/business-solutions/bookings/policies/booking-policies/introduction), * and information about the services that are connected to them, * given the provided filtering, paging, and sorting. * * ### Defaults * * Query Policies has the following default settings, which you can override: * * + Sorted by `id` in ascending order. * + `cursorPaging.limit` set to `100`. * * ### Filters * * When using date filters, you must use * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). * * ### Returned services * * If a booking policy is connected to more than 5 services, only a subset of * those services is returned. The `bookingPolicies.totalServiceCount` values * indicate the total number of services linked to each policy. You can call [Search Services](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/search-services) * and specify the relevant policy ID in the filter to retrieve all services * connected to the booking policy. * * ### See also * * To learn about working with Query methods, see * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging). * @param - Information about filters, paging, and sorting. */ (query: CursorQuery): Promise>; } declare function queryBookingForms$1(httpClient: HttpClient): QueryBookingFormsSignature; interface QueryBookingFormsSignature { /** * Retrieves a list of up to 100 booking [forms](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/form-object), * and information about the services that are connected to them, * given the provided filtering, paging, and sorting. * * * ### Defaults * * Query Booking Forms has the following default settings, which you can override: * * + Sorted by `id` in ascending order. * + `cursorPaging.limit` set to `100`. * * ### Filters * * When using date filters, you must use * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). * * ### Returned services * * If a booking policy is connected to more than 5 services, only a subset of * these service IDs and names is returned. The `bookingForms.totalServiceCount` * values indicate the total number of services linked to each form. You can call [Query Services](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/query-services) * and specify the relevant form ID in the filter to retrieve all services * connected to the booking form. * * ### Default booking forms * * By default, all Wix Bookings services use a standard booking form. To retrieve * a site's default booking form with Query Booking Forms, specify * `{"conditionalFields": ["DEFAULT_BOOKING_FORM"]}`. * * ### See also * * To learn about working with Query methods, see * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging). * @param - Information about filters, paging, and sorting. See the article about * form filters ([REST](https://dev.wix.com/docs/rest/crm/forms/form-schemas/form-object)) * for all supported filters and sorting options. */ (query: CursorQuery, options?: QueryBookingFormsOptions): Promise & { __applicationErrorsType?: QueryBookingFormsApplicationErrors; }>; } declare function countServices$1(httpClient: HttpClient): CountServicesSignature; interface CountServicesSignature { /** * Counts how many services match the given filter. * * * See [Query Services](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/query-services) for a list of supported filters. * * To learn about working with filters in general, see * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters) */ (options?: CountServicesOptions): Promise>; } declare function queryLocations$1(httpClient: HttpClient): QueryLocationsSignature; interface QueryLocationsSignature { /** * Retrieves 3 separate lists of business, custom, and customer [locations](https://dev.wix.com/docs/api-reference/business-management/locations/introduction), * given the provided filtering, and whether each location is connected to at * least one of the site's services. * * * ### Defaults * * Query Locations has the following default setting, which you can't override: * Sorted by `id` in ascending order. * * ### Filters * * For a complete list of supported filters, refer to the `location` object * ([REST](https://dev.wix.com/docs/rest/business-management/locations/location-object)). * * When using date filters, you must use * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). * * ### See also * * To learn about working with Query methods, see * [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language) * and [Sorting and Paging](https://dev.wix.com/docs/rest/articles/getting-started/sorting-and-paging). */ (options?: QueryLocationsOptions): Promise>; } declare function queryCategories$1(httpClient: HttpClient): QueryCategoriesSignature; interface QueryCategoriesSignature { /** * Retrieves a list of [service categories](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/categories-v2/introduction), given the provided filtering. * * * ### Defaults * * Query Categories has the following default setting, which you can't override: * Sorted by `id` in ascending order. * * ### Filters * * When using date filters, you must use * [UTC time](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). * * ### See also * * To learn about working with Query methods, see * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language) * and [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging). */ (options?: QueryCategoriesOptions): Promise>; } declare function setServiceLocations$1(httpClient: HttpClient): SetServiceLocationsSignature; interface SetServiceLocationsSignature { /** * Replaces the list of the [locations](https://dev.wix.com/docs/api-reference/business-management/locations/introduction) where the business offers the service. * * * ### Consequences for customers * * Removing a service location may impact existing sessions and their * participants. If you remove at least one service location, you must * specify `removedLocationSessionsAction` to indicate what happens to all * future sessions scheduled at this location. * * - **Keep existing location**: If you want to retain future sessions at their * originally scheduled location, specify * `{"removedLocationSessionsAction.action": "KEEP_AT_CURRENT_LOCATION"}`. * This ensures nothing changes for the customer, but the business must be * able to provide access to the removed location in the future. * - **Update location**: If you want to update the location for future sessions * scheduled at the removed location, specify * `{"removedLocationSessionsAction.action": "MOVE_TO_LOCATION"}` and * `moveToLocationOptions.newLocation`. * * You can't mix and match to keep some sessions at the previous location while * moving other sessions to an updated location. * * Past session details aren't changed, no matter which option you choose for * future sessions. * * Future sessions scheduled for a location defined by the customer are also not * updated. * * ### Specify location details * * Depending on whether the new or updated location is a business or custom location, * you need to specify different fields. * * - **Business location**: Specify the relevant [location ID](https://dev.wix.com/docs/api-reference/business-management/locations/introduction) in `locations.business.id`. * - **Custom location**: Specify the complete address object as * `locations.custom.address`. * * ### Participant notifications * * You can specify a `participantNotification.message` that's immediately send * to all customers who had booked at a changed location. Ensure * `participantNotification.notifyParticipants` is set to `true` to send the * message. * @param - ID of the service. */ (serviceId: string, options?: SetServiceLocationsOptions): Promise>; } declare function enablePricingPlansForService$1(httpClient: HttpClient): EnablePricingPlansForServiceSignature; interface EnablePricingPlansForServiceSignature { /** * Adds a list of [pricing plan IDs](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/plans/plans-v3/introduction) to a service's `payment.pricingPlanIds` array. * * * The call doesn't validate whether the service's `payment.options.pricingPlan` * is set to `true`. If it's set to `false`, customers aren't able to pay * for their bookings using pricing plans. You can call [Update Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/update-service) to change a service's supported payment methods. * @param - ID of the service to update. * @param - IDs of the [pricing plans](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans/plans/introduction) * to add to the service's `payment.pricingPlanIds` array. * Maintained for backward compatibility. Use `pricing_plan_selections` for explicit benefit selection. */ (serviceId: string, pricingPlanIds: string[]): Promise & { __applicationErrorsType?: EnablePricingPlansForServiceApplicationErrors; }>; } declare function disablePricingPlansForService$1(httpClient: HttpClient): DisablePricingPlansForServiceSignature; interface DisablePricingPlansForServiceSignature { /** * Removes a list of [pricing plan IDs](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/pricing-plans/plans/introduction) from a service's `payment.pricingPlanIds` array. * * * If you remove all pricing plan IDs from `payment.pricingPlanIds` and the * service supports only payments by pricing plan, customers will no longer be * able to book the service, as they will have no payment options available. * @param - ID of the service to update. */ (serviceId: string, options?: DisablePricingPlansForServiceOptions): Promise & { __applicationErrorsType?: DisablePricingPlansForServiceApplicationErrors; }>; } declare function setCustomSlug$1(httpClient: HttpClient): SetCustomSlugSignature; interface SetCustomSlugSignature { /** * Sets a new active slug for the service. * * * The call fails if at least one of these conditions is met: * - The slug doesn't adheres to the supported format. * - Another service is currently using the slug. * - Another service has used the slug in the past. * @param - ID of the service for which to update the active slug. */ (serviceId: string, options?: SetCustomSlugOptions): Promise & { __applicationErrorsType?: SetCustomSlugApplicationErrors; __validationErrorsType?: SetCustomSlugValidationErrors; }>; } declare function validateSlug$1(httpClient: HttpClient): ValidateSlugSignature; interface ValidateSlugSignature { /** * Checks whether a custom slug is validate for the service. * * * The checks include: * - The slug adheres to the supported format. * - No other service is currently using the slug. * - No other service has used the slug in the past. * * The call fails if at least one of the checks fails. * @param - IO of the service to check custom slug validity for. */ (serviceId: string, options?: ValidateSlugOptions): Promise>; } declare function cloneService$1(httpClient: HttpClient): CloneServiceSignature; interface CloneServiceSignature { /** * Clones a service. * * * ### Connected entities * * By default, not all entities connected to the service are cloned. * * #### Schedule * * Wix Bookings automatically creates a new active [schedule](https://dev.wix.com/docs/api-reference/business-management/calendar/schedules-v3/introduction) * for the cloned service. If Wix Bookings can't create this schedule, the * Clone Service call fails. * * - __For appointment-based services__: Future appointments aren't added to the * cloned service's schedule. Use the [Events API](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) to add them as needed. * - __For classes and courses__: Future one-time events aren't added to the * cloned service's schedule, while future recurring events are added * asynchronously. The Clone Service call always succeeds, whether or not * recurring events are added. * If the response includes `RECURRING_EVENTS` in the `errors` array, it means the * cloned service doesn't have future recurring events, even though the original * service does. You can either delete the cloned service and try again or use * the [Events API](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/introduction) to add missing events to the schedule. * * Wix Bookings never adds past events to the cloned service's schedule. * * #### Service options and variants * * If the original service has [variants](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction), * they're cloned asynchronously. The Clone Service call always succeeds, * regardless of whether variants were cloned. * * If the response includes `OPTIONS_AND_VARIANTS` in the `errors` array, the cloned * service doesn't have variants, even though the original service does. You can * delete the cloned service and call Clone Service again, or use the * [Service Options And Variants API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/service-options-and-variants/introduction) to add variants. * * #### Booking form * * The original service's booking form isn't cloned, whether it's * the default or a custom booking form. * * #### Pricing plans * * If the original service's accepts payments via [pricing plans](https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans/introduction/), * the cloned service's `payment.options.pricingPlan` is also set to `true`. To * accept specific pricing plans, call [Enable Pricing Plans For Service](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/enable-pricing-plans-for-service), * after cloning the service. If the original service accepts only * pricing plan payments and you don't call Enable Pricing Plans For Service * after cloning the service, customers will be unable to book the service. * @param - ID of the service to clone. */ (sourceServiceId: string): Promise>; } declare function createAddOnGroup$1(httpClient: HttpClient): CreateAddOnGroupSignature; interface CreateAddOnGroupSignature { /** * Creates a new add-on group for a service and updates the service's `addOnGroups` array. * @param - Add-on group to create. */ (addOnGroup: NonNullablePaths, options: NonNullablePaths): Promise>; } declare function deleteAddOnGroup$1(httpClient: HttpClient): DeleteAddOnGroupSignature; interface DeleteAddOnGroupSignature { /** * Deletes an add-on group. * * * Deleting the group doesn't delete individual add-ons. * Any add-on not associated with another group isn't available for customers to book. * @param - ID of the add-on group to delete. */ (addOnGroupId: string, options: NonNullablePaths): Promise; } declare function updateAddOnGroup$1(httpClient: HttpClient): UpdateAddOnGroupSignature; interface UpdateAddOnGroupSignature { /** * Updates an add-on group. * * * To update only the display order for add-ons, call [Set Add Ons For Group](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/set-add-ons-for-group) instead. * * You can't change which service an add-on group belongs to. * Each add-on group is permanently associated with the service it was created for. * To use the same add-ons with a different service, create a new add-on group for that service. * @param - Add-on group to update. */ (addOnGroup: NonNullablePaths, options: NonNullablePaths): Promise & { __applicationErrorsType?: UpdateAddOnGroupApplicationErrors; }>; } declare function listAddOnGroupsByServiceId$1(httpClient: HttpClient): ListAddOnGroupsByServiceIdSignature; interface ListAddOnGroupsByServiceIdSignature { /** * Retrieves add-on groups for a service with enriched add-on details. * * * Add-on details are returned based on their display order. * * If you specify `groupIds`, only those groups are returned. * By default, all groups associated with the service are returned. * @param - ID of the service to retrieve add-on groups for. */ (serviceId: string, options?: ListAddOnGroupsByServiceIdOptions): Promise>; } declare function setAddOnsForGroup$1(httpClient: HttpClient): SetAddOnsForGroupSignature; interface SetAddOnsForGroupSignature { /** * Sets the add-ons for a specific group, replacing any existing add-ons in the group. * * * Call this method when you want to: * - Add new add-ons to a group. * - Remove add-ons from a group. * - Reorder existing add-ons for optimal customer presentation. * * The order of add-ons in the request determines their display sequence to customers. * All specified add-ons must already exist before adding them to a group. * * For updating other add-on group properties, for example `name`, `prompt`, or `constraints`, call [Update Add On Group](https://dev.wix.com/docs/api-reference/business-solutions/bookings/services/services-v2/update-add-on-group) instead. * @param - Service ID containing the group. */ (serviceId: string, options: NonNullablePaths): Promise & { __applicationErrorsType?: SetAddOnsForGroupApplicationErrors; }>; } declare const onServiceCreated$1: EventDefinition; declare const onServiceDeleted$1: EventDefinition; declare const onServiceUpdated$1: EventDefinition; declare function customQueryServices(httpClient: HttpClient): { (query: ServiceQuery, options?: QueryServicesOptions): ReturnType; (options?: QueryServicesOptions): ServicesQueryBuilder; }; declare const createService: MaybeContext & typeof createService$1>; declare const bulkCreateServices: MaybeContext & typeof bulkCreateServices$1>; declare const getService: MaybeContext & typeof getService$1>; declare const updateService: MaybeContext & typeof updateService$1>; declare const bulkUpdateServices: MaybeContext & typeof bulkUpdateServices$1>; declare const bulkUpdateServicesByFilter: MaybeContext & typeof bulkUpdateServicesByFilter$1>; declare const deleteService: MaybeContext & typeof deleteService$1>; declare const bulkDeleteServices: MaybeContext & typeof bulkDeleteServices$1>; declare const bulkDeleteServicesByFilter: MaybeContext & typeof bulkDeleteServicesByFilter$1>; declare const searchServices: MaybeContext & typeof searchServices$1>; declare const queryPolicies: MaybeContext & typeof queryPolicies$1>; declare const queryBookingForms: MaybeContext & typeof queryBookingForms$1>; declare const countServices: MaybeContext & typeof countServices$1>; declare const queryLocations: MaybeContext & typeof queryLocations$1>; declare const queryCategories: MaybeContext & typeof queryCategories$1>; declare const setServiceLocations: MaybeContext & typeof setServiceLocations$1>; declare const enablePricingPlansForService: MaybeContext & typeof enablePricingPlansForService$1>; declare const disablePricingPlansForService: MaybeContext & typeof disablePricingPlansForService$1>; declare const setCustomSlug: MaybeContext & typeof setCustomSlug$1>; declare const validateSlug: MaybeContext & typeof validateSlug$1>; declare const cloneService: MaybeContext & typeof cloneService$1>; declare const createAddOnGroup: MaybeContext & typeof createAddOnGroup$1>; declare const deleteAddOnGroup: MaybeContext & typeof deleteAddOnGroup$1>; declare const updateAddOnGroup: MaybeContext & typeof updateAddOnGroup$1>; declare const listAddOnGroupsByServiceId: MaybeContext & typeof listAddOnGroupsByServiceId$1>; declare const setAddOnsForGroup: MaybeContext & typeof setAddOnsForGroup$1>; declare const queryServices: MaybeContext & typeof customQueryServices>; /** * Triggered when a service is created. */ declare const onServiceCreated: BuildEventDefinition & typeof onServiceCreated$1; /** * Triggered when a service is deleted. */ declare const onServiceDeleted: BuildEventDefinition & typeof onServiceDeleted$1; /** * Triggered when a service is updated. */ declare const onServiceUpdated: BuildEventDefinition & typeof onServiceUpdated$1; export { AddOnGroup, BulkCreateServicesOptions, BulkCreateServicesResponse, BulkDeleteServicesByFilterOptions, BulkDeleteServicesByFilterResponse, BulkDeleteServicesOptions, BulkDeleteServicesResponse, BulkUpdateServicesByFilterOptions, BulkUpdateServicesByFilterResponse, BulkUpdateServicesOptions, BulkUpdateServicesResponse, CloneServiceResponse, CountServicesOptions, CountServicesResponse, CreateAddOnGroupOptions, CreateAddOnGroupResponse, CreateServiceValidationErrors, CursorQuery, DeleteAddOnGroupApplicationErrors, DeleteAddOnGroupOptions, DeleteServiceOptions, DisablePricingPlansForServiceApplicationErrors, DisablePricingPlansForServiceOptions, DisablePricingPlansForServiceResponse, EnablePricingPlansForServiceApplicationErrors, EnablePricingPlansForServiceResponse, ListAddOnGroupsByServiceIdOptions, ListAddOnGroupsByServiceIdResponse, QueryBookingFormsApplicationErrors, QueryBookingFormsOptions, QueryBookingFormsResponse, QueryCategoriesOptions, QueryCategoriesResponse, QueryLocationsOptions, QueryLocationsResponse, QueryPoliciesResponse, QueryServicesOptions, SearchServicesResponse, Service, ServiceCreatedEnvelope, ServiceDeletedEnvelope, ServiceQuery, ServiceSearch, ServiceUpdatedEnvelope, ServicesQueryBuilder, SetAddOnsForGroupApplicationErrors, SetAddOnsForGroupOptions, SetAddOnsForGroupResponse, SetCustomSlugApplicationErrors, SetCustomSlugOptions, SetCustomSlugResponse, SetCustomSlugValidationErrors, SetServiceLocationsOptions, SetServiceLocationsResponse, UpdateAddOnGroupApplicationErrors, UpdateAddOnGroupOptions, UpdateAddOnGroupResponse, UpdateService, UpdateServiceValidationErrors, ValidateSlugOptions, ValidateSlugResponse, bulkCreateServices, bulkDeleteServices, bulkDeleteServicesByFilter, bulkUpdateServices, bulkUpdateServicesByFilter, cloneService, countServices, createAddOnGroup, createService, deleteAddOnGroup, deleteService, disablePricingPlansForService, enablePricingPlansForService, getService, listAddOnGroupsByServiceId, onServiceCreated, onServiceDeleted, onServiceUpdated, queryBookingForms, queryCategories, queryLocations, queryPolicies, queryServices, searchServices, setAddOnsForGroup, setCustomSlug, setServiceLocations, updateAddOnGroup, updateService, validateSlug };