Ein velo..connect-konformer Server muss von den Transaktionen Order und OrderInOnlineShop (vgl. nächsten Abschnitt) mindestens eine implementieren. Die Transaktion Order besitzt drei Zustände:
und kennt vier Operationen:
Die einzelnen Operationen sind wie folgt definiert:
Die Anfrage ist ein Element vco:CreateOrderRequest, die Antwort ist ein Element vco:OrderResponse. Das Element vco:CreateOrderRequest erweitert den Typ vct:RequestType um das Element vco:OrderRequestLine, welches mindestens einmal vorkommen muss. Dieses besitzt die folgenden Elemente:
Tabelle 10. vco:OrderRequestLine - Elemente
Name | Typ/Vorkommen | Beschreibung |
---|---|---|
cac:SellersItemIdentification | cac:ItemIdenficationType | Kennzeichnung des zu bestellenden Artikels |
cbc:Quantity | cbc:QuantityType | Menge |
cac:BuyersItemIdentification | cac:ItemIdenficationType? | optional: Artikelnummer des Käufers |
cbc:DeliveryDate | cbc:Date? | optional: gewünschtes Lieferdatum |
cbc:BacklogIndicator | cbc:IndicatorType? | optional: Indikator für Nachlieferung |
Regel: CreateOrderRequest. Ein velo..connect-konformer Client vehält sich wie folgt: Für die Zwecke der Transaktion Order wird davon ausgegangen, dass die Bestellung normalisiert ist, d.h. je zwei verschiedene Zeilen der Bestellung beziehen sich auf verschiedene Artikelkennzeichnungen des Verkäufers (kurz: Bestellnummer). Zu jeder Zeile dieser Bestellung wird ein Element OrderRequestLine wie folgt angelegt:
Regel: OrderRequestLine(Client).
Wird die URL oder die URL-S-Bindung verwendet, muss jedes dieser Elemente in eine Folge von Parametern übersetzt werden. Dies geschieht wie folgt: Sei X der Inhalt des ID-Elements von SellersItemIdentification. Name und Wert der für die Serialisierung verwendeten Parameter sind dann wie folgt:
Tabelle 11. URL-Parameter für vco:OrderRequestLine
Name | Wert |
---|---|
Quantity.X | Inhalt des Elements Quantity |
quantityUnitCode.X | Inhalt des Attributs quantityUnitCode des Elements Quantity |
DeliveryDate.X | Inhalt des Elements DeliveryDate. |
BacklogIndicator.X | Inhalt des Elements BacklogIndicator. |
BuyersItemIdentification.X | Inhalt des ID-Elements von BuyersItemIdentification |
Regel: Serialisierung von vco:OrderRequestLine. Ein velo..connect-konformer Server darf die Transaktion Order in der URL- oder URL-S-Bindung nur dann implementieren, wenn gewährleistet ist:
Das Element vco:OrderResponse erweitert den Typ vct:TransactionResponseType um die Elemente vco:OrderResponseLine und vco:RequestReplacement, die jeweils beliebig oft vorkommen können.
Das Element vco:OrderResponseLine ist aus folgenden Elementen aufgebaut:
Tabelle 12. OrderResponseLine - Elemente
Name | Typ/Vorkommen | Beschreibung |
---|---|---|
cbc:Quantity | cbc:QuantityType | Menge |
cac:Item | cac:ItemType | Beschreibung des bestellten Artikels |
cac:UnitPrice | cbc:PriceAmountType | Einzelpreis |
vco:Availability? | vco:AvailabilityType | Liefererbarkeit (vgl. Absatz vco:AvailabilityType) |
cbc:DeliveryDate | cbc:Date? | Lieferdatum |
cbc:BacklogIndicator | cbc:IndicatorType? | Indikator für Nachlieferung |
Das Element vco:RequestReplacement besteht aus zwei Elementen:
Tabelle 13. vco:RequestReplacement - Elemente
Name | Typ/Vorkommen | Beschreibung |
---|---|---|
cac:SellersItemIdentifcation | cac:ItemIdentificationType | Vom Käufer bestellter Artikel |
cac:ItemReplacement | cac:ItemReplacementType+ | Ersatzvorschlag |
Der Typ cac:ItemReplacementType erweitert den Type cac:ItemIdentificationType um ein verbindliches Element cac:ReplacementCode vom Typ cac:ReplacementCodeType sowie ein optionales Element cbc:Description. Der Typ cac:ReplacementCodeType kann nur folgende Zeichenketten als Inhalt haben:
vco:AvailabilityType. Der Typ vco:AvailabilityType besteht aus folgenden Elementen:
Tabelle 14. vco:AvailabilityType - Elemente
Name | Typ/Vorkommen | Beschreibung |
---|---|---|
vco:Code | vco:AvailabilityCodeType | Code für Lieferbarkeit, kann nur folgende Werte annehmen: available, partially_available, expecting_delivery, not_available |
vco:AvailableQuantity | cbc:QuantityType? | lieferbare Menge |
cbc:ExpectedDeliveryDate | cbc:DateType? | erwartete Lieferung |
cac:ItemReplacement | cac:ItemReplacementType? | Ersatzvorschlag |
Regel: CreateOrder. Ein velo..connect-konformer Server reagiert auf ein Anfrage CreateOrderRequest wie folgt:
Regel: OrderRequestLine(Server). Es sei ein Element OrderRequestLine gegeben. Der Transaktionskontext wird wie folgt modifiziert:
Es wird ein Element OrderResponseLine erzeugt. Die Elemente Quantity, DeliveryDate, BacklogIndicator werden übernommen, wobei folgende Modifikationen möglich sind:
Regel: RequestReplacement. Erhält der Server vom Client eine Artikelkennzeichnung, die nicht mehr zum aktuellen Sortiment gehört, aber dennoch soweit vom Server interpretiert werden kann, dass er einen oder mehrere Ersatzvorschläge unterbreiten will, so wird dies mit dem Element vco:RequestReplacement mitgeteilt. Das Kind-Element vco:SellersItemIdentification wird unverändert aus der Anfrage übernommen, für jeden Ersatzartikel wird ein Element cac:ItemReplacement gemäß nachfolgender Regel gebildet.
Regel: ItemReplacement. Ersatzartikel werden durch ein Element cac:ItemReplacement mitgeteilt. Das Kind-Element cac:ReplacementCode vom Typ cac:ReplacementCodeType qualifiziert den Vorschlag wie folgt:
Tabelle 15. Regel: ReplacementCode
Inhalt | Bedeutung |
---|---|
identical | Der Ersatzartikel unterschiedet sich vom zu ersetzenden Artikel nur durch die Artikelnummer. (Zum Beispiel anwendbar, wenn eine Umstellung der Artikelnummern stattgefunden hat und der Client noch die alten verwendet) |
package | Der Ersatzartikel unterscheidet sich vom zu ersetzenden Artikel nur durch die Verpackungseinheit. |
recommended | Der Verkäufer hält den Ersatzartikel für einen adäquaten Ersatz und spricht eine Empfehlung aus. In diesem Fall wird empfohlen, die Artikelbeschreibung im nachfolgenden Element cbc:Description mitzuteilen. |
Regel: Availability. Die Verfügbarkeit eines Artikels wird in einem Element vom Typ vco:AvailabilityType mitgeteilt. Die Inhalte seiner Kind-Elemente einer velo..connect-konformen Implementierung genügen den folgenden Regeln.
Im Element vco:Code wird die Verfügbarkeit wie folgt kodifiziert:
Tabelle 16. Regel: Availability-Code
Inhalt | Bedeutung |
---|---|
available | Der Artikel ist in der gewünschten Menge lieferbar. |
partially_available | Der Artikel ist nur in einer Teilmenge lieferbar. |
expecting_delivery | Der Artikel ist nicht in der gewünschten Menge lieferbar, eine Lieferung wird aber durch den Käufer in absehbarer Zeit erwartet. |
not_available | Der Artikel ist nicht lieferbar. Weitere Angaben sind nicht möglich. |
Regel: OrderResponse(Client). Ein velo..connect-konformer Client ordnet jedem der zurückgelieferten Elemente OrderResponseLine und RequestReplacement eine Zeile der normalisierten Bestellung mittels der Bestellnummer (SellersItemIdentification) zu, und überprüft für jede Zeile der normalisierten Bestellung, ob einer der folgenden Fälle vorliegt. Jedes Vorkommnis eines solchen Falles ist dem Benutzer mit allen relevanten Information mitzuteilen. Dieser hat daraufhin die Möglichkeit, die Bestellung abzuändern und den Bestellvorgang fortzusetzen oder abzubrechen. Alternativ besteht auch die Möglichkeit, Regeln festzulegen, wie in jedem dieser Fälle die Bestellung modifiziert werden soll und unter welchen Bedingungen mit der modifizierten Bestellunge fortgefahren wird oder diese abgebrochen wird. Für jeden einzelnen Posten der Bestellung ist jeder der folgenden Fälle zu berücksichtigen: