Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code

Code of the Bundle as seen in the GUI.

AMOUNT-SPLIT

Description

Short description of the Bundle, e.g. what does it aim at.

This bundle has the capacity of discounting all invoice detail lines or subscription fee lines (that apply to the bundle), until the limit defined in VALUE1 is reached. It includes a few different ways to discount as well. 
The bundle can also change the billing group on the detail lines inside the bundle to an external billing group defined on subscription campaign parameters.

Business scenario

See examples

Applies to

Types of traffic (plan elements) that the bundle should be associated with.

No limitations

Core info

Is this bundle available in Core? If yes, specify which version.

Available only in the Rator-bundles project (from the very first version).

...

Value1

The maximum limit of usage inside the bundle. A Value1 of zero means unlimited

Value2

The current usage spent

Value3

Not used Used 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.

Info
titlePlease note

Give the bundle a high priority (low number) as other bundles should likely be used before this one

...

Main strategy

Key

Description

Discounting

DISCOUNT_STRATEGY

Defines how a discount should be processed

Calculate Remaining Units 

REMAINING_UNITS_STRATEGY

Defines how a bundle's remaining units should be calculated

Billing group retrieval

BG_RETRIEVAL_STRATEGY

Defines how the bundle should find and retrieve an external billing group

Value of detail linesCALCULATE_IDL_VALUE_STRATEGYDefines how the value of detail lines is calculated

All strategy types are defined using the bundle parameters as used by many other bundle types (i.e. DISCOUNT_STRATEGY=CREATE_NEGATED_LINE). The current implementations of the main strategies are:

Main strategy

Strategy name

Code Name

Default

Description

Discounting

Zero rate discount line

DecreaseDiscountLineValueStrategy
or 
DECREASE_AMOUNT

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 lines line

CreateNegatedDiscountLineStrategy
or 
CREATE_NEGATED_LINE

 

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.
If any argument is not present, the charge item for the discount line is the same as discounted detail line.
If both arguments are present, the charge item for the discount line is looked up in the number plan identified by serviceCode and plan element identified by priceCode. The rate plan used for number plan identification is given by the billing context.

Discounting Create customized negated discount lineWorkflowEnabledNegateDiscountLineStrategy 

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".

DiscountingPercentage Discount StrategyPercentageDecreaseDiscountLineValueStrategy
 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.

Note: If a billing group retrieval strategy is defined, that billing group will be used in the BillingContext.

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 linesTotal for billing groupCalculateDetailLinesValueForBillingGroupYesThe 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 linesTotal as percentageCalculateDetailLinesValueByPercentage 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.

 

Parameters

The parameters available for the Amount Split Bundle are described in the Strategies section.

...

  • Subscription campaign parameters: SPLIT_BILLING_BG_ID=[the ID of the company's billing group] 

Discount Bundle

Scenario: A bundle is required that discounts all detail lines inside the bundle, until DKK 100 is reached. It discounts by zero-rating the usage inside the bundle and decreases the total value of the splitting detail line.

...