Change Log
Date | Author | Version | Changes |
---|---|---|---|
03 September 2018 | Rune Westphal | 1.0 | Doc created. |
1 - Configuration
Prorating of bundles has been implemented on the bundle configuration level and is available from core 10.10.1 version. The older way of prorating was to configure it on campaign level through the ProrateActivation campaign method and should now be considered deprecated.
The bundles are configured through a ProrateBundleStrategy which can be set in the Rator MainMenu Product Configuration Tool, under the Product Campaign tab => Edit Campaign => Bundles => Edit Bundle => Bundle metadata => Prorate strategy, as shown in the screenshot below.
2 - Available Strategies
The following strategies are available. Bundle values should be the smallest meaningful units so rounding is performed only on the first decimal, by rounding half up, e.g. a calculated value of 20.5 will result in 21 while a value 20.49 will be rounded to 20.
Strategy Name | Description | Calculation | Example |
---|---|---|---|
ProrateDayOfMonthUsing30DayMonth | This strategy will prorate based on remaining days of a fixed month length of 30. | bundleValue * ((30-dayOfMonth) + 1) / 30). | For the 5th the calculation would always be bundleValue * (26/30) irrespective of the actual month length. |
ProrateRemainingCalendarDaysUsing30DayMonth | This strategy calculates actual remaining days of the month (including the date itself) but uses a | bundleValue * ((monthLength - dayOfMonth + 1)/30) | Example 1: January 5th would be calculated by bundleValue * (27/30). |
3 - Implementation Details
The implemented strategies are identified using the implementation finder framework. Thus, new strategies that are implemented and added in the service resource file will be automatically discovered and available in the GUI for configuration.