3 Mapping Product Offerings

Learn how to map product offering data in Oracle Communications Pricing Design Center (PDC) REST Services Manager, so it can transform the TMF 620 data to PDC and Oracle Communications Billing and Revenue Management (BRM) data.

Topics in this document:

About Mapping Product Offerings

To enable PDC REST Services Manager to transform your product offering data, you must first create setup components in BRM, PDC, and the enterprise product catalog, then map the TMF 620 data from your enterprise product catalog to PDC.

Note:

PDC REST Services Manager supports only the base TMF 620 specifications, along with select vendors' extensions based on business drivers. Your enterprise product catalog vendor is responsible for defining and publishing any TMF 620 vendor-specific API extensions. Your vendor's published TMF 620 API will include the TMF 620 ProductOffering payload, ProductOfferingPrice payload, and other payloads as well as the notification event payloads that PDC REST Services Manager or any other consumer of the enterprise product catalog must support.

The following sections show the mappings between TMF 620 data and the PDC and BRM data schema. They also list the default values for PDC and BRM data fields when TMF 620 has no corresponding field.

Mapping Setup Components

In BRM, setup components are the prerequisite data you configure before creating product offerings. You create some setup components in BRM and then synchronize them with PDC, and you create other setup components in PDC. There is no synchronization flow between PDC or BRM and the enterprise product catalog for setup components. You must create them independently in PDC and the enterprise product catalog, and configure your enterprise product catalog to send data in the TMF 620 payload that matches what you have created in PDC.

Table 3-1 lists the setup components you configure in BRM and PDC before creating your product offerings. It details how PDC REST Services Manager maps data in the TMF 620 payload to the setup components.

Table 3-1 Setup Component Mapping

Setup Component Mapping Details
Services

BRM includes preconfigured services, and you can create custom services. You synchronize services from BRM to PDC with the syncPDC utility. See "Setting Up Service and Event Definitions" in PDC Creating Product Offerings for more information.

In the TMF 620 payload, your enterprise product catalog must send case-sensitive values in the name property of the ServiceSpecification object that are identical to the BRM services names.

Ratable Usage Metrics (RUMs)

In BRM, a RUM specifies the units for measuring events and how to calculate the measurement. You can base a measurement on any data captured in an event, such as how long a session lasted or the number of bytes downloaded during a session.

You create RUMs in PDC. See "Configuring Ratable Usage Metrics (RUMs)" in PDC Creating Product Offerings.

In the TMF 620 payload, for usage charges, your enterprise product catalog must send case-sensitive values in the units property of the Quantity object that are identical to RUM names.

For one-time or recurring charges, PDC REST Services Manager automatically selects the Occurrence RUM.

Service-event map

In BRM, the service-event map lets you configure which charge events can be used for a service and which RUMs can be used for each service-event combination. The service-event map links each supported service to the events that can have charges configured for that service.

You create the service-event map in PDC. See "Setting Up the Service-Event Map" in PDC Creating Product Offerings.

PDC REST Services Manager uses the application-eventConfig.yaml configuration file to map TMF 620 notifications from your enterprise product catalog to BRM event names. See "Configuring Mapping of TMF 620 priceType to BRM Event Names" in PDC Installation Guide for details about configuring the mappings in this file.

Balance elements

In BRM, a balance element represents one of the following:

  • A currency or noncurrency asset of economic value, such as US dollars or included minutes
  • A counter that tracks items such as dollars spent or minutes talked

You configure balance elements in PDC. See "Configuring Balance Elements" in PDC Creating Product Offerings.

In the TMF 620 payload:

  • For currency balance elements, your enterprise product catalog must send case-sensitive ISO 4217 standard 3-character currency codes in the unit property of the Money object that are identical to the PDC balance element IDs.
  • For noncurrency balance elements, your enterprise product catalog must send case-sensitive values in the units property of the unitOfMeasure object that are identical to PDC noncurrency balance element names.
Tax codes

In BRM, a tax code indicates which tax to apply on the price of the product offering.

You create and modify tax codes in PDC then publish them to rating engines with the ImportExportPricing utility. See "Creating Tax Codes" in BRM Calculating Taxes.

In the TMF 620 payload, your enterprise product catalog must send case-sensitive values in the taxCode property of the Tax object in the extended ProductOfferingPriceOracle object that are identical to the BRM tax code names.

General ledger (G/L) IDs

In BRM, G/L IDs ensure that charges are reported to the correct account in your company's general ledger.

You create G/L IDs in BRM and synchronize them to PDC with the SyncPDC utility. See "About G/L IDs" in BRM Collecting General Ledger Data.

In the TMF 620 payload, your enterprise product catalog must send case-sensitive values in the glid property of the extended ProductOfferingPriceOracle object that are identical to the BRM G/L ID description.

For more information about these setup components, and others, see "About Setup Components" in PDC Creating Product Offerings.

Mapping Lifecycle Status for Product Offerings

When your enterprise product catalog sends a ProductOfferingPriceStateChangeEvent or ProductOfferingStateChangeEvent TMF 620 notification event, PDC REST Services Manager maps the lifecycle status from TMF to PDC.

Table 3-2 shows how the statuses are mapped.

Table 3-2 TMF 620 Lifecycle Statuses to PDC

TFM 620 Status PDC Status
Launched Promoted
Retired Promoted, but the offer purchase end date is set to the current date so that the offer can no longer be purchased.
Obsolete Obsolete

Note:

  • For status change events, PDC REST Services Manager supports only Launched, Retired, or Obsolete. Providing any other string in a status change event will fail with a 405 Method Not Allowed response.

  • For create and attribute change events, PDC REST Services Manager does not validate the lifecycleStatus parameter. You can use any status with these events.

After the status change event has been sent to PDC, PDC checks whether the status changes are valid for charge offers and charges. For example, a charge offer can't be promoted if its associated charges are still in draft, and only pricing objects that have no references can be obsoleted. Invalid status change requests result in PDC errors.

The state change notification event does not need to contain the entire ProductOfferingPrice or ProductOffering definition. PDC REST Services Manager uses the @type, id, name, href, and lifecycleStatus attributes to identify the correct charge or charge offer and update the status.

For example, the following shows a notification event payload to obsolete a charge:

{
    "eventId": "Event_1234",
    "eventTime": "2023-05-16T05:50:06",
    "eventType": "ProductOfferingPriceStateChangeEvent",
    "event": {
        "productOfferingPrice": {
            "@type": "ProductOfferingPrice",
            "@baseType": "ProductOfferingPrice",
            "id": "popOOO_12345",
            "name": "ProductOfferingPrice12345",
            "href": "/mobile/custom/catalogManagement/productOfferingPrice/popOOO_12345",
            "lifecycleStatus": "Obsolete"
        }
    }
}

Mapping Custom Attributes from TMF 620 to PDC

Table 3-3 shows how to map custom attributes (also called product specification attributes or product specification characteristics) data from TMF 620 fields to PDC fields.

Table 3-3 TMF 620 Custom Attribute Mappings for PDC REST Services Manager

