/** * Information about a team member who's eligible to receive a portion of the tip. * Currently, only [Bookings staff members](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction) * and [site collaborators](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site) * are eligible for tip distributions. */ export interface Staff { /** * Staff ID. Matches `staffMemberId` if available, or * `identificationData.wixUserId` if not. * @readonly */ _id?: string | null; /** Staff name. Matches the name of the Bookings staff member if available. */ name?: string | null; /** * Staff member ID. Available only if the staff is connected to a * Bookings staff member. */ staffMemberId?: string | null; /** * Identification data of the staff. Available only if the staff is a * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site). */ identificationData?: IdentificationData; } export interface IdentificationData extends IdentificationDataIdOneOf { /** ID of a site visitor who hasn't logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor who has logged in to the site. */ memberId?: string; /** * ID of a Wix user. For example, the site owner or a * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site). */ wixUserId?: string; /** ID of an app. */ appId?: string; /** * ID of the [contact](https://dev.wix.com/docs/sdk/backend-modules/crm/contacts/introduction) * in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */ contactId?: string | null; } /** @oneof */ export interface IdentificationDataIdOneOf { /** ID of a site visitor who hasn't logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor who has logged in to the site. */ memberId?: string; /** * ID of a Wix user. For example, the site owner or a * [site collaborator](https://support.wix.com/en/article/inviting-people-to-contribute-to-your-site). */ wixUserId?: string; /** ID of an app. */ appId?: string; } export declare enum IdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } export interface ListTippableStaffRequest { /** * Whether to include staff who are only Wix users and not * Bookings staff members in the response. Setting `{"includeWixUsers": true}` returns all tippable * staff, including Bookings staff, site collaborators, or those who are both. * By default, or if you provide `{"includeWixUsers": false}`, only Bookings * staff members or those who are both are returned. * * Default: `false`. */ includeWixUsers?: boolean; /** * Filters the returned staff by name. If you provide a name as filter, only * staff whose names start with the given input are returned. The filter isn't * case sensitive. * * Max: 500 characters */ filterByName?: string | null; /** * Filters the returned staff by ID. If you provide a list of IDs as filter, * only staff members with exact matching IDs are returned. * * Max: 100 IDs */ filterByIds?: string[] | null; } export interface ListTippableStaffResponse { /** Retrieved staff. */ staff?: Staff[]; } interface IdentificationDataNonNullableFields { anonymousVisitorId: string; memberId: string; wixUserId: string; appId: string; identityType: IdentityType; } interface StaffNonNullableFields { identificationData?: IdentificationDataNonNullableFields; } export interface ListTippableStaffResponseNonNullableFields { staff: StaffNonNullableFields[]; } /** * Retrieves a list of up to 100 staff who are eligible to receive tips, given * the provided filtering. * @public * @documentationMaturity preview * @param options - Options to use when listing tippable staff. * @permissionId WIX_TIPS.STAFF_READ * @permissionScope Manage Bookings * @permissionScopeId SCOPE.DC-BOOKINGS.MANAGE-BOOKINGS * @permissionScope Manage Bookings - all permissions * @permissionScopeId SCOPE.DC-BOOKINGS-MEGA.MANAGE-BOOKINGS * @applicableIdentity APP * @fqn wix.tips.staff.v1.TipStaffService.ListTippableStaff */ export declare function listTippableStaff(options?: ListTippableStaffOptions): Promise; export interface ListTippableStaffOptions { /** * Whether to include staff who are only Wix users and not Bookings staff members in the response. Setting `{"includeWixUsers": true}` returns all tippable * staff, including Bookings staff, site collaborators, or those who are both. * By default, or if you provide `{"includeWixUsers": false}`, only Bookings * staff members or those who are both are returned. * * Default: `false`. */ includeWixUsers?: boolean; /** * Filters the returned staff by name. If you provide a name as filter, only * staff whose names start with the given input are returned. The filter isn't * case sensitive. * * Max: 500 characters */ filterByName?: string | null; /** * Filters the returned staff by ID. If you provide a list of IDs as filter, * only staff members with exact matching IDs are returned. * * Max: 100 IDs */ filterByIds?: string[] | null; } export {};