Element Path: <cwt><PURCHASERULES>
The CWT can be configured to have several purchase rules like “Allow only 5 purchases with Article id = 1000 or 1001 within a rolling period of 24h.” or “Allow only purchases up to $1000 with each code within a rolling period of 3h.”
The rules can for example be used as an anti-pass-back for code input.
Note: |
The rules are always on terminal level independent of online or offline.
A rule always includes a time limit
A rule can include:
•Number of purchases
•Total ticks (amount)
•Articles
•Tariff Packages
•Personal Accounts
•Code.
The logic between including parts is defined as:
(<article> OR <article> etc.) AND (<tariffPackage> OR <tariffPackage> etc.) AND <personalAccount> AND <code> AND totalTimeMinute AND nOfPurchases AND totalTicks
In other words: Articles and Tariff Packages are OR:ed between themselves. Then all parts must be fulfilled for the rule to be taken into account.
Note: |
attributes
Description: |
mode
Value: | Online: Only online validation. If CWT lost communication with WebOffice, no purchase is allowed. Validation is made in WebOffice against purchases made in a Company. |
Offline: Offline: Only offline. Validation is made against purchase made locally in this terminal. |
OnlineOfflineFallback: Online in first hand. If communication with WebOffice is lost, the validation is made offline. |
Description: | The mode attribute sets where the purchase is validated. The rules are always on terminal level independent of online or offline. |
Note: |
Example: | <PURCHASERULES mode="Offline"/> |
validation
Value: | OnAccept, OnCodeinput, OnCodeInputAndAccept |
Default: | OnAccept |
Description: | The attribute controls when to validate against purchase rules. |
OnCodeInput validation requires the payment service to use userIdentifer="Code" and it also requires an ARTICLE and TARIFFPACKAGE for validation to take place. |
Note that a purchase can pass a validation on code input but be denied on accept due to several reasons; purchased amount, article or tariff package has changed after Code input. |
Note: OnCodeInput is only suitable for nofPurchases rule. |
Example: | Only validate purchase rules on code input: |
<PURCAHSERULES validation ="OnCodeInput"/>
Example:
Rule A:
“Allow only 5 purchases with Article id = 1000 or 1001 within a rolling period of 24h.”
Rule B:
“Allow only purchases up to $1000 with each code within a rolling period of 3h.”
<PURCHASERULES validation="OnCodeInputAndAccept" mode="Online">
<rule id="0" name="A" nofPurchases="5" type="Rolling" cleared="1440">
<article id="1000"/>
<article id="1001"/>
</rule>
<rule id="1" name="B" totalTicks="1000" type="Rolling" cleared="180">
<code/>
</rule>
</PURCHASERULES>
Rule C:
“Allow total 2000 minutes with Article id = 0 or 1 and TariffPackage 1 within a week, Fixed period, cleared will be every Monday at 12:30.”
<rule id="1" name="B" totalTimeMinute="2000" type="Fixed" cleared="Weekly" weekday="Monday" time="12:30"/>
<article id="0"/>
<article id="1"/>
<tariffPackage id="2"/>
</rule>