import 'address.dart'; import 'contact_source.dart'; /// Wer die Ware vor Ort annimmt und wohin geliefert wird. /// /// Im ERP kann ein Beleg neben der Belegadresse (= Besteller, Kunde) eine /// eigene Lieferadresse (`Belegkopf.LieferAdressId`) tragen, z. B. wenn ein /// Kunde für Angehörige bestellt. Dann unterscheiden sich Empfänger und /// Besteller in Person und/oder Anschrift. Fahrer navigieren und klingeln /// beim Empfänger; Zahlung und Beleg laufen weiter über den Besteller. /// /// Gebaut über `TourDetails.recipientOf`. class DeliveryRecipient { const DeliveryRecipient({ required this.name, required this.address, required this.differsFromOrderer, this.contact, }); /// Name der Person/Firma vor Ort. Ohne eigenen Namen an der Lieferadresse /// der Name des Bestellers. final String name; /// Anschrift, an die geliefert wird (Lieferadress-Snapshot des Belegs). final Address address; /// Kontaktquelle der Lieferadresse (Rolle `delivery`), falls das ERP /// dort Namen oder Kontaktkanäle führt. final ContactSource? contact; /// `true`, wenn Person oder Anschrift vom Besteller abweichen. Die UI /// weist dann auf den Besteller hin. final bool differsFromOrderer; }