Allgemein
Der Basket (Warenkorb) ist die Schnittstelle, um Aufträge abzuhandeln.
Zwei Funktionen: → action
- Berechnen, ohne den Auftrag auszulösen → calculate
- Auftrag auslösen mit Berechnungen → order
- der Auftrag wird in die VinX-Tabelle Online-Bestellung geschrieben, welche es erlaubt die Aufträge in VinX zu übernehmen. Dokumentation Benutzersicht: Online- Bestellungen.
Adressen
Die Zuweisung eines Auftrages an eine Adresse erfolgt entweder direkt mit der Angabe der entsprechenden Id (Adress-Tabelle) oder als Unterobjekte von Onlineadressen.
- orderingAddressId / orderingOnlineAddress = Bestelladresse (mindestens diese Adresse muss angegeben werden)
- billingAddressId / billingOnlineAddress = Rechnungsadresse
- deliveryAddressId / deliveryOnlineAddress = Lieferadresse
Sofern kein direkter Verweis per Id auf die Adress-Tabelle dem Warenkorb mitgegeben wird, wird versucht anhand des loginName (Onlineadresse) eine eindeutige Adresse zu finden und zuzuweisen. Dies betrifft ordering-, billing-, als auch deliveryAddress.
Falls die Zuweisung über diesen loginName erfolgt, muss der Onlineadresse den changeType = nop mitgegeben werden. Somit wird dieser Datensatz nicht persistiert.
Die Adresse für die Konditionen (für Berechnungen) wird wie folgt bestimmt:
- Übersteuerung der Konditionenadresse mit conditionAddressId
- orderingAddressId
- Falls orderingAddressId nicht durch conditionAddressId übersteuert wurde, kann je nach Einstellung auf der VinX-Adresse (orderingAddressId) die Konditionenadresse nochmals übersteuert werden (VinX intern)
- hinterlegte Rechnungsadresse auf dieser Adresse
- hinterlegte Konditionenadresse auf dieser Adresse
- falls keine Adresse gefunden wird (z.B. Gastbestellung) wird die Konditionenadresse auf dem Service-Provider geholt