TMF Base Object TMF Extended Object Vendor Extended Object TMF 620 Field PDC Field PDC Field Description
ProductSpecCharacteristic name NA productOffering.productSpecification.productSpecCharacteristic[i].name chargeOffering.productSpecCharacteristic[i].name Custom Attribute Name
ProductSpecCharacteristic maxCardinality NA productOffering.productSpecification.productSpecCharacteristic[i].maxCardinality chargeOffering.productSpecCharacteristic[i].cardinality Custom Attribute Values

Possible values are:

  • SINGLE
  • MULTIPLE
ProductSpecCharacteristic value NA productOffering.productSpecification.productSpecCharacteristic[i].productSpecCharacteristicValue[j].value chargeOffering.productSpecCharacteristic[i].value Custom Attribute Values
ProductSpecCharacteristic description NA productOffering.productSpecification.productSpecCharacteristic[i].description chargeOffering.productSpecCharacteristic[i].description Custom Attribute Description

Mapping Charge Offers from TMF 620 to PDC

Table 3-4 shows how to map charge offer data from TMF 620 fields to PDC fields.

Table 3-4 TMF 620 Charge Offer Mappings for PDC REST Services Manager

TMF Base Object TMF Extended Object Vendor Extended Object TMF 620 Field PDC Field PDC Field Description

ProductOffering

NA

NA ProductOffering chargeOffering.productOffering Charge Offer
ProductOffering NA NA ProductOffering.name chargeOffering.name Charge Offer Name
ProductOffering NA NA ProductOffering.name chargeOffering.name Charge Offer Name
ProductOffering NA NA ProductOffering.name PricingObjects.ChargeOffering.name Charge Offer Name
ProductOffering NA NA ProductOffering.validFor chargeOffering.timeRange.startDateTime/endDateTime

Note: Split startDateTime and endDateTime with a forward slash (/).

Charge Offer Validity
ProductOffering NA NA ProductOffering.description chargeOffering.description Charge Offer Description
ProductOffering NA NA ProductOffering.id chargeOffering.externalID Charge Offer External ID
ProductOffering NA NA ProductOffering.id chargeOffering.internalID Charge Offer Internal ID
ProductOffering NA NA ProductOffering.id chargeRatePlan.externalID Charge Rate Plan External ID
ProductOffering NA NA ProductOffering.ServiceCandidate.name chargeOffering.productSpecName Charge Offer Product Spec Name
ProductOffering NA NA ProductOffering.ServiceCandidate.name chargeRatePlan.permittedName Charge Rate Plan Permitted Name
ProductSpecification NA NA ProductSpecification.id Note: The product specification ID is not persisted in PDC. NA
ProductSpecification NA NA ProductSpecification.name Note: The product specification name is not persisted in PDC. NA
ProductSpecification NA NA ProductSpecification.ValidFor chargeOffering.timeRange.startDateTime/endDateTime

Note: Split startDateTime and endDateTime with a forward slash (/).

Product Specification Validity
ProductSpecification NA NA ProductSpecification.productSpecCharacteristic[0].name chargeOffering.productSpecCharacteristic.name Product Specification Name
ProductSpecification NA NA ProductSpecification.productSpecCharacteristic[0].productSpecCharacteristicValue[0].value chargeOffering.productSpecCharacteristic.value Product Specification Value
ServiceSpecification NA NA ServiceSpecification.id chargeOffering.productSpecName Charge Offer Specification ID
ServiceSpecification NA NA ServiceSpecification.name chargeOffering.productSpecName Charge Offer Specification Name
ProductOfferingPrice NA NA ProductOfferingPrice.validFor.startDateTime/endDateTime chargeRatePlan.subscriberCurrency/absoluteDateRange.startDate

chargeRatePlan.subscriberCurrency/absoluteDateRange.endDate

Charge Rate Plan Validity
ProductOffering ProductOfferingOracle NA ProductOffering.ProductOfferingPrice[n].id ProductOffering.ProductOfferingPrice[n].name chargeOfferingJXB.getChargeEventMap().get(0).getRolloverRatePlanName() Get Rollover Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.RolloverCount rolloverRatePlanJXB.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getRolloverCount() Get Rollover Count
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.RolloverMaxUnits rolloverRatePlanJXB.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getRolloverMaxUnits() Get Rollover Maximum Units
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.RolloverUnits rolloverRatePlanJXB.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getRolloverUnits() Get Rollover Units
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.Units rolloverRatePlanJXB.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getBalanceElementNumCode() Get Balance Element Number Code
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPrice.POPAlterationOracle[n].UnitOfMeasure rolloverRatePlanJXB.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getUnitOfMeasure() Get Unit of Measure
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges[n].minQuantity
  • For one-time charges:

    PricingObjectsJXB.chargeRatePlan[n].subscriberCurrency.crpRelDateRange.crpCompositePopModel.oneTimePopModel.oneTimePriceTier.lowerBound

  • For recurrring charges:

    PricingObjectsJXB.chargeRatePlan[n].subscriberCurrency.crpRelDateRange.crpCompositePopModel.recurringPopModel.priceTier.lowerBound

  • For usage charges:

    PricingObjectsJXB.chargeRatePlan[n].subscriberCurrency.crpRelDateRange.crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.lowerBound

Pricing Tier Lower Bound
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges[n].maxQuantity
  • For one-time charges:

    PricingObjectsJXB.chargeRatePlan[n].subscriberCurrency.crpRelDateRange.crpCompositePopModel.oneTimePopModel.oneTimePriceTier.tierRange[n].upperBound

  • For recurring charges:

    PricingObjectsJXB.chargeRatePlan[n].subscriberCurrency.crpRelDateRange.crpCompositePopModel.recurringPopModel.priceTier.tierRange[n].upperBound

  • For usage charges:

    PricingObjectsJXB.chargeRatePlan[n].subscriberCurrency.crpRelDateRange.crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.tierRange[n].upperBound

Pricing Tier Upper Bound
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges.priceAlteration.price.dutyFreeAmount.value crpCompositePopModel.oneTimePopModel.priceTier.tierRange[n].oneTimeCharge.price One-Time Charge Price
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges.priceAlteration.price.dutyFreeAmount.unit crpCompositePopModel.oneTimePopModel.priceTier.tierRange[n].oneTimeCharge.balanceElementNumCode One-Time Charge Balance Element Number Code
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.distributionMethod crpCompositePopModel.oneTimePopModel.priceTier.tierRange.usageChargePopModel.priceTier.distributionMethod Distribution Method
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges.priceAlteration.price.unitOfMeasure.units crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange[n].scaledCharge.unitOfMeasure Scaled Charge Unit of Measure
ProductOfferingPrice ProductOfferingOracle ProductOfferingPrice ProductOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges.priceAlteration.price.unitOfMeasure.amount crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange[n].scaledCharge.incrementStep Scaled Charge Increment
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].name chargeOffering.chargeEventMap.chargeRatePlanName Charge Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].name chargeRatePlan.name Charge Rate Plan Name
ProductOfferingPrice NA ProductOfferingPrice ProductOffering.ProductOfferingPrice[n].name PricingObjectsJXB.alterationOffering.AlterationEventMap[n].getAlterationRatePlanName Charge Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.ProductOfferingPrice[n].name PricingObjectsJXB.chargeOffering.ChargeEventMap[n].getChargeRatePlanName Charge Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOffering.productOfferingPrice[n].description chargeRatePlan.description Charge Rate Plan Description
ProductOfferingPrice ProductOfferingPriceOracle.TaxItemOracle NA ProductOffering.productOfferingPrice[n].tax[n].taxTime chargeRatePlan.taxTime Tax Time

