/// Zahlungs-Stammdatensatz — spiegelt das Backend-Aggregat `PaymentMethod`. /// /// `code` ist der stabile Programm-Identifier (z. B. `"cash"`, /// `"invoice"`); UI-Code kann darüber spezielle Methoden referenzieren, /// ohne die UUID kennen zu müssen. `active = false` ist Soft-Delete — /// die Methode bleibt für historische Lieferungen referenzierbar, /// taucht aber in der Auswahl bei neuen Lieferungen nicht mehr auf. class PaymentMethod { const PaymentMethod({ required this.id, required this.code, required this.name, required this.active, required this.createdAt, }); final String id; final String code; final String name; final bool active; final DateTime createdAt; PaymentMethod copyWith({ String? id, String? code, String? name, bool? active, DateTime? createdAt, }) { return PaymentMethod( id: id ?? this.id, code: code ?? this.code, name: name ?? this.name, active: active ?? this.active, createdAt: createdAt ?? this.createdAt, ); } }