import { ObjectId } from 'mongodb'; import { Attachment } from './attachment'; import { BaseModel } from './baseModel'; import { BusinessType } from './businessType'; import { Channel } from './channel'; import { CollectionAgent } from './collectionAgent'; import { Employee } from './employee'; import { Ledger } from './ledger'; import { OperationCenter } from './operationCenter'; import { Segment } from './segment'; import { Vertical } from './vertical'; export interface Customer extends BaseModel { onboard: boolean; status: boolean; name: string; code: string; mobile?: string; email?: string; image?: string; parent?: Customer | ObjectId; vertical: Vertical | ObjectId; channel: Channel | ObjectId; segment?: Segment | ObjectId; employee?: Employee | ObjectId; collectionAgent?: CollectionAgent | ObjectId; gstNumber?: string; panNumber?: string; panImage1?: string; panImage2?: string; aadharNumber?: string; aadharImage1?: string; aadharImage2?: string; useParentBillingAddress?: boolean; billingAddressLine1?: string; billingAddressLine2?: string; billingAddressCity?: string; billingAddressState?: string; billingAddressCountry?: string; billingAddressPincode?: string; bankName?: string; accountNumber?: string; ifscCode?: string; outstandingLimit?: number; walkInCustomer?: boolean; noRoutePlan?: boolean; sendInvoiceEmail?: boolean; selfOperationCenter?: OperationCenter | ObjectId; ledger?: Ledger | ObjectId; disableQuickbooks?: boolean; softOutstanding?: number; hardOutstanding?: number; onboardOn?: Date; businessType?: BusinessType | ObjectId; attachments?: Attachment[]; linkedMidguardAccount?: string; }