/** * 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. */ 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; } 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 */ 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; } declare enum IdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } 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; } interface ListTippableStaffResponse { /** Retrieved staff. */ staff?: Staff[]; } interface IdentificationDataNonNullableFields { anonymousVisitorId: string; memberId: string; wixUserId: string; appId: string; identityType: IdentityType; } interface StaffNonNullableFields { identificationData?: IdentificationDataNonNullableFields; } interface ListTippableStaffResponseNonNullableFields { staff: StaffNonNullableFields[]; } 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 { IdentityType as I, type ListTippableStaffOptions as L, type Staff as S, type ListTippableStaffResponse as a, type ListTippableStaffResponseNonNullableFields as b, type IdentificationData as c, type IdentificationDataIdOneOf as d, type ListTippableStaffRequest as e };