Proposal of Central Pricing/Charging System

The purpose of this document is to understand the limitation of current balance system in CommEngine and its proposed solution to mitigate the problem with a sustainable manner.

Problem:

Currently CommEngine system maintains four different balance as follows:

  1. Messenger Campaign Balance

  2. SMS Campaign Balance

  3. Wallet Balance

  4. Email Balance (in development)

  5. Purchase subscription (buy/extend/upgrade) through payment gateway.

Besides, we are planning to implement on-demand payment on following:

  1. Order Management(Future Enhancement)

  2. Query Management (Future Enhancement)

To maintain different balance system for each category creates following pain point:

  1. Tenant user need to buy individual balance for each category. From user experience, it is complex for them to buy each time for different purpose.

  2. System need to maintain different campaign balance system and apply complex business rules to adjust balance (add/reduce) for each category

Proposed Solution

To mitigate this problem, new central pricing system is proposing as below:

  1. CommEngine will have one single balance manager i.e. Wallet Manager

  2. Wallet manager have certain credit point in monetary value

  3. User will buy/recharge wallet for campaign/subscription

  4. For campaign, balance will be calculated as per credit rule such as

    1. 1 sms = .30 BDT, so .30 credit point will be cut for 1 sms

    2. 1 messenger campaign =.40BDT ,so 0.40 credit/point will be cut for 1 message

5. ‘Campaign balance’ will be calculated and display in campaign manager as per credit rule.

Benefits:

  1. Re-usability

  2. Easy to enhance for future category implementation

  3. one single rule for all categories

  4. Reduce development costs