Project

General

Profile

Purpose of investment » History » Revision 2

Revision 1 (prin methirattanasophon, 02/20/2026 03:43 AM) → Revision 2/3 (prin methirattanasophon, 02/20/2026 05:28 AM)

# Purpose of investment 

 Description: User Interface to captures key compliance inputs with controlled fields. source of funds (radio options) and transaction purpose (multi-select checkbox). 

 Page Route: /onboarding/income 

 Data Source: 
  - API: Fetch data for country_code 
  - localStorage: member_id 
  - https://zvn-web-storage-dev.s3.ap-southeast-1.amazonaws.com/onboarding-web/constants/damas-countries.json 

 Fields Requirement 

 |field|type|value| 
 |:--|:--|:--| 
 |sourceOfFund|radio|"Salary", "Inheritance", "Savings", "Investments", "Pension", "Business Ownership", "Real Estate Sales", "Real Estate Rental", "Allowance From Parents"| 
 |countrySourceOfIncome|disable field|country_full_name matched with country_code of user workplace| 
 |purposeOfTransaction|checkbox|"shortTerm", "longTerm", "speculation", "saving"| 


  



 Workflow: 
 <img style="width: 311px;" src="clipboard-202602201039-4s5kd.png"><br> 

 --- 

 System Integration 

 1.1 Initialization 

 Objective: To get the latest user workplace country 

 API: 
  - Method: GET 
  - Endpoint: /pre-income 
  - Data: Query param 
 ``` 
 ...?id=${memberId} 
 ``` 

 1.2 Submission 

 Objective: To save source of funds and transaction purpose 

 API: 
  - Method: POST 
  - Endpoint: /income 

 Request Body: 

 |key|type|value| 
 |:--|:--|:--| 
 |member_id|string|member id| 
 |source_of_funds|Array[string]|| 
 |country_source_of_income|string|country_code| 
 |purpose_of_investment|Array[string]|| 
 |country_source_of_income_version|string|version of damas-countries| 
 |step|int|page index|