Belege können im ERP eine eigene Lieferadresse (LieferAdressId) mit anderer Person tragen als der Besteller. Die App zeigt jetzt überall den Empfänger vor Ort: - TourDetails.recipientOf liefert Empfänger (Name aus der Lieferadresse, sonst Besteller), Lieferanschrift und differsFromOrderer. - Sortieren, Auswählen, Beladen und Liefer-Übersicht: Empfängername + Lieferadresse, bei Abweichung „Bestellt von: <Kunde>". - Lieferdetails: hervorgehobene Karte „Abweichende Lieferadresse" mit Empfänger, Anschrift und Kontakt; Kunden-Block als „Besteller (Kunde)" mit Adresse, Kundennummer und Kontaktdaten. - Maps navigiert zur Lieferadresse statt zur Kundenadresse; AppBar, Unterschrift und Beladen-Avatar nutzen den Empfänger. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
1.2 KiB
Dart
36 lines
1.2 KiB
Dart
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;
|
|
}
|