/// Protokollierte Zahlungsabwicklung („Abkassieren") einer Lieferung — /// spiegelt das Backend-Aggregat `DeliveryPayment`. /// /// Das Backend liefert pro Lieferung nur den jüngsten Eintrag. Der Betrag ist /// der offene Betrag zum Zeitpunkt der Bestätigung. Ändert sich der offene /// Betrag danach (z. B. neue Gutschrift), ist der Eintrag veraltet — siehe /// `DeliveryPaymentStatus`. class DeliveryPayment { const DeliveryPayment({ required this.id, required this.deliveryId, required this.paymentMethodId, required this.paymentMethodCode, required this.amountCents, required this.recordedAt, }); final String id; final String deliveryId; final String paymentMethodId; /// Snapshot des Methoden-Codes (`cash`, `ec_card`, `invoice`, …). final String paymentMethodCode; /// Abgewickelter Betrag in Cent. final int amountCents; final DateTime recordedAt; /// Bar/EC = vor Ort kassiert. „Auf Rechnung" bleibt offen. bool get isCollectedOnSite => paymentMethodCode == 'cash' || paymentMethodCode == 'ec_card'; }