import { IPpasInvoiceCancellation, IPpasInvoiceCustomer, IPpasInvoiceFacts, IPpasInvoiceId } from "../IPpasInvoiceCommon"; import { ICommercialInvoiceAddress } from "./IPpasCommercialInvoiceListInput"; export type CommercialReadingType = { dateFrom?: string; dateTo?: string; kind?: string; readingFrom?: number; readingTo?: number; consumption?: number; unit?: string; mrKind?: string | number; gas?: { consumptionKwh: number; volumeCoefficient: number; combustionHeat: number; normometersNm3: number; }; }; export type CommercialReadings = CommercialReadingType | CommercialReadingType[]; export type CommercialDeviceType = { number: string; type: string; readings: CommercialReadings; }; export type CommercialDevices = CommercialDeviceType | CommercialDeviceType[]; export type CommercialInstallationType = { pointOfDelivery: string; installation: string; billingClass: string; measurementType: string; contract: { id: string | number; moveInDate: string; moveOutDate: string; }; tddClass: string; address: ICommercialInvoiceAddress; devices: CommercialDevices; prices: Array<{ dateFrom: string; dateTo: string; kind: string; description: string; priceGroup: string; quantity: number; unit: string; unitPrice: number; timeSlot?: number | string | null; priceNetto: number; currency: string; taxRate: number; }>; }; export interface IPpasCommercialInvoiceDetailInput { id: IPpasInvoiceId; precedingId?: IPpasInvoiceId; customer: IPpasInvoiceCustomer; customerAddress: ICommercialInvoiceAddress; facts: IPpasInvoiceFacts; cancellation?: IPpasInvoiceCancellation | null; installations: CommercialInstallationType[]; }