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:
Messenger Campaign Balance
SMS Campaign Balance
Wallet Balance
Email Balance (in development)
Purchase subscription (buy/extend/upgrade) through payment gateway.
Besides, we are planning to implement on-demand payment on following:
Order Management(Future Enhancement)
Query Management (Future Enhancement)
To maintain different balance system for each category creates following pain point:
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.
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:
CommEngine will have one single balance manager i.e. Wallet Manager
Wallet manager have certain credit point in monetary value
User will buy/recharge wallet for campaign/subscription
For campaign, balance will be calculated as per credit rule such as
1 sms = .30 BDT, so .30 credit point will be cut for 1 sms
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:
Re-usability
Easy to enhance for future category implementation
one single rule for all categories
Reduce development costs