import { IPpasInvoiceCancellation, IPpasInvoiceCustomer, IPpasInvoiceFacts, IPpasInvoiceId } from "../IPpasInvoiceCommon"; import { IPpasDistributionInvoiceCustomerAddress } from "./IPpasDistributionInvoiceListInput"; export type ReadingType = { 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 Readings = ReadingType | ReadingType[]; export type DeviceType = { number: string; type: string; readings: Readings; }; export type Devices = DeviceType | DeviceType[]; export interface IPpasDistributionInvoiceDetailInput { id: IPpasInvoiceId; precedingId?: IPpasInvoiceId; customer: IPpasInvoiceCustomer; customerAddress: IPpasDistributionInvoiceCustomerAddress; facts: IPpasInvoiceFacts; cancellation?: IPpasInvoiceCancellation; installations: Array<{ pointOfDelivery: string; installation: string; billingClass: string; measurementType: string; contract: { id: string | number; moveInDate: string; moveOutDate: string; }; tddClass: string; address: IPpasDistributionInvoiceCustomerAddress; devices: Devices; prices: Array<{ dateFrom: string; dateTo: string; kind: string; description: string; priceGroup: string; quantity: number; unit: string; unitPrice: number; timeSlot?: number; priceNetto: number; currency: string; taxRate: number; }>; }>; }