Maxim Sokhatsky
Live
------------------------------------------------------------------------------- kred@kred-psize: 493.4G(530.6G), cpu%: 362(366), procs: 1.6k, runq: 0, 16:17:03 memory: proc 18.4G, atom 5.0M, bin 496.1M, code 57.0M, ets 474.4G 
pid            name
<0.28894.66>   yaws_server:acceptor0/2
<0.25.0>       file_server_2
<0.17983.74>   yaws_server:acceptor0/2      gen:do_call/4
<0.9604.73>    yaws_server:acceptor0/2      prim_inet:recv0/3      0   7.6M   1
<0.23590.74>   yaws_server:acceptor0/2      prim_inet:recv0/3      0   1.8M   1
<0.26.0>       code_server                  code_server:loop/      0 426.0k   1
-------------------------------------------------------------------------------
------------------------------------------------------------------------------- kred@kred-psize: 493.4G(530.6G), cpu%: 362(366), procs: 1.6k, runq: 0, 16:17:03 memory: proc 18.4G, atom 5.0M, bin 496.1M, code 57.0M, ets 474.4G 
pid            name
<0.28894.66>   yaws_server:acceptor0/2
<0.25.0>       file_server_2
<0.17983.74>   yaws_server:acceptor0/2      gen:do_call/4
<0.9604.73>    yaws_server:acceptor0/2      prim_inet:recv0/3      0   7.6M   1
<0.23590.74>   yaws_server:acceptor0/2      prim_inet:recv0/3      0   1.8M   1
<0.26.0>       code_server                  code_server:loop/      0 426.0k   1
-------------------------------------------------------------------------------
    #process { name = 'Create Deposit Account',
        flows = [
            #sequenceFlow{source='Start',          target='AcquirePhone'},
            #sequenceFlow{source='AcquirePhone',   target='SendOTP'},
            #sequenceFlow{source='SendOTP',        target='AcquireOTP'},
            #sequenceFlow{source='AcquireOTP',     target='CheckOTP'},
            #sequenceFlow{source='CheckOTP',       target='AcquireApp'},
            #sequenceFlow{source='AcquireApp',     target='PrepareAccount'},
            #sequenceFlow{source='PrepareAccount', target='WaitPayment'},
            #sequenceFlow{source='Payment',        target='CreateAccount'},
            #sequenceFlow{source='CreateAccount',  target='Finish'}
        ],
        tasks = [
            #beginEvent  { name='Start' },
            #userTask    { name='AcquirePhone',    module = deposit },
            #serviceTask { name='SendOTP',         module = deposit },
            #userTask    { name='AcquireOTP',      module = deposit },
            #serviceTask { name='CheckOTP',        module = deposit },
            #userTask    { name='WrongOTP',        module = deposit },
            #userTask    { name='AcquireApp',      module = deposit },
            #serviceTask { name='PrepareAccount',  module = deposit },
            #receiveTask { name='WaitPayment',     module = deposit },
            #serviceTask { name='CreateAccount',   module = deposit },
            #endEvent    { name='Finish' }
        ],
        docs = [],
        beginEvent = 'Start',
        endEvent = 'Finish',
        events = [
            #messageEvent { name='Payment' }
        ]
    }.By Maxim Sokhatsky
WhatsApp, Klarna, Basho, AdRoll, Crytek, PrivatBank