Epic: SM-1003 - OFFB: Offboarding by BO Agent In Progress
User story: SM-3566 - Offboard customer by BO Agent Done
User story: As a BO agent, I want to offboard a customer.
Role: BO agent
Objective:
1. BO agent wants to offboard a Customer based on the bank policy breach.
2. BO agent wants to offboard a Customer based on the Customer’s request
Reason: To fully offboard customers either based on their own request or based on the bank policy breach.
Functional requirements:
Phase 0: The initial Customer and Account state before starting offboarding will be:
1. IF Customer initiated the offboarding THEN The initial state must be “Frozen Account”
2. IF Forced offboarding THEN The initial state must be “Blocked Customer” and “Blocked Account”.
The forced offboarding is initiated by Back office due to the bank policy breach reasons.
Phase 1: BO agent in BOFE can initiate the check procedure for offboarding which includes:
1.1. Balance on the Main account must be 0
1.2. Balance on all Saving pockets must be 0
1.3. There must be no active unpaid Loan
1.4. There must be no other liabilities towards the Bank
1.5. There must be no outgoing or planned Transactions
1.6. There must be no Standing order
1.7. Mandatory Subscription Freeze must be TRUE
In case some of these conditions are not met, BO agent needs to notify the customer to carry out further measures or BO agent will carry out those measures internally.
The offboarding process is NOT allowed to step into Phase 2, if conditions from Phase 1 are not fully met.
Phase 2: BO agent in BOFE can initiate the pending offboarding procedure which will be orchestrated by Customer Manager in the following steps:
2.1. Customer status is set to “PendingOffboarding“
2.2. Product-manager is called via pending offboarding endpoint to orchestrate its part
2.3. Account-manager is called via pending offboarding endpoint to orchestrate its part
3.4. Transaction-manager is called via pending offboarding endpoint to orchestrate its part
2.5. Loan-manager is called via pending offboarding endpoint to orchestrate its part
2.6. Card-manager is called via pending offboarding endpoint to orchestrate its part
PendingOffboarding Status Targets:
The process of offboarding is ongoing
Customer can log in app with Customer profile read-only access
Outbound payment are blocked
Card payments and withdrawals are blocked
Inbound payments are blocked
Loans are blocked
Saving pockets are not active
New pockets are blocked
Customer can’t ask for any new bank product
Phase 3: This phase of definite offboarding will be automatically initiated when Phase 2 will meet its Targets. Customer Manager will orchestrate the following steps:
3.1. Customer status is set to “Offboarded“
3.2. Product-manager is called via definite offboarding endpoint to orchestrate its part
3.3. Account-manager is called via definite offboarding endpoint to orchestrate its part
3.4. Transaction-manager is called via definite offboarding endpoint to orchestrate its part
3.5. Loan-manager is called via definite offboarding endpoint to orchestrate its part
3.6. Card-manager is called via definite offboarding endpoint to orchestrate its part
3.7. IAM-manager is called via definite offboarding endpoint to orchestrate its part
3.8. TM account is set to frozen from Customer manager
Offboarded (Closed) Status Targets:
Customer is not able to log into account
The Customer’s profile in TM is terminated.
The Customer’s profile in IAM is terminated.
All customer’s accounts in Account manager are terminated.
All customer’s virtual card in Card manager are terminated.
All other customer’s products are terminated
Offboarding Rollback:
- Rollback is NOT allowed from the status “Pending Offboarding"
- Rollback is NOT allowed from the status Offboarded.
UI requirements: N/A
Process flow: Customer lifecycle
Execution steps:
https://safibank.atlassian.net/wiki/spaces/ITArch/pages/185270477/Customer+Processes#Offboard-Customer
Internal dependencies:
1. Product-manager
2. Account-manager
3. Transaction-manager
4. Loan-manager
5. Card-manager
6. TM
7. IAM-manager
External dependencies: N/A
Alternative scenarios: N/A
Acceptance criteria:
See Functional requirements
Links to wireframes/UI: N/A