If a value is provided for taxCode, PDC REST Services Manager automatically sets the value for taxTime to BILLING. Otherwise, taxTime is set to NONE.

ProductOfferingPrice ProductOfferingPriceOracle.TaxItemOracle NA ProductOffering.productOfferingPrice[n].tax[n].taxCode chargeRatePlan.taxCode Tax Code
ProductOfferingPrice ProductOfferingPrice NA
  • For one-time and recurring charges:

    ProductOfferingPrice.tax[n].id

  • For usage charges:

    ChargeRatePlanJXB.subscriberCurrency.applicableRum.crpRelDateRange.crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange.scaledCharge.taxCode

chargeRatePlanJXB.taxCode Tax Code
ProductOfferingPrice ProductOfferingPrice NA

For one-time, recurring, and usage charges:

ProductOfferingPrice.tax[n].taxCategory

taxCodeJXB.taxPackageType Tax Package Type
ProductOfferingPrice ProductOfferingPrice NA

For one-time, recurring, and usage charges:

ProductOfferingPrice.tax[n].taxRate

taxCodeJXB.taxCodeValidityPeriods.taxCodeMaps.percent Tax Code Map Percentage
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPriceOracle.POPAlteration[n].ProductPriceValueOracle.taxCategory taxCodeJXB.taxPackageType Tax Package Type
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOfferingPriceOracle.POPAlteration[n].ProductPriceValueOracle.taxRate taxCodeJXB.taxCodeValidityPeriods.taxCodeMaps.percent Tax Code Map Percentage
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOffering.productOfferingPriceOracle.isTaxInclusive NA NA

Note: The isTaxInclusive field does not map to a specific PDC field, but if it is set to true, PDC REST Services Manager appends _INC to the value of taxCode. This assumes you have configured corresponding tax-inclusive tax codes using _INC in the name in PDC.

ProductOfferingPrice ProductOfferingPriceOracle.Money ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.unit chargeRatePlan.subscriberCurrency.currencyCode Currency Code
ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle ProductOfferingPrice.TimePeriod
  • For non-tiered rates:

    ProductOffering.productOfferingPrice[n].validFor

  • For tiered rates:

    ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

chargeRatePlan.subscriberCurrency.crpRelDateRange.absoluteDateRange.startDate Start Date
ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle ProductOfferingPrice.TimePeriod
  • For non-tiered rates:

    ProductOffering.productOfferingPrice[n].validFor

  • For tiered rates:

    ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

chargeRatePlan.subscriberCurrency.crpRelDateRange.absoluteDateRange.endDate End Date
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.productOfferingPriceOracle.POPAlteration.attributeName

productOfferingPrice.ProductPriceValueOracle.ProductPriceValueOraclePriceTag.attributeName

chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.attributeName

chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringcharge.priceTag.attributeName

Attribute Name
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.priceType

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.oneTimeCharge

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.oneTimeCharge

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.oneTimeCharge

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.oneTimeCharge

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.oneTimeCharge

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.oneTimeCharge

  • chargeRatePlan.priceTierValidityPeriod.oneTimeCharge

  • chargeRatePlan.priceTierRange.FixedCharge.oneTimeCharge

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.oneTimeCharge

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.oneTimeCharge

  • chargeRatePlan.priceTier.priceTierValidityPeriod.oneTimeCharge

  • chargeRatePlan.priceTierRange.ScaledCharge.oneTimeCharge

One Time Charge
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.Value

productOfferingPrice.ProductOfferingPriceOracle.ProductPriceValue.DutyFreeAmount.Value

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.price

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.price

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.price

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.price

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.price

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.price

  • chargeRatePlan.priceTierValidityPeriod.price

  • chargeRatePlan.priceTierRange.FixedCharge.price

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.price

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.price

  • chargeRatePlan.priceTier.priceTierValidityPeriod.price

  • chargeRatePlan.priceTierRange.ScaledCharge.price

Product Offer Price
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.unit

productOfferingPrice.ProductOfferingPriceOracle.ProductPriceValue.DutyFreeAmount.unit

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.balanceElementNumCode

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.balanceElementNumCode

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.balanceElementNumCode

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.balanceElementNumCode

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.balanceElementNumCode

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.balanceElementNumCode

  • chargeRatePlan.priceTierValidityPeriod.balanceElementNumCode

  • chargeRatePlan.priceTierRange.FixedCharge.balanceElementNumCode

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.balanceElementNumCode

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.balanceElementNumCode

  • chargeRatePlan.priceTier.priceTierValidityPeriod.balanceElementNumCode

  • chargeRatePlan.priceTierRange.ScaledCharge.balanceElementNumCode

Balance Element Numeric Code
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.ProductOfferingPriceOracle.POPAlteration.POPAlteration.attributeName

productOfferingPrice.ProductPriceValueOracle.ProductPriceValueOracle.PriceTag.attributeName

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.attributeName

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.priceTag.attributeName

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.attributeName

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.priceTag.attributeName

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.attributeName

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.attributeName

  • chargeRatePlan.priceTierValidityPeriod.priceTag.attributeName

  • chargeRatePlan.priceTierRange.FixedCharge.priceTag.attributeName

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.attributeName

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.attributeName

  • chargeRatePlan.priceTier.priceTierValidityPeriod.priceTag.attributeName

  • chargeRatePlan.priceTierRange.ScaledCharge.priceTag.attributeName

Attribute Name
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.POPAlteration.tagName

productOfferingPrice.ProductOfferingPriceOracle.ProductPriceValueOraclePriceTag.tagName

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.tagName

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.priceTag.tagName

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.tagName

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.priceTag.tagName

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.tagName

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.tagName

  • chargeRatePlan.priceTierValidityPeriod.priceTag.tagName

  • chargeRatePlan.priceTierRange.FixedCharge.priceTag.tagName

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.tagName

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.tagName

  • chargeRatePlan.priceTier.priceTierValidityPeriod.priceTag.tagName

  • chargeRatePlan.priceTierRange.ScaledCharge.priceTag.tagName

Tag Name
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.POPAlteration.tagScope

productOfferingPrice.ProductPriceValueOracle.ProductPriceValueOracle.PriceTag.tagScope

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.tagScope

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.priceTag.tagScope

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.tagScope

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.priceTag.tagScope

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.tagScope

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.tagScope

  • chargeRatePlan.priceTierValidityPeriod.priceTag.tagScope

  • chargeRatePlan.priceTierRange.FixedCharge.priceTag.tagScope

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.tagScope

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.tagScope

  • chargeRatePlan.priceTier.priceTierValidityPeriod.priceTag.tagScope

  • chargeRatePlan.priceTierRange.ScaledCharge.priceTag.tagScope

