Dynamic Pricing : Configuration : Rule configuration
 
Rule configuration
 
Dynamic Pricing Rules have conditions which can be TRUE or FALSE. Based on the result of the condition, a function can be used to alter the price of the item. The first part of the function specifies what to do if the condition is TRUE; the second part of the function specifies what to do if the condition is FALSE. If there is no FALSE specification in the function, then nothing is done to alter the price of an item when a condition leads to a FALSE result. Functions may also be used without conditions.
 
Note: There is no limit to how many lines you can have in a Dynamic Pricing Rule.
 
Example: IF(DOW(SUN),DISCOUNT(10), DISCOUNT(5))
IF(DOW(SUN), is the condition that says “if the day of the week is Sunday”.
DISCOUNT(10) is the function that is the result of a TRUE answer to the condition.
DISCOUNT(5) is the function that is the result of a FALSE answer to the condition.
So, if it is Sunday the price is discounted by 10%. If it is not Sunday, the price is discounted by 5%.
 
Note: Conditions can use AND/OR/NOT.
 
Example: IF(DOW(SUN) AND TIME(12:30-16:00),DISCOUNT(30))
IF(DOW(SUN), is the condition that says “if the day of the week is Sunday”.
TIME(12:30-16:00) is another condition that says “if the time is between 12:30 PM and 4:00 PM”.
Because AND is used, the day of the week must be Sunday AND the time must be between 12:30 PM and 4:00 PM for the condition to be TRUE.
DISCOUNT(30)) is the function that is the result of a TRUE answer to the condition.
So, if it is Sunday between 12:30 PM and 4:00 PM, discount the price by 30%; otherwise do nothing (because there is no specification in the function for a FALSE result nothing is done to the price of the item when the condition is FALSE).
 
Note: Rules can be referenced in other rules using SUB()
 
Example: IF(DOW(SUN) AND TIME(12:30-16:00) AND NOT DATE(SUB(HOLIDAY)),DISCOUNT(30))
IF(DOW(SUN), is the condition that says “if the day of the week is Sunday.”
TIME(12:30-16:00) is another condition that says “if the time is between 12:30 PM and 4:00 PM.”
NOT DATE(SUB(HOLIDAY)) is another condition that says “look at the dates in the HOLIDAY rule and make sure that today is not one of those dates.”
Because AND is used, the day of the week must be Sunday AND the time must be between 12:30 PM and 4:00 PM and it cannot be a date included in the dates specified in the HOLIDAY rule for the condition to be TRUE.
DISCOUNT(30)) is the function that is the result of a TRUE answer to the condition.
So, if it is Sunday between 12:30 PM and 4:00 PM and not during one of the HOLIDAY seasons, discount the price by 30%.
 
Example:
This option would allocate $50 to the LESSONS profit center per Lesson modifier attached with the remaining (up to $5000) going to TICKETS.
The HASMOD condition can take up to four parameters. The first is Department, Category, Item, and then the number of times the mod is present. This example specifies the category name LESSON with incrementing numbers of times that an item in the LESSON category is used as a mod.
 
IF(HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERSFLAT("LESSONS",50,"TICKETS",5000)))
IF(HASMOD(,LESSON,,2),MACRO2(SETPROFITCENTERSFLAT("LESSONS",100,"TICKETS",5000)))
IF(HASMOD(,LESSON,,3),MACRO2(SETPROFITCENTERSFLAT("LESSONS",150,"TICKETS",5000)))
IF(HASMOD(,LESSON,,4),MACRO2(SETPROFITCENTERSFLAT("LESSONS",200,"TICKETS",5000)))
IF(HASMOD(,LESSON,,5),MACRO2(SETPROFITCENTERSFLAT("LESSONS",250,"TICKETS",5000)))
 
This would allocate a one day's worth of revenue to LESSONS per lesson modifier with the remaining going to TICKETS. It is much more complicated because the percentages vary based on the # of days on the ticket. The provided samples are up to 6 days and 6 lesson mods. You would need to do the full 14 or whatever max you have for ticket duration.
 
IF(DCI(,,1DAY) AND HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERS("LESSONS",100)))
 
IF(DCI(,,2DAY) AND HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERS("LESSONS",50,"TICKETS",50)))
IF(DCI(,,2DAY) AND HASMOD(,LESSON,,2),MACRO2(SETPROFITCENTERS("LESSONS",100)))
 
IF(DCI(,,3DAY) AND HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERS("LESSONS",33.333,"TICKETS",66.667)))
IF(DCI(,,3DAY) AND HASMOD(,LESSON,,2),MACRO2(SETPROFITCENTERS("LESSONS",66.667,"TICKETS",33.333)))
IF(DCI(,,3DAY) AND HASMOD(,LESSON,,3),MACRO2(SETPROFITCENTERS("LESSONS",100)))
 
IF(DCI(,,4DAY) AND HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERS("LESSONS",25,"TICKETS",75)))
IF(DCI(,,4DAY) AND HASMOD(,LESSON,,2),MACRO2(SETPROFITCENTERS("LESSONS",50,"TICKETS",50)))
IF(DCI(,,4DAY) AND HASMOD(,LESSON,,3),MACRO2(SETPROFITCENTERS("LESSONS",75,"TICKETS",25)))
IF(DCI(,,4DAY) AND HASMOD(,LESSON,,4),MACRO2(SETPROFITCENTERS("LESSONS",100)))
 
IF(DCI(,,5DAY) AND HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERS("LESSONS",20,"TICKETS",80)))
IF(DCI(,,5DAY) AND HASMOD(,LESSON,,2),MACRO2(SETPROFITCENTERS("LESSONS",40,"TICKETS",60)))
IF(DCI(,,5DAY) AND HASMOD(,LESSON,,3),MACRO2(SETPROFITCENTERS("LESSONS",60,"TICKETS",40)))
IF(DCI(,,5DAY) AND HASMOD(,LESSON,,4),MACRO2(SETPROFITCENTERS("LESSONS",80,"TICKETS",20)))
IF(DCI(,,5DAY) AND HASMOD(,LESSON,,5),MACRO2(SETPROFITCENTERS("LESSONS",100)))
 
IF(DCI(,,6DAY) AND HASMOD(,LESSON,,1),MACRO2(SETPROFITCENTERS("LESSONS",16.667,"TICKETS",83.333)))
IF(DCI(,,6DAY) AND HASMOD(,LESSON,,2),MACRO2(SETPROFITCENTERS("LESSONS",33.334,"TICKETS",66.666)))
IF(DCI(,,6DAY) AND HASMOD(,LESSON,,3),MACRO2(SETPROFITCENTERS("LESSONS",50,"TICKETS",50)))
IF(DCI(,,6DAY) AND HASMOD(,LESSON,,4),MACRO2(SETPROFITCENTERS("LESSONS",66.667,"TICKETS",33.333)))
IF(DCI(,,6DAY) AND HASMOD(,LESSON,,5),MACRO2(SETPROFITCENTERS("LESSONS",83.334,"TICKETS",16.333)))
IF(DCI(,,6DAY) AND HASMOD(,LESSON,,6),MACRO2(SETPROFITCENTERS("LESSONS",100)))