Application Process Flowchart
graph TD
%% Preamble
A[Start Application Process] --> B{Preamble Page:
Intro & Requirements};
%% Step 1: Account Login / Setup
B --> C{New or Returning User?};
C -- New User --> D[Step 1: Account Setup
#40;Email, Password#41;];
C -- Returning User --> E[User Logs In
#40;Existing Email, Password#41;];
D --> F{Email Verified?};
F -- Yes --> G(User Account Created/Activated);
F -- No --> D_err[Display Email Verification Error];
D_err --> D;
G --> H{Application In Progress?};
H -- Yes, Resume --> I[Dashboard: Continue Application];
H -- No, First Time --> J[Start New Application];
I --> K[Redirect to Last Incomplete Step];
J --> K;
%% Steps 2-6: Progressive Application Form
K --> L[Step 2: Personal Details];
L --> M[Step 3: ID Verification];
M --> N[Step 4: Qualification History];
N --> O[Step 5: CPD & Experience
#40;Longest Section#41;];
O --> P[Step 6: Declarations];
%% Save & Resume Logic (Applies to Steps 2-6)
subgraph Save & Resume Loop
direction LR
L_save(Save Progress)
M_save(Save Progress)
N_save(Save Progress)
O_save(Save Progress)
P_save(Save Progress)
L --- L_save;
M --- M_save;
N --- N_save;
O --- O_save;
P --- P_save;
L_save & M_save & N_save & O_save & P_save --> Q[Application Saved to User Account];
Q --> R{User Logs Out or Session Ends};
R --> S(Dashboard on Next Login);
S --> K;
end
%% Step 7: Review & Payment
P --> T[Step 7: Review & Payment];
T --> U{Member Discount Code Entered?};
U -- Yes --> V{Code Valid? #40;Non-API Check#41;};
V -- Yes --> W[Apply Discount];
V -- No --> X[Display Invalid Code Error];
X --> T;
U -- No --> Y[No Discount Applied];
W --> Z[Display Final Fee];
Y --> Z;
Z --> AA[User Enters Payment Details];
AA --> BB[Process Payment];
BB --> CC{Payment Successful?};
CC -- Yes --> DD[Application Submitted for Review];
CC -- No --> EE[Display Payment Error];
EE --> T;
%% Post-Submission Workflow
DD --> FF[Queue for Manual Review
#40;CPD, Resume, Documents#41;];
FF -- YES --> GG[Notify Admin to Contact Assesseor];
FF -- No --> F_err[Notify Applicant to Provide More Detail]
F_err --> FF;
%% Interview and Assessment
GG --> HH[Review Application & Interview Applicant]
HH -- Pass Interview --> II[Notify Admin]
HH -- Require Moer Info --> H_err[Notify Applicant to Provide more detail];
H_err --> HH
II --> KK[Generate Final PDF & Notify User]
KK -->LL[End Application Process];