import { ObjectId } from 'mongodb'; import { Attachment } from './attachment'; import { BaseModel } from './baseModel'; import { Customer } from './customer'; import { LmDispatch } from './lmDispatch'; import { OperationCenter } from './operationCenter'; import { OrderItem } from './order'; import { SKU } from './sku'; import { Vehicle } from './vehicle'; export interface Delivery extends BaseModel { date: Date; operationCenter: OperationCenter | ObjectId; code: string; vehicle: Vehicle | ObjectId; customer: Customer | ObjectId; lmDispatch?: LmDispatch | ObjectId; items: DeliveryItem[]; originalDeliveredAmount?: number; deliveredAmountAdjustment?: number; deliveredAmount: number; attachments?: Attachment[]; comments?: string; account?: string; unplanned?: boolean; } export interface DeliveryItem extends BaseModel { delivery: Delivery | ObjectId; date: Date; operationCenter: OperationCenter | ObjectId; vehicle: Vehicle | ObjectId; customer: Customer | ObjectId; orderItem: OrderItem | ObjectId; sku: SKU | ObjectId; originalUnitPrice: number; unitPriceAdjustment?: number; unitPrice: number; delivered?: number; specRejected?: number; qualityRejected?: number; rejected?: number; rejectedReason?: string; discountedQuantity?: number; mismatchReason?: string; originalDeliveredAmount: number; deliveredAmountAdjustment?: number; deliveredAmount: number; unplanned?: boolean; dispatchedQuantity?: number; }