CSR
XML-dokumentin juurisolmu.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Condition | Käytetään ehdon luomiseen solmun kelvollisuudelle |
| ErrorOn | Sisältää logiikan tilanteisiin, joissa tuotetta ei voi valita |
| Expressions | Muuta tai sovella tietoa kenttiin |
| Prices | Sisäinen hintalaskenta |
| SelectRules | Logiikka, jos vain yksi tuote on kelvollinen |
| ServiceLevels | Logiikka, jos useampi kuin yksi tuote on kelvollinen |
| GoodsTypeMappings | Logiikka tavaratyypin määrittämiseen tuotteelle |
| ServiceMappings | Logiikka palvelun/palveluiden määrittämiseen tuotteelle |
Tukee seuraavia attribuutteja (1 = tosi, 0 = epätosi)
- defaultservicelevel - Jos ServiceLevel-nimeä käytetään, oletus jätetään huomiotta.
- onsubmit - Aktivoi CSR lähetyksessä
- showservicelevelsinpv - Salli käyttäjän valita ServiceLevelit PV:stä
- userconfirm - Näyttää vahvistusviestin PV:ssä
- nocache - Käytetään XML-tiedoston kehittämisessä ja testauksessa
- useproductnamefromfile - Käytä Product-solmun name-attribuuttia
- onimporttoinbox - Aktivoi CSR tuonnissa ilman automaattitulostusta. Oletuksena aktiivinen.
- presubmit_event_validation - Ota käyttöön Postinumeron / Reitistyskoodin haku
-
carriervalidation - Poista kuljetusyrityksen validointi käytöstä CSR:n suorittamisen aikana. Käytetään enimmäkseen yhdessä GetShipAdvise-toiminnon kanssa nopeuttamaan tuotteiden validointia. Arvojen 1 ja 0 lisäksi voidaan käyttää myös seuraavia asetuksia:
- carriervalidation="light" - ohittaa asetuskohtien validoinnit mutta suorittaa kuljetusyrityksen validoinnit.
- carriervalidation="superlight"- suorittaa vain kuljetusyrityksen validoinnit, mutta ei tavallisia validointeja kuten lähettäjän ja vastaanottajan maan tarkistusta, tyhjää vastaanottajan nimeä tai postinumeroa jne.
Oletusasetukset attribuuteille, jos niitä ei määritellä
<CSR defaultservicelevel="" nocache="0" showservicelevelsinpv="0"
onsubmit="1" userconfirm="0" carriervalidation="1"
useproductnamefromfile="0" onimporttoinbox="1"
presubmit_event_validation="0">
<ErrorOn/>
<Condition/>
<Prices/>
<SelectRules/>
<ServiceLevels/>
</CSR>
ErrorOn
Sisältää logiikan tilanteisiin, joissa tuotetta ei voi valita
Huom: Käytetään vain yhdessä ServiceLevel-solmujen kanssa
Tukee seuraavia attribuutteja (1 = tosi, 0 = epätosi)
- autoselectservicelevelfailed - epäonnistuu, jos palvelutasoa ei löydy syötettyyn tuotteeseen perustuen
- novalidproductsfound - epäonnistuu, jos ServiceLevelistä ei löydy kelvollista tuotetta
- etawebservicefailed - epäonnistuu, jos ETA-verkkopalvelukutsu epäonnistuu (käytettävissä vain yhdessä Shipment Server -menetelmän PreAdviseOrder kanssa)
- noproductscandeliver - epäonnistuu, jos mikään tuote ei pysty toimittamaan pyydettyä toimitusaikaa (käytettävissä vain yhdessä Shipment Server -menetelmän PreAdviseOrder kanssa)
Oletusasetukset attribuuteille, jos niitä ei määritellä
<CSR>
<ErrorOn autoselectservicelevelfailed="0"
novalidproductsfound="1"
etawebservicefailed="0"
noproductscandeliver="0"/>
</CSR>
SelectRules
SelectRules voidaan sijoittaa CSR-solmun ja jokaisen ServiceLevels-solmun alle.
Niitä käytetään, kun tiedetään, mikä tuote valitaan tietyn ehdon perusteella.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| SelectRule | Mukautettu validointi |
Esimerkki
<CSR>
<SelectRules/>
<ServiceLevels>
<ServiceLevel>
<SelectRules/>
</ServiceLevel>
</ServiceLevels>
</CSR>
SelectRule
SelectRule sijoitetaan SelectRules-solmun alle.
Tämä solmu tukee sisäkkäisyyttä, joten voit sijoittaa useita SelectRule-solmuja toisen SelectRule-sisälle.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| SelectRule | Mukautettu validointi |
| Expressions | Sovella mukautettua tietoa kenttään |
| Product | Valittava tuote, jos validointi on kelvollinen |
Tämä solmu voidaan konfiguroida eri tavoin:
stringcompare (vain jos field sisältää arvon comparestring)
<SelectRule name="stringcompare" comparestring="some_value"
equal="1" casesensitive="0" field="STRING_FIELDS"
custommessage="">
<Product/>
</SelectRule>
regex (vain jos field sisältää arvon comparestring)
<SelectRule name="regex" comparestring="a_regex_expression"
equal="1" casesensitive="0" field="STRING_FIELDS"
custommessage="">
<Product/>
</SelectRule>
country (Sallitut vain NO, SE)
<SelectRule name="country" allowcountries="NO,SE"
field="COUNTRY_FIELDS" custommessage="">
<Product/>
</SelectRule>
datelimits
<SelectRule name="datelimits" min="dd.MM.YYYY" max="dd.MM.YYYY"
field="DATE_FIELDS" custommessage="">
<Product/>
</SelectRule>
datetimelimits
<SelectRule name="datetimelimits"
min="dd.MM.YYYY hh:mm" max="dd.MM.YYYY hh:mm"
field="DATE_FIELDS" custommessage="">
<Product/>
</SelectRule>timelimits
<SelectRule name="timelimits" min="hh:mm" max="hh:mm"
field="DATE_FIELDS" custommessage="">
<Product/>
</SelectRule>
intlimits
<SelectRule name="intlimits" min="0" max="1"
unit="UNITS" field="INT_FIELDS" custommessage="">
<Product/>
</SelectRule>
floatlimits
<SelectRule name="floatlimits" min="0.0" max="10.5"
unit="UNITS" field="FLOAT_FIELDS" custommessage="">
<Product/>
</SelectRule>
postcodevalidation - Range-tiedosto - Tyyppi Numerinen
<SelectRule name="postcodevalidation">
<PostcodeValidations>
<PostcodeValidation country="" exclude="1" type="numeric"
rangefile="file.txt"/>
</PostcodeValidations>
<Product/>
</SelectRule>// file.txt
6400,6500
7400,8000postcodevalidation - Range-tiedosto - Tyyppi UK
<SelectRule name="postcodevalidation">
<PostcodeValidations>
<PostcodeValidation country="GB" exclude="1" type="UK"
rangefile="file.txt"/>
</PostcodeValidations>
<Product/>
</SelectRule>// file.txt
NW9 0AA,
NW9 0AB,
NW9 0AC,Kaikki postinumerot, jotka alkavat "NW9 0AA", "NW9 0AB", "NW9 0AC", suljetaan pois.
postcodevalidation - Sisäinen - Tyyppi Numerinen
<SelectRule name="postcodevalidation">
<PostcodeValidations>
<PostcodeValidation country="" exclude="1" type="numeric">
<Range min="6400" max="6500"/>
</PostcodeValidation>
</PostcodeValidations>
<Product/>
</SelectRule>postcodevalidation - Sisäinen - Tyyppi UK
<SelectRule name="postcodevalidation">
<PostcodeValidations>
<PostcodeValidation country="GB" exclude="1" type="UK">
<Range min="BA" max=""/>
<Range min="BN1" max=""/>
</PostcodeValidation>
</PostcodeValidations>
<Product/>
</SelectRule>
Kaikki postinumerot, jotka alkavat "BA" ja "BN1", suljetaan pois.
ServiceLevels
ServiceLevels-solmu voidaan sijoittaa vain CSR-solmun alle.
Voit määrittää useamman kuin yhden ServiceLevelin ServiceLevels-solmun alle, mahdollistaen eri allokointisääntöjen soveltamisen tuoteryhmille ja useiden toimitusprosessien hallinnan.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| ServiceLevel | Logiikka, jos useampi kuin yksi tuote on käytettävissä |
Esimerkki
<CSR>
<ServiceLevels>
<ServiceLevel/>
</ServiceLevels>
</CSR>
ServiceLevel
Voidaan sijoittaa vain ServiceLevels-solmun sisälle. ServiceLevel sisältää listan tuotteista.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Products | Sisältää Product-solmut |
| Expressions | Muuta tai sovella tietoa kenttiin |
| SelectRules | Logiikka, jos vain yksi tuote on kelvollinen |
| ServiceLevel | Logiikka, jos useampi kuin yksi tuote on kelvollinen |
| AllocationRules | Tuotteiden allokointitapa |
Tukee seuraavia attribuutteja
-
name - ServiceLevelin tunniste
- fallback - toisen ServiceLevelin nimi, johon siirrytään jos mikään tuote ei läpäise validointeja
Esimerkki
<ServiceLevels>
<ServiceLevel name="" fallback="">
<SelectRules/>
<Products/>
<AllocationRules/>
</ServiceLevel>
</ServiceLevels>
Products
Products sisältää listan Product-solmuja, ja se voidaan sijoittaa vain kerran kuhunkin ServiceLevel-solmuun.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Product | Tuotteen määritykset |
Esimerkki
<ServiceLevels>
<ServiceLevel>
<Products/>
</ServiceLevel>
</ServiceLevels>
Product
Product-solmua käytetään sekä SelectRule- että Products-solmujen alla.
1. Tuetut alisolmut kun sijoitettu Products-solmun alle
| Solmu | Kuvaus |
|---|---|
| Expressions | Muuta tai sovella tietoa kenttiin |
| GoodsTypeMapping | Logiikka tavaratyypin aktivoimiseksi |
| Services | Logiikka palvelun/palveluiden aktivoimiseksi |
| ValidationRules | Mukautettu validointi |
| PostCodeValidations | Mukautettu postinumeron validointi |
| CustomFields | Sisältää mukautettuja arvoja, jotka palautetaan SA 2.0:lle |
Tukee seuraavia attribuutteja
- name - tuotteen nimi
- conceptid - konseptikuljetusyrityksen tunniste
- dbid - mukautetun tuotteen tunniste
- adviseprice - Price-solmun nimi
- rank - käytetään yhdessä AllocationRule-tyypin highestrank kanssa
- stackid - käytetään lähetyksen sijoittamiseen tiettyyn pinoon
Seuraavia attribuutteja käytetään yhdessä SS API:n GetShipAdvise-metodin kanssa
0 - Poista ominaisuus käytöstä (oletus) | 1 - Ota ominaisuus käyttöön
-
requireprice - jos tuotteelle ei voi laskea hintaa, tuotetta ei palauteta
-
requiredroppoints - älä palauta tuotetta, jos pudotuspaikkoja ei ole saatavilla.
Vaatii vaihtoehdon "DropPoints":1 GetShipAdvise-pyynnössä
Esimerkki
<Products>
<Product>
<ProductGoodsType/>
<Services/>
<ValidationRules/>
<PostCodeValidations/>
<CustomFields/>
</Product>
</Products>
2. Tuetut alisolmut kun sijoitettu SelectRule-solmun alle
| Solmu | Kuvaus |
|---|---|
| Product | Tuotetiedot |
| Expressions | Sovella mukautettua tietoa kenttään |
| GoodsTypeMapping | Logiikka tavaratyypin aktivoimiseksi |
| Services | Logiikka palvelun/palveluiden aktivoimiseksi |
Tukee seuraavia attribuutteja
- name - tuotteen nimi
- conceptid - konseptikuljetusyrityksen tunniste
- dbid - mukautetun tuotteen tunniste
- adviseprice - Price-solmun nimi
Esimerkki
<SelectRule>
<Product>
<ProductGoodsType/>
<Services/>
</Product>
</SelectRule>
ProductGoodsType
Käytetään tavaratyypin määrittämiseen valitulle tuotteelle
Seuraavat attribuutit voidaan määritellä
- goodstypename - Ei käytössä, vain tiedoston luettavuuden parantamiseksi
- goodstypeid - tunniste kuljetusyrityksen määrittelytiedostosta.
- iscustom (0) - Kun käytetään mukautettuja tavarityyppejä, aseta arvoon 1.
Esimerkki
<SelectRule>
<Product>
<ProductGoodsType/>
</Product>
</SelectRule>
Services
Services-solmu sisältää listan palveluista, jotka aktivoidaan valitulle tuotteelle.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Service | Palvelu, joka aktivoidaan tuotteelle |
Service
Service-solmua käytetään palvelun määrittämiseen tuotteelle.
Seuraavat attribuutit voidaan määritellä
- name - palvelun nimi
- serviceid - palvelun tunniste
Esimerkki
<CSR>
<SelectRules>
<SelectRule>
<Product>
<Services>
<Service/>
</Services>
</Product>
</SelectRule>
</SelectRules>
<ServiceLevels>
<ServiceLevel>
<SelectRules>
<SelectRule>
<SelectRule>
<Product>
<Services>
<Service/>
</Services>
</Product>
</SelectRule>
</SelectRule>
</SelectRules>
<Products>
<Product>
<Services>
<Service/>
</Services>
</Product>
</Products>
<AllocationRules>
<AllocationRule/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
PostCodeValidations
PostCodeValidations-solmu sisältää listan PostCodeValidation-solmuja
Huom: Katso myös SelectRule-solmun toteutus PostCodeValidationsille
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| PostCodeValidation | Postinumero(t), joihin logiikkaa sovelletaan |
PostCodeValidation
PostCodeValidation-solmu sisältää listan palveluista, jotka aktivoidaan valitulle tuotteelle.
Huom: Katso myös SelectRule-solmun toteutus PostCodeValidationille
Seuraavat attribuutit voidaan määritellä
- name - palvelun nimi
- serviceid - palvelun tunniste
postcodevalidation - Range-tiedosto - Tyyppi Numerinen
<Product>
<PostcodeValidations>
<PostcodeValidation country="" exclude="1" type="numeric"
rangefile="file.txt"/>
</PostcodeValidations>
</Product>// file.txt
6400,6500
7400,8000postcodevalidation - Range-tiedosto - Tyyppi UK
<Product>
<PostcodeValidations>
<PostcodeValidation country="GB" exclude="1" type="UK"
rangefile="file.txt"/>
</PostcodeValidations>
</Product>// file.txt
NW9 0AA,
NW9 0AB,
NW9 0AC,postcodevalidation - Sisäinen - Tyyppi Numerinen
<Product>
<PostcodeValidations>
<PostcodeValidation country="" exclude="1" type="numeric">
<Range min="6400" max="6500"/>
</PostcodeValidation>
</PostcodeValidations>
</Product>postcodevalidation - Sisäinen - Tyyppi UK
<Product>
<PostcodeValidations>
<PostcodeValidation country="GB" exclude="1" type="UK">
<Range min="BA" max=""/>
<Range min="BN1" max=""/>
</PostcodeValidation>
</PostcodeValidations>
</Product>
Kaikki postinumerot, jotka alkavat "BA" ja "BN1", suljetaan pois.
ValidationRules
Voidaan sijoittaa vain Product-solmun sisälle, jos Product-solmu on Products-solmun alla
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product>
<ValidationRules/>
</Product>
</Products>
</ServiceLevel>
</ServiceLevels>
</CSR>
ValidationRule
Jos oletuskuljetusyrityksen validoinnit eivät riitä, voit lisätä lisää validointeja Product-solmulle tällä solmulla.
Yksi tai useampi voidaan lisätä ValidationRules-solmun alle
<Products>
<Product>
<ValidationRules>
<ValidationRule/>
</ValidationRules>
</Product>
</Products>
STRING_FIELDS
fld_LMarking, fld_LContents, fld_LGoodsType, fld_AdrName1, fld_AdrName2, fld_AdrAddress1, fld_AdrAddress2, fld_AdrPostNo, fld_AdrCity, fld_AdrCountry, fld_AdrState, fld_AdrPhone, fld_AdrMobile, fld_AdrEmail, fld_AdrAttention, fld_AdrReceiverRef, fld_AdrSenderCustNo, fld_AdrSenderName1, fld_AdrSenderName2, fld_AdrSenderAddress1, fld_AdrSenderAddress2, fld_AdrSenderPostNo, fld_AdrSenderCity, fld_AdrSenderCountry, fld_AdrSenderCountryName, fld_AdrSenderState, fld_AdrSenderPhone, fld_AdrSenderMobile, fld_AdrSenderEmail, fld_AdrSenderAttention, fld_RefOrderNumber, fld_RefProject, fld_MsgDriver, fld_MsgCarrier, fld_MsgReceiver, fld_CustomField1, fld_CustomField2, fld_CustomField3, fld_CustomField4, fld_CustomField5, fld_CustomField6, fld_CustomField7, fld_CustomField8, fld_CustomField9, fld_CustomField10
COUNTRY_FIELDS
fld_AdrCountry, fld_AdrSenderCountry, fld_AdrPayerCountry
FLOAT_FIELDS
fld_LWeight, fld_LLineWeight, fld_LHeight, fld_LLength, fld_LWidth, fld_LVolume, fld_LLineVolume, fld_LLoadmeter, fld_ShipmentVolumeMM3, fld_ShipmentWeightG, fld_ShipmentLoadmeter, fld_ShipmentMaxPackageLengthPlusCircumference
INT_FIELDS
fld_LNumber, fld_LRecycleNo, fld_DGNumber, fld_ShipmentCountPackages, fld_ShipmentCountLines
DATE_FIELDS
fld_RefDeliveryDate, fld_PickupDate, fld_RefPickupStart, fld_RefPickupEnd, fld_RefDeliveryStart, fld_RefDeliveryEnd
UNITS
mm3, dm3, m3, g, kg, mm, cm, dm, m
Tämä solmu voidaan konfiguroida eri tavoin:
stringcompare (vain jos field sisältää arvon comparestring)
<ValidationRule name="stringcompare" comparestring="some_value"
equal="1" casesensitive="0" field="STRING_FIELDS"
custommessage=""/>
regex (vain jos field sisältää arvon comparestring)
<ValidationRule name="stringcompare" type="regex" comparestring="a_regex_expression"
equal="1" casesensitive="0" field="STRING_FIELDS"
custommessage=""/>
country (Sallitut vain NO, SE)
<ValidationRule name="country" allowcountries="NO,SE"
field="COUNTRY_FIELDS" custommessage=""/>
datelimits
<ValidationRule name="datelimits" min="dd.MM.YYYY" max="dd.MM.YYYY"
field="DATE_FIELDS" custommessage=""/>
datetimelimits
<ValidationRule name="datetimelimits"
min="dd.MM.YYYY hh:mm" max="dd.MM.YYYY hh:mm"
field="DATE_FIELDS" custommessage=""/>timelimits
<ValidationRule name="timelimits" min="hh:mm" max="hh:mm"
field="DATE_FIELDS" custommessage=""/>
intlimits
<ValidationRule name="intlimits" min="0" max="1"
unit="UNITS" field="INT_FIELDS" custommessage=""/>
floatlimits
<ValidationRule name="floatlimits" min="0.0" max="10.5"
unit="UNITS" field="FLOAT_FIELDS" custommessage=""/>
OR-operaatio - Tämä on edistynyt ominaisuus, joka sallii OR-sääntöjen käytön validoinneissa. Seuraava esimerkki on kelvollinen arvolla YES ja tyhjä.
<ValidationRule name="stringcompare" comparestring="YES" suboperation="or" equal="1" casesensitive="0" field="fld_CustomField1">
<ValidationRule name="stringcompare" equal="1" casesensitive="0" field="fld_CustomField1"/>
</ValidationRule>
Commands
Käytetään asetuksen soveltamiseen tai muuttamiseen tuotteelle
Seuraavat attribuutit voidaan määritellä
- function - suoritettava logiikka
- name - kohdeavain
- value - sovellettava arvo
Esimerkki - SetOption
<Products>
<Product>
<Commands>
<Command function="SetOption" name ="Labels" value="PNG"/>
</Commands>
</Product>
</Products>* käytetään Shipment Serverin SubmitShipment-metodissa ylikirjoittamaan pyydetty tarramuoto
Esimerkki - PreAdviseOrder
<Products>
<Product>
<Commands>
<Command function="PreAdviseOrder" name="Submit" value="1"/>
</Commands>
</Product>
</Products>* käytetään Shipment Serverissä pakottamaan PreAdviseOrder lähettämään lähetys tallentamisen sijaan Inboxiin
CustomFields
Käytetään määrittelemään yksi tai useampi staattinen arvo, jotka palautetaan tuotteen mukana.
Huom: Tämä toimii vain ShipmentServerin GetShipAdvise-metodin kanssa
Yksittäinen
<CustomFields customer_carrier_code="PNParcel"/>
Useita
<CustomFields key1="value" key2="value" key3="value" key4="value"/>
AllocationRules
AllocationRules-solmu sisältää yhden tai useamman AllocationRule-solmun.
Allokointi päätetään, mikä tuote käytetään, jos useampi kuin yksi tuote on kelvollinen.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| AllocationRule | Allokoinnin tyyppi |
Esimerkki
<CSR>
<ServiceLevels>
<ServiceLevel>
<AllocationRules>
<AllocationRule/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
AllocationRule
Yksi tai useampi voidaan sijoittaa AllocationRules-solmun alle
Konfiguraatiot
AllocationRule voidaan konfiguroida allokoimaan tuotteita eri tavoin:
order - Jos kaikki tuotteet ovat kelvollisia, käytetään ensimmäistä tuotetta, esim. Tuote A
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product A" conceptid="x"/>
<Product name="Product B" conceptid="y"/>
<Product name="Product C" conceptid="z"/>
</Products>
<AllocationRules>
<AllocationRule type="order"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
preselected -Jos valittu tuote on kelvollinen, käytetään sitä
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product conceptid="x"/>
<Product conceptid="y"/>
</Products>
<AllocationRules>
<AllocationRule type="preselected"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>lowestprice - Valitse halvin tuote
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product conceptid="x"/>
<Product conceptid="y"/>
<Product conceptid="z"/>
</Products>
<AllocationRules>
<AllocationRule type="lowestprice"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
highestrank - Jos useampi tuote on kelvollinen, valitaan korkein rank-arvoinen tuote
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product conceptid="x" rank="2"/>
<Product conceptid="y" rank="3"/>
<Product conceptid="z" rank="1"/>
</Products>
<AllocationRules>
<AllocationRule type="highestrank"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>lowestprice ja highestrank -
Jos useampi tuote on kelvollinen, tai jos useammalla tuotteella on sama hinta tai hinta on 0, käytetään AllocationRule highestrank tuotteen valintaan.
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product C" dbid="x" rank="3"/>
<Product name="Product A" dbid="y" rank="2"/>
<Product name="Product B" dbid="z" rank="1"/>
</Products>
<AllocationRules>
<AllocationRule type="lowestprice"/>
<AllocationRule type="highestrank"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
userselect -
Palautetaan taulukko kelvollisista tuotteista. Jos vain yksi tuote on kelvollinen, luodaan lähetys. Jos haluat aina palauttaa taulukon, aseta attribuutti onsingle arvoon 1.
Jos haluat myös hinnan palautettavan, aseta attribuutti price arvoon 1
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product C" dbid="x">
<Product name="Product A" dbid="y">
<Product name="Product B" dbid="z">
</Products>
<AllocationRules>
<AllocationRule type="userselect"
price="0" onsingle="0"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
mincountforproduct -
Tuote valitaan x kertaa määritellyn laajuuden mukaan
Laajuus voi olla - Installation | location | Actor
Isännöidyissä ratkaisuissa käytä vain laajuutta actor.
Alla olevassa esimerkissä
Joka päivä tuote C valitaan ensin 6 kertaa määritellyn laajuuden mukaan.
Sitten tuotetta B käytetään, kunnes tietokannassa on 3 lähetystä.
Kun sekä Product C:n että B:n mincountforproduct on saavutettu päivälle, kaikki tuotteet voivat olla valittavissa.
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product A" dbid="x"/>
<Product name="Product C" dbid="y"/>
<Product name="Product B" dbid="z"/>
</Products>
<AllocationRules>
<AllocationRule type="mincountforproduct" scope="actor"
name="Product C" dbid="y" mincount="6"/>
<AllocationRule type="mincountforproduct" scope="actor"
name="Product B" dbid="z" mincount="3"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
distribution -
Käytä yhdistelmää listatuista tuotteista määritellyn laajuuden mukaan.
Laajuus voi olla - Installation | location | Actor
Isännöidyissä ratkaisuissa käytä vain laajuutta actor.
Jako ei tarvitse olla 100. Jakotapa toimii siten, että se poistaa kelvottoman tuotteen, laskee kunkin jäljellä olevan tuotteen osuuden ja valitsee tuotteen, jolla on suurin ero tavoiteosuuden ja toteutuneen osuuden välillä.
Alla olevassa esimerkissä, koska molemmilla tuotteilla on sama validointi, niitä käytetään tasaisesti.
<CSR>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product A" dbid="x"/>
<Product name="Product B" dbid="y"/>
</Products>
<AllocationRules>
<AllocationRule type="distribution" scope="actor">
<Product name="Product B" dbid="x" share="50"/>
<Product name="Product A" dbid="y" share="50"/>
</AllocationRule>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
HUOM: distribution ei tällä hetkellä toimi, kun se on konfiguroitu Shipping Rules -käyttöliittymän kautta.
Condition
Ohjaa AllocationRule-, Expression-, ValidationRule- tai CSR-solmua Condition-solmulla.
Jos lisäät useamman Condition-solmun, kaikkien on oltava kelvollisia, jotta yläsolmu on kelvollinen.
Esimerkki - aseta arvo 1000 vain, jos tuotu arvo on pienempi tai yhtä suuri kuin 999
<Expressions>
<Expression targetfield="fld_LWeight">
<Condition name="floatlimits" field="fld_LWeight"
min="0" max="999" unit="gram"/>
<Item expression="1000"/>
</Expression>
</Expressions>Condition-solmu tukee erilaisia validointeja
stringcompare
<Condition name="stringcompare" field="fld_CustomField1"
comparestring="a_value" equal="1" casesensitive="0"/>receivercontries
<Condition name="receivercontries" countries="SE,NO" exclude="1"/>stringnotempty
<Condition name="stringnotempty" field="fld_RefOrderNumber"/>floatlimits
<Condition name="floatlimits" min="0.0" max="10.5"
unit="UNITS" field="FLOAT_FIELDS" custommessage=""/>
Tuetut solmut
<CSR>
<ErrorOn/>
<Condition/>
<SelectRules>
<SelectRule>
<Expressions>
<Expression>
<Condition/>
<Item/>
</Expression>
</Expressions>
<Product/>
</SelectRule>
</SelectRules>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product>
<ValidationRules>
<ValidationRule>
<Condition/>
</ValidationRule>
</ValidationRules>
</Product>
</Products>
<AllocationRules>
<AllocationRule>
<Condition/>
</AllocationRule>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>
Expressions
Voidaan sijoittaa CSR-, ServiceLevel-, SelectRule- ja Product-solmuihin.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Expressions | Allokoinnin tyyppi |
Tukee seuraavia attribuutteja (1 = tosi, 0 = epätosi)
- prevalidation - suoritetaan ennen validointia
- assignresult - asettaa tuloksen lähetykselle
Oletusasetukset attribuuteille, jos niitä ei määritellä
<CSR>
<Expressions prevalidation="0" assignresult="0"/>
<SelectRules>
<Expressions/>
<SelectRule>
<Product>
<Expressions/>
</Product>
</SelectRule>
</SelectRules>
<ServiceLevels>
<ServiceLevel>
<Expressions/>
<Products>
<Product>
<Expressions/>
</Product>
</Products>
</ServiceLevel>
</ServiceLevels>
</CSR>
Expression
Tällä solmulla voit asettaa arvon kenttään.
Voidaan sijoittaa vain Expressions-solmun sisälle.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Condition | Validointi |
| Item | Asetettava arvo |
Tukee seuraavia attribuutteja (1 = tosi, 0 = epätosi)
- targetfield - kenttä, johon arvo asetetaan
FIELD
fld_LMarking, fld_LContents, fld_LGoodsType, fld_AdrName1, fld_AdrName2, fld_AdrAddress1, fld_AdrAddress2, fld_AdrPostNo, fld_AdrCity, fld_AdrCountry, fld_AdrState, fld_AdrPhone, fld_AdrMobile, fld_AdrEmail, fld_AdrAttention, fld_AdrReceiverRef, fld_AdrSenderCustNo, fld_AdrSenderName1, fld_AdrSenderName2, fld_AdrSenderAddress1, fld_AdrSenderAddress2, fld_AdrSenderPostNo, fld_AdrSenderCity, fld_AdrSenderCountry, fld_AdrSenderCountryName, fld_AdrSenderState, fld_AdrSenderPhone, fld_AdrSenderMobile, fld_AdrSenderEmail, fld_AdrSenderAttention, fld_RefOrderNumber, fld_RefProject, fld_MsgDriver, fld_MsgCarrier, fld_MsgReceiver, fld_CustomField1, fld_CustomField2, fld_CustomField3, fld_CustomField4, fld_CustomField5, fld_CustomField6, fld_CustomField7, fld_CustomField8, fld_CustomField9, fld_CustomField10
Alla olevassa esimerkissä targetfield saa arvon custom_value
<Expressions>
<Expression targetfield="FIELD">
<Item expression="custom_value"/>
</Expression>
</Expressions>Expression-solmu voi sisältää yhden tai useamman Item-solmun
<Expressions>
<Expression>
<Item expression="custom"/>
<Item expression="_"/>
<Item expression="value"/>
</Expression>
</Expressions>Tässä tapauksessa targetfield saa arvon custom_value
Item-expression voi myös käyttää toisen kentän arvoa käyttämällä merkintää @@
<Expressions>
<Expression targetfield="FIELD">
<Item expression="@@FIELD@@"/>
</Expression>
</Expressions>
GoodsTypeMappings
Tällä solmulla voit määrittää tavaratyypin tuotteelle. Käyttämällä tuotteen tuontiarvoa tai alkuperäistä tuotetta.
Voidaan sijoittaa vain CSR-solmun alle
Attribuutit - (1 = tosi, 0 = epätosi)
- mappingfield
- mappingoverride - (0) - Käytä GoodsType-arvoa GoodsTypesMappingsista, ei Product-solmusta
-
key - arvo attribuutista mappingfield GoodsTypesMappingsissa
- productconceptid - Koska tavaratyypin tunnisteet ovat yksilöllisiä vain kuljetusyrityksen sisällä, sinun on määritettävä tuotteen konseptitunniste. Mukautetuille tuotteille ja tavarityypeille aseta arvoon 0.
- goodstypename - Ei käytössä, vain tiedoston luettavuuden parantamiseksi
- goodstypeid - Tunniste kuljetusyrityksen määrittelytiedostosta.
- iscustom (0) - Kun käytetään mukautettuja tavarityyppejä, aseta arvoon 1.
Konfiguraatiot
Voidaan konfiguroida kahdella tavalla
-
Ryhmittely alkuperäisen tuotteen mukaan
CSR tarkistaa, onko valitulla tuotteella tavaratyyppi samassa ryhmässä kuin tuote, josta se on vaihdettu. Sitten se käyttää tätä tavaratyyppiä lähetyksessä ennen lähettämistä. -
Ryhmittely kentän arvon mukaan
CSR tarkistaa, onko mapping-attribuutissa määritellyn kentän arvo olemassa ryhmässä ja käyttää määriteltyä tavaratyyppiä lähetyksessä ennen lähettämistä
Ryhmittely alkuperäisen tuotteen mukaan
<CSR>
<GoodsTypeMappings>
<GoodsTypeMapping>
<ProductGoodsType goodstypeid="2" dbid="2139" iscustom="1"
goodstypename="2"/>
<ProductGoodsType goodstypeid="3" productconceptid="112"
goodstypename="PL4"/>
</GoodsTypeMapping>
<GoodsTypeMapping>
<ProductGoodsType goodstypeid="1" dbid="2139" iscustom="1"
goodstypename="1"/>
<ProductGoodsType goodstypeid="13" productconceptid="112"
goodstypename="K25"/>
</GoodsTypeMapping>
</GoodsTypeMappings>
<ServiceLevels>
<ServiceLevel name="default">
<Products>
<Product name="Product A" dbid="2139"/>
<Product name="Product B" conceptid="112"/>
</Products>
</ServiceLevel>
</ServiceLevels>
</CSR>Ryhmittely kentän arvon mukaan
<CSR>
<GoodsTypeMappings mappingfield="fld_LMarking">
<GoodsTypeMapping key="parcel">
<ProductGoodsType goodstypeid="1" productconceptid="113"
goodstypename="P"/>
<ProductGoodsType goodstypeid="13" productconceptid="112"
goodstypename="K25"/>
</GoodsTypeMapping>
<GoodsTypeMapping key="pallet">
<ProductGoodsType goodstypeid="0" productconceptid="113"
goodstypename="A"/>
<ProductGoodsType goodstypeid="3" productconceptid="112"
goodstypename="PL4"/>
</GoodsTypeMapping>
</GoodsTypeMappings>
<ServiceLevels>
<ServiceLevel name="default">
<Products>
<Product name="PRODUCT A" conceptid="113"/>
<Product name="PRODUCT B" conceptid="112"/>
</Products>
</ServiceLevel>
</ServiceLevels>
</CSR>
ServiceMappings
Tällä solmulla voit määrittää palvelun/palvelut tuotteelle. Käyttämällä tuotteen tuontiarvoa tai alkuperäistä tuotetta.
Voidaan sijoittaa vain CSR-solmun alle.
Attribuutit
- mappingfield - tämän kentän on oltava lähetyksen kenttä.
- key - arvo mappingfield-attribuutista ServiceMappingsissa
- name - palvelun nimi
- serviceid - palvelun tunniste
Konfiguraatiot
Voidaan konfiguroida kahdella tavalla
-
Palvelu valitun tuotteen mukaan
Tässä tilassa määrität ryhmät, ja kun palvelu kuuluu ryhmään alkuperäisessä tuotteessa – CSR tarkistaa, onko valitulla tuotteella palvelu samassa ryhmässä ja asettaa kyseisen palvelun lähetykseen ennen lähettämistä.
-
Palvelu kentän arvon mukaan
Tässä tilassa määrität myös ryhmät, mutta käytät avaimia löytääksesi ryhmän alkuperäisten palveluiden sijaan.
Palvelu valitun tuotteen mukaan
<CSR>
<ServiceMappings>
<ServiceMapping>
<Service serviceid="y"/>
<Service serviceid="x"/>
</ServiceMapping>
<ServiceMapping>
<Service serviceid="x"/>
<Service serviceid="y"/>
</ServiceMapping>
</ServiceMappings>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product A" dbid="x"/>
<Product name="Product A" dbid="y"/>
</Products>
</ServiceLevel>
</ServiceLevels>
</CSR>Palvelu kentän arvon mukaan
<CSR>
<ServiceMappings mappingfield="fld_CustomField1">
<ServiceMapping key="notification">
<Service serviceid="y"/>
<Service serviceid="x"/>
</ServiceMapping>
</ServiceMappings>
<ServiceLevels>
<ServiceLevel>
<Products>
<Product name="Product A" dbid="x"/>
<Product name="Product A" dbid="y"/>
</Products>
</ServiceLevel>
</ServiceLevels>
</CSR>
Prices
Voidaan sijoittaa vain kerran CSR-solmun alle.
Tämä solmu mahdollistaa yksinkertaisen hintalaskennan CSR:ssä.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Price | Hintalaskentasolmu |
Price
Sisältää yhden hintalaskennan.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Exceptions | Kiinteä hinta ehdon perusteella |
| Ranges | Hinta perustuen väliin |
| Fees | Arvo, joka lisätään Exception- tai Range-solmuun |
Tukee seuraavia attribuutteja
name - Solmun tunniste, jota käytetään Product-solmun adviseprice-attribuutissa
currency - esim. EUR, SEK, NOK
Esimerkki
<CSR>
<Prices>
<Price name="" currency="">
<Exceptions>
<Exception price="">
<ValidationRules/>
</Exception>
</Exceptions>
<Ranges field="fld_AdrPostNo">
<Range from="" to="" price="">
<Ranges field="fld_ShipmentWeightG" unit="gram">
<Range from="" to="" price=""/>
</Ranges>
</Range>
<Range from="" to="" price=""/>
</Ranges>
<Fees>
<Fee price="">
<ValidationRules/>
</Fee>
</Fees>
</Price>
</Prices>
</CSR>
Exceptions
Voidaan sijoittaa vain kerran Price-solmun alle
Sisältää yhden tai useamman Exception-solmun
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Exception | Palauttaa kiinteän hinnan |
Exception
Ensimmäinen Exception-solmu, jonka kaikki validoinnit ovat kelvollisia, palauttaa hinnan
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| ValidationRules | Katso ValidationRule-solmu |
Tukee seuraavia attribuutteja
- price - Arvo, joka palautetaan tuotteelle
Ranges
Arvioidaan Exceptions-solmun jälkeen. Jos löytyi sopiva Exception-solmu, Ranges-solmua ei suoriteta.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Ranges | Tukee toista Ranges-solmua |
| Range | Sisältää hinnan tälle välille |
Tukee seuraavia attribuutteja
- field - kenttä, johon välin logiikka kohdistuu fld_ShipmentWeightG | fld_AdrPostNo
- unit - käytetään kentän fld_ShipmentWeightG kanssa
Range
Arvioidaan Exceptions-solmun jälkeen. Jos löytyi sopiva Exception-solmu, Ranges-solmua ei suoriteta.
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Range | Sisältää hinnan tälle välille |
Tukee seuraavia attribuutteja
- from - alkuarvo
- to - loppuarvo
- price - palautettava hinta
Fees
Toimii samoin kuin Exceptions, se on lista maksuista, joilla jokaisella on validointisäännöt, jotka pitää olla kelvollisia, jotta maksu lisätään. Kaikkien kelvollisten Fee-solmujen hinnat lasketaan yhteen ja summa lisätään Exceptions- tai Ranges-solmun hintaan
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| Fee | Maksu, joka lisätään hintaan |
Fee
Jos kaikki ValidationRules ovat kelvollisia, maksu lisätään hinnalle Exceptions- tai Ranges-solmusta
Tuetut alisolmut
| Solmu | Kuvaus |
|---|---|
| ValidationRules | Katso ValidationRules-solmu |
Tukee seuraavia attribuutteja
- price - arvo, joka lisätään hintaan joko Range- tai Exception-solmusta
-
Expressions - Esimerkki 1
Lisää oletus noutoajan alku- ja loppupäivämäärä ja -kelloaika
<Expressions prevalidation="1" assignresult="1">
<Expression targetfield="fld_RefPickupStart">
<Item special="datenow" addhours="0" format="YYYY-MM-DD 05:00:00" />
</Expression>
<Expression targetfield="fld_RefPickupEnd">
<Item special="datenow" addhours="0" format="YYYYY-MM-DD 21:00:00" />
</Expression>
</Expressions>-
AllocationRules UserSelect - Esimerkki 1
Suorita Shipping Rules vain, kun käytetään tuotetta 1782 tai 1783
<CSR defaultservicelevel="default" nocache="1" showservicelevelsinpv="1">
<Expressions prevalidation="1" assignresult="0">
<Expression targetfield="fld_CustomField1">
<Item expression="C-"/>
<Item expression="@@fld_ProductConceptID@@"/>
</Expression>
</Expressions>
<Condition name="stringcompare" type="regex" comparestring="^(C-1782|C-1783)" equal="1"
casesensitive="0" field="fld_CustomField1" />
<ServiceLevels>
<ServiceLevel name="default">
<Products>
<Product name="Generic Sweden - Generic 1" conceptid="1782">
<ProductGoodsType name="EUR 1 - 08 m × 12 m" goodstypeid="0"/>
<Services>
<Service name="0 - Service1" serviceid="227030" />
<Service name="2 - 013 (CIP)" serviceid="227013" />
</Services>
</Product>
<Product name="Generic Sweden - Generic 2" conceptid="1783" />
</Products>
<AllocationRules>
<AllocationRule type="userselect" price="1" onsingle="1"/>
</AllocationRules>
</ServiceLevel>
</ServiceLevels>
</CSR>