Scope

  • Provides a central repository of subscription package definitions with pricing of individual items covering all product domains (deposits, loans, cards, transactions, etc.).

  • Subscription definition is structured as follows

    • Subscription structure = included products & services in different tiers/tariffs

    • Examples of included products & services: number of free payments, number of free ATM withdrawals, number of free physical cards, availability of BNPL, availability of personal loan, etc

    • Subscription fee per tier/tariff

    • Limits for individual items included in a tier/tariff + price beyond/above that (e.g. 10 bill payments included for free + 20 PHP per bill payment above 10, etc)

    • Bonus operations may be awarded (e.g. from engagement or BO)

  • Maintains current & future subscriptions purchased by the customer

    • Responsible for charging the subscription fees periodically

    • Supervisor smart contract acting as a “Dept Manager” is responsible for the actual fee charging and dealing with situations where there is not enough balance, etc.

    • Subscription fees are due at the start of subscription period

    • Maintains current progress of spent products & services included in the purchased subscription

    • Maintains current progress of spent products & services included in redeemed engagement benefits

    • The subscription fee can be waived by the customer a limited number of times

    • A free subscription fee can be awarded to the customer (e.g. from engagement or BO)

  • Subscriptions can be frozen

    • Customer with a frozen subscription doesn’t have to pay the monthly subscription fee

    • Several conditions need to be fulfilled so customers can freeze their subscription ( e.g. no founds, no loans, no pending transactions)

Overview

Loans domain specifics

There is a concept of customer’s credit-score with essential impact on the pricing and availability of loan products to individual customers. The basic idea is the ability to define and execute business rules to calculate interest rate, min-max loan amount and min-max loan term for a particular customer based on the customer’s current credit-score, purchased subscription and redeemed engagement benefits.

The customer’s credit-score is calculated and managed by the Risk domain. Integration with the Risk domain’s services is in scope of Loan Manager service capabilities.

Product Manager takes the credit-score as one of the input parameter’s provided by Loan Manager to evaluate the availability and pricing of loan products.

Component

Description

Mobile App

Customer facing mobile banking app.

Backoffice Web App

Backoffice web application used by bank’s employees.

Product manager

Main micro-service in the Products domain. Entry point for all communication to the domain. Responsible for orchestrating the processes within the domain.

E.g. The customer buys a benefit → Product manager deducts the price from customer’s points and applies the benefit

Subscription Access

Access layer to storage of the currently active subscription for each customer

Subscriptions

Data store dedicated to the persistence of subscription data.

Scheduler

Central scheduler will be responsible for triggering of planned or recurring activities realized by Product Manager.

TM Vault Access

Client library responsible for technical aspects of communication with TM Vault. Integration with TM Vault required in order to charge subscription fees.

TM Vault

Core banking system.

Audit Log Events

Product Manager publishes audit relevant events to be stored by Audit Log.

Product Events

Events representing significant activities realized by the Product domain are published to the corresponding topics.

Attachments:

~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
~drawio~557058:27349720-65fa-4129-b290-8abf5953e7fb~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
~product-manager.tmp (application/vnd.jgraph.mxfile)
product-manager (application/vnd.jgraph.mxfile)
product-manager.png (image/png)