Tag Scope
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOraclePOPAlteration.POPAlteration.description

productOfferingPrice.ProductPriceValueOracle.ProductPriceValueOracle.PriceTag.description

One Time:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.description

  • chargeRatePlan.oneTimePopModel.priceTier.tierRange.oneTimeChange.priceTag.description

Recurring:

  • chargeRatePlan.subscriberCurrency.crpCompositePopModel.priceTag.description

  • chargeRatePlan.recurringPopModel.priceTier.tierRange.recurringCharge.priceTag.description

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.description

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.description

  • chargeRatePlan.priceTierValidityPeriod.priceTag.description

  • chargeRatePlan.priceTierRange.FixedCharge.priceTag.description

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.priceTag.description

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.priceTag.description

  • chargeRatePlan.priceTier.priceTierValidityPeriod.priceTag.description

  • chargeRatePlan.priceTierRange.ScaledCharge.priceTag.description

Price Tag Description
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.UnitOfMeasure.units

productOfferingPrice.ProductOfferingPriceOracle.Quantity.units

Usage Fixed Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.unitOfMeasure

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.unitOfMeasure

  • chargeRatePlan.priceTierValidityPeriod.unitOfMeasure

  • chargeRatePlan.priceTierRange.FixedCharge.unitOfMeasure

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.unitOfMeasure

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.unitOfMeasure

  • chargeRatePlan.priceTier.priceTierValidityPeriod.unitOfMeasure

  • chargeRatePlan.priceTierRange.ScaledCharge.unitOfMeasure

Unit of Measure
ProductOfferingPrice ProductOfferingPriceOracle NA productOfferingPrice.ProductOfferingPriceOracle.POPAlteration.UnitOfMeasure.amount

productOfferingPrice.ProductOfferingPriceOracle.Quanity.amount

Usage Scaled Charge:

  • chargeRatePlan.subscriberCurrency.applicableRum.crpRelDateRange.incrementStep

  • chargeRatePlan.crpCompositePopModel.usageChargePopModel.incrementStep

  • chargeRatePlan.priceTier.priceTierValidityPeriod.incrementStep

  • chargeRatePlan.priceTierRange.ScaledCharge.incrementStep

Increment Step
ProductOfferingPrice ProductOfferingPriceOracle.PricingLogicAlgorithmOracle.TierRangeOracle ProductOfferingPrice.PricingLogicAlgorithm.TierRange ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.minQuantity chargeRatePlan.subscriberCurrency.crpRelDateRange...lowerBound Lower Bound
ProductOfferingPrice ProductOfferingPriceOracle.PricingLogicAlgorithmOracle.TierRangeOracle ProductOfferingPrice.PricingLogicAlgorithm.TierRange ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.maxQuantity chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange.upperBound Upper Bound
ProductOfferingPrice ProductOfferingPriceOracle.Money ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.value chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...price Price
ProductOfferingPrice ProductOfferingPriceOracle.Quantity ProductOfferingPrice.Quantity ProductOffering.productOfferingPrice[n].unitOfMeasure chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...unitOfMeasure Unit Of Measure
ProductOfferingPrice ProductOfferingPriceOracle.Money ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.unit chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...balanceElementNumCode Balance Element Numeric Code
ProductOfferingPrice ProductOfferingPriceOracle.Quantity ProductOfferingPrice.Quantity ProductOffering.productOfferingPrice[n].unitOfMeasure.amount chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementStep Increment Step
ProductOfferingPrice ProductOfferingPriceOracle NA ProductOffering.productOfferingPrice[n].glid chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...glid GLID
ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure ProductOfferingPriceAllowance.UnitOfMeasure ProductOffering.productOfferingPrice[n].unitOfMeasure.units chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...balanceElementNumCode Balance Element Numeric Code
ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure ProductOfferingPriceAllowance.UnitOfMeasure The negative value of ProductOffering.productOfferingPrice[n].unitOfMeasure.amount

The negative value is used because in BRM, noncurrency balance elements are treated as credits, not debits.

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...price Price
ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure ProductOfferingPriceAllowance.UnitOfMeasure ProductOffering.productOfferingPrice[n].unitOfMeasure.amount

Applicable when ProductOfferingPrice[n].priceType is set to usage.

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementStep Increment Step
ProductOfferingPrice ProductOfferingPriceAllowanceOracle.UnitOfMeasure ProductOfferingPriceAllowance.UnitOfMeasure ProductOffering.productOfferingPrice[n].unitOfMeasure

If this is specified, the ImpactType value is set to SCALED. If not, ImpactType is set to FIXED.

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...ImpactType Impact Type
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].glid chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...glid GLID

The GLID value is based on the charge offer's ProductOfferingPrice object associated with the ProductOfferingPriceAllowanceOracle object.

ProductOfferingPrice ProductOfferingPriceAllowanceOracle.AllowanceValidity ProductOfferingPriceAllowance.AllowanceValidity ProductOffering.productOfferingPrice[n].allowanceValidity chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...PriceValidity Price Validity
ProductOfferingPrice ProductOfferingPriceAllowanceOracle.ShareAllowance ProductOfferingPriceAllowance.ShareAllowance ProductOffering.productOfferingPrice[n].shareAllowance alterationRatePlan.arpRelDateRange.alterationConfiguration...tierRange...fixedAlteration.alterationAppliesTo Alteration Applies To
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.price.value chargeRatePlan[n].subscriberCurrency.applicableRum.crpRelDateRange.genericSelector.results[n].crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange.scaledCharge.price Price
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.price.unit chargeRatePlan[n].subscriberCurrency.applicableRum.crpRelDateRange.genericSelector.results[n].crpCompositePopModel.usageChargePopModel.priceTier.tierBasis.balanceTierExpression.balanceElementNumCode Balance Element Num Code
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.unitOfMeasure.unit chargeRatePlan[n].subscriberCurrency.applicableRum.crpRelDateRange.genericSelector.results[n].crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange.scaledCharge.unitOfMeasure Unit of Measure
ProductOfferingPrice PricingConstraintVariantOracle NA ProductOffering.productOfferingPrice[n].constraint.name genericSelector[n].name Generic Selector Name
ProductOfferingPrice PricingConstraintVariantOracle.ServiceSpecificationRef NA ProductOffering.productOfferingPrice[n].constraint.serviceSpecification.name genericSelector[n].productSpecName Generic Selector Product Specification Name
ProductOffering ProductOffering.ServiceCandidateRef NA ProductOffering.serviceCandidate.name concatenated to the string "EventSession" genericSelector[n]eventSpecName Generic Selector Event Specification Name
ProductOfferingPrice ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].validFor.startDateTime or ProductOffering.validFor.startDateTime genericSelector[n].validityPeriod.validFrom Generic Selector Valid From
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.name genericSelector[n].validityPeriod.rule[n].result.resultName Generic Selector Rule Result Name
ProductOfferingPrice PricingConstraintVariantOracle.SpecCharUseOracle NA ProductOffering.productOfferingPrice[n].constraint.specCharUse[n].name genericSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].fieldName Generic Selector Rule Field Name
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].valueRelationship.value[n] genericSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].fieldValue Generic Selector Rule Field Value
ProductOfferingPrice PricingConstraintVariantOracle.SpecCharUseOracle.ServiceSpecificationRef or PricingConstraintVariantOracle.SpecCharUseOracle.UsageSpecificationRef NA For ServiceSpecificationRef: FieldKindJXB.PRODUCT_SPEC_FIELD.

