Project

General

Profile

Actions

Onboarding Diagram » History » Revision 4

« Previous | Revision 4/6 (diff) | Next »
Ryan Supawarapong, 03/12/2026 04:04 AM


Onboarding Diagram

API Spec Template


@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
  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

Updated by Ryan Supawarapong about 1 month ago · 6 revisions