21 Managing Charge and Discount Sharing Groups

Learn how to create charge and discount sharing groups in Oracle Communications Billing and Revenue Management (BRM) system to allow a group of people to all share the same charge or discount.

Topics in this document:

About Charge and Discount Sharing Groups

Accounts or services can share charges or discounts by joining groups that consist of an owner account or service and one or more member services:

You can use Billing Care or Customer Center to set up charge and discount sharing groups, or you can customize a third-party client application to set up sharing. For information on customizing charge and discount sharing, see BRM Opcode Guide.

Working with Complex Charge and Discount Sharing Groups

Networks of charge and discount sharing groups can be complex. An owner can have more than one charge or discount sharing group, and a member can belong to more than one charge or discount sharing group, as shown in Figure 21-3.

Figure 21-3 Complex Charge and Discount Sharing Groups

Description of Figure 21-3 follows
Description of "Figure 21-3 Complex Charge and Discount Sharing Groups"

In this example, Mom owns two charge sharing groups: one for GSM services and one for email services. She assumes charges for all her children: 100% of GSM charges for Louise and Dave; 50% of email charges for Paul and Anika; and both GSM and email charges for her youngest son, Tony. Dad owns a discount sharing group; he shares a 10% discount on GSM charges with his son Tony and brother Jessie. The members have the following benefits:

  • When Paul and Anika use email, Mom assumes part of their charges. They have no discounts, shared or owned, so Mom pays 50% of their monthly email charges and they pay the remaining 50%.

  • When Louise and Dave use GSM services, Mom assumes their charges. They have no discounts, so Mom pays 100% of their monthly GSM charges.

  • When Jessie uses GSM services, he receives a 10% discount from Dad. Jessie is not a member of any charge sharing groups, so he pays the remaining 90% of his GSM charges.

  • When Tony uses email, Mom assumes part of his charges. He does not have any email discounts, so Mom pays 50% of his monthly email charges and he pays the remaining 50%.

  • When Tony uses GSM services, he receives a 10% discount from Dad. This discount is applied before the charges are applied. Because Tony is a member of charge sharing group A, Mom pays the remaining 90% of his GSM charges.

In more complicated networks, an owner of a charge or discount sharing group can also be a member of another charge or discount sharing group. For example, Mom owns a charge sharing group that assumes email charges for Paul, Anika, and Tony. Mom, in turn, is a member of Grandma's charge sharing group, which also assumes email charges for its members. In this case, Grandma pays the email charges for Mom. In addition, she inherits the email charges for Paul, Anika, and Tony as a result of Mom's charge sharing group.

Note:

When setting up charge and discount sharing groups, avoid circular relationships. See "About Creating Charge and Discount Sharing Groups".

About Discount Sharing Groups

Discount sharing occurs when an account or service shares its discounts with other accounts' services. The account that shares its discounts is the owner of a discount sharing group. In the owner's account, one of the balance groups serves as the owning balance group. The owning balance group is determined based on whether the discount sharing group owner is the account or a service in the account:

  • If the group owner is the account, the owning balance group is the account's default balance group, and all discounts purchased by the account are shared.

  • If the group owner is a service in the account, the owning balance group is the associated service balance group, and only the discounts for that service are shared.

When a discount sharing group is created, a discount sharing group object (/group/sharing/discounts) is added to the database. This object contains the owner account or service, the list of discounts that are shared by the owner, and the list of members. The members are the services that use the shared discounts.

When the discount sharing group owner is a service, its service type must match the type of service to which the shared discounts apply.

When events are generated by member activity, discounts belonging to the sharing group owner are typically applied first, followed by any discounts belonging to the member account. After discounting, any remaining balance impact is applied to the member account unless the account also participates in charge sharing.

Note:

You can change the order in which discounts are consumed so that discounts belonging to the member are used before shared discounts.

For members to receive discounts from the owner, the member's ordered balance group must include a reference to the discount sharing group. This reference is created when the member joins the group. See "How Charges and Discounts Are Applied".

To create a discount sharing group, see "About Creating Charge and Discount Sharing Groups".

How Account Status Changes Affect Discount Sharing Groups

When the status of a discount sharing group's owner account is changed to inactive or closed, members stop benefiting from the shared discounts as follows:

  • Owner account is deactivated: The status of all the group's shared discounts is changed to inactive. Members resume benefitting from the shared discounts when the owner's account is reactivated.

  • Owner account is closed: All the group's shared discounts are removed from the account and from the discount sharing group.

    Note:

    If keep_cancelled_products_or_discounts is set to 1 in the Connection Manager (CM) pin.conf file, the shared discounts are not removed from the discount sharing group. Instead, their status is set to canceled.

