# [OBSOLUTE] ~~Consumer Loans Technical Analysis~~
Aiming to be the basis for all loan product workflows, this analysis is technically prepared to reveal business processes, user interfaces, integration points and data design.
## Definitions
State Machine:
State:
Transition:
Atomic, FlowChart Workflow:
Form:
Page:
## Naming Convention
### Variables
| Variable | Description | Name Convention | Sample |
| ------------- | ------------------------------ | ----------------------------------------------- | ------------------------------------------- |
| workflow | Uniques Workflow name | | bbk-retail-loan-consumer |
| state | State in workflow | [workflow]-[state] | bbk-retail-loan-consumer-start |
| transiton | Transition(s) of state | [workflow]-[state]-[transition] | bbk-retail-loan-consumer-start-init |
| form | Input forms of transition | form-[workflow]-[state]-[transition]-[language] | form-bbk-retail-loan-consumer-start-init-en |
| zeebe-flow | Zeebe process name | wf-[workflow]-[state]-[transition] | wf-bbk-retail-loan-consumer-start-init |
| zeebe-message | Zeebe initalizing message name | msg-[workflow]-[state]-[transition] | msg-bbk-retail-loan-consumer-start-init |
## State Machine
CRO : Client Relationship Officer
BM : Branch Manager
CVU : Central Verification Unit
RC : Retail Credit
AGMA : Retail Credit AGM
SGMA : Retail Credit SGM
LS : Loan Supervisor
CQIT : Central Quality Improvement Team
```plantuml
Start --> Draft : Apply
Draft --> Draft: Add Financial Guarantor
Draft --> Draft : Add Non-Financial Guarantor
Draft --> Draft : Delete Guarantor
Draft --> Draft : Cancel Application
Draft --> CRO : Process CI-NET
CRO --> CRO : Additional Information
CRO --> CRO : Cancel Application
CRO --> BM : Send for Approval
BM --> CRO : Reject
BM --> CVU : Approve
CVU --> CRO : Reject
CVU --> RC : Approve
RC --> CVU : Reject
RC --> AGMA: Send AGM Approval
RC --> SGMA: Send SGM Approval
AGMA --> LS : Approve
SGMA --> LS : Approve
RC --> LS : Approve
LS --> CQIT : Loan Disbursed
CQIT --> Finish : Completed
@enduml
```
:::warning
CI-Net Data schema, sample data and file is required for further analysis.
:::
## States and Transitions
### Start
This is the state where the workflow starts
#### Transitions
##### Init
With this transition, it initiates a loan application for a specific customer.
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643cde29f39bc236ba08b20d
> 
### CRO
The officer may add a guarantor at this stage until he completes the application. Then the officer submits it to the branch manager's approval.
The officer can add multiple guarantors.
The **CINet Consent Form** is rendered at this stage and signed by the customer. The scanned version of the signed form is uploaded at this state.
:::info
The Document Validation Subsystem is used for document creation, upload, and control. This subsystem integrates with the application process and displays it fluently.
:::
#### Transitions
##### Add Financial Guarantor
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643cf88df39bc2e4bb0c0a5c
> 
##### Add Non-Financial Guarantor
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643cfcc3067675745d60e4e0
> 
##### Delete Guarantor
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643d04535b89ca60821a7e7b
> 
##### Cancel Application
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643d11f6556c69c18eb421ff
> 
##### Additional Information
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643d1ba1067675762563d7a1
> 
##### Send for Approval
**[Form Id](https://formio.github.io/formio.js/app/sandbox.html) :** 643cfe374f97da95c7fd85f2
> 
Transition Zeebe Flow
