Onboarding Diagram » History » Revision 5
Revision 4 (Ryan Supawarapong, 03/12/2026 04:04 AM) → Revision 5/6 (Ryan Supawarapong, 03/12/2026 07:57 AM)
# Onboarding Diagram ## API Spec Template <img style="width: 1153px;" src="clipboard-202603121457-pngjb.png"><br> src="clipboard-202603121103-zz3jz.png"><br> ```plantuml @startuml Onboarding title Onboarding actor "customer" as c participant "app" as a participant "backend" as be database "database" as db participant "notification" as n participant "appman" as am participant "thaid" as th c -> a: input mobile and email a -> be: check existing email and mobile be -> db: check database for existing data alt found data db --> be: found data be --> a: found data else db --> be: not found be --> a: not found a -> be: confirm email & mobile be -> db: save email & mobile info db --> be: ok be -> n: send email & mobile otp n be --> c: send otp to customer email & mobile c -> a: input otp a -> be: forward otp be -> db: check otp db --> be: ok be -> a: ok end a --> c: redirect user to login a -> be: check customer onboarding status be -> db: check status alt done db --> be: done be --> a: done a --> c: done else a -> c: redirect to onboarding end c -> a: select citizenship type c -> a: PDPA agreement c -> a: input fullname a -> be: send fullname be -> db: save data db --> be: ok be --> a: ok group appman a -> be: init appman be -> am: generate appman link be -> db: save response be --> a: return appman link a -> c: redirect to appman c -> am: do appman am --> a: redirect back a -> be: send id that is done be -> am: get detail am --> be: return detail be -> db: save detail db --> be: ok be -> be: check face comparsion be -> be: check mule? be -> be: check freeze, hr, led, dopa, pep be --> a: ok end a -> c: redirect to address page c -> a: fill current and register address a -> be: send data be -> db: save data db --> be: ok be --> a: ok a -> c: redirect to occupation page c -> a: fill occupation a -> be: send data be -> db: save data db --> be: ok be --> a: ok a -> c: redirect to workplace address page c -> a: fill workplace address a -> be: send data be -> db: save data db --> be: ok be --> a: ok a -> c: redirect to bank page c -> a: fill bank a -> be: send data be -> db: save data db --> be: ok be --> a: ok a -> c: redirect to income page c -> a: fill source of income and country of income a -> be: send data be -> db: save data db --> be: ok be --> a: ok a -> c: redirect to suitability test page c -> a: fill suitability a -> a: check if more than 30 points alt more than 30 points a -> c: acknowledge agreement end a -> be: send data be -> db: save data db --> be: ok be --> a: ok a -> c: redirect to verify identity page c -> a: choose ndid or Thaid group Thaid a -> be: ask for thaid link/qr be -> be: generate thaid link/qr be -> db: save thaid link/qr db --> be: ok be --> a: return link/qr c -> th: do thaid th --> be: send data be -> db: save data db --> be: ok end group Ndid c -> a: choose bank a -> be: ask for ndid link/qr be -> be: generate ndid link/qr be -> db: save ndid link/qr db --> be: ok be --> a: return link/qr c -> th: do thaid th --> be: send data be -> db: save data db --> be: ok end @enduml ```