# Ticketing Flow ## Create User Ticketing ```plantuml actor user as u participant "everpro-ticket" as et database "everpro_ticket" as db1 participant "popaket-auth" as ea database "everpro_auth" as db2 u -> et : create user ticketing activate et et -> db1 : save to `user_3pl` table et -> ea : hit endpoint `/v1/register-email` to register a new user activate ea ea -> db2 : save to `users` table ea -> et : return created deactivate ea et -> u : return success deactivate et ``` ## Validate OTP Forgot Password User Ticketing ```plantuml actor user as u participant "everpro-ticket" as et database "everpro_ticket" as db1 participant "everpro-auth" as ea database "popaket_auth" as db2 participant "everpro-user" as eu u -> et : submit OTP from email activate et et -> db1 : validate user 3pl is exist db1 --> et et -> ea : hit endpoint `/v1/verify-email-otp` to verifying OTP activate ea ea -> ea : generating new access token group we dont need this process for `user_category_id` == 300 ea -> eu : hit endpoint `/private/v1/<user_id> to get user detail eu -> ea : return user detail end group ea -> db2 : reset email token ea -> et : return success deactivate ea et -> u : return success deactivate et ```