import { ExternalEnum, CustomerGenderEnum } from "../enums"; import { PointProvider } from "./store"; export interface CustomerConfig { disabled: boolean; applyingOnKiosk: boolean; } export interface Customer { id?: string; name: string; phone: string; address?: string; /** Pool ID 不填,為早期cognito User Pool */ memberPoolNo?: string; /** 同一個Pool下的唯一user ID */ cognitoUserId?: string; cardNo?: string; carrier?: string; gender?: CustomerGenderEnum; email?: string; birthday?: CustomerBirthday; totalPoints?: number; expiringPoints?: number; expirationDatetime?: string; totalVisits?: number; totalSpending?: number; firstVisitTime?: number; lastVisitTime?: number; externals?: CustomerExternal[]; } export interface CustomerBirthday { year?: number; month?: number; day?: number; } export interface CustomerExternal { external: ExternalEnum; customerId: string; } export interface ProductOrderRate { name: string; rate: number; } export interface CustomerPointDetail { provider: PointProvider; /** @deprecated 改用 provider */ pointsName: string; redeemPoints: number; redeemAmount: number; redeemDatetime?: string; }