Onboarding Foreign » History » Revision 8
Revision 7 (prin methirattanasophon, 03/02/2026 07:20 AM) → Revision 8/11 (prin methirattanasophon, 03/04/2026 01:58 AM)
# Onboarding Foreign [[CRS_Question]] Changes: |page|details| |--|--| |1|remove thai title, name, lastname, laser code, id card number| |1|add passport| |2|new page (CRS)| page| |5|new page (upload verification document)| page| |6|change |6|chnage email link from thaid to success page| |7|new page (confirm email success): "/authentication/signup/foreign/emailconfirmsucess"| Workflow Diagram <img style="width: 291px;" src="clipboard-202602271329-bsehb.png"><br> ``` @startuml onboarding foreign start :fullname; note right: page 1 :appman; note right: acecoin :eligibleCheck; note right: page 2 new :crsQuestion; note right: page 2 new :currentAddress; note right: page 3 Basic info :occupation; note right: page 3 Basic info :sourceOfIncome; note right: page 3 Basic info :workAddress; note right: page 3 Basic info :bank; note right: page 3 Basic info :suitabilityTest; note right: page 4 :selectDocument; note right: page 5 new :uploadDocument; note right: page 5 new :email mobile verify; note right: page 6 end @enduml ``` ## Sequence Diagram <img style="width: 797px;" src="clipboard-202603020844-povww.png"><br> ``` @startuml title Onboarding Foreigner actor "customer" as c participant "frontend" as fe participant "backend" as be database "database" as db participant "notification" as n participant "appman" as ap c -> fe: choose Foreign Investor fe --> c: ok group Fullname Page c -> fe: fill fullname, email, mobile and passport detail fe -> be: send fullname, email, mobile and passport detail be -> db: check for existing email, mobile and passport db --> be: not found be -> db: create user entry in information db --> be: ok be --> fe: ok & redirect to appman page (init by BE) fe --> c: show next page (Appman) group Back to Register db --> be: found be --> fe: found existing user fe --> c: this account already exist. "Enter passport no" c -> fe: enter passport no fe --> be: check passport no for existing user end end group Appman Page c -> ap: do passport ap --> fe: redirect to next page(CRS) end group CRS page fe -> be: send appman state code be -> ap: request customer data ap --> be: send customer data be --> fe: ok c -> fe: do eligibility fe --> c: ok c -> fe: TIN detail for CRS fe -> be: send Tin detail be -> db: save TIN db --> be: ok be --> fe: ok fe --> c: redirect to next page(basic info) end group Basic Info page c -> fe: input data fe -> be: same info (Same as regular onboarding) be -> db: save info db --> be: ok be --> fe: ok fe --> c: redirect to next page(Suite test) end group Suite test c -> fe: do suite test fe -> be: send suite test result be -> db: save suite test result db --> be: ok db --> fe: ok fe --> c: redirect to next page(verification document) end group Verification Document c -> fe: choose type & upload document fe -> be: document & document type be -> db: save document & document type db --> be: ok be --> fe: ok fe --> c: redirect to next page(verify email and mobile) end group Veirfy Email and Mobile c -> fe: verify mobile fe -> be: request sms otp be -> n: send sms otp n --> be: ok be --> fe: ok n -> c: sms otp c -> fe: input otp fe -> be: otp code be -> db: check otp code db --> be: ok be --> fe: ok fe --> c: ok c -> fe: verify email fe -> be: request verification link be -> n: send email with link n --> be: ok be --> fe: ok n -> c: email with link c -> fe: click link fe -> be: jwt token be -> be: check jwt token be -> db: update status db --> be: ok be --> fe: ok fe --> c: ok end @enduml ```