@wix/auto_sdk_bookings_attendance 1.0.49 → 1.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/build/cjs/index.d.ts +1 -1
  2. package/build/cjs/index.js +56 -0
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +16 -1
  5. package/build/cjs/index.typings.js +48 -0
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +20 -2
  8. package/build/cjs/meta.js +41 -0
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/es/index.d.mts +1 -1
  11. package/build/es/index.mjs +55 -0
  12. package/build/es/index.mjs.map +1 -1
  13. package/build/es/index.typings.d.mts +16 -1
  14. package/build/es/index.typings.mjs +47 -0
  15. package/build/es/index.typings.mjs.map +1 -1
  16. package/build/es/meta.d.mts +20 -2
  17. package/build/es/meta.mjs +40 -0
  18. package/build/es/meta.mjs.map +1 -1
  19. package/build/internal/cjs/index.d.ts +20 -3
  20. package/build/internal/cjs/index.js +56 -0
  21. package/build/internal/cjs/index.js.map +1 -1
  22. package/build/internal/cjs/index.typings.d.ts +32 -1
  23. package/build/internal/cjs/index.typings.js +48 -0
  24. package/build/internal/cjs/index.typings.js.map +1 -1
  25. package/build/internal/cjs/meta.d.ts +20 -2
  26. package/build/internal/cjs/meta.js +41 -0
  27. package/build/internal/cjs/meta.js.map +1 -1
  28. package/build/internal/es/index.d.mts +20 -3
  29. package/build/internal/es/index.mjs +55 -0
  30. package/build/internal/es/index.mjs.map +1 -1
  31. package/build/internal/es/index.typings.d.mts +32 -1
  32. package/build/internal/es/index.typings.mjs +47 -0
  33. package/build/internal/es/index.typings.mjs.map +1 -1
  34. package/build/internal/es/meta.d.mts +20 -2
  35. package/build/internal/es/meta.mjs +40 -0
  36. package/build/internal/es/meta.mjs.map +1 -1
  37. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
2
  import { Attendance, GetAttendanceApplicationErrors, SetAttendanceOptions, SetAttendanceResponse, SetAttendanceApplicationErrors, BulkSetAttendanceOptions, BulkSetAttendanceResponse, BulkSetAttendanceApplicationErrors, CountAttendancesOptions, CountAttendancesResponse, AttendancesQueryBuilder, AttendanceQuery, typedQueryAttendance } from './index.typings.js';
3
- export { AccountInfo, ActionEvent, ApplicationError, AttendanceDetails, AttendanceMarkedAsNotAttended, AttendanceQuerySpec, AttendanceStatus, AttendanceStatusWithLiterals, AttendancesQueryResult, BulkActionMetadata, BulkAttendanceResult, BulkSetAttendanceRequest, CommonQueryWithEntityContext, CountAttendancesRequest, CursorPaging, CursorPagingMetadata, Cursors, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, GetAttendanceRequest, GetAttendanceResponse, IdentificationData, IdentificationDataIdOneOf, ItemMetadata, MessageEnvelope, Paging, ParticipantNotification, QueryAttendanceRequest, QueryAttendanceResponse, QueryV2, QueryV2PagingMethodOneOf, RestoreInfo, SetAttendanceRequest, SortOrder, SortOrderWithLiterals, Sorting, WebhookIdentityType, WebhookIdentityTypeWithLiterals } from './index.typings.js';
3
+ export { AccountInfo, ActionEvent, ApplicationError, AttendanceDetails, AttendanceMarkedAsNotAttended, AttendanceQuerySpec, AttendanceStatus, AttendanceStatusWithLiterals, AttendancesQueryResult, BulkActionMetadata, BulkAttendanceResult, BulkSetAttendanceRequest, CommonQueryWithEntityContext, CountAttendancesRequest, CursorPaging, CursorPagingMetadata, Cursors, DeleteAttendanceApplicationErrors, DeleteAttendanceRequest, DeleteAttendanceResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, GetAttendanceRequest, GetAttendanceResponse, IdentificationData, IdentificationDataIdOneOf, ItemMetadata, MessageEnvelope, Paging, ParticipantNotification, QueryAttendanceRequest, QueryAttendanceResponse, QueryV2, QueryV2PagingMethodOneOf, RestoreInfo, SetAttendanceRequest, SortOrder, SortOrderWithLiterals, Sorting, WebhookIdentityType, WebhookIdentityTypeWithLiterals } from './index.typings.js';
4
4
 
5
5
  declare function getAttendance$1(httpClient: HttpClient): GetAttendanceSignature;
6
6
  interface GetAttendanceSignature {
@@ -25,6 +25,7 @@ __export(index_exports, {
25
25
  WebhookIdentityType: () => WebhookIdentityType,
26
26
  bulkSetAttendance: () => bulkSetAttendance4,
27
27
  countAttendances: () => countAttendances4,
28
+ deleteAttendance: () => deleteAttendance4,
28
29
  getAttendance: () => getAttendance4,
29
30
  queryAttendance: () => queryAttendance4,
30
31
  setAttendance: () => setAttendance4
@@ -309,6 +310,27 @@ function countAttendances(payload) {
309
310
  }
310
311
  return __countAttendances;
311
312
  }
313
+ function deleteAttendance(payload) {
314
+ function __deleteAttendance({ host }) {
315
+ const metadata = {
316
+ entityFqdn: "wix.bookings.v2.attendance",
317
+ method: "DELETE",
318
+ methodFqn: "com.wixpress.bookings.attendance.v2.AttendanceService.DeleteAttendance",
319
+ packageName: PACKAGE_NAME,
320
+ migrationOptions: {
321
+ optInTransformResponse: true
322
+ },
323
+ url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({
324
+ protoPath: "/v2/attendance/{attendanceId}",
325
+ data: payload,
326
+ host
327
+ }),
328
+ params: (0, import_rest_modules.toURLSearchParams)(payload)
329
+ };
330
+ return metadata;
331
+ }
332
+ return __deleteAttendance;
333
+ }
312
334
 
313
335
  // src/bookings-v2-attendance-attendance.universal.ts
314
336
  var import_transform_paths2 = require("@wix/sdk-runtime/transformations/transform-paths");
@@ -505,6 +527,31 @@ async function countAttendances2(options) {
505
527
  throw transformedError;
506
528
  }
507
529
  }
530
+ async function deleteAttendance2(attendanceId) {
531
+ const { httpClient, sideEffects } = arguments[1];
532
+ const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
533
+ attendanceId
534
+ });
535
+ const reqOpts = deleteAttendance(payload);
536
+ sideEffects?.onSiteCall?.();
537
+ try {
538
+ const result = await httpClient.request(reqOpts);
539
+ sideEffects?.onSuccess?.(result);
540
+ return (0, import_rename_all_nested_keys.renameKeysFromRESTResponseToSDKResponse)(result.data);
541
+ } catch (err) {
542
+ const transformedError = (0, import_transform_error.transformError)(
543
+ err,
544
+ {
545
+ spreadPathsToArguments: {},
546
+ explicitPathsToArguments: { attendanceId: "$[0]" },
547
+ singleArgumentUnchanged: false
548
+ },
549
+ ["attendanceId"]
550
+ );
551
+ sideEffects?.onError?.(err);
552
+ throw transformedError;
553
+ }
554
+ }
508
555
 
509
556
  // src/bookings-v2-attendance-attendance.public.ts
510
557
  function getAttendance3(httpClient) {
@@ -549,6 +596,13 @@ function countAttendances3(httpClient) {
549
596
  { httpClient }
550
597
  );
551
598
  }
599
+ function deleteAttendance3(httpClient) {
600
+ return (attendanceId) => deleteAttendance2(
601
+ attendanceId,
602
+ // @ts-ignore
603
+ { httpClient }
604
+ );
605
+ }
552
606
 
553
607
  // src/bookings-v2-attendance-attendance.context.ts
554
608
  var import_rest_modules3 = require("@wix/sdk-runtime/rest-modules");
