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-BvAL2_h8.js'; export { cz as AccountInfo, eW as AccountInfoMetadata, aG as Action, cv as ActionEvent, fx as ActionWithLiterals, as as Actor, fj as ActorWithLiterals, eQ as AddOn, eR as AddOnAddOnInfoOneOf, bR as AddOnDetails, eS as AddOnGroupDetail, ac as AddOnPaymentOptions, f3 as AddOnPaymentOptionsWithLiterals, c7 as Address, ex as AddressHint, ca as AddressLocation, c8 as AddressStreetOneOf, da as Aggregation, dr as AggregationData, db as AggregationKindOneOf, dM as AggregationResults, dN as AggregationResultsResultOneOf, dL as AggregationResultsScalarDateResult, dy as AggregationResultsScalarResult, aD as AggregationType, fu as AggregationTypeWithLiterals, cI as ApplicationError, bz as AvailabilityConstraints, eU as BaseEventMetadata, em as Behavior, en as BehaviorBehaviorOneOf, ei as Benefit, eh as BenefitNotification, aL as BenefitType, fC as BenefitTypeWithLiterals, bj as BookAfterStartPolicy, co as BookedAddOn, b_ as BookedEntity, b$ as BookedEntityItemOneOf, c1 as BookedResource, c5 as BookedSchedule, c0 as BookedSlot, bY as Booking, dS as BookingForm, bZ as BookingParticipantsInfoOneOf, bf as BookingPolicy, dQ as BookingPolicyWithServices, cd as BookingSource, ao as BookingStatus, ff as BookingStatusWithLiterals, cJ as BulkActionMetadata, cF as BulkCreateServicesRequest, cZ as BulkDeleteServicesByFilterRequest, cY as BulkDeleteServicesRequest, cG as BulkServiceResult, cU as BulkUpdateServicesByFilterRequest, cS as BulkUpdateServicesRequest, bd as BusinessLocationOptions, dY as BusinessLocations, ez as BusinessSchedule, bp as CancellationFeePolicy, bk as CancellationPolicy, bq as CancellationWindow, br as CancellationWindowFeeOneOf, eu as Categories, ef as Category, ee as CategoryNotification, aK as CategoryNotificationEvent, fB as CategoryNotificationEventWithLiterals, eG as ChangeContext, eH as ChangeContextPayloadOneOf, aI as CloneErrors, fz as CloneErrorsWithLiterals, ed as CloneServiceRequest, b9 as CommonAddress, bc as CommonAddressLocation, ba as CommonAddressStreetOneOf, cf as CommonIdentificationData, cg as CommonIdentificationDataIdOneOf, fI as CommonQueryWithEntityContext, fJ as CommonSearchWithEntityContext, bb as CommonStreetAddress, ah as CompletionRequirement, f8 as CompletionRequirementWithLiterals, b6 as Conferencing, dU as ConnectedService, eE as ConsentPolicy, c6 as ContactDetails, dV as CountServicesRequest, eL as CreateAddOnGroupRequest, cA as CreateServiceRequest, cB as CreateServiceResponse, aN as CrudType, fE as CrudTypeWithLiterals, d3 as CursorPaging, dq as CursorPagingMetadata, dP as CursorQueryPagingMethodOneOf, d8 as CursorSearch, d9 as CursorSearchPagingMethodOneOf, d6 as Cursors, cc as CustomFormField, be as CustomLocationOptions, dZ as CustomLocations, bw as CustomOptions, a$ as CustomPayment, d_ as CustomerLocations, di as DateHistogramAggregation, dH as DateHistogramResult, dJ as DateHistogramResults, aP as DayOfWeek, fG as DayOfWeekWithLiterals, eM as DeleteAddOnGroupRequest, eN as DeleteAddOnGroupResponse, cV as DeleteServiceRequest, cX as DeleteServiceResponse, ea as DisablePricingPlansForServiceRequest, ek as Discount, el as DiscountDiscountOneOf, b4 as DiscountInfo, cp as DomainEvent, cq as DomainEventBodyOneOf, bW as DummyRequest, bX as DummyResponse, cm as Duration, eg as Empty, e7 as EnablePricingPlansForServiceRequest, cr as EntityCreatedEvent, cu as EntityDeletedEvent, ct as EntityUpdatedEvent, ej as EntryPass, aM as Event, eV as EventMetadata, fD as EventWithLiterals, bM as ExtendedFields, cE as FieldViolation, ab as FirstChargeDateType, f2 as FirstChargeDateTypeWithLiterals, aZ as FixedPayment, ch as FlowControlSettings, aV as Form, dT as FormDetails, aW as FormSettings, aa as FrequencyType, f1 as FrequencyTypeWithLiterals, b2 as FullUpfrontPayment, ey as GeoCoordinates, cM as GetServiceAvailabilityConstraintsRequest, cN as GetServiceAvailabilityConstraintsResponse, cK as GetServiceRequest, cL as GetServiceResponse, dm as GroupByAggregation, dn as GroupByAggregationKindOneOf, dI as GroupByValueResults, ep as HtmlSitePublished, cx as IdentificationData, cy as IdentificationDataIdOneOf, at as IdentityType, fk as IdentityTypeWithLiterals, dd as IncludeMissingValuesOptions, bx as IntakeFormPolicy, aC as Interval, ft as IntervalWithLiterals, e9 as InvalidPricingPlan, aH as InvalidSlugError, fy as InvalidSlugErrorWithLiterals, cH as ItemMetadata, bO as Keyword, bh as LimitEarlyBookingPolicy, bi as LimitLateBookingPolicy, eP as ListAddOnGroupsByServiceIdRequest, ev as Locale, c2 as Location, al as LocationType, ad as LocationTypeEnumLocationType, f4 as LocationTypeEnumLocationTypeWithLiterals, fc as LocationTypeWithLiterals, cT as MaskedService, aR as Media, aS as MediaItem, aT as MediaItemItemOneOf, cw as MessageEnvelope, az as MissingValues, fq as MissingValuesWithLiterals, aE as Mode, fv as ModeWithLiterals, a_ as Money, e6 as MoveToNewLocationsOptions, cn as MultiServiceBookingInfo, aj as MultiServiceBookingType, fa as MultiServiceBookingTypeWithLiterals, eC as Multilingual, dl as NestedAggregation, dj as NestedAggregationItem, dk as NestedAggregationItemKindOneOf, du as NestedAggregationResults, dv as NestedAggregationResultsResultOneOf, aB as NestedAggregationType, fs as NestedAggregationTypeWithLiterals, dE as NestedResultValue, dF as NestedResultValueResultOneOf, dK as NestedResults, dz as NestedValueAggregationResult, b5 as OnlineBooking, eq as Page, d2 as Paging, d5 as PagingMetadataV2, ci as ParticipantChoices, ce as ParticipantNotification, bn as ParticipantsPolicy, aX as Payment, b3 as PaymentOptions, aY as PaymentRateOneOf, ap as PaymentStatus, fg as PaymentStatusWithLiterals, c3 as PhoneCall, aO as PlacementType, fF as PlacementTypeWithLiterals, ar as Platform, fi as PlatformWithLiterals, bg as PolicyDescription, e8 as PricingPlanSelection, et as Properties, eI as PropertiesChange, dR as QueryBookingFormsRequest, e0 as QueryCategoriesFilter, d$ as QueryCategoriesRequest, dX as QueryLocationsFilter, dW as QueryLocationsRequest, dO as QueryPoliciesRequest, e1 as QueryServicesMultiLanguageRequest, e2 as QueryServicesMultiLanguageResponse, c_ as QueryServicesRequest, d4 as QueryServicesResponse, c$ as QueryV2, d0 as QueryV2PagingMethodOneOf, dg as RangeAggregation, dt as RangeAggregationResult, dc as RangeBucket, dB as RangeResult, dx as RangeResults, bv as RankingOptions, ae as RankingOrder, f5 as RankingOrderWithLiterals, a9 as RateType, f0 as RateTypeWithLiterals, e4 as RemovedLocationSessionsAction, e5 as RemovedLocationSessionsActionActionOptionsOneOf, aF as RequestedFields, fw as RequestedFieldsWithLiterals, bl as ReschedulePolicy, aQ as ResolutionMethod, fH as ResolutionMethodWithLiterals, bF as ResourceGroup, bG as ResourceIds, c4 as ResourceSelection, ak as ResourceTransparency, fb as ResourceTransparencyWithLiterals, bJ as ResourceType, bo as ResourcesPolicy, cs as RestoreInfo, dG as Results, bs as SaveCreditCardPolicy, dh as ScalarAggregation, dD as ScalarDateResult, dC as ScalarResult, aA as ScalarType, fr as ScalarTypeWithLiterals, by as Schedule, dp as SearchDetails, d7 as SearchServicesRequest, aq as SelectedPaymentOption, fh as SelectedPaymentOptionWithLiterals, am as SelectionMethod, fd as SelectionMethodWithLiterals, bN as SeoSchema, cO as ServiceAvailabilityConstraints, ck as ServiceChoice, cl as ServiceChoiceChoiceOneOf, cj as ServiceChoices, eY as ServiceQuerySpec, bH as ServiceResource, bI as ServiceResourceSelectionOneOf, eZ as ServiceSearchSpec, a8 as ServiceType, e$ as ServiceTypeWithLiterals, eX as ServicesQueryResult, bV as ServicesUrlsChanged, eT as SetAddOnsForGroupRequest, bU as SetCustomSlugEvent, eb as SetCustomSlugRequest, e3 as SetServiceLocationsRequest, bQ as Settings, eK as SiteCloned, eJ as SiteCreated, es as SitePropertiesEvent, er as SitePropertiesNotification, bK as Slug, ay as SortDirection, fp as SortDirectionWithLiterals, aw as SortOrder, fn as SortOrderWithLiterals, ax as SortType, fo as SortTypeWithLiterals, d1 as Sorting, af as SortingMethodType, f6 as SortingMethodTypeWithLiterals, eB as SpecialHourPeriod, cP as SplitInterval, bC as StaffMediaItem, bD as StaffMediaItemItemOneOf, bB as StaffMember, bE as StaffMemberDetails, bt as StaffSortingPolicy, bu as StaffSortingPolicyOptionsOneOf, aJ as Status, fA as StatusWithLiterals, c9 as StreetAddress, cb as Subdivision, b1 as SubscriptionPayment, eD as SupportedLanguage, bP as Tag, bS as TaxableAddress, ai as TaxableAddressType, f9 as TaxableAddressTypeWithLiterals, eA as TimePeriod, ag as Timing, f7 as TimingWithLiterals, eF as Translation, bL as URLs, eO as UpdateAddOnGroupRequest, cQ as UpdateServiceRequest, cR as UpdateServiceResponse, eo as UserDomainInfoChangedEvent, aU as V2Category, bA as V2Duration, b7 as V2Location, b8 as V2LocationOptionsOneOf, cW as V2ParticipantNotification, bT as V2PhoneCall, av as V2RequestedFields, fm as V2RequestedFieldsWithLiterals, ew as V4Address, cC as ValidateServiceRequest, cD as ValidateServiceResponse, ec as ValidateSlugRequest, de as ValueAggregation, df as ValueAggregationOptionsOneOf, ds as ValueAggregationResult, dA as ValueResult, dw as ValueResults, an as ValueType, fe as ValueTypeWithLiterals, b0 as VariedPayment, bm as WaitlistPolicy, au as WebhookIdentityType, fl as WebhookIdentityTypeWithLiterals, e_ as utils } from './bookings-services-v2-service-services.universal-BvAL2_h8.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 };