For UsageSpecificationRef: FieldKindJXB.EVENT_SPEC_FIELD

genericSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].fieldKind Generic Selector Rule Field Kind
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.price.value chargeRatePlan[n].subscriberCurrency.applicableRum.crpRelDateRange.genericSelector.results[n].crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange.scaledCharge.price Price
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.price.unit chargeRatePlan[n].subscriberCurrency.applicableRum.crpRelDateRange.genericSelector.results[n].crpCompositePopModel.usageChargePopModel.priceTier.tierBasis.balanceTierExpression.balanceElementNumCode Balance Element Numeric Code
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.unitOfMeasure.unit chargeRatePlan[n].subscriberCurrency.applicableRum.crpRelDateRange.genericSelector.results[n].crpCompositePopModel.usageChargePopModel.priceTier.priceTierValidityPeriod.priceTierRange.scaledCharge.unitOfMeasure Unit of Measure
ProductOfferingPrice PricingConstraintVariantOracle NA ProductOffering.productOfferingPrice[n].constraint.name chargeRateplanSelector[n].name Charge Selector Name
ProductOfferingPrice PricingConstraintVariantOracle.ServiceSpecificationRef NA ProductOffering.productOfferingPrice[n].constraint.serviceSpecification.name chargeRateplanSelector[n].productSpecName Charge Selector Product Specification Name
ProductOfferingPrice NA NA ProductOfferingPrice.unitOfMeasure chargeRatePlan.eventName Charge Rate Plan Event Name
ProductOffering ProductOfferingPrice NA For one-time events: ProductOffering.productOfferingPrice[n].priceType.EventBillingProductFeePurchase

For recurring events:

  • ProductOffering.productOfferingPrice[n].priceType.EventBillingProductFeeCycleCycle_forward_monthly

  • ProductOffering.productOfferingPrice[n].priceType. EventBillingProductFeeCycleCycle_forward_bimonthly

  • ProductOffering.productOfferingPrice[n].priceType.EventBillingProductFeeCycleCycle_forward_quarterly

  • ProductOffering.productOfferingPrice[n].priceType.EventBillingProductFeeCycleCycle_forward_semiannual

  • ProductOffering.productOfferingPrice[n].priceType.EventBillingProductFeeCycleCycle_forward_yearly

chargeRateplanSelector[n]eventSpecName Charge Selector Event Specification Name
ProductOfferingPrice ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].validFor.startDateTime or ProductOffering.validFor.startDateTime chargeRateplanSelector[n].validityPeriod.validFrom Charge Selector Valid From
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle.ProductOfferingPrice NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.name chargeRateplanSelector[n].validityPeriod.rule[n].result.resultName Charge Selector Rule Result Name
ProductOfferingPrice PricingConstraintVariantOracle.SpecCharUseOracle NA ProductOffering.productOfferingPrice[n].constraint.specCharUse[n].name chargeRateplanSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].fieldName Charge Selector Rule Field Name
ProductOfferingPrice PricingConstraintVariantOracle.ConstraintRuleOracle NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].valueRelationship.value[n] chargeRateplanSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].fieldValue Charge Selector Rule Field Value
ProductOfferingPrice PricingConstraintVariantOracle.SpecCharUseOracle.ServiceSpecificationRef or PricingConstraintVariantOracle.SpecCharUseOracle.UsageeSpecificationRef NA For ServiceSpecificationRef: FieldKindJXB.PRODUCT_SPEC_FIELD

For UsageSpecificationRef: FieldKindJXB.EVENT_SPEC_FIELD

chargeRateplanSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].fieldKind Charge Selector Rule Field Kind
ProductOfferingPrice ValueMapConstraintOracle.ConstraintRuleOracle NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.valueRelationship chargeRateplanSelector[n].validityPeriod.rule[n].valueMapExpression Charge Selector Rule Expression
ProductOfferingPrice ValueMapConstraintOracle.ConstraintRuleOracle NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.valueRelationship.mappedValueName chargeRateplanSelector[n].validityPeriod.rule[n].valueMapExpression[n].valueMapName Charge Selector Rule Mapped Name
ProductOfferingPrice ValueMapConstraintOracle.ConstraintRuleOracle NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.valueRelationship.mappedValue chargeRateplanSelector[n].validityPeriod.rule[n].valueMapExpression[n].mappedValue Charge Selector Rule Mapped Value
ProductOfferingPrice ValueMapConstraintOracle.SpecCharUseOracle NA ProductOffering.productOfferingPrice[n].constraint.specCharUse[n].name chargeRateplanSelector[n].validityPeriod.rule[n].valueMapExpression[n].fieldName Charge Selector Rule Field Name
ProductOfferingPrice ValueMapConstraintOracle.SpecCharUseOracle.ServiceSpecificationRef NA For ServiceSpecificationRef: FieldKindJXB.PRODUCT_SPEC_FIELD chargeRateplanSelector[n].validityPeriod.rule[n].valueMapExpression[n].fieldKind Charge Selector Rule Field Kind
ProductOfferingPrice ValueMapConstraintOracle.ConstraintRuleOracle NA ProductOffering.productOfferingPrice[n].constraint.constraintRule[n].productOfferingPrice.valueRelationship.mappedValueName chargeRatePlanSelector[n].modelData[n].key[ZONE_MAP].value Charge Selector Zone Map Value

PDC Charge Offer Default Values

Table 3-5 lists the default values for PDC charge offer fields when TMF 620 has no corresponding field.

Table 3-5 PDC Charge Offer Default Values