How Group Owner Changes Affect Discount Sharing Groups

If you use a third-party client application, you can use the PCM_OP_SUBSCRIPTION_SHARING_GROUP_SET_PARENT opcode to customize the application to enable a customer service representative (CSR) to change the owner of a discount sharing group. See BRM Opcode Guide.

When the owner of a discount sharing group changes, the discounts shared by the previous owner are deleted from the group, and discounts shared by the new owner are added.

Member-generated events, including delayed events, that occur after a group owner is changed impact the new owner's shared balances.

Members and Discount Sharing Groups

When you set up a discount sharing group, the members of the group must be services (the service balance groups).

If the owner of a shared discount is a service, the discount sharing group member service is typically the same service type as, or a subclass of, the discount owner service. For example, if the discount sharing group owner is /service/telco, the discount sharing group member might be /service/telco/gsm. This parent and subclass relationship is the standard way you set up subscription services to offer a discount based on the total usage of all subscription services in an account group.

If the owner of a shared discount is a service, BRM requires that the owner and member services be of the same type. You can specify different service types for the owner and members by implementing the relevant subscription opcodes in your custom code (see BRM Opcode Guide). However, if the owner and member services are different types, the member service must match one of the shared discount's permitted service types (specified in the PIN_FLD_PERMITTEDS array in the /discount object).

If the owner and a member of the discount sharing group have different service types, to apply the discount to the member service, the member's usage event type must match the event type to which the shared discount applies.

For example, you set up a subscription discount that applies to /service/telco usage. In the Discount Attributes dialog box, you map the discount to the monthly cycle forward event. You then create a discount sharing group in which you share the telco discount that you created. You add an account to the discount sharing group and specify the account's /service/telephony service as the member. In this case, the subscription discount is applied to the member account only when the member account generates a monthly cycle forward event for its telephony service.

