Dieser Artikel richtet sich an Kund:innen, die erweiterte CPC-Konfigurationen (Custom Price Calculation) in XML bearbeiten und erstellen und erfahren möchten, wie eine Gebührenbedingung (fee condition) eingerichtet wird. Eine Gebührenbedingung ist eine Bedingung, die, falls sie zutrifft, zum Endpreis hinzugefügt wird.
Die Gebührenbedingung wird im XML-Knoten des aktuellen Indikators mithilfe von zusammengesetzten Operatoren, einfachen Operatoren und Operanden angegeben.
Eine Bedingung kann zu Indikatoren wie Fee, Discount, Service, GlobalIndicator und Goodstype hinzugefügt werden. In diesem Artikel erläutern wir jedoch, wie Gebührenbedingung konfiguriert werden.
Gehe zu:
Das <FeeCondition> node
In CPC ist es möglich, eine Gebühr anzugeben, die nur angewendet wird, wenn bestimmte Bedingungen erfüllt sind. Bedingungen, die auf die Gebühr angewendet werden, werden immer innerhalb des <FeeCondition> node platziert.
Beispiel 1 zeigt eine Bedingung, die nur angewendet wird, wenn die Paketlänge 80 cm oder mehr beträgt.
Beispiel 1:
<FeeCondition>
<Length GreaterThanOrEqual="800" />
</FeeCondition>
Einfache Operatoren
Einfache Operatoren sind die mathematischen Operatoren, die verwendet werden, um eine Bedingung zu prüfen. Im obigen Beispiel 1 haben wir den folgenden Operator verwendet: GreaterThanOrEqual.
Vollständige Liste der einfachen Operatoren:
- GreaterThan
- GreaterThanOrEqual
- LessThan
- LessThanOrEqual
- Equal
- NotEqual
- Contains
- NotContains
- In
- NotIn
Operanden
Operanden sind die value in der Sendung, auf die verwiesen wird. In Beispiel 1 wurde Length verwendet, was sich auf die Länge des Pakets bezieht.
Die vollständige Liste der Operanden:
- Breite (mm)
- Höhe (mm)
- Länge (mm)
- CodAmount
- Gewicht (kg)
- WxHxL (mm)
- Volumen (mm3)
- DangerousGoods
- CarrierAccountNumber
- InputWeight
- CustomField
Zusammengesetzte Operatoren
Zusammengesetzte Operatoren können <OR> oder <AND> oder eine Kombination aus beiden sein und legen fest, ob alle oder nur eine der Bedingungen erfüllt sein muss. In Beispiel 2 wird <AND> verwendet, was bedeutet, dass alle Bedingungen erfüllt sein müssen. Das heißt, dass alle Operanden Width, Height und Length mindestens 600 mm (60 cm) betragen müssen.
Beispiel 2: Bedingung, bei der alle erfüllt sein müssen
<AND>
<Width GreaterThanOrEqual="600"/>
<Height GreaterThanOrEqual="600"/>
<Length GreaterThanOrEqual="600"/>
</AND>
Dieselben Bedingungen können wie in Beispiel 2 innerhalb des zusammengesetzten Operators <OR> platziert werden, was bedeutet, dass nur eine der Bedingungen erfüllt sein muss. Wenn entweder Width, Length oder Height 600 mm (60 cm) oder mehr beträgt, ist die Bedingung wahr.
Beispiel 3: Bedingungen, bei denen eine erfüllt sein muss
<OR>
<Width GreaterThanOrEqual="600"/>
<Height GreaterThanOrEqual="600"/>
<Length GreaterThanOrEqual="600"/>
</OR
Im folgenden Beispiel 4 sehen Sie ein vollständiges <Fee> node mit einem <FeeCondition> node, das sowohl <OR> and als auch <AND> to enthält, um eine fortgeschrittenere Bedingung zu erstellen. In diesem Fall bedeutet dies, dass entweder die Länge des Pakets 1200 mm (120 cm) oder mehr betragen muss oder mindestens 2 Seiten 600 mm (60 cm) oder mehr. Wenn dies zutrifft, wird eine Gebühr von 40 zum Preis hinzugefügt.
Beispiel 4: Verwendung beider zusammengesetzter Operatoren
<Fees>
<Fee Name="Fee1" IndicatorType="Value" Order="100" IndicatorBasis="ToBaseValue">
<FeeEntryInterval ValueFrom="*" ValueTo="*">
<FeeValue RouteName="*" Value="40">
<FeeCondition>
<OR>
<OR>
<Width GreaterThanOrEqual="1200"/>
<Height GreaterThanOrEqual="1200"/>
<Length GreaterThanOrEqual="1200"/>
</OR>
<OR>
<AND>
<Width GreaterThanOrEqual="600"/>
<Height GreaterThanOrEqual="600"/>
</AND>
<AND>
<Height GreaterThanOrEqual="600"/>
<Length GreaterThanOrEqual="600"/>
</AND>
<AND>
<Width GreaterThanOrEqual="600"/>
<Length GreaterThanOrEqual="600"/>
</AND>
</OR>
</OR>
</FeeCondition>
</FeeValue>
</FeeEntryInterval>
</Fee>
</Fees>