PDC Field Default Value
chargeOffering.applicableQtyTreatment ApplicableQuantityTreatmentJXB.CONTINUOUS
chargeOffering.applicableQuantity ApplicableQuantityJXB.REMAINING
chargeOffering.expiryNotification true
chargeOffering.subscriptionDueNotification true
chargeOffering.chargeEventMap.incrementQuantity BigDecimal.valueOf(1)
chargeOffering.chargeEventMap.incrementQuantityUnit NONE
chargeOffering.chargeEventMap.minQuantity BigDecimal.valueOf(0)
chargeOffering.chargeEventMap.minQuantityUnit NONE
chargeOffering.chargeEventMap.prorateFirst ProrationValueJXB.PRORATE_CHARGE
chargeOffering.chargeEventMap.prorateLast ProrationValueJXB.PRORATE_CHARGE
chargeOffering.chargeEventMap.prorateCycle RateTypeJXB.PRORATIONFLAG
chargeOffering.chargeEventMap.roundingMode RoundingModeJXB.NEAREST
chargeOffering.chargeEventMap.timezoneMode TimeZoneModeJXB.EVENT
chargeOffering.chargeEventMap.validIfCancelled false
chargeOffering.chargeEventMap.validIfInactive false
chargeOffering.chargeEventMap.validIfSuspendedActive false
chargeOffering.pricingProfileName Product Offering
chargeOffering.TimeRange 0/inf
chargeRatePlan.applicableQtyTreatment ApplicableQuantityTreatmentJXB.CONTINUOUS
chargeRatePlan.applicableQuantity ApplicableQuantityJXB.ORIGINAL
chargeRatePlan.billOffset BigInteger.valueOf(0)
chargeRatePlan.cycleFeeFlag BigInteger.valueOf(0)
chargeRatePlan.permittedType PermittedTypeJXB.PRODUCT
chargeRatePlan.pricingProfileName

ONE TIME/ RECURRING - Subscription

USAGE - Convergent Usage

chargeRatePlan.subscriberCurrency.crpRelDateRange...priceTier.distributionMethod

pricingType - TIERED - DistributionMethodJXB.FROM_BAL_IMPACT

pricingType - SIMPLE - DistributionMethodJXB.NONE

chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...discountable ONE TIME/ RECURRING - true
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...impactType ONE TIME/ RECURRING - SCALED
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementRounding USAGE - IncrementRoundingJXB.NONE
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...priceType PriceTypeJXB.CONSUMPTION
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...proratable RECURRING - true
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange.enforceCreditLimit

ONE TIME/ RECURRING - true

USAGE - false

chargeRatePlan.todMode TODModeJXB.START_TIME
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...unitOfMeasure UnitOfMeasureJXB.NONE
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...isDiscountable false
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...priceType PriceTypeJXB.GRANT
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...relativeStartOffset -1
chargeOffering.chargeEventMap.validIfCancelled false
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...proratable

Used when priceType is set to recurring.

true
chargeRatePlan.subscriberCurrency.crpRelDateRange...tierRange...incrementRounding

Used when priceType is set to usage.

IncrementRoundingJXB.NONE
GenericSelector[n].pricingProfileName Convergent Usage
GenericSelector[n].priceListName Default
GenericSelector[n].stereoType AAStereoTypeJXB.GENERIC_SELECTOR
GenericSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].operation OperatorJXB.EQUAL_TO
GenericSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].seperator constant ';'
ChargeRatePlanSelector[n].pricingProfileName Subscription
ChargeRatePlanSelector[n].priceListName Default
ChargeRatePlanSelector[n].stereoType AAStereoTypeJXB.CHARGE_RATE_PLAN_SELECTOR
ChargeRatePlanSelector[n].customerSpecName Account
ChargeRatePlanSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].operation OperatorJXB.EQUAL_TO
ChargeRatePlanSelector[n].validityPeriod.rule[n].fieldToValueExpression[n].seperator constant ';'
ChargeRatePlanSelector[n].modelData[n].key[ZONING_OPTION].value ZONING_USE_ZONE_MAP
ChargeRatePlanSelector[n].modelData[n].key[field_0.valueType].value VALUE_FROM_ZONE_MAP

Mapping Discount Offers from TMF 620 to PDC

Table 3-6 shows how to map discount offer data from TMF 620 fields to PDC fields.

Table 3-6 TMF 620 Discount Offer Mappings for PDC REST Services Manager

TMF Base Object TMF Extended Object Vendor Extended Object TMF 620 Field PDC Field PDC Field Description
ProductOffering NA NA ProductOffering.name alterationOffering.name

Note: To distinguish between an alterationOffering and a chargeOffering in a ProductOffering, the alterationOffering.name consists of the ProductOffering.name with the string "_DISCOUNT" appended.

Alteration Offering Name
ProductOffering NA NA ProductOffering.description alterationOffering.description Alteration Offering Description
ProductOffering NA NA ProductOffering.id alterationOffering.externalId Alteration Offering External ID
ProductOffering NA NA ProductOffering.id alterationOffering.internalId Alteration Offering Internal ID
ProductOffering NA NA ProductOffering.id alterationRatePlan[n].externalId Alteration Rate External ID
ProductOffering NA NA ProductOffering.ServiceCandidate.name alterationOffering.productSpecName Alteration Offering Product Spec Name
Product Offering NA NA ProductOffering.ValidFor.startDataTime/endDateTime alterationOffering.timeRange Alteration Offering Validity
ProductOfferingPrice NA NA ProductOfferingPrice.id alterationRatePlan.internalID Alteration Rate Plan Internal ID
ProductOfferingPrice NA NA ProductOfferingPrice.name alterationRatePlan.name Alteration Rate Plan Name
ProductOfferingPrice NA NA ProductOfferingPrice.PriceType NA Price Type
ProductOfferingPrice NA NA ProductOfferingPrice.ValidFor.startDateTime alterationRatePlan.subscriberCurrency/absoluteDateRange.startDate Start Date
ProductOfferingPrice NA NA ProductOfferingPrice.ValidFor.endDateTime alterationRatePlan.subscriberCurrency/absoluteDateRange.endDate End Date
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlteration[*]/Price/DutyFreeAmount.unit alterationRatePlan.arpDateRange/alterationPopModel/fixedAlteration.balanceElementNumCode Fixed Alteration Balance Element Numeric Code
ProductOfferingPrice NA NA ProcuctOfferingPrice.POPAlteration[*]/Price/DutyFreeAmount.value alterationRatePlan.arpDateRange/alterationPopModel/fixedAlteration.price Fixed Alteration Price
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlteration[*]/Price/DutyFreeAmount.unit alterationRatePlan.arpDateRange/alterationPopModel/percentAlteration.balanceElementNumCode Percent Alteration Balance Element Numeric Code
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlteration[*]/Price/DutyFreeAmount.value alterationRatePlan.arpDateRange/alterationPopModel/percentAlteration.price Percent Alteration Price
ProductOfferingPrice NA NA ProductOffering.ProductOfferingPrice[n].id

ProductOffering.ProductOfferingPrice[n].name

ChargeOffering.getChargeEventMap().get(0).getRolloverRatePlanName() Rollover Name
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.RolloverCount RolloverRatePlan.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getRolloverCount() Rollover Count
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.RolloverMaxUnits RolloverRatePlan.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getRolloverMaxUnits() Rollover Maximum
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.RolloverUnits RolloverRatePlan.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getRolloverUnits() Rollover Units
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlterationOracle[n].RollOverPrice.Units RolloverRatePlan.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getBalanceElementNumCode() Balance Element Numeric Code
ProductOfferingPrice NA NA ProductOfferingPrice.POPAlterationOracle[n].UnitOfMeasure RolloverRatePlan.getDateRange().getRolloverPopModel().getRolloverCharge().get(0).getUnitOfMeasure() Unit of Measure
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].name alterationRatePlan[n].name Alteration Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].name alterationOffering.alterationEventMap.alterationRatePlanName Alteration Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].description alterationRatePlan[n].description Alteration Rate Plan Description
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.ProductOfferingPrice[n].name alterationOffering.AlterationEventMap[n].getAlterationRatePlanName Alteration Offering
ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle ProductOfferingPrice.TimePeriod
  • For non-tiered rates:

    ProductOffering.productOfferingPrice[n].validFor.startDateTime

  • For tiered rates:

    ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

