placeholder Command:  PROMOTION DEFINITIONS 


Short version Long version Changes Example

Mandatory: no
max. Occurrence:  unbounded
Description:
This command is used for creating, manipulating or deleting a promotion definition.
Notes:
To use the promotion functionality on the device it is necessary to activate it with a entry in the file uc3options.xml.
The XML command is processed by the device. The promotion functionality itself doesn't work with activation.
 
Mandatory: yes
max. Occurrence:  unbounded
Supported modes: delete Delete the named item.
deleteall Delete all items.
read Read the named item.
read+ Read the following item.
read- Read the previous item.
readall Read all items from the desired device(s). This doesn't mean comparable reading as in the L2 protocol.
write Write the named item.
Description:
This command is used for creating, manipulating or deleting a promotion definition.
Notes:
To use the promotion functionality on the device it is necessary to activate it with a entry in the file uc3options.xml.
The XML command is processed by the device. The promotion functionality itself doesn't work with activation.
For the mode 'deleteall' the value of promotion_definitions will not be evaluated.
For the mode 'readall' all definitions that are equal or greater the value of promotion_definitions are returned.
If the value is empty all available definitions are returned.

The values of the tags promotion_group, promotion_rule_tag, promotion_name, promotion_text1 and promotion_text2 can be set/reseted partially.
The values for the rules and markup/discount chains can not be set/reset partially.
If the command contains the tag standard_rule then an already existing standard rule and its associated markup/discount chain(s) will be deleted and replaced by the new rule.

If a promotion definition is deleted its assigned articles/items set by the commands article_promotions will be deleted likewise.
This doesn't have influence on the article/items created by using the command articles.
   
Mandatory: yes
max. Occurrence: 1
Datatype: string
Range: max. 50 characters
Nillable: no
Description:
The id of the promotion definition.
   
Mandatory: no
max. Occurrence: 1
Datatype: string
Range: max. 20 characters
Nillable: no
Description:
The group the promotion is belonging to.
If more than one promotions becomes valid for an article/item for each group only one promotion becomes valid.
This means that for each promotion group one promotion can become valid.
   
Mandatory: no
max. Occurrence: 1
Datatype: string
Range: max. 20 characters
Nillable: no
Description:
The promotion rule tag is an information the customer can use for its own.
   
Mandatory: no
max. Occurrence: 1
Datatype: string
Range: max. 50 characters
Nillable: no
Description:
A name that can be assigned to the promotion definition.
   
Mandatory: no
max. Occurrence: 1
Datatype: string
Range: max. 100 characters
Nillable: no
Description:
The text printed on a label or a receipt.
   
Mandatory: no
max. Occurrence: 1
Datatype: string
Range: max. 100 characters
Nillable: no
Description:
The text printed on the display.
   
Mandatory: no
max. Occurrence:  1
Description:
The rule assigned to the promotion.
     
Mandatory: no
max. Occurrence: 1
Datatype: promotion_discount_kind
Range: -
Nillable: yes
Description:
The kind of the markup or discount.
Notes:
Discount kind Comment Example Description
quantity / stepwise defines for stepwise promotions a discount or impact as WEIGHT in gram (customer gets a weight value per step) threshold 500 / step 200 / value -10 gives for more than 500g a discount of 10g for every 200g weight
value / stepwise defines for stepwise promotions a disount or impact as absolut MONEY (customer gets back or has to pay a money value per step) threshold 1000 / step 200 / value -50 gives for more than 1000g a discount of 50 Cent for every 200g
value / linear defines for linear promotions a disount or impact in % for the BACIC PRICE (customer get's a changed BASIC PRICE in %) threshold 500 / rate -1000 gives for more than 500g a discount to the BASIC PRICE of 10%
value / fix defines for fix promotions a discount or impact as absolut MONEY (customer gets or has to pay a fix MONEY value) threshold 500 / fix 50 for more than 500g the customer has to pay a fix impact of 50 Cent
points / linear defines for linear promotions number of points (customer gets points per step) threshold 0 / step 500 / value 5 gives for more that 1 g 5 POINTS per 500g of weight

It's possible to define within one standard_rule several markup_discount_kind(s) and markup_discount_chain(s)
possible configurations which are not supported today:
- markup/discout kind 'value' in conjunction with linear step/value
- markup/discout kind 'quantity' in conjunction with fix/value
- markup/discout kind 'quantity' in conjunction with linear/rate
- markup/discout kind 'quantity' in conjunction with linear step/value
- markup/discout kind 'points' in conjunction with stepwise step/value
- markup/discout kind 'points' in conjunction with fix value
- markup/discout kind 'points' in conjunction with linear rate
- markup/discout kind 'points' in conjunction with linear step/value

     
Mandatory: no
max. Occurrence:  unbounded
Description:
There can exist one ore more markup or discount chains.
       
Mandatory: no
max. Occurrence: 1
Datatype: int
Range: 0 - 99 999
Nillable: no
Description:
The threshold when the markup or discount becomes valid.
The threshold is always referring to the weight or the number of items of the markup/discount booking.
       
         
Mandatory: no
max. Occurrence:  1
Description:
The markup or discount is based on a fix value.
It is a fix one-time markup or discount depending on the markup or discount kind markup_discount_kind.
           
Mandatory: yes
max. Occurrence: 1
Datatype: int
Range: -99 999 999 - 99 999 999
Nillable: no
Description:
The fix amount of the markup or discount.
The markup or discount for each step as weight, amount or points.
It is depending on the markup or discount kind markup_discount_kind
The markup or discount of markup_discount_step. It will granted proportionate.
           
         
Mandatory: no
max. Occurrence:  1
Description:
The markup or discount can be defined in steps.
           
Mandatory: yes
max. Occurrence: 1
Datatype: int
Range: 0 - 99 999
Nillable: no
Description:
The increment as weight or number of items.
The quantity for that the markup or discount rate markup_discount_value will be granted on.
           
Mandatory: yes
max. Occurrence: 1
Datatype: int
Range: -99 999 999 - 99 999 999
Nillable: no
Description:
The fix amount of the markup or discount.
The markup or discount for each step as weight, amount or points.
It is depending on the markup or discount kind markup_discount_kind
The markup or discount of markup_discount_step. It will granted proportionate.
           
         
Mandatory: no
max. Occurrence:  1
Description:
The markup or discount has a linear behaviour.
           
             
Mandatory: yes
max. Occurrence: 1
Datatype: int
Range: -9 999 - 9 999
Nillable: no
Description:
Percentage rate with 2 decimal places.
Notes:
-1200 means a discount of 12.00%.
               
             
               
Mandatory: yes
max. Occurrence: 1
Datatype: int
Range: 0 - 99 999
Nillable: no
Description:
The increment as weight or number of items.
The quantity for that the markup or discount rate markup_discount_value will be granted on.
               
Mandatory: yes
max. Occurrence: 1
Datatype: int
Range: -99 999 999 - 99 999 999
Nillable: no
Description:
The fix amount of the markup or discount.
The markup or discount for each step as weight, amount or points.
It is depending on the markup or discount kind markup_discount_kind
The markup or discount of markup_discount_step. It will granted proportionate.
               
           
   
Mandatory: no
max. Occurrence: 1
Datatype: dateTime
Range: -
Nillable: yes
Description:
CCYY-MM-DDThh:mm:ss
The format is as following:
C = Century
Y = Year
M = Month
D = Day
T = Separator between date and time
h = hour
m = minute
s = second