Tämä artikkeli on tarkoitettu asiakkaille, jotka muokkaavat ja tekevät kehittyneempiä CPC-määrityksiä (Custom Price Calculation) XML-muodossa ja jotka haluavat oppia, miten fee-ehto määritetään. fee-ehto on ehto, joka, jos se täyttyy, lisätään lopulliseen hintaan.
fee-ehto määritellään nykyisen indikaattorin XML-solmussa käyttäen yhdistettyjä operaattoreita, yksinkertaisia operaattoreita ja operandeja.
Ehto voidaan lisätä indikaattoreihin, kuten Fee, Discount, Service, GlobalIndicator ja Goodstype, mutta tässä artikkelissa kerromme, miten Fee-ehdot määritetään.
Siirry kohtaan:
Elementti <FeeCondition> node
CPC:ssä on mahdollista määrittää maksu, jota sovelletaan vain, jos tietyt ehdot täyttyvät. Maksuun sovellettavat ehdot sijoitetaan aina elementin <FeeCondition> node sisälle.
Esimerkissä 1 näytetään ehto, jota sovelletaan vain, jos lähetyksen pituus on 80 cm tai enemmän.
Esimerkki 1:
<FeeCondition>
<Length GreaterThanOrEqual="800" />
</FeeCondition>
Yksinkertaiset operaattorit
Yksinkertaiset operaattorit ovat matemaattisia operaattoreita, joita käytetään ehdon tarkistamiseen. Yllä olevassa esimerkissä 1 käytimme seuraavaa operaattoria: GreaterThanOrEqual.
Yksinkertaisten operaattorien koko luettelo:
- GreaterThan
- GreaterThanOrEqual
- LessThan
- LessThanOrEqual
- Equal
- NotEqual
- Contains
- NotContains
- In
- NotIn
Operaandit
Operaandit ovat lähetyksessä olevia value, joihin viitataan. Esimerkissä 1 käytettiin pituutta (Length), joka viittaa paketin pituuteen.
Koko luettelo operaandeista:
- Leveys (mm)
- Korkeus (mm)
- Pituus (mm)
- CodAmount
- Paino (kg)
- WxHxL (mm)
- Tilavuus (mm3)
- DangerousGoods
- CarrierAccountNumber
- InputWeight
- CustomField
Yhdistetyt operaattorit
Yhdistelmäoperaattorit voivat olla <OR> tai <AND> tai näiden kahden yhdistelmä, ja ne määrittävät, onko kaikkien vai vain yhden ehdoista täytyttävä. Esimerkissä 2 käytetään operaattoria <AND>, mikä tarkoittaa, että kaikkien ehtojen on täytyttävä. Tämä tarkoittaa, että kaikkien operandien Width, Height ja Length on oltava vähintään 600 mm (60 cm).
Esimerkki 2: Ehto, jossa kaikkien on täytyttävä
<AND>
<Width GreaterThanOrEqual="600"/>
<Height GreaterThanOrEqual="600"/>
<Length GreaterThanOrEqual="600"/>
</AND>
Samat ehdot voidaan sijoittaa <OR>-yhdistelmäoperaattorin sisään kuten esimerkissä 2, mikä tarkoittaa, että vain yhden ehdoista on täytyttävä. Jos joko Width, Length tai Height on 600 mm (60 cm) tai enemmän, ehto täyttyy.
Esimerkki 3: Ehdot, joista yhden on täytyttävä
<OR>
<Width GreaterThanOrEqual="600"/>
<Height GreaterThanOrEqual="600"/>
<Length GreaterThanOrEqual="600"/>
</OR
Alla olevassa esimerkissä 4 näet täydellisen <Fee> node-rakenteen, jossa on <FeeCondition> node, joka sisältää sekä <OR> and- että <AND> to-elementtejä luodakseen edistyneemmän ehdon. Tässä tapauksessa se tarkoittaa, että joko pakkauksen pituuden on oltava 1200 mm (120 cm) tai enemmän, tai vähintään 2 sivun on oltava 600 mm (60 cm) tai enemmän. Jos tämä toteutuu, hintaan lisätään fee suuruinen lisämaksu 40.
Esimerkki 4: Molempien yhdistelmäoperaattorien käyttö
<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>