alterationRatePlan[n].arpDateRange.startDate

Note: All tiered ProductOfferingPrice objects contained in the same TierRange must have the same start date. If the dates don't match, the ProductOffering is rejected.

Start Date
ProductOfferingPrice ProductOfferingPriceOracle.TimePeriodOracle ProductOfferingPrice.TimePeriod
  • For non-tiered rates:

    ProductOffering.productOfferingPrice[n].validFor.endDateTime

  • For tiered rates:

    ProductOffering.productOfferingPrice[n].pricingLogicAlgorithmOracle.TierRange.productOfferingPrice[x].validFor

alterationRatePlan[n].arpDateRange.endDate

Note: All tiered ProductOfferingPrice objects contained in the same TierRange must have the same end date. If the dates don't match, the ProductOffering is rejected.

End Date
ProductOfferingPrice ProductOfferingPriceOracle.Money ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.unit alterationRatePlan[n].arpDateRange...balanceElementNumCode Balance Element Num Code
ProductOfferingPrice ProductOfferingPriceOracle.Money ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.unit alterationRatePlan[n].arpDateRange...currencyCode Currency Code
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice.glid ProductOffering.productOfferingPrice[n].glid alterationRatePlan[n].arpDateRange...glid Alteration Rate Plan Name
ProductOfferingPrice ProductOfferingPriceOracle.Money ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.value alterationRatePlan[n].arpDateRange...fixedAlteration.price Price
ProductOfferingPrice ProductOfferingPriceOracle ProductOfferingPrice.Money ProductOffering.productOfferingPrice[n].price.value alterationRatePlan[n].arpDateRange...percentAlteration.price Percentage
ProductSpecification ProductSpecificationOracle.ServiceSpecification NA ProductOffering.ProductSpecification.ServiceSpecification.name alterationOffering.productSpecName Alteration Offering Product Spec Name
ProductSpecification NA NA ProductSpecification.id NA Product Specification ID
ProductSpecification NA NA ServiceSpecification.validFor.startDateTime/endDateTime alterationOffering.ProductSpecification Product Specification Name
ServiceSpecification NA NA ServiceSpecification.id alterationOffering.productSpecName Service Specification ID
ServiceSpecification NA NA ServiceSpecification.name alterationOffering.productSpecName Service Specification Name
ProductOffering ProductOfferingPriceOverageOracle.unitOfMeasure.units ProductOfferingPriceOverage.unitOfMeasure.units ProductOffering.productOfferingPrice[n].unitOfMeasure.units alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange.upperBound.balanceTBExpression.balanceElementNumCode Balance Element Numeric Code
ProductOffering ProductOfferingPriceOverageOracle.unitOfMeasure.units ProductOfferingPriceOverage.unitOfMeasure.units ProductOffering.productOfferingPrice[n].unitOfMeasure.units alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.balanceElementNumCode Balance Element Numeric Code
ProductOffering ProductOfferingPriceOracle ProductOfferingPrice ProductOffering.productOfferingPrice[n].glid alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.glid2 GLID

Note: The GLID value is based on the discount offer's ProductOfferingPrice object associated with the ProductOfferingPriceOverageOracle object.

ProductOffering ProductOfferingPriceOracle ProductOfferingPrice productOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges[n].minQuantity alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange[n].percentAlteration.balanceElementNumCode Balance Element Numeric Code
ProductOffering ProductOfferingPriceOracle ProductOfferingPrice productOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges[n].maxQuantity alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange[n].upperBound.numberTBExpression.value Upper Bound Value
ProductOffering ProductOfferingPriceOracle ProductOfferingPrice productOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges.priceAlteration.price.dutyFreeAmount.value
  • For percentage:

    alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange[n].percentAlteration.price

  • For fixed rates:

    alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange[n].fixedAlteration.price

Alteration Amount
ProductOffering ProductOfferingPriceOracle ProductOfferingPrice productOfferingPrice.pricingLogicAlgorithm.tierRange.productOfferingPriceTierRanges.priceAlteration.price.dutyFreeAmount.unit
  • For percentage:

    alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange[n].percentAlteration.balanceElementNumCode

  • For fixed rates:

    alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.tierRange[n].fixedAlteration.balanceElementNumCode

Balance Element Numeric Code

ProductOffering ProductOfferingPriceOracle ProductOfferingPrice productOfferingPrice.pricingLogicAlgorithm.distributionMethod alterationRatePlan[n].arpCompositePopModel.alterationPopModel.priceTier.distributionMethod Quantity Range Selection
ProductOffering ProductOfferingPriceOracle NA ProductOffering.productOfferingPriceOracle.appliesTo NA NA

Note: The appliesTo field does not map to a specific PDC field, but you can use it instead of the ProductOffering.productOfferingPrice.popRelationship field when a discount is included in a bundle. The appliesTo field specifies that the discount applies to all offers currently in the bundle and all that are added in the future. You can also apply it to current and future bundles by usage type.

Valid values are ALL, ONE_TIME, RECURRING and USAGE.

If you specify this field, the popRelationship array must be empty. You can specify popRelationship in subsequent discount offers to create a dependency between the new discount and the discount with appliesTo.

PDC Discount Offer Default Values

Table 3-7 lists the default values for PDC discount offer fields when TMF 620 has no corresponding field.

Table 3-7 PDC Discount Offer Default Values for PDC REST Services Manager

PDC Field Default Value
alterationOffering.pricingProfileName Product Offering
alterationOffering.TimeRange 0/inf
alterationOffering.OfferType OfferTypeJXB.SUBSCRIPTION
alterationOffering.applicableQuantity ApplicableChargeAndQuantityJXB.REMAINING_CHARGE
alterationOffering.Priority 0
alterationOffering.OwnMin -1
alterationOffering.OwnMax -1
alterationOffering.PurchaseMin -1
alterationOffering.PurchaseMax -1
alterationOffering.alterationEventMap.ValidIfCancelled false
alterationOffering.alterationEventMap.ValidIfInactive false
alterationOffering.alterationEventMap.Snowball false
alterationOffering.alterationEventMap.ValidAtStartNotValidAtEnd AlterationProrationValueJXB.PRORATE_DISCOUNT
alterationOffering.alterationEventMap.NotValidAtStartValidAtEnd AlterationProrationValueJXB.PRORATE_DISCOUNT
alterationOffering.alterationEventMap.NotValidAtStartNotValidAtEnd AlterationProrationValueJXB.PRORATE_DISCOUNT
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.price 1.0
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.unitOfMeasure UnitOfMeasureJXB.NONE
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.alterationAppliesTo AlterationRecipientTypeJXB.USER
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.alterationBasedOn.useTierComponent true
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceType PriceTypeJXB.CONSUMPTION
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.incrementStep 1
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.prorateLastIncrementStep true
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.startValidityMode StartValidityModeJXB.IMMEDIATE
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.endValidityMode EndValidityModeJXB.NEVER
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.validityRange "0/inf"
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.relativeStartOffst -1
alterationRatePlan[n].arpDateRange.alterationConfiguration.arpCompositePopModel.alterationPopModel.priceTier.tierRange.fixedAlteration.priceValidity.relativeEndOffset -1

