@wix/auto_sdk_bookings_attendance 1.0.64 → 1.0.65
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.
- package/build/cjs/index.d.ts +7 -4
- package/build/cjs/index.js +28 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +83 -7
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +13 -1
- package/build/cjs/meta.js.map +1 -1
- package/build/cjs/schemas.d.ts +14 -1
- package/build/cjs/schemas.js +37 -12
- package/build/cjs/schemas.js.map +1 -1
- package/build/es/index.d.mts +7 -4
- package/build/es/index.mjs +27 -0
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +83 -7
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +13 -1
- package/build/es/meta.mjs.map +1 -1
- package/build/es/schemas.d.mts +14 -1
- package/build/es/schemas.mjs +37 -12
- package/build/es/schemas.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +7 -4
- package/build/internal/cjs/index.js +28 -0
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +83 -7
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +13 -1
- package/build/internal/cjs/meta.js.map +1 -1
- package/build/internal/cjs/schemas.d.ts +14 -1
- package/build/internal/cjs/schemas.js +37 -12
- package/build/internal/cjs/schemas.js.map +1 -1
- package/build/internal/es/index.d.mts +7 -4
- package/build/internal/es/index.mjs +27 -0
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +83 -7
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +13 -1
- package/build/internal/es/meta.mjs.map +1 -1
- package/build/internal/es/schemas.d.mts +14 -1
- package/build/internal/es/schemas.mjs +37 -12
- package/build/internal/es/schemas.mjs.map +1 -1
- package/package.json +2 -2
package/build/cjs/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
|
|
2
|
-
import { Attendance, GetAttendanceApplicationErrors, SetAttendanceOptions, SetAttendanceResponse, SetAttendanceApplicationErrors, BulkSetAttendanceOptions, BulkSetAttendanceResponse, BulkSetAttendanceApplicationErrors, CountAttendancesOptions, CountAttendancesResponse, DeleteAttendanceApplicationErrors, BulkDeleteAttendancesResponse, AttendancesQueryBuilder, AttendanceQuery, typedQueryAttendance } from './index.typings.js';
|
|
3
|
-
export { AccountInfo, ActionEvent, ApplicationError, AttendanceDetails, AttendanceMarkedAsNotAttended, AttendanceQuerySpec, AttendanceStatus, AttendanceStatusWithLiterals, AttendancesQueryResult, BulkActionMetadata, BulkAttendanceResult, BulkDeleteAttendancesRequest, BulkDeleteAttendancesResult, BulkSetAttendanceRequest, CommonQueryWithEntityContext, CountAttendancesRequest, CursorPaging, CursorPagingMetadata, Cursors, 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, utils } from './index.typings.js';
|
|
1
|
+
import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
|
|
2
|
+
import { Attendance, GetAttendanceApplicationErrors, SetAttendanceOptions, SetAttendanceResponse, SetAttendanceApplicationErrors, BulkSetAttendanceOptions, BulkSetAttendanceResponse, BulkSetAttendanceApplicationErrors, CountAttendancesOptions, CountAttendancesResponse, DeleteAttendanceApplicationErrors, BulkDeleteAttendancesResponse, AttendanceDeletedEnvelope, AttendancesQueryBuilder, AttendanceQuery, typedQueryAttendance } from './index.typings.js';
|
|
3
|
+
export { AccountInfo, AccountInfoMetadata, ActionEvent, ApplicationError, AttendanceDetails, AttendanceMarkedAsNotAttended, AttendanceQuerySpec, AttendanceStatus, AttendanceStatusWithLiterals, AttendancesQueryResult, BaseEventMetadata, BulkActionMetadata, BulkAttendanceResult, BulkDeleteAttendancesRequest, BulkDeleteAttendancesResult, BulkSetAttendanceRequest, CommonQueryWithEntityContext, CountAttendancesRequest, CursorPaging, CursorPagingMetadata, Cursors, DeleteAttendanceRequest, DeleteAttendanceResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, GetAttendanceRequest, GetAttendanceResponse, IdentificationData, IdentificationDataIdOneOf, ItemMetadata, MessageEnvelope, Paging, ParticipantNotification, QueryAttendanceRequest, QueryAttendanceResponse, QueryV2, QueryV2PagingMethodOneOf, RestoreInfo, SetAttendanceRequest, SortOrder, SortOrderWithLiterals, Sorting, WebhookIdentityType, WebhookIdentityTypeWithLiterals, utils } from './index.typings.js';
|
|
4
4
|
|
|
5
5
|
declare function getAttendance$1(httpClient: HttpClient): GetAttendanceSignature;
|
|
6
6
|
interface GetAttendanceSignature {
|
|
@@ -110,6 +110,7 @@ interface BulkDeleteAttendancesSignature {
|
|
|
110
110
|
*/
|
|
111
111
|
(attendanceIds: string[]): Promise<NonNullablePaths<BulkDeleteAttendancesResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
|
|
112
112
|
}
|
|
113
|
+
declare const onAttendanceDeleted$1: EventDefinition<AttendanceDeletedEnvelope, "wix.bookings.v2.attendance_deleted">;
|
|
113
114
|
|
|
114
115
|
declare function customQueryAttendance(httpClient: HttpClient): {
|
|
115
116
|
(): AttendancesQueryBuilder;
|
|
@@ -122,5 +123,7 @@ declare const countAttendances: MaybeContext<BuildRESTFunction<typeof countAtten
|
|
|
122
123
|
declare const deleteAttendance: MaybeContext<BuildRESTFunction<typeof deleteAttendance$1> & typeof deleteAttendance$1>;
|
|
123
124
|
declare const bulkDeleteAttendances: MaybeContext<BuildRESTFunction<typeof bulkDeleteAttendances$1> & typeof bulkDeleteAttendances$1>;
|
|
124
125
|
declare const queryAttendance: MaybeContext<BuildRESTFunction<typeof customQueryAttendance> & typeof customQueryAttendance>;
|
|
126
|
+
/** */
|
|
127
|
+
declare const onAttendanceDeleted: BuildEventDefinition<typeof onAttendanceDeleted$1> & typeof onAttendanceDeleted$1;
|
|
125
128
|
|
|
126
|
-
export { Attendance, AttendanceQuery, AttendancesQueryBuilder, BulkDeleteAttendancesResponse, BulkSetAttendanceApplicationErrors, BulkSetAttendanceOptions, BulkSetAttendanceResponse, CountAttendancesOptions, CountAttendancesResponse, DeleteAttendanceApplicationErrors, GetAttendanceApplicationErrors, SetAttendanceApplicationErrors, SetAttendanceOptions, SetAttendanceResponse, bulkDeleteAttendances, bulkSetAttendance, countAttendances, deleteAttendance, getAttendance, queryAttendance, setAttendance };
|
|
129
|
+
export { Attendance, AttendanceDeletedEnvelope, AttendanceQuery, AttendancesQueryBuilder, BulkDeleteAttendancesResponse, BulkSetAttendanceApplicationErrors, BulkSetAttendanceOptions, BulkSetAttendanceResponse, CountAttendancesOptions, CountAttendancesResponse, DeleteAttendanceApplicationErrors, GetAttendanceApplicationErrors, SetAttendanceApplicationErrors, SetAttendanceOptions, SetAttendanceResponse, bulkDeleteAttendances, bulkSetAttendance, countAttendances, deleteAttendance, getAttendance, onAttendanceDeleted, queryAttendance, setAttendance };
|
package/build/cjs/index.js
CHANGED
|
@@ -28,12 +28,19 @@ __export(index_exports, {
|
|
|
28
28
|
countAttendances: () => countAttendances4,
|
|
29
29
|
deleteAttendance: () => deleteAttendance4,
|
|
30
30
|
getAttendance: () => getAttendance4,
|
|
31
|
+
onAttendanceDeleted: () => onAttendanceDeleted2,
|
|
31
32
|
queryAttendance: () => queryAttendance4,
|
|
32
33
|
setAttendance: () => setAttendance4,
|
|
33
34
|
utils: () => utils
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(index_exports);
|
|
36
37
|
|
|
38
|
+
// src/bookings-v2-attendance-attendance.public.ts
|
|
39
|
+
var import_rename_all_nested_keys2 = require("@wix/sdk-runtime/rename-all-nested-keys");
|
|
40
|
+
var import_timestamp3 = require("@wix/sdk-runtime/transformations/timestamp");
|
|
41
|
+
var import_transform_paths3 = require("@wix/sdk-runtime/transformations/transform-paths");
|
|
42
|
+
var import_sdk_types = require("@wix/sdk-types");
|
|
43
|
+
|
|
37
44
|
// src/bookings-v2-attendance-attendance.universal.ts
|
|
38
45
|
var import_transform_error = require("@wix/sdk-runtime/transform-error");
|
|
39
46
|
var import_query_builder = require("@wix/sdk-runtime/query-builder");
|
|
@@ -664,9 +671,26 @@ function bulkDeleteAttendances3(httpClient) {
|
|
|
664
671
|
{ httpClient }
|
|
665
672
|
);
|
|
666
673
|
}
|
|
674
|
+
var onAttendanceDeleted = (0, import_sdk_types.EventDefinition)(
|
|
675
|
+
"wix.bookings.v2.attendance_deleted",
|
|
676
|
+
true,
|
|
677
|
+
(event) => (0, import_rename_all_nested_keys2.renameKeysFromRESTResponseToSDKResponse)(
|
|
678
|
+
(0, import_transform_paths3.transformPaths)(event, [
|
|
679
|
+
{
|
|
680
|
+
transformFn: import_timestamp3.transformRESTTimestampToSDKTimestamp,
|
|
681
|
+
paths: [
|
|
682
|
+
{ path: "undefined.updatedDate" },
|
|
683
|
+
{ path: "undefined.statusUpdatedDate" },
|
|
684
|
+
{ path: "metadata.eventTime" }
|
|
685
|
+
]
|
|
686
|
+
}
|
|
687
|
+
])
|
|
688
|
+
)
|
|
689
|
+
)();
|
|
667
690
|
|
|
668
691
|
// src/bookings-v2-attendance-attendance.context.ts
|
|
669
692
|
var import_rest_modules3 = require("@wix/sdk-runtime/rest-modules");
|
|
693
|
+
var import_event_definition_modules = require("@wix/sdk-runtime/event-definition-modules");
|
|
670
694
|
var import_query_method_router = require("@wix/sdk-runtime/query-method-router");
|
|
671
695
|
function customQueryAttendance(httpClient) {
|
|
672
696
|
const router = (0, import_query_method_router.createQueryOverloadRouter)({
|
|
@@ -686,6 +710,9 @@ var countAttendances4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModul
|
|
|
686
710
|
var deleteAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(deleteAttendance3);
|
|
687
711
|
var bulkDeleteAttendances4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(bulkDeleteAttendances3);
|
|
688
712
|
var queryAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(customQueryAttendance);
|
|
713
|
+
var onAttendanceDeleted2 = (0, import_event_definition_modules.createEventModule)(
|
|
714
|
+
onAttendanceDeleted
|
|
715
|
+
);
|
|
689
716
|
// Annotate the CommonJS export names for ESM import in node:
|
|
690
717
|
0 && (module.exports = {
|
|
691
718
|
AttendanceStatus,
|
|
@@ -696,6 +723,7 @@ var queryAttendance4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule
|
|
|
696
723
|
countAttendances,
|
|
697
724
|
deleteAttendance,
|
|
698
725
|
getAttendance,
|
|
726
|
+
onAttendanceDeleted,
|
|
699
727
|
queryAttendance,
|
|
700
728
|
setAttendance,
|
|
701
729
|
utils
|
package/build/cjs/index.js.map
CHANGED
|
@@ -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';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\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 /**\n * Corresponding session ID.\n *\n * Required when calling [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance). The call returns a `SESSION_ID_NOT_PROVIDED` error if this field is omitted. Retrieve the session ID from the booking's slot: `booking.bookedEntity.slot.sessionId`.\n */\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 * ID of the attendance record to delete.\n * @format GUID\n */\n attendanceId: string;\n}\n\nexport interface DeleteAttendanceResponse {}\n\nexport interface BulkDeleteAttendancesRequest {\n /**\n * IDs of the attendance records to delete.\n * @format GUID\n * @minSize 1\n * @maxSize 8\n */\n attendanceIds: string[];\n}\n\nexport interface BulkDeleteAttendancesResponse {\n /**\n * Results for each attendance deletion.\n * @minSize 1\n * @maxSize 8\n */\n results?: BulkDeleteAttendancesResult[];\n /** Information about the total number of successes and failures for the Bulk Delete Attendances call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteAttendancesResult {\n /** Metadata for the deleted attendance. */\n itemMetadata?: ItemMetadata;\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/** @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\nexport const utils = {\n query: {\n ...createQueryUtils<Attendance, AttendanceQuerySpec, AttendanceQuery>(),\n },\n};\n\n/**\n * Counts attendance records for the calling [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/introduction).\n * The member is identified from the site member ID in the `Authorization` header's auth token.\n * Calls with other [identity types](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities) return a `PERMISSION_DENIED` error.\n * Returns the total number of attendance records matching the provided filters.\n * If no filters are provided, returns the count of all attendance records for the caller.\n *\n * Filter the results by providing a `filter` object with any of the following fields:\n *\n * + `status`: Filter by attendance status. Supported values: `ATTENDED`, `NOT_ATTENDED`.\n * + `serviceId`: Filter by service ID. Accepts a single ID or an array of IDs.\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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance).\n *\n * To delete multiple attendance records in a single call, call\n * [Bulk Delete Attendances](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-delete-attendances).\n * @param attendanceId - ID of the attendance record to delete.\n * @public\n * @requiredField attendanceId\n * @permissionId bookings:v2:attendance:attendance:delete_attendance\n * @applicableIdentity APP\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\n/**\n * Deletes multiple attendance records.\n *\n *\n * This permanently removes the attendance information for multiple booking sessions.\n * To recreate the attendance information, call [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance) or\n * [Bulk Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-set-attendance).\n *\n * To delete a single attendance record, call [Delete Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/delete-attendance).\n * @param attendanceIds - IDs of the attendance records to delete.\n * @public\n * @requiredField attendanceIds\n * @permissionId bookings:v2:attendance:attendance:bulk_delete_attendances\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.BulkDeleteAttendances\n */\nexport async function bulkDeleteAttendances(\n attendanceIds: string[]\n): Promise<\n NonNullablePaths<\n BulkDeleteAttendancesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendanceIds: attendanceIds,\n });\n\n const reqOpts =\n ambassadorWixBookingsV2Attendance.bulkDeleteAttendances(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: { attendanceIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['attendanceIds']\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 for the calling [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/introduction).\n * The member is identified from the site member ID in the `Authorization` header's auth token.\n * Calls with other [identity types](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities) return a `PERMISSION_DENIED` error.\n * Returns the total number of attendance records matching the provided filters.\n * If no filters are provided, returns the count of all attendance records for the caller.\n *\n * Filter the results by providing a `filter` object with any of the following fields:\n *\n * + `status`: Filter by attendance status. Supported values: `ATTENDED`, `NOT_ATTENDED`.\n * + `serviceId`: Filter by service ID. Accepts a single ID or an array of IDs.\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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance).\n *\n * To delete multiple attendance records in a single call, call\n * [Bulk Delete Attendances](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-delete-attendances).\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\n/**\n * Deletes multiple attendance records.\n *\n *\n * This permanently removes the attendance information for multiple booking sessions.\n * To recreate the attendance information, call [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance) or\n * [Bulk Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-set-attendance).\n *\n * To delete a single attendance record, call [Delete Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/delete-attendance).\n */\nexport function bulkDeleteAttendances(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkDeleteAttendances({ 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.BulkDeleteAttendances',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/bulk/attendance/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeleteAttendances;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n Attendance,\n AttendanceQuery,\n AttendancesQueryBuilder,\n BulkDeleteAttendancesResponse,\n BulkSetAttendanceApplicationErrors,\n BulkSetAttendanceOptions,\n BulkSetAttendanceResponse,\n CountAttendancesOptions,\n CountAttendancesResponse,\n DeleteAttendanceApplicationErrors,\n GetAttendanceApplicationErrors,\n QueryAttendanceResponse,\n SetAttendanceApplicationErrors,\n SetAttendanceOptions,\n SetAttendanceResponse,\n bulkDeleteAttendances as universalBulkDeleteAttendances,\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 for the calling [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/introduction).\n * The member is identified from the site member ID in the `Authorization` header's auth token.\n * Calls with other [identity types](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities) return a `PERMISSION_DENIED` error.\n * Returns the total number of attendance records matching the provided filters.\n * If no filters are provided, returns the count of all attendance records for the caller.\n *\n * Filter the results by providing a `filter` object with any of the following fields:\n *\n * + `status`: Filter by attendance status. Supported values: `ATTENDED`, `NOT_ATTENDED`.\n * + `serviceId`: Filter by service ID. Accepts a single ID or an array of IDs.\n */\n (options?: CountAttendancesOptions): Promise<\n NonNullablePaths<CountAttendancesResponse, `count`, 2>\n >;\n}\n\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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance).\n *\n * To delete multiple attendance records in a single call, call\n * [Bulk Delete Attendances](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-delete-attendances).\n * @param - ID of the attendance record to delete.\n */\n (attendanceId: string): Promise<\n void & {\n __applicationErrorsType?: DeleteAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function bulkDeleteAttendances(\n httpClient: HttpClient\n): BulkDeleteAttendancesSignature {\n return (attendanceIds: string[]) =>\n universalBulkDeleteAttendances(\n attendanceIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeleteAttendancesSignature {\n /**\n * Deletes multiple attendance records.\n *\n *\n * This permanently removes the attendance information for multiple booking sessions.\n * To recreate the attendance information, call [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance) or\n * [Bulk Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-set-attendance).\n *\n * To delete a single attendance record, call [Delete Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/delete-attendance).\n * @param - IDs of the attendance records to delete.\n */\n (attendanceIds: string[]): Promise<\n NonNullablePaths<\n BulkDeleteAttendancesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\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 BulkDeleteAttendancesRequest,\n BulkDeleteAttendancesResponse,\n BulkDeleteAttendancesResult,\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 utils,\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 bulkDeleteAttendances as publicBulkDeleteAttendances,\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 deleteAttendance: MaybeContext<\n BuildRESTFunction<typeof publicDeleteAttendance> &\n typeof publicDeleteAttendance\n> = /*#__PURE__*/ createRESTModule(publicDeleteAttendance);\nexport const bulkDeleteAttendances: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeleteAttendances> &\n typeof publicBulkDeleteAttendances\n> = /*#__PURE__*/ createRESTModule(publicBulkDeleteAttendances);\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 BulkDeleteAttendancesRequest,\n BulkDeleteAttendancesResponse,\n BulkDeleteAttendancesResult,\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 { utils } 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":["bulkDeleteAttendances","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","bulkDeleteAttendances","getAttendance","setAttendance","bulkSetAttendance","queryAttendance","typedQueryAttendance","countAttendances","deleteAttendance","bulkDeleteAttendances","import_rest_modules","queryAttendance","typedQueryAttendance","getAttendance","setAttendance","bulkSetAttendance","countAttendances","deleteAttendance","bulkDeleteAttendances"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/bookings-v2-attendance-attendance.public.ts","../../src/bookings-v2-attendance-attendance.universal.ts","../../src/bookings-v2-attendance-attendance.http.ts","../../src/bookings-v2-attendance-attendance.context.ts"],"sourcesContent":["export * from './src/bookings-v2-attendance-attendance.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n Attendance,\n AttendanceDeletedEnvelope,\n AttendanceQuery,\n AttendancesQueryBuilder,\n BulkDeleteAttendancesResponse,\n BulkSetAttendanceApplicationErrors,\n BulkSetAttendanceOptions,\n BulkSetAttendanceResponse,\n CountAttendancesOptions,\n CountAttendancesResponse,\n DeleteAttendanceApplicationErrors,\n GetAttendanceApplicationErrors,\n QueryAttendanceResponse,\n SetAttendanceApplicationErrors,\n SetAttendanceOptions,\n SetAttendanceResponse,\n bulkDeleteAttendances as universalBulkDeleteAttendances,\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 for the calling [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/introduction).\n * The member is identified from the site member ID in the `Authorization` header's auth token.\n * Calls with other [identity types](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities) return a `PERMISSION_DENIED` error.\n * Returns the total number of attendance records matching the provided filters.\n * If no filters are provided, returns the count of all attendance records for the caller.\n *\n * Filter the results by providing a `filter` object with any of the following fields:\n *\n * + `status`: Filter by attendance status. Supported values: `ATTENDED`, `NOT_ATTENDED`.\n * + `serviceId`: Filter by service ID. Accepts a single ID or an array of IDs.\n */\n (options?: CountAttendancesOptions): Promise<\n NonNullablePaths<CountAttendancesResponse, `count`, 2>\n >;\n}\n\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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance).\n *\n * To delete multiple attendance records in a single call, call\n * [Bulk Delete Attendances](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-delete-attendances).\n * @param - ID of the attendance record to delete.\n */\n (attendanceId: string): Promise<\n void & {\n __applicationErrorsType?: DeleteAttendanceApplicationErrors;\n }\n >;\n}\n\nexport function bulkDeleteAttendances(\n httpClient: HttpClient\n): BulkDeleteAttendancesSignature {\n return (attendanceIds: string[]) =>\n universalBulkDeleteAttendances(\n attendanceIds,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeleteAttendancesSignature {\n /**\n * Deletes multiple attendance records.\n *\n *\n * This permanently removes the attendance information for multiple booking sessions.\n * To recreate the attendance information, call [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance) or\n * [Bulk Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-set-attendance).\n *\n * To delete a single attendance record, call [Delete Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/delete-attendance).\n * @param - IDs of the attendance records to delete.\n */\n (attendanceIds: string[]): Promise<\n NonNullablePaths<\n BulkDeleteAttendancesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n >;\n}\n\nexport const onAttendanceDeleted = EventDefinition(\n 'wix.bookings.v2.attendance_deleted',\n true,\n (event: AttendanceDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.updatedDate' },\n { path: 'undefined.statusUpdatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<AttendanceDeletedEnvelope>();\n\nexport {\n AccountInfo,\n AccountInfoMetadata,\n ActionEvent,\n ApplicationError,\n Attendance,\n AttendanceDeletedEnvelope,\n AttendanceDetails,\n AttendanceMarkedAsNotAttended,\n AttendanceQuerySpec,\n AttendanceStatus,\n AttendancesQueryBuilder,\n AttendancesQueryResult,\n BaseEventMetadata,\n BulkActionMetadata,\n BulkAttendanceResult,\n BulkDeleteAttendancesRequest,\n BulkDeleteAttendancesResponse,\n BulkDeleteAttendancesResult,\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 EventMetadata,\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 utils,\n} from './bookings-v2-attendance-attendance.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBookingsV2Attendance from './bookings-v2-attendance-attendance.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\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 /**\n * Corresponding session ID.\n *\n * *Deprecated.** Use `eventId` instead.\n * @deprecated Corresponding session ID.\n *\n * *Deprecated.** Use `eventId` instead.\n * @replacedBy event_id\n * @targetRemovalDate 2027-01-01\n */\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 * Corresponding [event ID](https://dev.wix.com/docs/api-reference/business-management/calendar/events-v3/event-object). Use this field instead of the deprecated `sessionId`.\n * You can retrieve the event ID from the booking's slot `booking.bookedEntity.slot.eventId`.\n * @minLength 36\n * @maxLength 250\n */\n eventId?: string | null;\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 * ID of the attendance record to delete.\n * @format GUID\n */\n attendanceId: string;\n}\n\nexport interface DeleteAttendanceResponse {}\n\nexport interface BulkDeleteAttendancesRequest {\n /**\n * IDs of the attendance records to delete.\n * @format GUID\n * @minSize 1\n * @maxSize 8\n */\n attendanceIds: string[];\n}\n\nexport interface BulkDeleteAttendancesResponse {\n /**\n * Results for each attendance deletion.\n * @minSize 1\n * @maxSize 8\n */\n results?: BulkDeleteAttendancesResult[];\n /** Information about the total number of successes and failures for the Bulk Delete Attendances call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteAttendancesResult {\n /** Metadata for the deleted attendance. */\n itemMetadata?: ItemMetadata;\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/** @docsIgnore */\nexport type DeleteAttendanceApplicationErrors = {\n code?: 'ATTENDANCE_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface AttendanceDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/** @webhook\n * @eventType wix.bookings.v2.attendance_deleted\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onAttendanceDeleted(\n handler: (event: AttendanceDeletedEnvelope) => void | Promise<void>\n): void;\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 | 'eventId',\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 | 'eventId',\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 | 'eventId',\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'\n | 'bookingId'\n | 'sessionId'\n | 'status'\n | 'numberOfAttendees'\n | 'eventId'\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', 'eventId', '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\nexport const utils = {\n query: {\n ...createQueryUtils<Attendance, AttendanceQuerySpec, AttendanceQuery>(),\n },\n};\n\n/**\n * Counts attendance records for the calling [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/introduction).\n * The member is identified from the site member ID in the `Authorization` header's auth token.\n * Calls with other [identity types](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities) return a `PERMISSION_DENIED` error.\n * Returns the total number of attendance records matching the provided filters.\n * If no filters are provided, returns the count of all attendance records for the caller.\n *\n * Filter the results by providing a `filter` object with any of the following fields:\n *\n * + `status`: Filter by attendance status. Supported values: `ATTENDED`, `NOT_ATTENDED`.\n * + `serviceId`: Filter by service ID. Accepts a single ID or an array of IDs.\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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance).\n *\n * To delete multiple attendance records in a single call, call\n * [Bulk Delete Attendances](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-delete-attendances).\n * @param attendanceId - ID of the attendance record to delete.\n * @public\n * @requiredField attendanceId\n * @permissionId bookings:v2:attendance:attendance:delete_attendance\n * @applicableIdentity APP\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\n/**\n * Deletes multiple attendance records.\n *\n *\n * This permanently removes the attendance information for multiple booking sessions.\n * To recreate the attendance information, call [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance) or\n * [Bulk Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-set-attendance).\n *\n * To delete a single attendance record, call [Delete Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/delete-attendance).\n * @param attendanceIds - IDs of the attendance records to delete.\n * @public\n * @requiredField attendanceIds\n * @permissionId bookings:v2:attendance:attendance:bulk_delete_attendances\n * @applicableIdentity APP\n * @fqn com.wixpress.bookings.attendance.v2.AttendanceService.BulkDeleteAttendances\n */\nexport async function bulkDeleteAttendances(\n attendanceIds: string[]\n): Promise<\n NonNullablePaths<\n BulkDeleteAttendancesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n attendanceIds: attendanceIds,\n });\n\n const reqOpts =\n ambassadorWixBookingsV2Attendance.bulkDeleteAttendances(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: { attendanceIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['attendanceIds']\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 for the calling [member](https://dev.wix.com/docs/api-reference/crm/members-contacts/members/introduction).\n * The member is identified from the site member ID in the `Authorization` header's auth token.\n * Calls with other [identity types](https://dev.wix.com/docs/api-reference/articles/authentication/about-identities) return a `PERMISSION_DENIED` error.\n * Returns the total number of attendance records matching the provided filters.\n * If no filters are provided, returns the count of all attendance records for the caller.\n *\n * Filter the results by providing a `filter` object with any of the following fields:\n *\n * + `status`: Filter by attendance status. Supported values: `ATTENDED`, `NOT_ATTENDED`.\n * + `serviceId`: Filter by service ID. Accepts a single ID or an array of IDs.\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](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance).\n *\n * To delete multiple attendance records in a single call, call\n * [Bulk Delete Attendances](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-delete-attendances).\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\n/**\n * Deletes multiple attendance records.\n *\n *\n * This permanently removes the attendance information for multiple booking sessions.\n * To recreate the attendance information, call [Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/set-attendance) or\n * [Bulk Set Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/bulk-set-attendance).\n *\n * To delete a single attendance record, call [Delete Attendance](https://dev.wix.com/docs/api-reference/business-solutions/bookings/bookings/attendance/delete-attendance).\n */\nexport function bulkDeleteAttendances(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkDeleteAttendances({ 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.BulkDeleteAttendances',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveComWixpressBookingsAttendanceV2AttendanceServiceUrl({\n protoPath: '/v2/bulk/attendance/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeleteAttendances;\n}\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 bulkDeleteAttendances as publicBulkDeleteAttendances,\n} from './bookings-v2-attendance-attendance.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { HttpClient } from '@wix/sdk-types';\nimport { createQueryOverloadRouter } from '@wix/sdk-runtime/query-method-router';\nimport {\n AttendanceQuery,\n AttendancesQueryBuilder,\n typedQueryAttendance as universalTypedQueryAttendance,\n} from './bookings-v2-attendance-attendance.universal.js';\nimport { onAttendanceDeleted as publicOnAttendanceDeleted } from './bookings-v2-attendance-attendance.public.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 deleteAttendance: MaybeContext<\n BuildRESTFunction<typeof publicDeleteAttendance> &\n typeof publicDeleteAttendance\n> = /*#__PURE__*/ createRESTModule(publicDeleteAttendance);\nexport const bulkDeleteAttendances: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeleteAttendances> &\n typeof publicBulkDeleteAttendances\n> = /*#__PURE__*/ createRESTModule(publicBulkDeleteAttendances);\nexport const queryAttendance: MaybeContext<\n BuildRESTFunction<typeof customQueryAttendance> & typeof customQueryAttendance\n> = /*#__PURE__*/ createRESTModule(customQueryAttendance);\n/** */\nexport const onAttendanceDeleted: BuildEventDefinition<\n typeof publicOnAttendanceDeleted\n> &\n typeof publicOnAttendanceDeleted = createEventModule(\n publicOnAttendanceDeleted\n);\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 BulkDeleteAttendancesRequest,\n BulkDeleteAttendancesResponse,\n BulkDeleteAttendancesResult,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n BaseEventMetadata,\n EventMetadata,\n AccountInfoMetadata,\n AttendanceDeletedEnvelope,\n SetAttendanceOptions,\n BulkSetAttendanceOptions,\n AttendancesQueryResult,\n AttendancesQueryBuilder,\n AttendanceQuerySpec,\n CountAttendancesOptions,\n} from './bookings-v2-attendance-attendance.universal.js';\nexport { utils } 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":["bulkDeleteAttendances","bulkSetAttendance","countAttendances","deleteAttendance","getAttendance","onAttendanceDeleted","queryAttendance","setAttendance","import_rename_all_nested_keys","import_timestamp","import_transform_paths","import_timestamp","import_rest_modules","payload","import_transform_paths","AttendanceStatus","SortOrder","WebhookIdentityType","getAttendance","sdkTransformError","setAttendance","bulkSetAttendance","queryAttendance","countAttendances","deleteAttendance","bulkDeleteAttendances","getAttendance","setAttendance","bulkSetAttendance","queryAttendance","typedQueryAttendance","countAttendances","deleteAttendance","bulkDeleteAttendances","import_rest_modules","queryAttendance","typedQueryAttendance","getAttendance","setAttendance","bulkSetAttendance","countAttendances","deleteAttendance","bulkDeleteAttendances","onAttendanceDeleted"]}
|