import { AccountTakeoverName } from './AccountTakeoverName'; import { CustomerAccountAddress } from './CustomerAccountAddress'; import { Telephone } from './Telephone'; /** * Information about a user\'s account. */ export declare class AccountTakeoverCustomerAccount { /** * Unique account identifier provided by the Partner\'s Identity Provider/System assigned to the account owner by the partner. `user_id` is specific to the Partner\'s namespace. Used to track repeat account activity by the same user. */ userId: string; /** * Identifies the account type of a user\'\'s account. Possible values are: - `INDIVIDUAL` - Applicable if this account is for an individual traveler. - `BUSINESS` - Applicable if this account is for a business or organization account used by suppliers or Partners. */ accountType: AccountTakeoverCustomerAccountAccountTypeEnum; /** * Identifies the account role and associated permissions of a user\'\'s account. Possible values are: - `USER`: Basic account with no special privileges. - `MANAGER`: Account with additional privileges, such as the ability to make bookings for others. - `ADMIN`: Account with higher privileges than a manager, including the ability to grant manager access to other users. */ accountRole?: AccountTakeoverCustomerAccountAccountRoleEnum; name?: AccountTakeoverName; /** * Username of the account. */ username: string; /** * Email address for the account owner. */ emailAddress: string; telephones?: Array; address?: CustomerAccountAddress; /** * The local date and time that the customer first registered on the Partner\'s site, in ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`. */ registeredTime: Date; /** * Indicator for if this account is an active account or not. */ activeFlag: boolean; /** * Unique loyalty identifier for a user. */ loyaltyMemberId?: string; constructor(accountTakeoverCustomerAccount: AccountTakeoverCustomerAccountProperties); } export type AccountTakeoverCustomerAccountAccountTypeEnum = 'INDIVIDUAL' | 'BUSINESS'; export type AccountTakeoverCustomerAccountAccountRoleEnum = 'USER' | 'MANAGER' | 'ADMIN'; export interface AccountTakeoverCustomerAccountProperties { userId: string; accountType: AccountTakeoverCustomerAccountAccountTypeEnum; accountRole?: AccountTakeoverCustomerAccountAccountRoleEnum; name?: AccountTakeoverName; username: string; emailAddress: string; telephones?: Array; address?: CustomerAccountAddress; registeredTime: Date; activeFlag: boolean; loyaltyMemberId?: string; }