import { GetAttendanceRequest as GetAttendanceRequest$1, GetAttendanceResponse as GetAttendanceResponse$1, SetAttendanceRequest as SetAttendanceRequest$1, SetAttendanceResponse as SetAttendanceResponse$1, BulkSetAttendanceRequest as BulkSetAttendanceRequest$1, BulkSetAttendanceResponse as BulkSetAttendanceResponse$1, QueryAttendanceRequest as QueryAttendanceRequest$1, QueryAttendanceResponse as QueryAttendanceResponse$1, CountAttendancesRequest as CountAttendancesRequest$1, CountAttendancesResponse as CountAttendancesResponse$1, DeleteAttendanceRequest as DeleteAttendanceRequest$1, DeleteAttendanceResponse as DeleteAttendanceResponse$1, BulkDeleteAttendancesRequest as BulkDeleteAttendancesRequest$1, BulkDeleteAttendancesResponse as BulkDeleteAttendancesResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; /** * The `attendance` object represents the attendance information * for a booked session, such as: * * + Did anyone attend the session? * + How many people attended the session? * * The number of session `attendance` objects available depends on the booking type: * + Appointment bookings have 1 `attendance` object per appointment session. * + 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. * + 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. */ interface Attendance { /** * ID of the `attendance` object. * @format GUID * @readonly */ id?: string | null; /** * Corresponding booking ID. * @format GUID */ bookingId?: string | null; /** * Corresponding session ID. * * *Deprecated.** Use `eventId` instead. * @deprecated Corresponding session ID. * * *Deprecated.** Use `eventId` instead. * @replacedBy event_id * @targetRemovalDate 2027-01-01 */ sessionId?: string | null; /** Status indicating if any participants attended the session. */ status?: AttendanceStatusWithLiterals; /** * Total number of participants that attended the session. By default, the number * of attendees is set to `1`, but you can set a number to greater than `1` if multiple * participants attended. * * Do not set to `0` to indicate that no one attended the session. Instead, set the `status` field to `NOT_ATTENDED`. * * Default: 1 */ numberOfAttendees?: number; /** * 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`. * You can retrieve the event ID from the booking's slot `booking.bookedEntity.slot.eventId`. * @minLength 36 * @maxLength 250 */ eventId?: string | null; } declare enum AttendanceStatus { /** There is no available attendance information. */ NOT_SET = "NOT_SET", /** At least a single participant attended the session. */ ATTENDED = "ATTENDED", /** No participants attended the session. */ NOT_ATTENDED = "NOT_ATTENDED" } /** @enumType */ type AttendanceStatusWithLiterals = AttendanceStatus | 'NOT_SET' | 'ATTENDED' | 'NOT_ATTENDED'; interface GetAttendanceRequest { /** * ID of the attendance object to retrieve. * @format GUID */ attendanceId: string; } interface GetAttendanceResponse { /** Retrieved attendance. */ attendance?: Attendance; } interface SetAttendanceRequest { /** Attendance to create or update. */ attendance: Attendance; /** Information about whether to send a message to a customer after their attendance was set. */ participantNotification?: ParticipantNotification; } interface ParticipantNotification { /** * Specify whether to send a message about the changes to the customer. * * Default: `false` */ notifyParticipants?: boolean | null; /** * Optional custom message to send to the participants about the changes to the booking. * @minLength 1 * @maxLength 5000 */ message?: string | null; } interface SetAttendanceResponse { /** Created or updated attendance. */ attendance?: Attendance; } interface AttendanceMarkedAsNotAttended { /** The attendance information for a booked session that you want to create or update. */ attendance?: Attendance; /** Information about whether to send a message to a customer after their attendance was set. */ participantNotification?: ParticipantNotification; } interface BulkSetAttendanceRequest { returnFullEntity?: boolean; /** * List of attendance details for booking sessions to create or update. * @maxSize 8 */ attendanceDetails?: AttendanceDetails[]; } interface AttendanceDetails { /** Created or updated attendance information for a booking session. */ attendance?: Attendance; /** Information about whether to send a message to the customer after their attendance was set. */ participantNotification?: ParticipantNotification; } interface BulkSetAttendanceResponse { /** * List of created or updated `attendance` objects. * @minSize 1 * @maxSize 8 */ results?: BulkAttendanceResult[]; /** Information about the total number of successes and failures for the Bulk Set Attendance call. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkAttendanceResult { /** Created or updated `attendance` object. */ item?: Attendance; /** Metadata for the created or updated `attendance` object. */ itemMetadata?: ItemMetadata; } interface ItemMetadata { /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */ id?: string | null; /** Index of the item within the request array. Allows for correlation between request and response items. */ originalIndex?: number; /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */ success?: boolean; /** Details about the error in case of failure. */ error?: ApplicationError; } interface ApplicationError { /** Error code. */ code?: string; /** Description of the error. */ description?: string; /** Data related to the error. */ data?: Record | null; } interface BulkActionMetadata { /** Number of items that were successfully processed. */ totalSuccesses?: number; /** Number of items that couldn't be processed. */ totalFailures?: number; /** Number of failures without details because detailed failure threshold was exceeded. */ undetailedFailures?: number; } interface QueryAttendanceRequest { /** Query options. */ query: QueryV2; } interface QueryV2 extends QueryV2PagingMethodOneOf { /** * Cursor token pointing to a page of results. In the first request, * specify `cursorPaging.limit`. For following requests, specify the * retrieved `cursorPaging.cursor` token and not `query.filter` or * `query.sort`. */ cursorPaging?: CursorPaging; /** * Filter object. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more information. * * Max: 1 filter */ filter?: Record | null; /** * Sort object in the following format: * `[ {"fieldName":"sortField1","order":"ASC"}, {"fieldName":"sortField2","order":"DESC"} ]` */ sort?: Sorting[]; } /** @oneof */ interface QueryV2PagingMethodOneOf { /** * Cursor token pointing to a page of results. In the first request, * specify `cursorPaging.limit`. For following requests, specify the * retrieved `cursorPaging.cursor` token and not `query.filter` or * `query.sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrderWithLiterals; } /** * Sort order. Use `ASC` for ascending order or `DESC` for descending order. * * Default: `ASC`. */ declare enum SortOrder { ASC = "ASC", DESC = "DESC" } /** @enumType */ type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC'; interface Paging { /** Number of items to load. */ limit?: number | null; /** Number of items to skip in the current sort order. */ offset?: number | null; } interface CursorPaging { /** * Number of `Attendance` objects to return. * * Default: `50` * Maximum: `1000` * @max 1000 */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * You can get the relevant cursor token * from the `pagingMetadata` object in the previous call's response. * * Not relevant for the first request. */ cursor?: string | null; } /** List of objects that contain attendance information. */ interface QueryAttendanceResponse { /** List of `attendance` objects that contain attendance information for a booked session. */ attendances?: Attendance[]; /** Metadata for the paged set of results. */ pagingMetadata?: CursorPagingMetadata; } /** This is the preferred message for cursor-paging enabled services */ interface CursorPagingMetadata { /** 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). */ cursors?: Cursors; /** * Indicates if there are more results after the current page. * If `true`, another page of results can be retrieved. * If `false`, this is the last page. */ hasNext?: boolean | null; } interface Cursors { /** Cursor pointing to next page in the list of results. */ next?: string | null; /** Cursor pointing to previous page in the list of results. */ prev?: string | null; } interface CountAttendancesRequest { /** Filter criteria for counting attendance records. If not provided, counts all attendance records for the contact. */ filter?: Record | null; } interface CountAttendancesResponse { /** Total number of attendance records matching the filters. */ count?: number; } interface DeleteAttendanceRequest { /** * ID of the attendance record to delete. * @format GUID */ attendanceId: string; } interface DeleteAttendanceResponse { } interface BulkDeleteAttendancesRequest { /** * IDs of the attendance records to delete. * @format GUID * @minSize 1 * @maxSize 8 */ attendanceIds: string[]; } interface BulkDeleteAttendancesResponse { /** * Results for each attendance deletion. * @minSize 1 * @maxSize 8 */ results?: BulkDeleteAttendancesResult[]; /** Information about the total number of successes and failures for the Bulk Delete Attendances call. */ bulkActionMetadata?: BulkActionMetadata; } interface BulkDeleteAttendancesResult { /** Metadata for the deleted attendance. */ itemMetadata?: ItemMetadata; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** Event ID. With this ID you can easily spot duplicated events and ignore them. */ id?: string; /** * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`. */ entityFqdn?: string; /** * Event action name, placed at the top level to make it easier for users to dispatch messages. * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`. */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * 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. * 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. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entityAsJson?: string; /** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */ restoreInfo?: RestoreInfo; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntityAsJson?: string; } interface EntityDeletedEvent { /** Entity that was deleted. */ deletedEntityAsJson?: string | null; } interface ActionEvent { bodyAsJson?: string; } interface MessageEnvelope { /** * App instance ID. * @format GUID */ instanceId?: string | null; /** * Event type. * @maxLength 150 */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; /** Details related to the account */ accountInfo?: AccountInfo; } interface IdentificationData extends IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; /** @readonly */ identityType?: WebhookIdentityTypeWithLiterals; } /** @oneof */ interface IdentificationDataIdOneOf { /** * ID of a site visitor that has not logged in to the site. * @format GUID */ anonymousVisitorId?: string; /** * ID of a site visitor that has logged in to the site. * @format GUID */ memberId?: string; /** * ID of a Wix user (site owner, contributor, etc.). * @format GUID */ wixUserId?: string; /** * ID of an app. * @format GUID */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } /** @enumType */ type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP'; interface AccountInfo { /** * ID of the Wix account associated with the event. * @format GUID */ accountId?: string | null; /** * ID of the parent Wix account. Only included when accountId belongs to a child account. * @format GUID */ parentAccountId?: string | null; /** * ID of the Wix site associated with the event. Only included when the event is tied to a specific site. * @format GUID */ siteId?: string | null; } /** @docsIgnore */ type GetAttendanceApplicationErrors = { code?: 'ATTENDANCE_NOT_FOUND'; description?: string; data?: Record; }; /** @docsIgnore */ type SetAttendanceApplicationErrors = { code?: 'SESSION_ID_NOT_PROVIDED'; description?: string; data?: Record; }; /** @docsIgnore */ type BulkSetAttendanceApplicationErrors = { code?: 'ATTENDANCES_MISSING_IN_REQUEST'; description?: string; data?: Record; }; /** @docsIgnore */ type DeleteAttendanceApplicationErrors = { code?: 'ATTENDANCE_NOT_FOUND'; description?: string; data?: Record; }; type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function getAttendance(): __PublicMethodMetaInfo<'GET', { attendanceId: string; }, GetAttendanceRequest$1, GetAttendanceRequest, GetAttendanceResponse$1, GetAttendanceResponse>; declare function setAttendance(): __PublicMethodMetaInfo<'POST', {}, SetAttendanceRequest$1, SetAttendanceRequest, SetAttendanceResponse$1, SetAttendanceResponse>; declare function bulkSetAttendance(): __PublicMethodMetaInfo<'POST', {}, BulkSetAttendanceRequest$1, BulkSetAttendanceRequest, BulkSetAttendanceResponse$1, BulkSetAttendanceResponse>; declare function queryAttendance(): __PublicMethodMetaInfo<'POST', {}, QueryAttendanceRequest$1, QueryAttendanceRequest, QueryAttendanceResponse$1, QueryAttendanceResponse>; declare function countAttendances(): __PublicMethodMetaInfo<'POST', {}, CountAttendancesRequest$1, CountAttendancesRequest, CountAttendancesResponse$1, CountAttendancesResponse>; declare function deleteAttendance(): __PublicMethodMetaInfo<'DELETE', { attendanceId: string; }, DeleteAttendanceRequest$1, DeleteAttendanceRequest, DeleteAttendanceResponse$1, DeleteAttendanceResponse>; declare function bulkDeleteAttendances(): __PublicMethodMetaInfo<'POST', {}, BulkDeleteAttendancesRequest$1, BulkDeleteAttendancesRequest, BulkDeleteAttendancesResponse$1, BulkDeleteAttendancesResponse>; export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type ApplicationError as ApplicationErrorOriginal, type AttendanceDetails as AttendanceDetailsOriginal, type AttendanceMarkedAsNotAttended as AttendanceMarkedAsNotAttendedOriginal, type Attendance as AttendanceOriginal, AttendanceStatus as AttendanceStatusOriginal, type AttendanceStatusWithLiterals as AttendanceStatusWithLiteralsOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, type BulkAttendanceResult as BulkAttendanceResultOriginal, type BulkDeleteAttendancesRequest as BulkDeleteAttendancesRequestOriginal, type BulkDeleteAttendancesResponse as BulkDeleteAttendancesResponseOriginal, type BulkDeleteAttendancesResult as BulkDeleteAttendancesResultOriginal, type BulkSetAttendanceApplicationErrors as BulkSetAttendanceApplicationErrorsOriginal, type BulkSetAttendanceRequest as BulkSetAttendanceRequestOriginal, type BulkSetAttendanceResponse as BulkSetAttendanceResponseOriginal, type CountAttendancesRequest as CountAttendancesRequestOriginal, type CountAttendancesResponse as CountAttendancesResponseOriginal, type CursorPagingMetadata as CursorPagingMetadataOriginal, type CursorPaging as CursorPagingOriginal, type Cursors as CursorsOriginal, type DeleteAttendanceApplicationErrors as DeleteAttendanceApplicationErrorsOriginal, type DeleteAttendanceRequest as DeleteAttendanceRequestOriginal, type DeleteAttendanceResponse as DeleteAttendanceResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type GetAttendanceApplicationErrors as GetAttendanceApplicationErrorsOriginal, type GetAttendanceRequest as GetAttendanceRequestOriginal, type GetAttendanceResponse as GetAttendanceResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type ItemMetadata as ItemMetadataOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type Paging as PagingOriginal, type ParticipantNotification as ParticipantNotificationOriginal, type QueryAttendanceRequest as QueryAttendanceRequestOriginal, type QueryAttendanceResponse as QueryAttendanceResponseOriginal, type QueryV2 as QueryV2Original, type QueryV2PagingMethodOneOf as QueryV2PagingMethodOneOfOriginal, type RestoreInfo as RestoreInfoOriginal, type SetAttendanceApplicationErrors as SetAttendanceApplicationErrorsOriginal, type SetAttendanceRequest as SetAttendanceRequestOriginal, type SetAttendanceResponse as SetAttendanceResponseOriginal, SortOrder as SortOrderOriginal, type SortOrderWithLiterals as SortOrderWithLiteralsOriginal, type Sorting as SortingOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkDeleteAttendances, bulkSetAttendance, countAttendances, deleteAttendance, getAttendance, queryAttendance, setAttendance };