...
Value1 | The maximum limit of usage inside the bundle. A Value1 of zero means unlimited |
---|---|
Value2 | The current usage spent |
Value3 | Not usedUsed by PercentageDecreaseDiscountLineValueStrategy |
Value4 | Not used |
Logic
The bundle starts by forwarding the rating in order to get invoice detail lines or subscription fee lines (mentioned as "detail lines" from here on) returned. Afterwards, it processes the result of the actual rating. Value2 is incremented, until it reaches Value1. The value processed is the total monetary amount of the detail lines returned by the rating, with respect to the configured detail line calculation strategy.
...
Main strategy | Strategy name | Name | Default | Description |
---|---|---|---|---|
Discounting | Zero rate discount line | DecreaseDiscountLineValueStrategy | Yes | Discounts the detail line by decreasing the total value of the detail line. If the entire detail line is inside the bundle the detail line will be zero rated. |
Discounting | Create negated discount line | CreateNegatedDiscountLineStrategy |
| Discounts by creating a copy of the discounted detail line with an opposite sign and adding it to the rating result. Two optional arguments are provided: serviceCode and priceCode. |
Discounting | Create customized negated discount line | WorkflowEnabledNegateDiscountLineStrategy | Discounts by creating a customized detail line, where amount to be discounted is set. The customized detail line is returned from workflow invoked by the hookpoint having static key "BUNDLE.STRATEGY.DISCOUNT.NEGATE". | |
Discounting | Percentage Discount Strategy | PercentageDecreaseDiscountLineValueStrategy | Discounts the detail line by decreasing the total value of the detail line by the discount percentage defined in Value3. | |
Calculate Remaining Units | Get current subscription bundle value | GET_CURRENT_VALUE | Yes | Subtracts the maximum value (usually VALUE1) with the current units (usually VALUE2). |
Calculate Remaining Units | Compare with BillingGroup balance | COMPARE_BILLING_GROUP_BALANCE |
| Executes the logic in "GET_CURRENT_VALUE"-strategy and compares it with the current BillingGroup's balance in the BillingContext. The smaller of the two will be used. |
Billing group retrieval | Get BillingGroup from billing context | BILLING_CONTEXT | Yes | As the billing context is generated using the current subscription/service's billing group using this strategy is the same as not forwarding the detail lines to an external billing group |
Billing group retrieval | Get BillingGroup from subscription campaign parameter | SUBSCRIPTION_CAMPAIGN_PARAMETER |
| Use this strategy if the bundle should bill everything inside the bundle to a different billing group. The billing group's ID should be set on a subscription campaign parameter named SPLIT_BILLING_BG_ID |
Value of detail lines | Total for billing group | CalculateDetailLinesValueForBillingGroup | Yes | The value of detail lines are calculated as a sum of total excl VAT and total VAT for the billing group in billing context (might be different for "normal" billing group if detail lines have been created for other billing group). |
Value of detail lines | Total as percentage | CalculateDetailLinesValueByPercentage | The value of detail lines are calculated as a sum of total excl VAT and total VAT, regardless of billing group. The returned value is the configured percentage of the value of detail lines. |
...