5.3. Grundlegende zusamengesetzte Typen

5.3.1. Kennzeichnung eines Gegenstands

Der Elementtyp cac:ItemIdentificationType wird verwendet, um Gegenstände zu identifizieren. Er besitzt die folgenden Elemente:

Tabelle 1. cac:ItemIdenticationType - Elemente

NameTyp/VorkommenBeschreibung
cac:IDudt:IdentifierTypeKennzeichnung, wie z.B. Artikelnummer oder EAN-Code
cac:PhysicalAttributecac:PhysicalAttributeType*identifzierende Merkmale
cac:MeasurementDimensioncac:DimensionType*Maße zur Identifizierung eines Gegenstands

Das Vorkommen von Elementen wird in dieser Tabelle (und folgenden) auf diese Weise qualifiziert:

Keine Angabe
Element muss verwendet werden.
*
Element kann beliebig oft vorkommen.
+
Element muss mindestens einmal vorkommen.
?
Element kann höchstens einmal vorkommen.

Zur Zeit gehen wir davon aus, dass ein Gegenstand beim Verkäufer durch eine kennzeichnende Zeichenkette eindeutig identifiziert wird, z.B. durch eine interne Artikelnummer oder durch einen EAN-Code.

Es ist allerdings auch denkbar, dass zur Identifizierung eines Gegenstands zusätzlich zur Artikelnummer weitere Angaben wie z.B. Bekleidungsgröße oder Farbe erforderlich sind. Der Elementtyp ItemIdentificationType ist auch für diese Fälle geeignet. Wir werden allerdings erst genauere Regeln hierfür festlegen, wenn sich in der Praxis zeigt, dass dies benötigt wird.

Bis auf weiteres gilt daher: veloconnect-konforme Implementierungen verwenden ausser dem Element cac:ID kein anderes der Kindelemente von ItemIdentifcationType.

5.3.2. Basispreise

Der Elementtyp cac:BasePriceType wird verwendet, um Preise mitzuteilen, die sich auf eine Menge beziehen:

Tabelle 2. cac:BasePriceType - Elemente

NameTyp/VorkommenBeschreibung
cbc:PriceAmountcbc:PriceAmountTypeDer Betrag des Preises.
cbc:BaseQuantitycbc:QuantityType?Basismenge für den Preis
cbc:MaximumQuantitycbc:QuantityType?maximale Menge für Gültigkeit des Preises
cbc:MinimumQuantitycbc:QuantityType?minimale Menge für Gültigkeit des Preises

Regel: BasePriceType. Für veloconnect-konforme Implementierungen gelten folgende Regeln:

  1. In einer Instanz vom Typ cac:BasePriceType muss mindestens eines der Kind-Elemente vom Typ cbc:QuantityType vorhanden sein.
  2. In allen Kind-Elementen einer Elementinstanz e vom Typ cbc:QuantityType darf nur ein und dieselbe Mengeneinheit (quantityUnitCode) verwendet werden. Diese nennen wir die Mengeneinheit von e. Ist eine Mengenangabe m gegeben, so nennen wir e gültig für m, wenn die Mengeneinheit von e mit der Mengeneinheit von m vergleichbar ist und m in dem Bereich liegt, der durch cbc:MinimumQuantity und cbc:MaximumQuantity in offensichtlicher Weise bestimmt ist. Insbesondere ist e nicht gültig für m, wenn die Mengeneinheiten nicht vergleichbar sind, und es ist gültig für m, wenn die Mengeneinheiten vergleichbar sind und die Elemente cbc:MaximumQuantity und cbc:MinimumQuantity nicht vorhanden sind.
  3. Werden in einem Instanzelement mehrere gleichnamige Kind-Elemente von diesem Typ verwendet, so wird damit eine Funktion mitgeteilt, die einer Mengenangabe einen Preis zuordnet, und zwar wie folgt: Gegeben sei die Mengenangabe m. Es werden unter den genannten Kind-Elementen alle ermittelt, die für m gültig sind. Wenn es kein solches Element gibt, dann ist die Funktion für dieses Argument m nicht definiert. Ansonsten wird aus den für m gültigen Elementen der kleinste Preisbetrag als Funktionswert festgesetzt.