Single VOICE File With Multiple Price Points and Zone Configuration
This use case applies to any service type and vertical. It demonstrates how to configure a single usage processing stream for a VOICE service with multiple price points, quantity derivation rules, and zone-based routing.
Scenario:
- A single voice call service is sold via a plan.
- A single source platform feeds all VOICE calls in one file; the usage type is not included in the source file.
- A single usage processing stream handles the VOICE service type and source platform.
- Zone unit setup determines price points for call types, identified by leading digits in the A-party or B-party number.
- Quantity (in seconds on the raw usage record) is managed as follows:
- For special calls: 30 seconds are free; any remaining time over 30 seconds rounds up to the next minute and is rated accordingly.
- For all other calls: the input quantity is used as is.
- Because quantity is managed for special calls, flat price points apply for all zone units.
Setup
- Set up the source platform for VOICE service type and postpaid records. Configure the mapping for the source platform and the usage processing configuration for that combination.
- Configure the zone model for VOICE service type. Configure a default zone unit for all other calls as fall-through pricing, with both A-party number and B-party number set to * (any) and the zone labeled OtherCalls or similar.
- Configure the Rate Unit model for VOICE service type using the expression DETAIL.quantity, where quantity maps to the quantity field in the file mapping configuration.
- Set up the mediation rule. The fields referenced belong to the Aria Allegro usage container model.
- Set usagetype = Voice Calls. All calls map to the same usage service; the usage type is required to analyze price units.
- Use string.matches(string, regex) with the B-party number to identify the call as a special call.
- If quantity > 30: set quantity = ceil((quantity − 30) / 60) to subtract 30 seconds and convert the remainder to the next integer (in minutes).
- If quantity ≤ 30: set quantity = 0.
- Add the usage type and a usage service for Voice Calls in core Aria. Map that billable service to the VOICE service type in Aria Allegro.
- Add the plan, plan rate schedule, and plan services in core Aria with Advanced Usage Pricing enabled.
- Locate the shell price offer created for the plan, plan rate schedule, and plan service combination in Aria Allegro and configure pricing as follows:
- Set Pricing Model to Transaction Attribute-Based.
- In the Transaction Attributes section, set the price points for each zone configuration:
- Select the zone model and zone unit value for each price point.
- Add currency impacts, accumulator impacts, and allowance impacts as needed.
- Repeat step 7 for all zone units.
- Create an account, load usage, and validate the monetized usage.
Variants
Some zone units require quantity-tiered pricing based on minutes.
- Set Pricing Model to Composite and select the Transaction Attribute-Based and Tiers checkboxes.
- For each zone unit, select the zone model and zone unit value. For tiers, select Tier Type as Quantity Tiers.
- For flat pricing: set one tier from 0 to 0 with a flat price.
- For tiered pricing: set quantity tiers as needed.
- Add currency, accumulator, and allowance impacts as needed.
- For each zone unit, select the zone model and zone unit value. For tiers, select Tier Type as Quantity Tiers.
- Repeat for all zone units. Each grouping has its own tier configuration.
Balance-based tiers instead of quantity tiers: Add an accumulator to track quantity, select balance-based tier attributes using that accumulator, and add the accumulator impact for the same accumulator in the price points. The rest of the configuration remains the same as the quantity-tier variant above.