@@ -568,6 +622,7 @@ var getAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(
568
622
  var setAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(setAttendance3);
569
623
  var bulkSetAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(bulkSetAttendance3);
570
624
  var countAttendances4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(countAttendances3);
625
+ var deleteAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(deleteAttendance3);
571
626
  var queryAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(customQueryAttendance);
572
627
  // Annotate the CommonJS export names for ESM import in node:
573
628
  0 && (module.exports = {
@@ -576,6 +631,7 @@ var queryAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule
576
631
  WebhookIdentityType,
577
632
  bulkSetAttendance,
578
633
  countAttendances,
634
+ deleteAttendance,
579
635
  getAttendance,
580
636
  queryAttendance,
581
637
  setAttendance
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/bookings-v2-attendance-attendance.universal.ts","../../src/bookings-v2-attendance-attendance.http.ts","../../src/bookings-v2-attendance-attendance.public.ts","../../src/bookings-v2-attendance-attendance.context.ts"],"sourcesContent":["export * from './src/bookings-v2-attendance-attendance.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBookingsV2Attendance from './bookings-v2-attendance-attendance.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/**\n * The `attendance` object represents the attendance information\n * for a booked session, such as:\n *\n * + Did anyone attend the session?\n * + How many people attended the session?\n *\n * The number of session `attendance` objects available depends on the booking type:\n * + Appointment bookings have 1 `attendance` object per appointment session.\n * + Class bookings have 1 `attendance` object for each session of the class. The number of sessions for a class is defined in Schedule and Sessions `schedule.capacity` property.\n * + Course bookings have an `attendance` object for each session of the course. For example, if there are 12 sessions in a course, there are 12 `attendance` objects. The number of sessions for a class is defined in Schedule and Sessions `schedule.capacity` property.\n */\nexport interface Attendance {\n /**\n * ID of the `attendance` object.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Corresponding booking ID.\n * @format GUID\n */\n bookingId?: string | null;\n /** Corresponding session ID. */\n sessionId?: string | null;\n /** Status indicating if any participants attended the session. */\n status?: AttendanceStatusWithLiterals;\n /**\n * Total number of participants that attended the session. By default, the number\n * of attendees is set to `1`, but you can set a number to greater than `1` if multiple\n * participants attended.\n *\n * Do not set to `0` to indicate that no one attended the session. Instead, set the `status` field to `NOT_ATTENDED`.\n *\n * Default: 1\n */\n numberOfAttendees?: number;\n}\n\nexport enum AttendanceStatus {\n /** There is no available attendance information. */\n NOT_SET = 'NOT_SET',\n /** At least a single participant attended the session. */\n ATTENDED = 'ATTENDED',\n /** No participants attended the session. */\n NOT_ATTENDED = 'NOT_ATTENDED',\n}\n\n/** @enumType */\nexport type AttendanceStatusWithLiterals =\n | AttendanceStatus\n | 'NOT_SET'\n | 'ATTENDED'\n | 'NOT_ATTENDED';\n\nexport interface GetAttendanceRequest {\n /**\n * ID of the attendance object to retrieve.\n * @format GUID\n */\n attendanceId: string;\n}\n\nexport interface GetAttendanceResponse {\n /** Retrieved attendance. */\n attendance?: Attendance;\n}\n\nexport interface SetAttendanceRequest {\n /** Attendance to create or update. */\n attendance: Attendance;\n /** Information about whether to send a message to a customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\nexport interface ParticipantNotification {\n /**\n * Specify whether to send a message about the changes to the customer.\n *\n * Default: `false`\n */\n notifyParticipants?: boolean | null;\n /**\n * Optional custom message to send to the participants about the changes to the booking.\n * @minLength 1\n * @maxLength 5000\n */\n message?: string | null;\n}\n\nexport interface SetAttendanceResponse {\n /** Created or updated attendance. */\n attendance?: Attendance;\n}\n\nexport interface AttendanceMarkedAsNotAttended {\n /** The attendance information for a booked session that you want to create or update. */\n attendance?: Attendance;\n /** Information about whether to send a message to a customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\nexport interface BulkSetAttendanceRequest {\n returnFullEntity?: boolean;\n /**\n * List of attendance details for booking sessions to create or update.\n * @maxSize 8\n */\n attendanceDetails?: AttendanceDetails[];\n}\n\nexport interface AttendanceDetails {\n /** Created or updated attendance information for a booking session. */\n attendance?: Attendance;\n /** Information about whether to send a message to the customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\nexport interface BulkSetAttendanceResponse {\n /**\n * List of created or updated `attendance` objects.\n * @minSize 1\n * @maxSize 8\n */\n results?: BulkAttendanceResult[];\n /** Information about the total number of successes and failures for the Bulk Set Attendance call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkAttendanceResult {\n /** Created or updated `attendance` object. */\n item?: Attendance;\n /** Metadata for the created or updated `attendance` object. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface QueryAttendanceRequest {\n /** Query options. */\n query: QueryV2;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n *\n * Max: 1 filter\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /** Name of the field to sort by. */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\n/**\n * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n *\n * Default: `ASC`.\n */\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n /** Number of items to load. */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Number of `Attendance` objects to return.\n *\n * Default: `50`\n * Maximum: `1000`\n * @max 1000\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * You can get the relevant cursor token\n * from the `pagingMetadata` object in the previous call's response.\n *\n * Not relevant for the first request.\n */\n cursor?: string | null;\n}\n\n/** List of objects that contain attendance information. */\nexport interface QueryAttendanceResponse {\n /** List of `attendance` objects that contain attendance information for a booked session. */\n attendances?: Attendance[];\n /** Metadata for the paged set of results. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\n/** This is the preferred message for cursor-paging enabled services */\nexport interface CursorPagingMetadata {\n /** Use these cursors to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n cursors?: Cursors;\n /**\n * Indicates if there are more results after the current page.\n * If `true`, another page of results can be retrieved.\n * If `false`, this is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /** Cursor pointing to next page in the list of results. */\n next?: string | null;\n /** Cursor pointing to previous page in the list of results. */\n prev?: string | null;\n}\n\nexport interface CountAttendancesRequest {\n /** Filter criteria for counting attendance records. If not provided, counts all attendance records for the contact. */\n filter?: Record<string, any> | null;\n}\n\nexport interface CountAttendancesResponse {\n /** Total number of attendance records matching the filters. */\n count?: number;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type GetAttendanceApplicationErrors = {\n code?: 'ATTENDANCE_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type SetAttendanceApplicationErrors = {\n code?: 'SESSION_ID_NOT_PROVIDED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkSetAttendanceApplicationErrors = {\n code?: 'ATTENDANCES_MISSING_IN_REQUEST';\n description?: string;\n data?: Record<string, any>;\n};\n\n/**\n * Retrieves attendance information.\n * @param attendanceId - ID of the attendance object to retrieve.\n * @public\n * @requiredField attendanceId\n * @permissionId BOOKINGS.ATTENDANCE_READ\n * @applicableIdentity APP\n * @returns Retrieved attendance.\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.GetAttendance\n */\nexport async function getAttendance(attendanceId: string): Promise<\n NonNullablePaths<Attendance, `status` | `numberOfAttendees`, 2> & {\n __applicationErrorsType?: GetAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendanceId: attendanceId,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.getAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.attendance!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { attendanceId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['attendanceId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets or updates attendance information for a booking session. This\n * information is stored in an `attendance` object.\n *\n * If an `attendance` object already exists for the session, it's updated.\n * Otherwise, a new object is created.\n *\n * By default, `numberOfAttendees` is set to `1`, but you can specify a higher\n * number if multiple participants attended. Do not set `numberOfAttendees` to\n * `0` to indicate no attendance, instead specify `{\"status\": \"NOT_ATTENDED\"}`.\n *\n * Validation guidelines:\n *\n * + The call succeeds for mismatches between `numberOfAttendees`\n * and `status`. For example, make sure that your code doesn't specify\n * `{\"status\": \"NOT_ATTENDED\"}` with `{\"numberOfAttendees\": 5}`.\n * + The API also allows `numberOfAttendees` to exceed the booking's\n * `numberOfParticipants`. Use higher values only when scenarios like\n * walk-ins justify the exception.\n * @param attendance - Attendance to create or update.\n * @public\n * @requiredField attendance\n * @requiredField attendance.bookingId\n * @requiredField attendance.status\n * @param options - Options to use when setting an attendance.\n * @permissionId BOOKINGS.ATTENDANCE_SET\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.SetAttendance\n */\nexport async function setAttendance(\n attendance: NonNullablePaths<Attendance, `bookingId` | `status`, 2>,\n options?: SetAttendanceOptions\n): Promise<\n NonNullablePaths<\n SetAttendanceResponse,\n `attendance.status` | `attendance.numberOfAttendees`,\n 3\n > & {\n __applicationErrorsType?: SetAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendance: attendance,\n participantNotification: options?.participantNotification,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.setAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n attendance: '$[0]',\n participantNotification: '$[1].participantNotification',\n },\n singleArgumentUnchanged: false,\n },\n ['attendance', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SetAttendanceOptions {\n /** Information about whether to send a message to a customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\n/**\n * Sets or updates attendance information for multiple booking sessions.\n *\n *\n * Refer to Set Attendance for detailed behavior of individual attendance\n * entries.\n *\n * The call fails entirely if any entry in `attendanceDetails` is missing a\n * required field.\n *\n * If attendance details are provided for a non-existent session, the call\n * succeeds for valid sessions while marking the unavailable session as a\n * failure in the response.\n * @public\n * @param options - Options to use when setting multiple attendances in bulk.\n * @permissionId BOOKINGS.ATTENDANCE_SET\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.BulkSetAttendance\n */\nexport async function bulkSetAttendance(\n options?: BulkSetAttendanceOptions\n): Promise<\n NonNullablePaths<\n BulkSetAttendanceResponse,\n | `results`\n | `results.${number}.item.status`\n | `results.${number}.item.numberOfAttendees`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n returnFullEntity: options?.returnFullEntity,\n attendanceDetails: options?.attendanceDetails,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.bulkSetAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n returnFullEntity: '$[0].returnFullEntity',\n attendanceDetails: '$[0].attendanceDetails',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkSetAttendanceOptions {\n returnFullEntity?: boolean;\n /**\n * List of attendance details for booking sessions to create or update.\n * @maxSize 8\n */\n attendanceDetails?: AttendanceDetails[];\n}\n\n/**\n * Creates a query to retrieve a list of attendances.\n *\n * The `queryAttendances()` function builds a query to retrieve a list of attendances and returns a `AttendancesQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to call the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-builder/find) function.\n *\n * You can refine the query by chaining `AttendancesQueryBuilder` functions onto the query. `AttendancesQueryBuilder` functions enable you to sort, filter, and control the results that `queryAttendances()` returns.\n *\n * `queryAttendances()` uses the following `AttendancesQueryBuilder` default values that you can override:\n *\n * + `limit` is `50`.\n * + Sorted by `id` in ascending order.\n *\n * The functions that are chained to `queryAttendances()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"numberOfAttendees\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"numberOfAttendees\"`.\n *\n * The following `AttendancesQueryBuilder` functions are supported for the `queryAttendances()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-result/items) property in `AttendancesQueryResult`.\n * @public\n * @permissionId BOOKINGS.ATTENDANCE_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.QueryAttendance\n */\nexport function queryAttendance(): AttendancesQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Attendance,\n 'CURSOR',\n QueryAttendanceRequest,\n QueryAttendanceResponse\n >({\n func: async (payload: QueryAttendanceRequest) => {\n const reqOpts =\n ambassadorWixBookingsV2Attendance.queryAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryAttendanceRequest['query']) => {\n const args = [query, {}] as [QueryAttendanceRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryAttendanceResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.attendances,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface AttendancesQueryResult extends QueryCursorResult {\n items: Attendance[];\n query: AttendancesQueryBuilder;\n next: () => Promise<AttendancesQueryResult>;\n prev: () => Promise<AttendancesQueryResult>;\n}\n\nexport interface AttendancesQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n '_id' | 'bookingId' | 'sessionId' | 'status' | 'numberOfAttendees'\n >\n ) => AttendancesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<'numberOfAttendees'>\n ) => AttendancesQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => AttendancesQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => AttendancesQueryBuilder;\n find: () => Promise<AttendancesQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.QueryAttendance\n * @requiredField query\n * @returns List of objects that contain attendance information.\n */\nexport async function typedQueryAttendance(\n query: AttendanceQuery\n): Promise<\n NonNullablePaths<\n QueryAttendanceResponse,\n | `attendances`\n | `attendances.${number}.status`\n | `attendances.${number}.numberOfAttendees`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.queryAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface AttendanceQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['_id', 'bookingId', 'sessionId', 'status'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'ASC';\n },\n {\n fields: ['numberOfAttendees'];\n operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Attendance,\n AttendanceQuerySpec\n>;\nexport type AttendanceQuery = {\n /** \n Cursor token pointing to a page of results. In the first request,\n specify `cursorPaging.limit`. For following requests, specify the\n retrieved `cursorPaging.cursor` token and not `query.filter` or\n `query.sort`. \n */\n cursorPaging?: {\n /** \n Number of `Attendance` objects to return.\n\n Default: `50`\n Maximum: `1000` \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n You can get the relevant cursor token\n from the `pagingMetadata` object in the previous call's response.\n\n Not relevant for the first request. \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n\n Max: 1 filter \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]` \n */\n sort?: {\n /** \n Name of the field to sort by. \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\n/**\n * Counts attendance records by contact.\n *\n * Returns the total number of attendance records for the contact,\n * with optional filtering by attendance status and service IDs.\n *\n * Filtering options:\n * + **attendance_status**: Filter by attendance status (ATTENDED, NOT_ATTENDED)\n * + **service_id**: Filter by one or more service IDs from the bookings\n *\n * If no filters are provided, returns the total count of all attendance records\n * for the contact.\n * @public\n * @documentationMaturity preview\n * @permissionId BOOKINGS.ATTENDANCE_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.CountAttendances\n */\nexport async function countAttendances(\n options?: CountAttendancesOptions\n): Promise<NonNullablePaths<CountAttendancesResponse, `count`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: options?.filter,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.countAttendances(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { filter: '$[0].filter' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountAttendancesOptions {\n /** Filter criteria for counting attendance records. If not provided, counts all attendance records for the contact. */\n filter?: Record<string, any> | null;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '',\n },\n {\n srcPath: '/bookings-attendance',\n destPath: '',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/bookings/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/v2/attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n _: [\n {\n srcPath: '/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_bookings_attendance';\n\n/** Retrieves attendance information. */\nexport function getAttendance(payload: object): RequestOptionsFactory<any> {\n function __getAttendance({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.GetAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/{attendanceId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'attendance.updatedDate' },\n { path: 'attendance.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getAttendance;\n}\n\n/**\n * Sets or updates attendance information for a booking session. This\n * information is stored in an `attendance` object.\n *\n * If an `attendance` object already exists for the session, it's updated.\n * Otherwise, a new object is created.\n *\n * By default, `numberOfAttendees` is set to `1`, but you can specify a higher\n * number if multiple participants attended. Do not set `numberOfAttendees` to\n * `0` to indicate no attendance, instead specify `{\"status\": \"NOT_ATTENDED\"}`.\n *\n * Validation guidelines:\n *\n * + The call succeeds for mismatches between `numberOfAttendees`\n * and `status`. For example, make sure that your code doesn't specify\n * `{\"status\": \"NOT_ATTENDED\"}` with `{\"numberOfAttendees\": 5}`.\n * + The API also allows `numberOfAttendees` to exceed the booking's\n * `numberOfParticipants`. Use higher values only when scenarios like\n * walk-ins justify the exception.\n */\nexport function setAttendance(payload: object): RequestOptionsFactory<any> {\n function __setAttendance({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'attendance.updatedDate' },\n { path: 'attendance.statusUpdatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.SetAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/set',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'attendance.updatedDate' },\n { path: 'attendance.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __setAttendance;\n}\n\n/**\n * Sets or updates attendance information for multiple booking sessions.\n *\n *\n * Refer to Set Attendance for detailed behavior of individual attendance\n * entries.\n *\n * The call fails entirely if any entry in `attendanceDetails` is missing a\n * required field.\n *\n * If attendance details are provided for a non-existent session, the call\n * succeeds for valid sessions while marking the unavailable session as a\n * failure in the response.\n */\nexport function bulkSetAttendance(payload: object): RequestOptionsFactory<any> {\n function __bulkSetAttendance({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'attendanceList.updatedDate' },\n { path: 'attendanceList.statusUpdatedDate' },\n { path: 'attendanceDetails.attendance.updatedDate' },\n { path: 'attendanceDetails.attendance.statusUpdatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.BulkSetAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/bulk/attendance/set',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.updatedDate' },\n { path: 'results.item.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkSetAttendance;\n}\n\n/**\n * Creates a query to retrieve a list of attendances.\n *\n * The `queryAttendances()` function builds a query to retrieve a list of attendances and returns a `AttendancesQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to call the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-builder/find) function.\n *\n * You can refine the query by chaining `AttendancesQueryBuilder` functions onto the query. `AttendancesQueryBuilder` functions enable you to sort, filter, and control the results that `queryAttendances()` returns.\n *\n * `queryAttendances()` uses the following `AttendancesQueryBuilder` default values that you can override:\n *\n * + `limit` is `50`.\n * + Sorted by `id` in ascending order.\n *\n * The functions that are chained to `queryAttendances()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"numberOfAttendees\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"numberOfAttendees\"`.\n *\n * The following `AttendancesQueryBuilder` functions are supported for the `queryAttendances()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-result/items) property in `AttendancesQueryResult`.\n */\nexport function queryAttendance(payload: object): RequestOptionsFactory<any> {\n function __queryAttendance({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.QueryAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'attendances.updatedDate' },\n { path: 'attendances.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryAttendance;\n}\n\n/**\n * Counts attendance records by contact.\n *\n * Returns the total number of attendance records for the contact,\n * with optional filtering by attendance status and service IDs.\n *\n * Filtering options:\n * + **attendance_status**: Filter by attendance status (ATTENDED, NOT_ATTENDED)\n * + **service_id**: Filter by one or more service IDs from the bookings\n *\n * If no filters are provided, returns the total count of all attendance records\n * for the contact.\n */\nexport function countAttendances(payload: object): RequestOptionsFactory<any> {\n function __countAttendances({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.CountAttendances',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countAttendances;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n Attendance,\n AttendanceQuery,\n AttendancesQueryBuilder,\n BulkSetAttendanceApplicationErrors,\n BulkSetAttendanceOptions,\n BulkSetAttendanceResponse,\n CountAttendancesOptions,\n CountAttendancesResponse,\n GetAttendanceApplicationErrors,\n QueryAttendanceResponse,\n SetAttendanceApplicationErrors,\n SetAttendanceOptions,\n SetAttendanceResponse,\n bulkSetAttendance as universalBulkSetAttendance,\n countAttendances as universalCountAttendances,\n getAttendance as universalGetAttendance,\n queryAttendance as universalQueryAttendance,\n setAttendance as universalSetAttendance,\n typedQueryAttendance as universalTypedQueryAttendance,\n} from './bookings-v2-attendance-attendance.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/bookings' };\n\nexport function getAttendance(httpClient: HttpClient): GetAttendanceSignature {\n return (attendanceId: string) =>\n universalGetAttendance(\n attendanceId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetAttendanceSignature {\n /**\n * Retrieves attendance information.\n * @param - ID of the attendance object to retrieve.\n * @returns Retrieved attendance.\n */\n (attendanceId: string): Promise<\n NonNullablePaths<Attendance, `status` | `numberOfAttendees`, 2> & {\n __applicationErrorsType?: GetAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function setAttendance(httpClient: HttpClient): SetAttendanceSignature {\n return (\n attendance: NonNullablePaths<Attendance, `bookingId` | `status`, 2>,\n options?: SetAttendanceOptions\n ) =>\n universalSetAttendance(\n attendance,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SetAttendanceSignature {\n /**\n * Sets or updates attendance information for a booking session. This\n * information is stored in an `attendance` object.\n *\n * If an `attendance` object already exists for the session, it's updated.\n * Otherwise, a new object is created.\n *\n * By default, `numberOfAttendees` is set to `1`, but you can specify a higher\n * number if multiple participants attended. Do not set `numberOfAttendees` to\n * `0` to indicate no attendance, instead specify `{\"status\": \"NOT_ATTENDED\"}`.\n *\n * Validation guidelines:\n *\n * + The call succeeds for mismatches between `numberOfAttendees`\n * and `status`. For example, make sure that your code doesn't specify\n * `{\"status\": \"NOT_ATTENDED\"}` with `{\"numberOfAttendees\": 5}`.\n * + The API also allows `numberOfAttendees` to exceed the booking's\n * `numberOfParticipants`. Use higher values only when scenarios like\n * walk-ins justify the exception.\n * @param - Attendance to create or update.\n * @param - Options to use when setting an attendance.\n */\n (\n attendance: NonNullablePaths<Attendance, `bookingId` | `status`, 2>,\n options?: SetAttendanceOptions\n ): Promise<\n NonNullablePaths<\n SetAttendanceResponse,\n `attendance.status` | `attendance.numberOfAttendees`,\n 3\n > & {\n __applicationErrorsType?: SetAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function bulkSetAttendance(\n httpClient: HttpClient\n): BulkSetAttendanceSignature {\n return (options?: BulkSetAttendanceOptions) =>\n universalBulkSetAttendance(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkSetAttendanceSignature {\n /**\n * Sets or updates attendance information for multiple booking sessions.\n *\n *\n * Refer to Set Attendance for detailed behavior of individual attendance\n * entries.\n *\n * The call fails entirely if any entry in `attendanceDetails` is missing a\n * required field.\n *\n * If attendance details are provided for a non-existent session, the call\n * succeeds for valid sessions while marking the unavailable session as a\n * failure in the response.\n * @param - Options to use when setting multiple attendances in bulk.\n */\n (options?: BulkSetAttendanceOptions): Promise<\n NonNullablePaths<\n BulkSetAttendanceResponse,\n | `results`\n | `results.${number}.item.status`\n | `results.${number}.item.numberOfAttendees`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function queryAttendance(\n httpClient: HttpClient\n): QueryAttendanceSignature {\n return () =>\n universalQueryAttendance(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryAttendanceSignature {\n /**\n * Creates a query to retrieve a list of attendances.\n *\n * The `queryAttendances()` function builds a query to retrieve a list of attendances and returns a `AttendancesQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to call the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-builder/find) function.\n *\n * You can refine the query by chaining `AttendancesQueryBuilder` functions onto the query. `AttendancesQueryBuilder` functions enable you to sort, filter, and control the results that `queryAttendances()` returns.\n *\n * `queryAttendances()` uses the following `AttendancesQueryBuilder` default values that you can override:\n *\n * + `limit` is `50`.\n * + Sorted by `id` in ascending order.\n *\n * The functions that are chained to `queryAttendances()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"numberOfAttendees\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"numberOfAttendees\"`.\n *\n * The following `AttendancesQueryBuilder` functions are supported for the `queryAttendances()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-result/items) property in `AttendancesQueryResult`.\n */\n (): AttendancesQueryBuilder;\n}\n\nexport function typedQueryAttendance(\n httpClient: HttpClient\n): TypedQueryAttendanceSignature {\n return (query: AttendanceQuery) =>\n universalTypedQueryAttendance(\n query,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryAttendanceSignature {\n /** @returns List of objects that contain attendance information. */\n (query: AttendanceQuery): Promise<\n NonNullablePaths<\n QueryAttendanceResponse,\n | `attendances`\n | `attendances.${number}.status`\n | `attendances.${number}.numberOfAttendees`,\n 4\n >\n >;\n}\n\nexport function countAttendances(\n httpClient: HttpClient\n): CountAttendancesSignature {\n return (options?: CountAttendancesOptions) =>\n universalCountAttendances(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountAttendancesSignature {\n /**\n * Counts attendance records by contact.\n *\n * Returns the total number of attendance records for the contact,\n * with optional filtering by attendance status and service IDs.\n *\n * Filtering options:\n * + **attendance_status**: Filter by attendance status (ATTENDED, NOT_ATTENDED)\n * + **service_id**: Filter by one or more service IDs from the bookings\n *\n * If no filters are provided, returns the total count of all attendance records\n * for the contact.\n */\n (options?: CountAttendancesOptions): Promise<\n NonNullablePaths<CountAttendancesResponse, `count`, 2>\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n ApplicationError,\n Attendance,\n AttendanceDetails,\n AttendanceMarkedAsNotAttended,\n AttendanceQuerySpec,\n AttendanceStatus,\n AttendancesQueryBuilder,\n AttendancesQueryResult,\n BulkActionMetadata,\n BulkAttendanceResult,\n BulkSetAttendanceOptions,\n BulkSetAttendanceRequest,\n BulkSetAttendanceResponse,\n CountAttendancesOptions,\n CountAttendancesRequest,\n CountAttendancesResponse,\n CursorPaging,\n CursorPagingMetadata,\n Cursors,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n GetAttendanceRequest,\n GetAttendanceResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n ItemMetadata,\n MessageEnvelope,\n Paging,\n ParticipantNotification,\n QueryAttendanceRequest,\n QueryAttendanceResponse,\n QueryV2,\n QueryV2PagingMethodOneOf,\n RestoreInfo,\n SetAttendanceOptions,\n SetAttendanceRequest,\n SetAttendanceResponse,\n SortOrder,\n Sorting,\n WebhookIdentityType,\n} from './bookings-v2-attendance-attendance.universal.js';\n","import {\n getAttendance as publicGetAttendance,\n setAttendance as publicSetAttendance,\n bulkSetAttendance as publicBulkSetAttendance,\n queryAttendance as publicQueryAttendance,\n typedQueryAttendance as publicTypedQueryAttendance,\n countAttendances as publicCountAttendances,\n} from './bookings-v2-attendance-attendance.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n AttendanceQuery,\n AttendancesQueryBuilder,\n typedQueryAttendance as universalTypedQueryAttendance,\n} from './bookings-v2-attendance-attendance.universal.js';\n\nfunction customQueryAttendance(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: () => publicQueryAttendance(httpClient)(),\n typedQueryFunction: (query: AttendanceQuery) =>\n publicTypedQueryAttendance(httpClient)(query),\n hasOptionsParameter: false,\n });\n\n function overloadedQuery(): AttendancesQueryBuilder;\n function overloadedQuery(\n query: AttendanceQuery\n ): ReturnType<typeof universalTypedQueryAttendance>;\n function overloadedQuery(query?: AttendanceQuery): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const getAttendance: MaybeContext<\n BuildRESTFunction<typeof publicGetAttendance> & typeof publicGetAttendance\n> = /*#__PURE__*/ createRESTModule(publicGetAttendance);\nexport const setAttendance: MaybeContext<\n BuildRESTFunction<typeof publicSetAttendance> & typeof publicSetAttendance\n> = /*#__PURE__*/ createRESTModule(publicSetAttendance);\nexport const bulkSetAttendance: MaybeContext<\n BuildRESTFunction<typeof publicBulkSetAttendance> &\n typeof publicBulkSetAttendance\n> = /*#__PURE__*/ createRESTModule(publicBulkSetAttendance);\nexport const countAttendances: MaybeContext<\n BuildRESTFunction<typeof publicCountAttendances> &\n typeof publicCountAttendances\n> = /*#__PURE__*/ createRESTModule(publicCountAttendances);\nexport const queryAttendance: MaybeContext<\n BuildRESTFunction<typeof customQueryAttendance> & typeof customQueryAttendance\n> = /*#__PURE__*/ createRESTModule(customQueryAttendance);\n\nexport {\n AttendanceStatus,\n SortOrder,\n WebhookIdentityType,\n} from './bookings-v2-attendance-attendance.universal.js';\nexport {\n Attendance,\n GetAttendanceRequest,\n GetAttendanceResponse,\n SetAttendanceRequest,\n ParticipantNotification,\n SetAttendanceResponse,\n AttendanceMarkedAsNotAttended,\n BulkSetAttendanceRequest,\n AttendanceDetails,\n BulkSetAttendanceResponse,\n BulkAttendanceResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n QueryAttendanceRequest,\n QueryV2,\n QueryV2PagingMethodOneOf,\n Sorting,\n Paging,\n CursorPaging,\n QueryAttendanceResponse,\n CursorPagingMetadata,\n Cursors,\n CountAttendancesRequest,\n CountAttendancesResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n SetAttendanceOptions,\n BulkSetAttendanceOptions,\n AttendancesQueryResult,\n AttendancesQueryBuilder,\n AttendanceQuerySpec,\n CountAttendancesOptions,\n} from './bookings-v2-attendance-attendance.universal.js';\nexport {\n AttendanceStatusWithLiterals,\n SortOrderWithLiterals,\n WebhookIdentityTypeWithLiterals,\n GetAttendanceApplicationErrors,\n SetAttendanceApplicationErrors,\n BulkSetAttendanceApplicationErrors,\n CommonQueryWithEntityContext,\n AttendanceQuery,\n} from './bookings-v2-attendance-attendance.universal.js';\n"],"mappings":"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","names":["bulkSetAttendance","countAttendances","getAttendance","queryAttendance","setAttendance","import_timestamp","import_rest_modules","payload","import_transform_paths","AttendanceStatus","SortOrder","WebhookIdentityType","getAttendance","sdkTransformError","setAttendance","bulkSetAttendance","queryAttendance","countAttendances","getAttendance","setAttendance","bulkSetAttendance","queryAttendance","typedQueryAttendance","countAttendances","import_rest_modules","queryAttendance","typedQueryAttendance","getAttendance","setAttendance","bulkSetAttendance","countAttendances"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/bookings-v2-attendance-attendance.universal.ts","../../src/bookings-v2-attendance-attendance.http.ts","../../src/bookings-v2-attendance-attendance.public.ts","../../src/bookings-v2-attendance-attendance.context.ts"],"sourcesContent":["export * from './src/bookings-v2-attendance-attendance.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBookingsV2Attendance from './bookings-v2-attendance-attendance.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\n/**\n * The `attendance` object represents the attendance information\n * for a booked session, such as:\n *\n * + Did anyone attend the session?\n * + How many people attended the session?\n *\n * The number of session `attendance` objects available depends on the booking type:\n * + Appointment bookings have 1 `attendance` object per appointment session.\n * + Class bookings have 1 `attendance` object for each session of the class. The number of sessions for a class is defined in Schedule and Sessions `schedule.capacity` property.\n * + Course bookings have an `attendance` object for each session of the course. For example, if there are 12 sessions in a course, there are 12 `attendance` objects. The number of sessions for a class is defined in Schedule and Sessions `schedule.capacity` property.\n */\nexport interface Attendance {\n /**\n * ID of the `attendance` object.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Corresponding booking ID.\n * @format GUID\n */\n bookingId?: string | null;\n /** Corresponding session ID. */\n sessionId?: string | null;\n /** Status indicating if any participants attended the session. */\n status?: AttendanceStatusWithLiterals;\n /**\n * Total number of participants that attended the session. By default, the number\n * of attendees is set to `1`, but you can set a number to greater than `1` if multiple\n * participants attended.\n *\n * Do not set to `0` to indicate that no one attended the session. Instead, set the `status` field to `NOT_ATTENDED`.\n *\n * Default: 1\n */\n numberOfAttendees?: number;\n}\n\nexport enum AttendanceStatus {\n /** There is no available attendance information. */\n NOT_SET = 'NOT_SET',\n /** At least a single participant attended the session. */\n ATTENDED = 'ATTENDED',\n /** No participants attended the session. */\n NOT_ATTENDED = 'NOT_ATTENDED',\n}\n\n/** @enumType */\nexport type AttendanceStatusWithLiterals =\n | AttendanceStatus\n | 'NOT_SET'\n | 'ATTENDED'\n | 'NOT_ATTENDED';\n\nexport interface GetAttendanceRequest {\n /**\n * ID of the attendance object to retrieve.\n * @format GUID\n */\n attendanceId: string;\n}\n\nexport interface GetAttendanceResponse {\n /** Retrieved attendance. */\n attendance?: Attendance;\n}\n\nexport interface SetAttendanceRequest {\n /** Attendance to create or update. */\n attendance: Attendance;\n /** Information about whether to send a message to a customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\nexport interface ParticipantNotification {\n /**\n * Specify whether to send a message about the changes to the customer.\n *\n * Default: `false`\n */\n notifyParticipants?: boolean | null;\n /**\n * Optional custom message to send to the participants about the changes to the booking.\n * @minLength 1\n * @maxLength 5000\n */\n message?: string | null;\n}\n\nexport interface SetAttendanceResponse {\n /** Created or updated attendance. */\n attendance?: Attendance;\n}\n\nexport interface AttendanceMarkedAsNotAttended {\n /** The attendance information for a booked session that you want to create or update. */\n attendance?: Attendance;\n /** Information about whether to send a message to a customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\nexport interface BulkSetAttendanceRequest {\n returnFullEntity?: boolean;\n /**\n * List of attendance details for booking sessions to create or update.\n * @maxSize 8\n */\n attendanceDetails?: AttendanceDetails[];\n}\n\nexport interface AttendanceDetails {\n /** Created or updated attendance information for a booking session. */\n attendance?: Attendance;\n /** Information about whether to send a message to the customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\nexport interface BulkSetAttendanceResponse {\n /**\n * List of created or updated `attendance` objects.\n * @minSize 1\n * @maxSize 8\n */\n results?: BulkAttendanceResult[];\n /** Information about the total number of successes and failures for the Bulk Set Attendance call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkAttendanceResult {\n /** Created or updated `attendance` object. */\n item?: Attendance;\n /** Metadata for the created or updated `attendance` object. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface QueryAttendanceRequest {\n /** Query options. */\n query: QueryV2;\n}\n\nexport interface QueryV2 extends QueryV2PagingMethodOneOf {\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n *\n * Max: 1 filter\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]`\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface QueryV2PagingMethodOneOf {\n /**\n * Cursor token pointing to a page of results. In the first request,\n * specify `cursorPaging.limit`. For following requests, specify the\n * retrieved `cursorPaging.cursor` token and not `query.filter` or\n * `query.sort`.\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /** Name of the field to sort by. */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\n/**\n * Sort order. Use `ASC` for ascending order or `DESC` for descending order.\n *\n * Default: `ASC`.\n */\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface Paging {\n /** Number of items to load. */\n limit?: number | null;\n /** Number of items to skip in the current sort order. */\n offset?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Number of `Attendance` objects to return.\n *\n * Default: `50`\n * Maximum: `1000`\n * @max 1000\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * You can get the relevant cursor token\n * from the `pagingMetadata` object in the previous call's response.\n *\n * Not relevant for the first request.\n */\n cursor?: string | null;\n}\n\n/** List of objects that contain attendance information. */\nexport interface QueryAttendanceResponse {\n /** List of `attendance` objects that contain attendance information for a booked session. */\n attendances?: Attendance[];\n /** Metadata for the paged set of results. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\n/** This is the preferred message for cursor-paging enabled services */\nexport interface CursorPagingMetadata {\n /** Use these cursors to paginate between results. [Read more](https://dev.wix.com/api/rest/getting-started/api-query-language#getting-started_api-query-language_cursor-paging). */\n cursors?: Cursors;\n /**\n * Indicates if there are more results after the current page.\n * If `true`, another page of results can be retrieved.\n * If `false`, this is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /** Cursor pointing to next page in the list of results. */\n next?: string | null;\n /** Cursor pointing to previous page in the list of results. */\n prev?: string | null;\n}\n\nexport interface CountAttendancesRequest {\n /** Filter criteria for counting attendance records. If not provided, counts all attendance records for the contact. */\n filter?: Record<string, any> | null;\n}\n\nexport interface CountAttendancesResponse {\n /** Total number of attendance records matching the filters. */\n count?: number;\n}\n\nexport interface DeleteAttendanceRequest {\n /**\n * Attendance ID.\n * @format GUID\n */\n attendanceId: string;\n}\n\nexport interface DeleteAttendanceResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type GetAttendanceApplicationErrors = {\n code?: 'ATTENDANCE_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type SetAttendanceApplicationErrors = {\n code?: 'SESSION_ID_NOT_PROVIDED';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type BulkSetAttendanceApplicationErrors = {\n code?: 'ATTENDANCES_MISSING_IN_REQUEST';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type DeleteAttendanceApplicationErrors = {\n code?: 'ATTENDANCE_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n\n/**\n * Retrieves attendance information.\n * @param attendanceId - ID of the attendance object to retrieve.\n * @public\n * @requiredField attendanceId\n * @permissionId BOOKINGS.ATTENDANCE_READ\n * @applicableIdentity APP\n * @returns Retrieved attendance.\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.GetAttendance\n */\nexport async function getAttendance(attendanceId: string): Promise<\n NonNullablePaths<Attendance, `status` | `numberOfAttendees`, 2> & {\n __applicationErrorsType?: GetAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendanceId: attendanceId,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.getAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.attendance!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { attendanceId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['attendanceId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Sets or updates attendance information for a booking session. This\n * information is stored in an `attendance` object.\n *\n * If an `attendance` object already exists for the session, it's updated.\n * Otherwise, a new object is created.\n *\n * By default, `numberOfAttendees` is set to `1`, but you can specify a higher\n * number if multiple participants attended. Do not set `numberOfAttendees` to\n * `0` to indicate no attendance, instead specify `{\"status\": \"NOT_ATTENDED\"}`.\n *\n * Validation guidelines:\n *\n * + The call succeeds for mismatches between `numberOfAttendees`\n * and `status`. For example, make sure that your code doesn't specify\n * `{\"status\": \"NOT_ATTENDED\"}` with `{\"numberOfAttendees\": 5}`.\n * + The API also allows `numberOfAttendees` to exceed the booking's\n * `numberOfParticipants`. Use higher values only when scenarios like\n * walk-ins justify the exception.\n * @param attendance - Attendance to create or update.\n * @public\n * @requiredField attendance\n * @requiredField attendance.bookingId\n * @requiredField attendance.status\n * @param options - Options to use when setting an attendance.\n * @permissionId BOOKINGS.ATTENDANCE_SET\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.SetAttendance\n */\nexport async function setAttendance(\n attendance: NonNullablePaths<Attendance, `bookingId` | `status`, 2>,\n options?: SetAttendanceOptions\n): Promise<\n NonNullablePaths<\n SetAttendanceResponse,\n `attendance.status` | `attendance.numberOfAttendees`,\n 3\n > & {\n __applicationErrorsType?: SetAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendance: attendance,\n participantNotification: options?.participantNotification,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.setAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n attendance: '$[0]',\n participantNotification: '$[1].participantNotification',\n },\n singleArgumentUnchanged: false,\n },\n ['attendance', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SetAttendanceOptions {\n /** Information about whether to send a message to a customer after their attendance was set. */\n participantNotification?: ParticipantNotification;\n}\n\n/**\n * Sets or updates attendance information for multiple booking sessions.\n *\n *\n * Refer to Set Attendance for detailed behavior of individual attendance\n * entries.\n *\n * The call fails entirely if any entry in `attendanceDetails` is missing a\n * required field.\n *\n * If attendance details are provided for a non-existent session, the call\n * succeeds for valid sessions while marking the unavailable session as a\n * failure in the response.\n * @public\n * @param options - Options to use when setting multiple attendances in bulk.\n * @permissionId BOOKINGS.ATTENDANCE_SET\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.BulkSetAttendance\n */\nexport async function bulkSetAttendance(\n options?: BulkSetAttendanceOptions\n): Promise<\n NonNullablePaths<\n BulkSetAttendanceResponse,\n | `results`\n | `results.${number}.item.status`\n | `results.${number}.item.numberOfAttendees`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n returnFullEntity: options?.returnFullEntity,\n attendanceDetails: options?.attendanceDetails,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.bulkSetAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n returnFullEntity: '$[0].returnFullEntity',\n attendanceDetails: '$[0].attendanceDetails',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkSetAttendanceOptions {\n returnFullEntity?: boolean;\n /**\n * List of attendance details for booking sessions to create or update.\n * @maxSize 8\n */\n attendanceDetails?: AttendanceDetails[];\n}\n\n/**\n * Creates a query to retrieve a list of attendances.\n *\n * The `queryAttendances()` function builds a query to retrieve a list of attendances and returns a `AttendancesQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to call the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-builder/find) function.\n *\n * You can refine the query by chaining `AttendancesQueryBuilder` functions onto the query. `AttendancesQueryBuilder` functions enable you to sort, filter, and control the results that `queryAttendances()` returns.\n *\n * `queryAttendances()` uses the following `AttendancesQueryBuilder` default values that you can override:\n *\n * + `limit` is `50`.\n * + Sorted by `id` in ascending order.\n *\n * The functions that are chained to `queryAttendances()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"numberOfAttendees\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"numberOfAttendees\"`.\n *\n * The following `AttendancesQueryBuilder` functions are supported for the `queryAttendances()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-result/items) property in `AttendancesQueryResult`.\n * @public\n * @permissionId BOOKINGS.ATTENDANCE_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.QueryAttendance\n */\nexport function queryAttendance(): AttendancesQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Attendance,\n 'CURSOR',\n QueryAttendanceRequest,\n QueryAttendanceResponse\n >({\n func: async (payload: QueryAttendanceRequest) => {\n const reqOpts =\n ambassadorWixBookingsV2Attendance.queryAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryAttendanceRequest['query']) => {\n const args = [query, {}] as [QueryAttendanceRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryAttendanceResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.attendances,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface AttendancesQueryResult extends QueryCursorResult {\n items: Attendance[];\n query: AttendancesQueryBuilder;\n next: () => Promise<AttendancesQueryResult>;\n prev: () => Promise<AttendancesQueryResult>;\n}\n\nexport interface AttendancesQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n eq: (\n propertyName:\n | '_id'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ne: (\n propertyName:\n | '_id'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n ge: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n gt: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n le: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n */\n lt: (\n propertyName: 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n in: (\n propertyName:\n | '_id'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees',\n value: any\n ) => AttendancesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n ascending: (\n ...propertyNames: Array<\n '_id' | 'bookingId' | 'sessionId' | 'status' | 'numberOfAttendees'\n >\n ) => AttendancesQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */\n descending: (\n ...propertyNames: Array<'numberOfAttendees'>\n ) => AttendancesQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object. */\n limit: (limit: number) => AttendancesQueryBuilder;\n /** @param cursor - A pointer to specific record */\n skipTo: (cursor: string) => AttendancesQueryBuilder;\n find: () => Promise<AttendancesQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.QueryAttendance\n * @requiredField query\n * @returns List of objects that contain attendance information.\n */\nexport async function typedQueryAttendance(\n query: AttendanceQuery\n): Promise<\n NonNullablePaths<\n QueryAttendanceResponse,\n | `attendances`\n | `attendances.${number}.status`\n | `attendances.${number}.numberOfAttendees`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ query: query });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.queryAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface AttendanceQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['_id', 'bookingId', 'sessionId', 'status'];\n operators: ['$eq', '$in', '$ne', '$nin'];\n sort: 'ASC';\n },\n {\n fields: ['numberOfAttendees'];\n operators: ['$eq', '$gt', '$gte', '$in', '$lt', '$lte', '$ne', '$nin'];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Attendance,\n AttendanceQuerySpec\n>;\nexport type AttendanceQuery = {\n /** \n Cursor token pointing to a page of results. In the first request,\n specify `cursorPaging.limit`. For following requests, specify the\n retrieved `cursorPaging.cursor` token and not `query.filter` or\n `query.sort`. \n */\n cursorPaging?: {\n /** \n Number of `Attendance` objects to return.\n\n Default: `50`\n Maximum: `1000` \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n You can get the relevant cursor token\n from the `pagingMetadata` object in the previous call's response.\n\n Not relevant for the first request. \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information.\n\n Max: 1 filter \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[ {\"fieldName\":\"sortField1\",\"order\":\"ASC\"}, {\"fieldName\":\"sortField2\",\"order\":\"DESC\"} ]` \n */\n sort?: {\n /** \n Name of the field to sort by. \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\n/**\n * Counts attendance records by contact.\n *\n * Returns the total number of attendance records for the contact,\n * with optional filtering by attendance status and service IDs.\n *\n * Filtering options:\n * + **attendance_status**: Filter by attendance status (ATTENDED, NOT_ATTENDED)\n * + **service_id**: Filter by one or more service IDs from the bookings\n *\n * If no filters are provided, returns the total count of all attendance records\n * for the contact.\n * @public\n * @documentationMaturity preview\n * @permissionId BOOKINGS.ATTENDANCE_READ\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.CountAttendances\n */\nexport async function countAttendances(\n options?: CountAttendancesOptions\n): Promise<NonNullablePaths<CountAttendancesResponse, `count`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: options?.filter,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.countAttendances(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { filter: '$[0].filter' },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountAttendancesOptions {\n /** Filter criteria for counting attendance records. If not provided, counts all attendance records for the contact. */\n filter?: Record<string, any> | null;\n}\n\n/**\n * Deletes an attendance record.\n *\n *\n * This permanently removes the attendance information for a booking session.\n * To recreate the attendance information, call [Set Attendance](#set-attendance).\n * @param attendanceId - Attendance ID.\n * @internal\n * @documentationMaturity preview\n * @requiredField attendanceId\n * @permissionId bookings:v2:attendance:attendance:delete_attendance\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.DeleteAttendance\n */\nexport async function deleteAttendance(attendanceId: string): Promise<\n void & {\n __applicationErrorsType?: DeleteAttendanceApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendanceId: attendanceId,\n });\n\n const reqOpts = ambassadorWixBookingsV2Attendance.deleteAttendance(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { attendanceId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['attendanceId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '',\n },\n {\n srcPath: '/bookings-attendance',\n destPath: '',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/bookings/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/v2/attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/bookings/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n _: [\n {\n srcPath: '/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/_api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n {\n srcPath: '/bookings/attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/bookings-attendance',\n destPath: '/v2/attendance',\n },\n {\n srcPath: '/api/bookings-attendance/v2/bulk/attendance',\n destPath: '/v2/bulk/attendance',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_bookings_attendance';\n\n/** Retrieves attendance information. */\nexport function getAttendance(payload: object): RequestOptionsFactory<any> {\n function __getAttendance({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.GetAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/{attendanceId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'attendance.updatedDate' },\n { path: 'attendance.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getAttendance;\n}\n\n/**\n * Sets or updates attendance information for a booking session. This\n * information is stored in an `attendance` object.\n *\n * If an `attendance` object already exists for the session, it's updated.\n * Otherwise, a new object is created.\n *\n * By default, `numberOfAttendees` is set to `1`, but you can specify a higher\n * number if multiple participants attended. Do not set `numberOfAttendees` to\n * `0` to indicate no attendance, instead specify `{\"status\": \"NOT_ATTENDED\"}`.\n *\n * Validation guidelines:\n *\n * + The call succeeds for mismatches between `numberOfAttendees`\n * and `status`. For example, make sure that your code doesn't specify\n * `{\"status\": \"NOT_ATTENDED\"}` with `{\"numberOfAttendees\": 5}`.\n * + The API also allows `numberOfAttendees` to exceed the booking's\n * `numberOfParticipants`. Use higher values only when scenarios like\n * walk-ins justify the exception.\n */\nexport function setAttendance(payload: object): RequestOptionsFactory<any> {\n function __setAttendance({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'attendance.updatedDate' },\n { path: 'attendance.statusUpdatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.SetAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/set',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'attendance.updatedDate' },\n { path: 'attendance.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __setAttendance;\n}\n\n/**\n * Sets or updates attendance information for multiple booking sessions.\n *\n *\n * Refer to Set Attendance for detailed behavior of individual attendance\n * entries.\n *\n * The call fails entirely if any entry in `attendanceDetails` is missing a\n * required field.\n *\n * If attendance details are provided for a non-existent session, the call\n * succeeds for valid sessions while marking the unavailable session as a\n * failure in the response.\n */\nexport function bulkSetAttendance(payload: object): RequestOptionsFactory<any> {\n function __bulkSetAttendance({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'attendanceList.updatedDate' },\n { path: 'attendanceList.statusUpdatedDate' },\n { path: 'attendanceDetails.attendance.updatedDate' },\n { path: 'attendanceDetails.attendance.statusUpdatedDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.BulkSetAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/bulk/attendance/set',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.updatedDate' },\n { path: 'results.item.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkSetAttendance;\n}\n\n/**\n * Creates a query to retrieve a list of attendances.\n *\n * The `queryAttendances()` function builds a query to retrieve a list of attendances and returns a `AttendancesQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to call the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-builder/find) function.\n *\n * You can refine the query by chaining `AttendancesQueryBuilder` functions onto the query. `AttendancesQueryBuilder` functions enable you to sort, filter, and control the results that `queryAttendances()` returns.\n *\n * `queryAttendances()` uses the following `AttendancesQueryBuilder` default values that you can override:\n *\n * + `limit` is `50`.\n * + Sorted by `id` in ascending order.\n *\n * The functions that are chained to `queryAttendances()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"numberOfAttendees\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"numberOfAttendees\"`.\n *\n * The following `AttendancesQueryBuilder` functions are supported for the `queryAttendances()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-result/items) property in `AttendancesQueryResult`.\n */\nexport function queryAttendance(payload: object): RequestOptionsFactory<any> {\n function __queryAttendance({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.QueryAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'attendances.updatedDate' },\n { path: 'attendances.statusUpdatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryAttendance;\n}\n\n/**\n * Counts attendance records by contact.\n *\n * Returns the total number of attendance records for the contact,\n * with optional filtering by attendance status and service IDs.\n *\n * Filtering options:\n * + **attendance_status**: Filter by attendance status (ATTENDED, NOT_ATTENDED)\n * + **service_id**: Filter by one or more service IDs from the bookings\n *\n * If no filters are provided, returns the total count of all attendance records\n * for the contact.\n */\nexport function countAttendances(payload: object): RequestOptionsFactory<any> {\n function __countAttendances({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.CountAttendances',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countAttendances;\n}\n\n/**\n * Deletes an attendance record.\n *\n *\n * This permanently removes the attendance information for a booking session.\n * To recreate the attendance information, call [Set Attendance](#set-attendance).\n */\nexport function deleteAttendance(payload: object): RequestOptionsFactory<any> {\n function __deleteAttendance({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.bookings.v2.attendance',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wixpress.bookings.attendance.v2.AttendanceService.DeleteAttendance',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/attendance/{attendanceId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteAttendance;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n Attendance,\n AttendanceQuery,\n AttendancesQueryBuilder,\n BulkSetAttendanceApplicationErrors,\n BulkSetAttendanceOptions,\n BulkSetAttendanceResponse,\n CountAttendancesOptions,\n CountAttendancesResponse,\n DeleteAttendanceApplicationErrors,\n GetAttendanceApplicationErrors,\n QueryAttendanceResponse,\n SetAttendanceApplicationErrors,\n SetAttendanceOptions,\n SetAttendanceResponse,\n bulkSetAttendance as universalBulkSetAttendance,\n countAttendances as universalCountAttendances,\n deleteAttendance as universalDeleteAttendance,\n getAttendance as universalGetAttendance,\n queryAttendance as universalQueryAttendance,\n setAttendance as universalSetAttendance,\n typedQueryAttendance as universalTypedQueryAttendance,\n} from './bookings-v2-attendance-attendance.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/bookings' };\n\nexport function getAttendance(httpClient: HttpClient): GetAttendanceSignature {\n return (attendanceId: string) =>\n universalGetAttendance(\n attendanceId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetAttendanceSignature {\n /**\n * Retrieves attendance information.\n * @param - ID of the attendance object to retrieve.\n * @returns Retrieved attendance.\n */\n (attendanceId: string): Promise<\n NonNullablePaths<Attendance, `status` | `numberOfAttendees`, 2> & {\n __applicationErrorsType?: GetAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function setAttendance(httpClient: HttpClient): SetAttendanceSignature {\n return (\n attendance: NonNullablePaths<Attendance, `bookingId` | `status`, 2>,\n options?: SetAttendanceOptions\n ) =>\n universalSetAttendance(\n attendance,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SetAttendanceSignature {\n /**\n * Sets or updates attendance information for a booking session. This\n * information is stored in an `attendance` object.\n *\n * If an `attendance` object already exists for the session, it's updated.\n * Otherwise, a new object is created.\n *\n * By default, `numberOfAttendees` is set to `1`, but you can specify a higher\n * number if multiple participants attended. Do not set `numberOfAttendees` to\n * `0` to indicate no attendance, instead specify `{\"status\": \"NOT_ATTENDED\"}`.\n *\n * Validation guidelines:\n *\n * + The call succeeds for mismatches between `numberOfAttendees`\n * and `status`. For example, make sure that your code doesn't specify\n * `{\"status\": \"NOT_ATTENDED\"}` with `{\"numberOfAttendees\": 5}`.\n * + The API also allows `numberOfAttendees` to exceed the booking's\n * `numberOfParticipants`. Use higher values only when scenarios like\n * walk-ins justify the exception.\n * @param - Attendance to create or update.\n * @param - Options to use when setting an attendance.\n */\n (\n attendance: NonNullablePaths<Attendance, `bookingId` | `status`, 2>,\n options?: SetAttendanceOptions\n ): Promise<\n NonNullablePaths<\n SetAttendanceResponse,\n `attendance.status` | `attendance.numberOfAttendees`,\n 3\n > & {\n __applicationErrorsType?: SetAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function bulkSetAttendance(\n httpClient: HttpClient\n): BulkSetAttendanceSignature {\n return (options?: BulkSetAttendanceOptions) =>\n universalBulkSetAttendance(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkSetAttendanceSignature {\n /**\n * Sets or updates attendance information for multiple booking sessions.\n *\n *\n * Refer to Set Attendance for detailed behavior of individual attendance\n * entries.\n *\n * The call fails entirely if any entry in `attendanceDetails` is missing a\n * required field.\n *\n * If attendance details are provided for a non-existent session, the call\n * succeeds for valid sessions while marking the unavailable session as a\n * failure in the response.\n * @param - Options to use when setting multiple attendances in bulk.\n */\n (options?: BulkSetAttendanceOptions): Promise<\n NonNullablePaths<\n BulkSetAttendanceResponse,\n | `results`\n | `results.${number}.item.status`\n | `results.${number}.item.numberOfAttendees`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n > & {\n __applicationErrorsType?: BulkSetAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function queryAttendance(\n httpClient: HttpClient\n): QueryAttendanceSignature {\n return () =>\n universalQueryAttendance(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryAttendanceSignature {\n /**\n * Creates a query to retrieve a list of attendances.\n *\n * The `queryAttendances()` function builds a query to retrieve a list of attendances and returns a `AttendancesQueryBuilder` object.\n *\n * The returned object contains the query definition, which is typically used to call the query using the [find()](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-builder/find) function.\n *\n * You can refine the query by chaining `AttendancesQueryBuilder` functions onto the query. `AttendancesQueryBuilder` functions enable you to sort, filter, and control the results that `queryAttendances()` returns.\n *\n * `queryAttendances()` uses the following `AttendancesQueryBuilder` default values that you can override:\n *\n * + `limit` is `50`.\n * + Sorted by `id` in ascending order.\n *\n * The functions that are chained to `queryAttendances()` are applied in the order they are called. For example, if you apply `ascending(\"status\")` and then `ascending(\"numberOfAttendees\")`, the results are sorted first by the `\"status\"`, and then, if there are multiple results with the same `\"status\"`, the items are sorted by `\"numberOfAttendees\"`.\n *\n * The following `AttendancesQueryBuilder` functions are supported for the `queryAttendances()` function. For a full description of the tip settings object, see the object returned for the [items](https://dev.wix.com/docs/sdk/backend-modules/bookings/attendance/attendances-query-result/items) property in `AttendancesQueryResult`.\n */\n (): AttendancesQueryBuilder;\n}\n\nexport function typedQueryAttendance(\n httpClient: HttpClient\n): TypedQueryAttendanceSignature {\n return (query: AttendanceQuery) =>\n universalTypedQueryAttendance(\n query,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface TypedQueryAttendanceSignature {\n /** @returns List of objects that contain attendance information. */\n (query: AttendanceQuery): Promise<\n NonNullablePaths<\n QueryAttendanceResponse,\n | `attendances`\n | `attendances.${number}.status`\n | `attendances.${number}.numberOfAttendees`,\n 4\n >\n >;\n}\n\nexport function countAttendances(\n httpClient: HttpClient\n): CountAttendancesSignature {\n return (options?: CountAttendancesOptions) =>\n universalCountAttendances(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountAttendancesSignature {\n /**\n * Counts attendance records by contact.\n *\n * Returns the total number of attendance records for the contact,\n * with optional filtering by attendance status and service IDs.\n *\n * Filtering options:\n * + **attendance_status**: Filter by attendance status (ATTENDED, NOT_ATTENDED)\n * + **service_id**: Filter by one or more service IDs from the bookings\n *\n * If no filters are provided, returns the total count of all attendance records\n * for the contact.\n */\n (options?: CountAttendancesOptions): Promise<\n NonNullablePaths<CountAttendancesResponse, `count`, 2>\n >;\n}\n\n/** @internal */\nexport function deleteAttendance(\n httpClient: HttpClient\n): DeleteAttendanceSignature {\n return (attendanceId: string) =>\n universalDeleteAttendance(\n attendanceId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteAttendanceSignature {\n /**\n * Deletes an attendance record.\n *\n *\n * This permanently removes the attendance information for a booking session.\n * To recreate the attendance information, call [Set Attendance](#set-attendance).\n * @param - Attendance ID.\n */\n (attendanceId: string): Promise<\n void & {\n __applicationErrorsType?: DeleteAttendanceApplicationErrors;\n }\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n ApplicationError,\n Attendance,\n AttendanceDetails,\n AttendanceMarkedAsNotAttended,\n AttendanceQuerySpec,\n AttendanceStatus,\n AttendancesQueryBuilder,\n AttendancesQueryResult,\n BulkActionMetadata,\n BulkAttendanceResult,\n BulkSetAttendanceOptions,\n BulkSetAttendanceRequest,\n BulkSetAttendanceResponse,\n CountAttendancesOptions,\n CountAttendancesRequest,\n CountAttendancesResponse,\n CursorPaging,\n CursorPagingMetadata,\n Cursors,\n DeleteAttendanceRequest,\n DeleteAttendanceResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n GetAttendanceRequest,\n GetAttendanceResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n ItemMetadata,\n MessageEnvelope,\n Paging,\n ParticipantNotification,\n QueryAttendanceRequest,\n QueryAttendanceResponse,\n QueryV2,\n QueryV2PagingMethodOneOf,\n RestoreInfo,\n SetAttendanceOptions,\n SetAttendanceRequest,\n SetAttendanceResponse,\n SortOrder,\n Sorting,\n WebhookIdentityType,\n} from './bookings-v2-attendance-attendance.universal.js';\n","import {\n getAttendance as publicGetAttendance,\n setAttendance as publicSetAttendance,\n bulkSetAttendance as publicBulkSetAttendance,\n queryAttendance as publicQueryAttendance,\n typedQueryAttendance as publicTypedQueryAttendance,\n countAttendances as publicCountAttendances,\n deleteAttendance as publicDeleteAttendance,\n} from './bookings-v2-attendance-attendance.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n AttendanceQuery,\n AttendancesQueryBuilder,\n typedQueryAttendance as universalTypedQueryAttendance,\n} from './bookings-v2-attendance-attendance.universal.js';\n\nfunction customQueryAttendance(httpClient: HttpClient) {\n const router = createQueryOverloadRouter({\n builderQueryFunction: () => publicQueryAttendance(httpClient)(),\n typedQueryFunction: (query: AttendanceQuery) =>\n publicTypedQueryAttendance(httpClient)(query),\n hasOptionsParameter: false,\n });\n\n function overloadedQuery(): AttendancesQueryBuilder;\n function overloadedQuery(\n query: AttendanceQuery\n ): ReturnType<typeof universalTypedQueryAttendance>;\n function overloadedQuery(query?: AttendanceQuery): any {\n return router(...arguments);\n }\n\n return overloadedQuery;\n}\n\nexport const getAttendance: MaybeContext<\n BuildRESTFunction<typeof publicGetAttendance> & typeof publicGetAttendance\n> = /*#__PURE__*/ createRESTModule(publicGetAttendance);\nexport const setAttendance: MaybeContext<\n BuildRESTFunction<typeof publicSetAttendance> & typeof publicSetAttendance\n> = /*#__PURE__*/ createRESTModule(publicSetAttendance);\nexport const bulkSetAttendance: MaybeContext<\n BuildRESTFunction<typeof publicBulkSetAttendance> &\n typeof publicBulkSetAttendance\n> = /*#__PURE__*/ createRESTModule(publicBulkSetAttendance);\nexport const countAttendances: MaybeContext<\n BuildRESTFunction<typeof publicCountAttendances> &\n typeof publicCountAttendances\n> = /*#__PURE__*/ createRESTModule(publicCountAttendances);\n/** @internal */\nexport const deleteAttendance: MaybeContext<\n BuildRESTFunction<typeof publicDeleteAttendance> &\n typeof publicDeleteAttendance\n> = /*#__PURE__*/ createRESTModule(publicDeleteAttendance);\nexport const queryAttendance: MaybeContext<\n BuildRESTFunction<typeof customQueryAttendance> & typeof customQueryAttendance\n> = /*#__PURE__*/ createRESTModule(customQueryAttendance);\n\nexport {\n AttendanceStatus,\n SortOrder,\n WebhookIdentityType,\n} from './bookings-v2-attendance-attendance.universal.js';\nexport {\n Attendance,\n GetAttendanceRequest,\n GetAttendanceResponse,\n SetAttendanceRequest,\n ParticipantNotification,\n SetAttendanceResponse,\n AttendanceMarkedAsNotAttended,\n BulkSetAttendanceRequest,\n AttendanceDetails,\n BulkSetAttendanceResponse,\n BulkAttendanceResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n QueryAttendanceRequest,\n QueryV2,\n QueryV2PagingMethodOneOf,\n Sorting,\n Paging,\n CursorPaging,\n QueryAttendanceResponse,\n CursorPagingMetadata,\n Cursors,\n CountAttendancesRequest,\n CountAttendancesResponse,\n DeleteAttendanceRequest,\n DeleteAttendanceResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n SetAttendanceOptions,\n BulkSetAttendanceOptions,\n AttendancesQueryResult,\n AttendancesQueryBuilder,\n AttendanceQuerySpec,\n CountAttendancesOptions,\n} from './bookings-v2-attendance-attendance.universal.js';\nexport {\n AttendanceStatusWithLiterals,\n SortOrderWithLiterals,\n WebhookIdentityTypeWithLiterals,\n GetAttendanceApplicationErrors,\n SetAttendanceApplicationErrors,\n BulkSetAttendanceApplicationErrors,\n DeleteAttendanceApplicationErrors,\n CommonQueryWithEntityContext,\n AttendanceQuery,\n} from './bookings-v2-attendance-attendance.universal.js';\n"],"mappings":"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","names":["bulkSetAttendance","countAttendances","deleteAttendance","getAttendance","queryAttendance","setAttendance","import_timestamp","import_rest_modules","payload","import_transform_paths","AttendanceStatus","SortOrder","WebhookIdentityType","getAttendance","sdkTransformError","setAttendance","bulkSetAttendance","queryAttendance","countAttendances","deleteAttendance","getAttendance","setAttendance","bulkSetAttendance","queryAttendance","typedQueryAttendance","countAttendances","deleteAttendance","import_rest_modules","queryAttendance","typedQueryAttendance","getAttendance","setAttendance","bulkSetAttendance","countAttendances","deleteAttendance"]}
@@ -254,6 +254,15 @@ interface CountAttendancesResponse {
254
254
  /** Total number of attendance records matching the filters. */
255
255
  count?: number;
256
256
  }
257
+ interface DeleteAttendanceRequest {
258
+ /**
259
+ * Attendance ID.
260
+ * @format GUID
261
+ */
262
+ attendanceId: string;
263
+ }
264
+ interface DeleteAttendanceResponse {
265
+ }
257
266
  interface DomainEvent extends DomainEventBodyOneOf {
258
267
  createdEvent?: EntityCreatedEvent;
259
268
  updatedEvent?: EntityUpdatedEvent;
@@ -425,6 +434,12 @@ type BulkSetAttendanceApplicationErrors = {
425
434
  description?: string;
426
435
  data?: Record<string, any>;
427
436
  };
437
+ /** @docsIgnore */
438
+ type DeleteAttendanceApplicationErrors = {
439
+ code?: 'ATTENDANCE_NOT_FOUND';
440
+ description?: string;
441
+ data?: Record<string, any>;
442
+ };
428
443
  /**
429
444
  * Retrieves attendance information.
430
445
  * @param attendanceId - ID of the attendance object to retrieve.
@@ -670,4 +685,4 @@ interface CountAttendancesOptions {
670
685
  filter?: Record<string, any> | null;
671
686
  }
672
687
 
673
- export { type AccountInfo, type ActionEvent, type ApplicationError, type Attendance, type AttendanceDetails, type AttendanceMarkedAsNotAttended, type AttendanceQuery, type AttendanceQuerySpec, AttendanceStatus, type AttendanceStatusWithLiterals, type AttendancesQueryBuilder, type AttendancesQueryResult, type BulkActionMetadata, type BulkAttendanceResult, type BulkSetAttendanceApplicationErrors, type BulkSetAttendanceOptions, type BulkSetAttendanceRequest, type BulkSetAttendanceResponse, type CommonQueryWithEntityContext, type CountAttendancesOptions, type CountAttendancesRequest, type CountAttendancesResponse, type CursorPaging, type CursorPagingMetadata, type Cursors, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type GetAttendanceApplicationErrors, type GetAttendanceRequest, type GetAttendanceResponse, type IdentificationData, type IdentificationDataIdOneOf, type ItemMetadata, type MessageEnvelope, type Paging, type ParticipantNotification, type QueryAttendanceRequest, type QueryAttendanceResponse, type QueryV2, type QueryV2PagingMethodOneOf, type RestoreInfo, type SetAttendanceApplicationErrors, type SetAttendanceOptions, type SetAttendanceRequest, type SetAttendanceResponse, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkSetAttendance, countAttendances, getAttendance, queryAttendance, setAttendance, typedQueryAttendance };
688
+ export { type AccountInfo, type ActionEvent, type ApplicationError, type Attendance, type AttendanceDetails, type AttendanceMarkedAsNotAttended, type AttendanceQuery, type AttendanceQuerySpec, AttendanceStatus, type AttendanceStatusWithLiterals, type AttendancesQueryBuilder, type AttendancesQueryResult, type BulkActionMetadata, type BulkAttendanceResult, type BulkSetAttendanceApplicationErrors, type BulkSetAttendanceOptions, type BulkSetAttendanceRequest, type BulkSetAttendanceResponse, type CommonQueryWithEntityContext, type CountAttendancesOptions, type CountAttendancesRequest, type CountAttendancesResponse, type CursorPaging, type CursorPagingMetadata, type Cursors, type DeleteAttendanceApplicationErrors, type DeleteAttendanceRequest, type DeleteAttendanceResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type GetAttendanceApplicationErrors, type GetAttendanceRequest, type GetAttendanceResponse, type IdentificationData, type IdentificationDataIdOneOf, type ItemMetadata, type MessageEnvelope, type Paging, type ParticipantNotification, type QueryAttendanceRequest, type QueryAttendanceResponse, type QueryV2, type QueryV2PagingMethodOneOf, type RestoreInfo, type SetAttendanceApplicationErrors, type SetAttendanceOptions, type SetAttendanceRequest, type SetAttendanceResponse, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkSetAttendance, countAttendances, getAttendance, queryAttendance, setAttendance, typedQueryAttendance };
@@ -25,6 +25,7 @@ __export(index_typings_exports, {
25
25
  WebhookIdentityType: () => WebhookIdentityType,
26
26
  bulkSetAttendance: () => bulkSetAttendance2,
27
27
  countAttendances: () => countAttendances2,
28
+ deleteAttendance: () => deleteAttendance2,
28
29
  getAttendance: () => getAttendance2,
29
30
  queryAttendance: () => queryAttendance2,
30
31
  setAttendance: () => setAttendance2,
@@ -310,6 +311,27 @@ function countAttendances(payload) {
310
311
  }
311
312
  return __countAttendances;
312
313
  }
314
+ function deleteAttendance(payload) {
315
+ function __deleteAttendance({ host }) {
316
+ const metadata = {
317
+ entityFqdn: "wix.bookings.v2.attendance",
318
+ method: "DELETE",
319
+ methodFqn: "com.wixpress.bookings.attendance.v2.AttendanceService.DeleteAttendance",
320
+ packageName: PACKAGE_NAME,
321
+ migrationOptions: {
322
+ optInTransformResponse: true
323
+ },
324
+ url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({
325
+ protoPath: "/v2/attendance/{attendanceId}",
326
+ data: payload,
327
+ host
328
+ }),
329
+ params: (0, import_rest_modules.toURLSearchParams)(payload)
330
+ };
331
+ return metadata;
332
+ }
333
+ return __deleteAttendance;
334
+ }
313
335
 
314
336
  // src/bookings-v2-attendance-attendance.universal.ts
315
337
  var import_transform_paths2 = require("@wix/sdk-runtime/transformations/transform-paths");
@@ -506,6 +528,31 @@ async function countAttendances2(options) {
506
528
  throw transformedError;
507
529
  }
508
530
  }
531
+ async function deleteAttendance2(attendanceId) {
532
+ const { httpClient, sideEffects } = arguments[1];
533
+ const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
534
+ attendanceId
535
+ });
536
+ const reqOpts = deleteAttendance(payload);
537
+ sideEffects?.onSiteCall?.();
538
+ try {
539
+ const result = await httpClient.request(reqOpts);
540
+ sideEffects?.onSuccess?.(result);
541
+ return (0, import_rename_all_nested_keys.renameKeysFromRESTResponseToSDKResponse)(result.data);
542
+ } catch (err) {
543
+ const transformedError = (0, import_transform_error.transformError)(
544
+ err,
545
+ {
546
+ spreadPathsToArguments: {},
547
+ explicitPathsToArguments: { attendanceId: "$[0]" },
548
+ singleArgumentUnchanged: false
549
+ },
550
+ ["attendanceId"]
551
+ );
552
+ sideEffects?.onError?.(err);
553
+ throw transformedError;
554
+ }
555
+ }
509
556
  // Annotate the CommonJS export names for ESM import in node:
510
557
  0 && (module.exports = {
511
558
  AttendanceStatus,
@@ -513,6 +560,7 @@ async function countAttendances2(options) {
513
560
  WebhookIdentityType,
514
561
  bulkSetAttendance,
515
562
  countAttendances,
563
+ deleteAttendance,
516
564
  getAttendance,
517
565
  queryAttendance,
518
566
  setAttendance,