When you set up a discount sharing group, you can specify that the member service be a service type or a service instance:

  • Specify a service type as the member: When you specify a service type (for example, GSM) as a member, the events generated by all service instances in that type are considered for discount sharing. Adding members by service type is appropriate in the following cases:

    • You add multiple member accounts to the group to take advantage of discounts for a service type (for example, an aunt who wants to share her GSM discounts with her nieces and nephews). In this case, each niece and nephew has a different service instance, so instead of specifying each service instance individually, you specify the member accounts and the service type. This captures all of the nieces' and nephews' service instances under the umbrella of the GSM service type.

    • You want a member account that has not yet purchased a service of that type to be automatically eligible for participation in discount sharing if the member buys the service in the future. With future sharing, even though a member becomes automatically eligible, you must track the member's purchases and, when the service is purchased, manually intervene to join discount sharing for the new service instance.

  • Specify a service instance as the member: When you specify a service instance (for example, an employee's work phone) as a member, only the events generated by that instance are eligible for discounting. Do this to exclude other services of that type from discount sharing.

    For example, John's account includes work email (smith@CompanyA.com) and home email (john@internetprovider.com). John's employer wants to share a 10% discount for monthly fees incurred only by work email. Because John's account has both home and work services, you designate the service instance for smith@CompanyA.com as the member to prevent discount usage by john@internetprovider.com.

Currency Requirements of Discount Sharing Groups

The discount sharing group's owner account and member accounts must use the same currency. If the accounts use two currencies, they must use the same primary currency.

Billing for Discount Sharing Groups

A discount sharing group's owner account and member accounts can have different accounting and billing cycles. Member-generated events that qualify for discounts always consume the available shared balances.

For example, in Figure 21-4, the owner's accounting and billing cycles begin on the 1st of the month, and the member's accounting and billing cycles begin on the 15th of the month. The owner receives 100 free monthly minutes that are shared.

Figure 21-4 Discount Sharing between Accounts with Different Accounting Cycles

Description of Figure 21-4 follows
Description of "Figure 21-4 Discount Sharing between Accounts with Different Accounting Cycles"

When a member generates an event that lasts 30 minutes on January 20, it consumes the available 20 minutes from the shared balance group. The member's account receives a balance impact for the remaining 10 minutes of the event.

When another member generates an event that lasts 15 minutes on February 20, there are no available minutes in the shared balance group to consume, and the member account receives a balance impact for the entire 15 minutes.

Configuring the Start and End Times for Discount Sharing

By default, discount sharing start and end times are based on the date of the next billing cycle. Therefore:

  • When you create a discount sharing group, add a discount to an existing group, or add a member to the group, discount sharing starts at the beginning of the owner's next billing cycle.

  • When you delete a discount sharing group, delete a discount from a group, or remove a member from the group, discount sharing is effective up to the end of the owner's billing cycle.

For example, if you create a discount sharing group on January 15 but the next billing cycle does not start until February 1, the members of the group do not receive any of the owner's shared discounts until February 1, as shown in Figure 21-5.

Figure 21-5 Effective Date of Discount Sharing Group Created Mid-Cycle

Description of Figure 21-5 follows
Description of "Figure 21-5 Effective Date of Discount Sharing Group Created Mid-Cycle"

Conversely, if you delete a discount sharing group on January 15 but the next billing cycle does not start until February 1, the members of the group receive shared discounts based on the entire month of January, not just the first 15 days.

You can configure BRM to start and end discount sharing as soon as the group is created or deleted, a discount is added or deleted, or a member is added or removed. To do so, you modify an entry in the Connection Manager (CM) pin.conf file.

When you configure discount sharing this way, BRM prorates the shared discounts according to where the start or end date falls within the billing cycle. For example, if you delete a discount sharing group on April 15 and the owner's billing cycle starts on the first day of each month, the members receive 50% of the discount, equivalent to the portion of the month in which discount sharing existed.

To change the discount sharing start time:

  1. Open the Connection Manager (CM) configuration file (BRM_home/sys/cm/pin.conf).

  2. Change the discount sharing startup from the beginning of the next billing cycle to the time when the discount sharing group is created or a member is added by changing the 0 to 1 in the following line:

    -fm_subscription propagate_discount 1
  3. Stop and restart the CM and, if necessary, your client application.

About Charge Sharing Groups

Charge sharing enables a customer to sponsor the charges of other accounts or services in the system. For example, it enables a company to pay for all of its employees' GSM telephony services or a parent to pay for his child's SMS and email services.

You set up charge sharing by creating a charge sharing group, which consists of the following:

  • Charge sharing group owner: The account or service responsible for all or a portion of the charges incurred by the charge sharing group members.

  • Charge sharing group members: The accounts and services that the owner sponsors.

  • Chargeshare offer: The chargeshare offer specifies how and when to apply charges. It is linked to a particular event type. Chargeshare offers determine whether events qualify for charge sharing and apply rules to calculate charge sharing amounts.

When a member incurs charges sponsored by the owner, the charges are applied to the owner's balance group first. Any charges that remain afterward impact the member's balance group.

Information about charge sharing groups is stored in /group/sharing/charges objects in the BRM database.

To create a charge sharing group, see "About Creating Charge and Discount Sharing Groups".

About Charge Sharing Group Owners

The account that sponsors the charges is the owner of a charge sharing group. Within the owner's account, one of the balance groups serves as the owning balance group. The owning balance group is the one that receives the balance impact of any shared charges incurred by the members.

The owning balance group is determined based on whether the charge sharing group owner is the account or a service in the account:

  • If the group owner is the account, the owning balance group is the account's default balance group.

  • If the group owner is a service in the account, the owning balance group is the associated service balance group.

How Owner Account Status Changes Affect Charge Sharing

By default, changing the status of a charge sharing group's owner account changes the status of all its shared charges. When the owner account is deactivated or closed, members stop benefiting from the charge sharing group. The owner no longer assumes any of the charges incurred by the members. Any new events generated by the members are charged to the member's balance groups only.

The way that BRM treats the charge sharing group depends on whether the owner account is deactivated or closed:

  • Owner account is deactivated: All of the group's sponsored charges are suspended, and no new member charges are added to the owning balance group. Member services can begin benefiting from charge sharing again as soon as the owner's account is reactivated.

  • Owner account is closed: All of the group's shared charges are suspended, and no new member charges are added to the owning balance group. The shared charges are removed from the charge sharing group.

    Note:

    If keep_cancelled_products_or_discounts is set to 1 in the Connection Manager (CM) pin.conf file, the shared charges are not removed from the charge sharing group. Instead, their status is set to canceled.

About Changing Charge Sharing Group Owners

If you use a third-party client application, you can use the PCM_OP_SUBSCRIPTION_SHARING_GROUP_SET_PARENT opcode to customize the application to enable a CSR to change the owner of a charge sharing group. See BRM Opcode Guide.

When the owner of a charge sharing group changes, the charges that were sponsored by the previous owner are deleted from the group, and charges sponsored by the new owner are added.

Member-generated events, including delayed events, that occur after a group owner is changed impact the new owner's balances.

About Charge Sharing Group Members

When you set up a charge sharing group, the members of the group must be services (the service balance groups).

If the owner of a charge sharing group is a service, the group member service is typically the same service type as, or a subclass of, the charge sharing owner service. If the owner and a member of the charge sharing group have different service types, to share charges, the member's usage event type must match the event type to which the chargeshare offer applies.

Note:

BRM requires that the owner and member services be of the same type. You can specify different service types for the owner and members by implementing the relevant subscription opcodes in your custom code. See BRM Opcode Guide.

When you set up a charge sharing group and specify the member services, you can:

  • Specify a service type for a group of accounts as members: When you specify multiple account instances and a service type (for example, Account 1, Account 2, and GSM) as members, only the service instances for each account are considered members. Adding members by service type is appropriate when:

    • You are adding multiple member accounts to the group and you want them all to take advantage of charge sharing for a service type (for example, an aunt who wants to pay the GSM charges for all of her nieces and nephews). In this case, each niece and nephew has a different service instance, so instead of specifying each service instance individually, you specify the member accounts and the service type. This captures all of the nieces' and nephews' service instances under the umbrella of the GSM service type.

    • You want a member account that has not yet purchased a service of that type to be automatically eligible for participation in charge sharing if the member buys the service in the future. With future sharing, even though a member becomes automatically eligible, you must track the member's purchases and, when the service is purchased, manually intervene to join charge sharing for the new service instance.

  • Specify a service instance as the member: When you specify a service instance (for example, an employee's work phone) as a member, only the events generated by that instance are eligible for charge sharing. Specify membership by using a specific service instance to exclude other services of that type from charge sharing.

    For example, John's account includes work email (smith@CompanyA.com) and home email (john@internetprovider.com). John's employer wants to pay for monthly fees incurred by work email only. Because John's account has both home and work services, you designate the service instance for smith@CompanyA.com as the member to prevent the employer from paying for usage charges from john@internetprovider.com.

  • Specify all accounts in the system as members: When you specify a type-only account POID as the member, events generated by any account in your system are eligible for charge sharing.

    See "About Global Charge Sharing Groups".

  • Specify all services of a specific type as members: When you specify a type-only service POID as the member, events generated for that service type are eligible for charge sharing.

    See "About Global Charge Sharing Groups".

For member charges to be applied to the owner's account, the member's ordered balance group must include a reference to the charge sharing group. This reference is created when the member joins the group. For more information, see "How Charges and Discounts Are Applied".

Note:

This requirement does not apply to global charge sharing groups. See "About Global Charge Sharing Groups".

Currency Requirements for a Charge Sharing Group

The charge sharing group's owner account and member accounts must use the same currency or primary currency.

Note:

The currency requirement does not apply for global charge sharing groups. See "About Global Charge Sharing Groups".

Billing for a Charge Sharing Group

A charge sharing group's owner and member accounts can have different accounting and billing cycles. Sponsored charges are always applied to the owner account, regardless of when the member-generated events occur.

In the example illustrated in Figure 21-6, the owner's accounting and billing cycles begin on the 1st of the month, and the member's accounting and billing cycles begin on the 15th. Charge sharing starts on January 10 and ends on February 20, so between those dates, the owner sponsors 50% of all charges incurred by a member.

Figure 21-6 Effective Dates of Charge Sharing Groups Created Mid-Cycle

Description of Figure 21-6 follows
Description of "Figure 21-6 Effective Dates of Charge Sharing Groups Created Mid-Cycle"

If the member generates an event on January 20 for 30 minutes at $0.10 per minute (total cost $3.00):

  • The owner's account receives a balance impact of $1.50, and the amount appears on the owner's bill on February 1.

  • The member's account receives a balance impact of $1.50, and the amount appears on the member's bill on February 15.

The member receives the balance impacts for all charges incurred after February 20.

About Global Charge Sharing Groups

You can create a charge sharing group that includes all accounts in your system or all services of a specific type, such as GSM telephony. This type of charge sharing group is called a global charge sharing group. This enables one account to pay for all or a portion of the charges incurred by anyone in your system.

You specify which events the group owner pays for and how to split charges between the owner and members by creating a chargeshare offer.

For example, you can configure BRM to charge a company for all or a portion of any call to a toll free number or any text message sent to a specified number.

Global charge sharing groups differ from charge sharing groups in these ways:

  • Global charge sharing groups are not listed in a member's ordered balance group. Therefore, the order in which charges are applied to global charge sharing groups is set by the system.

  • Members in the global charge sharing group are indicated by a type-only POID.

About the Order in Which Charges Are Applied to Groups

The order in which BRM applies charges to the different types of charge and discount sharing groups is built into the system. BRM automatically applies charges to global charge sharing groups after applying any discounts from discount sharing groups but before applying charges to any charge sharing groups. The order in which BRM applies charges and discounts is shown below:

  1. Discount sharing groups as listed in the member's ordered balance group

  2. Global charge sharing groups having type-only services

  3. Global charge sharing groups having type-only accounts

  4. Charge sharing groups as listed in the member's ordered balance group

    Note:

    Only charge sharing groups and discount sharing groups are listed in a member's ordered balance group. Global charge sharing groups are not included in the list.

About Creating Global Charge Sharing Groups

Global charge sharing groups, like charge sharing groups, consist of an owner, members, and the chargeshare offer that defines when and how to apply charges. However, instead of listing every group member, the global charge sharing group indicates all accounts in the system or all services of a specific type as members by using a type-only POID.

Note:

Charge sharing group members must be either a type-only POID or a list of member POIDs; members cannot include both types.

Any existing account or service in your system is automatically considered a part of the group. Likewise, when you create a new account or service in the system, BRM automatically considers the account or service as part of the global charge sharing group.

To create global charge sharing groups, perform the following:

  1. Make sure the global charge sharing search is enabled.

    See "Enabling Global Charge Sharing Searches during Discounting".

  2. Use Billing Care, Customer Center, or a custom client application to create global charge sharing groups. To create global charge sharing groups by using a custom client application, see "Using Third-Party Applications to Manage Global Charge Sharing Groups".

Enabling Global Charge Sharing Searches during Discounting

By default, the global charge sharing search is disabled.

  • With this feature enabled, BRM searches for global charge sharing objects during the discounting process.

  • With this feature disabled, rating does not search for global charge sharing objects during the discounting process, thereby resulting in better performance.

To enable this feature, run the pin_bus_params utility to change the EnableGlobalChargeSharing business parameter. For information about this utility, see "pin_bus_params" in BRM Developer's Guide.

To enable global charge sharing searches during discounting:

  1. Go to BRM_home/sys/data/config.

  2. Create an XML file from the /config/business_params object:

    pin_bus_params -r BusParamsRating bus_params_rating.xml
  3. In the XML file, change disabled to enabled:

    <EnableGlobalChargeSharing>enabled</EnableGlobalChargeSharing> 
  4. Save the file as bus_params_rating.xml.

  5. Load the XML file into the BRM database:

    pin_bus_params bus_params_rating.xml
  6. Stop and restart the CM.

  7. (Multischema systems only) Run the pin_multidb script with the -R CONFIG parameter. For more information, see "pin_multidb" in BRM System Administrator's Guide.

Using Third-Party Applications to Manage Global Charge Sharing Groups

To set up a third-party client application to create, modify, and delete global charge sharing groups, you must customize the application to accept the following information and to pass it in the input flist to the Subscription Management FM opcodes:

  • Name of the global charge sharing group

  • Owner of the group

  • Members of the group

  • The chargeshare offer associated with the group

To add all accounts in the system as members, you pass a type-only account POID and a NULL service POID in the input flist's PIN_FLD_MEMBERS array. For example:

0 PIN_FLD_MEMBERS            ARRAY [0] allocated 2, used 2
1   PIN_FLD_ACCOUNT_OBJ       POID [0] 0.0.0.1 /account -1 0
1   PIN_FLD_SERVICE_OBJ       POID [0] 0.0.0.0 /service 0 0
  

To add all services of a specific type in the system as members, you pass a type-only account POID and a type-only service POID in the input flist's PIN_FLD_MEMBERS array. For example:

0 PIN_FLD_MEMBERS            ARRAY [0] allocated 2, used 2
1   PIN_FLD_ACCOUNT_OBJ       POID [0] 0.0.0.1 /account -1 0
1   PIN_FLD_SERVICE_OBJ       POID [0] 0.0.0.1 /service/email -1 0

Note:

In both cases, you pass a type-only account POID in the PIN_FLD_ACCOUNT_OBJ field. The field cannot be NULL.

You pass the information from your client application to the following Subscription Management FM opcodes:

  • To create a global charge sharing group, use PCM_OP_SUBSCRIPTION_SHARING_GROUP_CREATE.

  • To modify a global charge sharing group, use PCM_OP_SUBSCRIPTION_SHARING_GROUP_MODIFY.

  • To delete a global charge sharing group, use PCM_OP_SUBSCRIPTION_SHARING_GROUP_DELETE.

    Note:

    For global charge sharing groups, do not call the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP opcode.

For more information about these opcodes, see BRM Opcode Guide.

About Creating, Modifying, and Deleting Charge and Discount Sharing Groups

This section covers the following topics:

About Creating Charge and Discount Sharing Groups

To create a charge or discount sharing group, you specify the following:

  • A group owner account or service

  • Member services

  • (Discount sharing) The group owner's discounts to share with the members

  • (Charge sharing) The charges, or chargeshare offers, that the group owner assumes for the members

Be aware of the following restrictions:

  • By default, all members of a sharing group must reside in the same database schema. To enable sharing groups to include members from multiple schemas, see "Enabling Group Members to Reside in Multiple Schemas".

  • Charges or discounts selected for sharing must be valid. A valid charge or discount is one that has an active or inactive status and has not expired.

  • The owner of a charge or discount sharing group cannot also belong to a member-owned charge or discount sharing group of the same type.

    For example, Anna is the owner of discount sharing group DG1 and wants Sam to be a member. But Sam is the owner of a different discount sharing group, DG2. Anna can have Sam as a member of DG1 only if she is not a member of DG2.

  • The name of a charge or discount sharing group must be unique and cannot be used for another sharing group owned by the group owner.

  • When adding a service as a member, you can add the service as either a service type or a specific service instance.

    If you add a service type as a member, all instances of that service type become members. However, the subtypes of the service type do not become members. For example, if you specify the GSM service type as a member, all instances of GSM become members, but GSM fax, GSM telephony, and so forth do not.

  • All members must have the same primary currency as the owner.

    Note:

    This restriction does not apply to global charge sharing groups.

After you create a charge or discount sharing group, members can join the group. When they join the group, an ordered balance group is created. The ordered balance group determines which sharing groups the member can use and the order in which the groups are used. See "How Charges and Discounts Are Applied".

You create charge and discount sharing groups in Billing Care or Customer Center.

To implement charge and discount sharing through a custom client application, use the PCM_OP_SUBSCRIPTION_SHARING_GROUP_CREATE opcode. Use the PCM_OP_SUBSCRIPTION_POL_GET_SPONSORS opcode to get a list of chargeshare offers. See BRM Opcode Guide.

When creating a discount sharing group, the moment when sharing starts is determined by a pin.conf entry. See "Configuring the Start and End Times for Discount Sharing".

About Modifying Charge and Discount Sharing Groups

You can modify a charge or discount sharing group in the following ways:

  • Delete members from the group.

    When a member is deleted from the group, the member can no longer use discounts from the shared balances or have its charges assumed by the owner. Deleting a member removes the member from the group. It also removes the group from the member's ordered balance group list. See "How Charges and Discounts Are Applied".

  • Delete chargeshare offers or shared discount offers.

    When a chargeshare offer is deleted, the owning balance group no longer receives balance impacts for member-generated events that are part of that chargeshare offer. When a shared discount offer is deleted, members can no longer apply that discount, and any owner balances for that discount cannot be used by the members.

    Deleting a chargeshare offer or a shared discount offer removes it from the group. It also removes the group from the members' ordered balance group lists.

  • Add members to the group.

    When a member is added to the group, that member can begin benefiting from sharing by joining the group. Adding new members updates the group's members list.

    After you add members to the group, they can join the group. When they join the group, an ordered balance group is created and sharing for that member can begin. See "How Charges and Discounts Are Applied".

  • Add shared charges or discounts.

    When charges are added to a charge sharing group, the owner account begins to receive the balance impact of those charges from the member services. When discounts are added to a discount sharing group, members can begin to use the discounts for the events generated by their accounts.

    Adding charges or discounts updates the group's sponsors or discounts list. The charges must be defined as chargeshare offers in the database, and the discounts must be owned by the group owner. The charges and discounts must have an active or inactive status and valid dates.

  • Change the owner of the group.

    When the owner of a discount sharing group changes, members use discounts from the new owner's shared balances rather than from the old owner's balances. When the owner of a charge sharing group changes, the new owner assumes charges generated by the members, and the old owner stops assuming the charges.

    Changing the owner assigns a new group owner, deletes the sponsors or discounts list belonging to the previous owner, and creates a new sponsors or discounts list containing the charges or discounts shared by the new owner.

You modify charge and discount sharing groups in Billing Care or Customer Center.

If you are implementing discount sharing through a third-party client application, you customize the application to invoke BRM opcodes. See BRM Opcode Guide and the following sections:

When members or discounts are added to or deleted from a discount sharing group, the moment when sharing starts and ends is determined by a pin.conf entry. See "Configuring the Start and End Times for Discount Sharing".

About Deleting Charge and Discount Sharing Groups

A charge or discount sharing group is deleted when the group's owner account is closed or when the sharing group is deleted by a CSR. When a discount sharing group is deleted, members can no longer use the discounts that were shared by the owner. When a charge sharing group is deleted, the owner no longer assumes members' charges.

When a charge or discount sharing group is deleted, BRM also deletes the sharing group from each member's ordered balance group, effectively ending the membership. For more information about ordered balance groups, see "How Charges and Discounts Are Applied".

You delete charge and discount sharing groups in Billing Care or Customer Center.

If you are implementing charge or discount sharing through a third-party client application, use the PCM_OP_SUBSCRIPTION_SHARING_GROUP_DELETE opcode. See BRM Opcode Guide.

When a discount sharing group is deleted, the moment when sharing ends is determined by a pin.conf entry. See "Configuring the Start and End Times for Discount Sharing".

Enabling Group Members to Reside in Multiple Schemas

By default, all members of a sharing group must reside in the same database schema. If you want to include a member from a different schema, you must first use pin_amt to migrate the member to the same schema as all other sharing group members.

Alternatively, you can enable sharing groups to include members from other database schemas. To do so, use the pin_bus_params utility to modify the CrossSchemaSharingGroup business parameter in the system instance of the /config/business_params object.

To enable group members to reside in multiple schemas:

  1. Use the following command to create an editable XML file from the system instance of the /config/business_params object:

    pin_bus_params -r BusParamsSystem bus_params_system.xml

    This command creates the XML file named bus_params_system.xml.out in your working directory. If you do not want this file in your working directory, specify the path as part of the file name.

  2. Set CrossSchemaSharingGroup to enabled:

    <CrossSchemaSharingGroup>enabled</CrossSchemaSharingGroup>
  3. Save the file and change its name to bus_params_system.xml.

  4. Use the following command to load this change into the /config/business_params object:

    pin_bus_params bus_params_system.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  5. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  6. Stop and restart the CM.

    For more information, see "Starting and Stopping the BRM System" in BRM Developer's Guide.

How Charges and Discounts Are Applied

An account can purchase discounts, share discounts, and have charges that are sponsored. For events generated by a member service, the shared discounts are used before the sponsored charges are applied to the owning balance group. That way, sponsored charges are applied after usage charges have been discounted. To control the sequence in which shared charges and discounts are applied for member-generated events, BRM maintains an ordered balance group for each member.

About Ordered Balance Groups

Each member of a charge or discount sharing group has an ordered balance group (/ordered_balgrp object). Ordered balance groups are created when members first join sharing groups and are updated each time members join new sharing groups or leave sharing groups.

An ordered balance group contains links to the groups that the member has joined, listed by rank. The ordered list determines the sequence in which the group's balances are impacted by the member-generated events.

Note:

Ordered balance groups do not include any global charge sharing groups to which the member belongs. For more information, see "About Global Charge Sharing Groups".

The following example, as illustrated in Figure 21-7, shows how BRM applies charges and discounts for a member's ordered balance group that references discount sharing group X1 and charge sharing group X2.

Figure 21-7 BRM Application of Discounts and Charges to Ordered Balance Group

Description of Figure 21-7 follows
Description of "Figure 21-7 BRM Application of Discounts and Charges to Ordered Balance Group"

Note:

In this example, the entry indicated by -1 references discounts owned by the member.

As shown in Figure 21-7, when the ordered balance group contains both charge and discount sharing groups, the discount sharing group's balances are used first. This enables discounts to be applied before usage charges are determined for charge sharing. If multiple charge or discount sharing groups are configured, they are applied in the order of their rank.

In addition, BRM always references any charges owned by the member after referencing the ordered balance group. That way, members receive charge sharing benefits before having to use their own charges.

The following example, illustrated in Figure 21-8, shows how a member's ordered balance group is used to impact the balances of the sharing groups. In this example, Account A is the owner of discount sharing group X1. Account B is the owner of charge sharing group X2. Service A is a member of both X1 and X2. Account A shares a discount that grants 20 minutes of telephone calls monthly. Account B sponsors 50% of usage charges. Service A has two discounts, one for 30 minutes monthly and another that discounts 10% of the charges.

Figure 21-8 Ordered Balance Group Impact on Charge and Discount Sharing Groups

Description of Figure 21-8 follows
Description of "Figure 21-8 Ordered Balance Group Impact on Charge and Discount Sharing Groups"

Here, BRM applies shared charges and discounts for events generated by Service A as follows:

  1. Service A generates an event for 100 minutes of telephone calls at $0.10 per minute.

    Before any discounts or sponsored charges are applied, Service A owes $10.00.

  2. Account A's discounts are consumed first.

    After consuming 20 minutes, Service A owes $8.00 for 80 minutes of telephone calls at $0.10 per minute.

  3. Service A's discounts are consumed next.

    After consuming 30 minutes, Service A owes $5.00 for 50 minutes of calls at $0.10 per minute. After the 10% usage discount, Service A owes $4.50 for 50 minutes of calls.

  4. Account B's charges are consumed last.

    After a 50% of usage sponsored by Account B, Account B owes $2.25 and Service A owes $2.25.

How Discounts Are Applied When a Member Belongs to the Group Owner Account

When a member of a discount sharing group belongs to the discount sharing group owner account, the discount at the account level is applied twice for the member.

For example, Account A is the owner of discount sharing group X. Account A owns Service A and Service A is also a member of the discount sharing group X. Account A shares a discount that grants 20 minutes. When Service A generates an event for 100 minutes, the event is discounted as follows:

  • Service A is granted 20 minutes as a member of the discount sharing group X.

  • Because Service A also belongs to the account and any discount purchased at the account level applies to its services, the account discount is applied and Service A is granted an additional 20 minutes.

Creating, Deleting, and Modifying Ordered Balance Groups

Ordered balance groups are created for a member service that participates in charge or discount sharing. A member account can have multiple ordered balance groups depending on how many services are included in sharing groups. For example, if a member account participates in sharing for its IP, email, and GSM services, it has ordered balance groups for each of these services.

Creating Ordered Balance Groups

To create an ordered balance group, you specify the charge and discount sharing groups that provide shared balances for the service or account.

You create ordered balance groups when a member first joins charge or discount sharing groups for a service.

To implement charge or discount sharing through a third-party client application, use the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP opcode. See BRM Opcode Guide.

Deleting Ordered Balance Groups

To delete an ordered balance group, you specify the ordered balance group that you want to remove from the database.

To delete an ordered balance group when implementing charge or discount sharing through a third-party client application, use the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP opcode. See BRM Opcode Guide.

Modifying Ordered Balance Groups

Modifying an ordered balance group consists of adding or deleting charge or discount sharing groups:

  • Adding a sharing group: A link to the charge or discount sharing group is added to the ordered balance group list.

  • Deleting a sharing group: The link to the charge or discount sharing group is removed from the ordered balance group list.

    Note:

    If you add or delete charge or discount sharing groups, you might need to rearrange the ordered balance group list. See "Modifying the Order in Which Charge and Discount Sharing Groups Are Used".

If you are implementing charge or discount sharing through a third-party client application, use the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP opcode. See BRM Opcode Guide.

Modifying the Order in Which Charge and Discount Sharing Groups Are Used

The sequence of the ordered balance group list determines which shared balances are used first. You can change the order of this list to reprioritize sharing for a member.

You modify the order of the ordered balance group list when you join charge and discount sharing groups or when a member decides to use one charge or discount sharing group before another.

If you are implementing charge or discount sharing through a third-party client application, use the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP opcode. See BRM Opcode Guide.

Creating or Modifying Multiple Ordered Balance Groups Simultaneously

To create or modify multiple ordered balance groups simultaneously, you specify the charge and discount sharing group that provides the shared balance group. You also specify a list of member services to share this balance group.

If you are implementing charge or discount sharing through a third-party client application, use the PCM_OP_SUBSCRIPTION_ORDERED_BALGRP_BULK_MODIFY opcode. See BRM Opcode Guide.