Mapping Subscription Terms from TMF 620 to PDC

Table 3-8 shows how to map subscription terms data from TMF 620 fields to PDC fields.

Table 3-8 TMF 620 Subscription Terms Mappings for PDC REST Services Manager

TMF Base Object TMF Extended Object Vendor Extended Object TMF 620 Field PDC Field PDC Field Description
ProductOffering CommitmentTermOracle NA productOffering.productOfferingTerm.name subscriptionTerms.name Subscription Term Name
ProductOffering CommitmentTermOracle NA productOffering.productOfferingTerm.duration.amount subscriptionTerms.termLength Term Length
ProductOffering CommitmentTermOracle NA

productOffering.productOfferingTerm.duration.units

subscriptionTerms.termUnit

Only MONTH is supported.

Term Unit
ProductOffering CommitmentTermOracle NA

productOffering.productOfferingTerm.earlyTerminationPenalty

subscriptionTerms.earlyTerminationOption

When earlyTerminationPenalty is:

  • true: This will be set to ALLOWED_WITH_PENALTY .
  • true and penaltyType is none: This will be set to ALLOWED_NO_PENALTY.
  • false: This will be set to NOT_ALLOWED.
Early Termination Option
ProductOffering CommitmentTermOracle NA productOffering.productOfferingTerm.gracePeriodDuration subscriptionTerms.terminationGraceLength Termination Grace Length
ProductOffering CommitmentTermOracle NA productOffering.productOfferingTerm.gracePeriodUnits subscriptionTerms.terminationGraceUnit Termination Grace Unit
ProductOfferingPrice CommitmentTermOracle.ProductOfferingPrice NA productOffering.productOfferingTerm.productOfferingPrice.price.amount subscriptionTerms.penaltyAmount Penalty Amount
ProductOfferingPrice CommitmentTermOracle.ProductOfferingPrice NA productOffering.productOfferingTerm.productOfferingPrice.price.unit subscriptionTerms.penaltyBalanceElementNumCode Penalty Balance Element Num Code
ProductOffering CommitmentTermOracle NA productOffering.productOfferingTerm.penaltyType subscriptionTerms.penaltyOptions

When penaltyType is:

  • flat: This will be set to FULL_CHARGE.
  • Balance of Contract: This will be set to CONTRACT_BALANCE.
  • Equal: This will be set to USED_CONTRACT_UNITS.
Penalty Options

PDC Subscription Terms Default Values

Table 3-9 lists the default values for PDC subscription terms fields when TMF 620 has no corresponding field.

Table 3-9 PDC Subscription Terms Default Values

PDC Field Default Value
subscriptionTerms.autoRenew false

Mapping Bundles from TMF 620 to PDC

Table 3-10 shows how to map bundle data from TMF 620 fields to PDC fields.

Table 3-10 TMF 620 Bundle Mappings for PDC REST Services Manager

TMF Base Object TMF Extended Object TMF 620 Field PDC Field PDC Field Description
ProductOffering NA ProductOffering.name BundledProductOffering.name BundledProductOffering Name
ProductOffering NA ProductOffering.description BundledProductOffering.description BundledProductOffering Description
ProductOffering NA ProductOffering.name BundledProductOfferingItem.alterationOfferingName BundledProductOfferingItem Alteration Offering Name
ProductOffering NA ProductOffering.name BundledProductOfferingItem.chargeOfferingName BundledProductOfferingItem Charge Offering Name
ProductOfferingPrice ProductOfferingPriceOracle.Quantity ProductOffering.productOfferingPrice[n].unitOfMeasure.amount BundledProductOfferingItem.quantity BundledProductOfferingItem Quantity

PDC Bundle Default Values

Table 3-11 lists the default values for PDC bundle fields when TMF 620 has no corresponding field.

Table 3-11 PDC Bundle Default Values

PDC Field Default Value
BundledProductOffering.pricingProfileName Product Offering
BundledProductOffering.TimeRange 0/inf
BundledProductOffering.priceListName Default
BundledProductOffering.obsolete false
BundledProductOffering.billOnPurchase true
BundledProductOffering.customize CustomizeTypeJXB.OPTIONAL
BundledProductOffering.groupBalanceElements true
BundledProductOffering.statusCode 0L
BundledProductOffering.status 1L
Validity.mode ValidityModeJXB.NOW_TO_NEVER
Validity.offset 0L
BundledProductOfferingItem.cycleStart Validity
BundledProductOfferingItem.cycleEnd Validity
BundledProductOfferingItem.purchaseStart Validity
BundledProductOfferingItem.purchaseEnd Validity
BundledProductOfferingItem.usageStart Validity
BundledProductOfferingItem.usageEnd Validity
BundledProductOfferingItem.purchaseChargeAdjustment 0.0
BundledProductOfferingItem.cycleChargeAdjustment 0.0
BundledProductOfferingItem.usageChargeAdjustment 0.0
BundledProductOfferingItem.renewalMode false

Mapping Packages from TMF 620 to PDC

Table 3-12 shows how to map package data from TMF 620 fields to PDC fields.

Table 3-12 TMF 620 Package Mappings for PDC REST Services Manager

TMF Base Object TMF Extended Object TMF 620 Field PDC Field PDC Field Description
ProductOffering NA ProductOffering.name Package.name Package Name
ProductOffering NA ProductOffering.description Package.description Package Description
ProductOffering NA ProductOffering.name Package.productSpecPackageItem.productSpecName.bundledProductOfferingAssociation.bundledProductOfferingName Bundle Name
ProductSpecification ProductSpecificationOracle.ServiceSpecification ProductSpecification.ServiceSpecification.name Package.productSpecPackageItem.name BundledProductOfferingItem Alteration Offering Name
ProductSpecification ProductSpecificationOracle.SerivceSpecification ProductSpecification.ServiceSpecification.name Package.productSpecPackageItem.productSpecName Package Product Spec Name

PDC Package Default Values

Table 3-13 lists the default values for PDC package fields when TMF 620 has no corresponding field.

Table 3-13 PDC Package Default Values

PDC Field Default Value
Package.pricingProfileName subscription
Package.priceListName Default
Package.obselete false
Package.billOnPurchase false
Package.productSpecPackageItem.balanceSpecificationName Account Balance Group
Package.productSpecPackageItem.bundledProductOfferingAssociation.optional false
Package.productSpecPackageItem.bundledProductOfferingAssociation.cancelWithService false
Package.balanceSpecification.name Account Balance Group