User Flows & Role Diagrams
End-to-end map of how people move through SOQ TMS — from discovering a course to earning a certificate — plus the main workflow for each role: student, instructor, organization, staff, and admin.
Related detail guides: Find Courses · Cart & Checkout · Learning Page · Quizzes & Certificates · Store & Forums · Blog / Articles · Jobs · Demo Accounts · User Roles · Admin Users
Master journey (all roles)
One pipeline runs the academy. Students travel left-to-right; instructors publish content; staff and admin unlock reviews, payments, and certificates along the way.
Discover → Enroll → Study → Assess → Credential
- 1 Discover Home, courses, search
- 2 Course page Price, syllabus, instructor
- 3 Cart Add course / bundle
- 4 Checkout Pay or free enroll
- 5 Learning Lessons, live, files
- 6 Quiz Attempt & grade
- 7 Certificate Issue & validate
Handoffs: Instructor authors content & quizzes · Staff/Admin review courses & offline payments · Certificate templates live in Admin.
Student workflow
Role in code: user (student). Lands in the panel after login. Main path is buy/enroll, then learn, then assess.
Student — discovery to certificate
- 1 Register / login Public auth
- 2 Browse courses Filter & open detail
- 3 Add to cart Or free / subscribe
- 4 Checkout & pay Gateway / wallet / offline
- 5 My courses Panel enrollment
- 6 Learning page Video, files, live join
- 7 Quiz / assignment Submit attempts
- 8 Certificate Download & share
Also: store purchases, forums, blog reading, job applications, meetings, support tickets, and events (when those features are enabled). See Learning Page, Cart, Checkout & Payments, and the main modules section below.
Instructor workflow
Role in code: teacher. Creates courses, runs live sessions, grades quizzes, and receives sales/payouts after admin approval.
Instructor — teach & earn
- 1 Become instructor Apply / package
- 2 Admin accept Role unlocked
- 3 Create course 8-step wizard
- 4 Quizzes & cert Step 7 content
- 5 Submit review Staff / admin
- 6 Live classes Zoom / Agora / etc.
- 7 Grade & feedback Quiz / assignment
- 8 Sales & payout Panel financial
Create-course steps: Basic → Extra → Pricing → Contents → Prerequisites → FAQ → Quiz & certificate → Message to reviewer. Detail: Create a Course, Live Classes.
Organization workflow
Role in code: organization. Owns a seat package, links instructors and students, and runs org classes under capacity limits.
Organization — seats & members
- 1 Org account Register / invite
- 2 Buy package Seat / instructor limits
- 3 Add instructors Linked under org
- 4 Add students Bulk / invite
- 5 Org courses Create or assign
- 6 Enroll members Within seat caps
- 7 Track progress Panel overview
- 8 Financial Packages & sales
Detail: Organization Panel, Organization Users, Course Bundles.
Staff workflow
Staff accounts are scoped admin roles (for example staff_administrator, staff_manager, staff_marketing).
They sign in at /admin with permission-limited menus — not a separate panel URL.
Staff — day-to-day operations
- 1 Admin login Scoped role
- 2 Review courses Approve / reject
- 3 Users & enroll Manual enrollment
- 4 Sales / offline Confirm payments
- 5 Support Tickets & chat
- 6 Marketing Campaigns / discounts
- 7 Certificates Templates / issues
- 8 Reports Ops dashboards
Demo pack seeds several Staff-* personas. Full logins: Demo Accounts. Access notes: Admin Panel. Step-by-step: Add staff & assign roles. Staff also operate Store, Forums, Blog, and Jobs when those menus are permitted.
Staff-Administrator
Users, courses, ops — typically no full settings / themes.
Staff-Manager
Courses, learners, support, day-to-day academy ops.
Staff-Marketing / Designer / Accountant
Campaigns, themes/pages, or finance — each menu is permission-gated.
How to add staff and assign roles
Staff are admin-panel users with an is_admin role and a trimmed permission matrix.
They sign in at the configured Admin URL (default /admin) — not the student/instructor panel.
Only full Admin (or a staff role that already has Users + Roles permissions) can create other staff.
Path A — use an existing Staff-* role (recommended)
- 1 Admin login Full Admin account
- 2 Users → Roles Confirm Staff-* exists
-
3
Users → New
/users/create - 4 Fill profile Name, email, password
- 5 Pick role e.g. Staff-Manager
- 6 Save & activate Status = active
- 7 Staff list Users → Staff
- 8 Test login Menus match role
Beauty demo already seeds Staff-* roles via php artisan soq:seed-staff-roles
(also part of demo:seed beauty). You usually only create the person and assign an existing role.
Path B — create a custom staff role first
-
1
Roles → New
/roles/create - 2 Caption & name e.g. Staff-Registrar
- 3 Admin access ON is_admin toggle
- 4 Permissions Check only needed sections
- 5 Save role Appears in Roles list
- 6 Users → New Create the person
- 7 Assign new role On create or edit
- 8 Verify menus Denied sections stay hidden
Do not rename the four core roles casually (Admin / Instructor / Organization / Student). Create custom Staff-* roles for departments. Wrong checkboxes can lock people out of Admin sections.
/users/create. Choose the staff role here (or edit later).
/staffs). Filter, edit, or open detail.
Beauty pack Staff-* roles (ready to assign)
| Role | Typical use | Usually cannot |
|---|---|---|
| Staff-Administrator | Users, courses, CRM, financial ops, content | Settings, themes, payment gateway config |
| Staff-Manager | Courses, learners, quizzes, support, jobs/events | Finance, themes, settings |
| Staff-Marketing | Campaigns, discounts, newsletters, ads | Course edit, finance, settings |
| Staff-Designer | Themes, landing, pages, creatives | Users, sales, settings |
| Staff-Accountant | Sales, balances, payouts, store orders | Themes, campaigns, settings |
| Staff-Course Consultant | Course fit, enrolment advice, CRM | Finance, themes, settings |
| Staff-Sales | CRM, sales list, promotions | Payouts, themes, settings |
| Staff-HR | Users/instructors, groups, support, jobs | Course edit, finance, themes |
| Staff-Principal | Academic lead: courses, learners, certs | Finance, themes, settings |
Change role later: Users → Staff (or All users) → edit the person → set Role → save → have them log out/in. Demo logins: Demo Accounts. Detail guides: User Roles, Admin Users Operations, Access Admin Panel.
Admin workflow
Top account (admin). Full /admin console: roles, features, themes, gateways, and platform settings.
There is no separate “superadmin” role in the beauty demo — Admin is the top account.
Admin — configure & govern
- 1 Users & roles RBAC permissions
- 2 Features hub Enable modules
- 3 Review classes Publish catalog
- 4 Finance Sales, payouts, docs
- 5 Certificates Builder & rules
- 6 CMS / pages Content & blogs
- 7 Themes Landing builder
- 8 Settings SMTP, storage, APIs
Start here: Access Admin Panel, Settings Hub, Core vs Features.
Main modules beyond courses
Courses are the core learning pipeline. These four modules sit beside it on the public site and in Admin — each with its own discovery → action → staff/admin loop.
Store
Physical / digital products and marketplace SKUs (Beauty pack: machines + SOQ packs).
Feature — public/products
Forum
Site-wide community topics plus optional per-course Q&A.
Feature — Forums & Course ForumArticles (Blog)
Academy posts, categories, SEO — core publishing surface.
Core — Admin Content → BlogJobs
Job listings, categories, applications — talent / partner opportunities.
Feature — gated by Jobs settingsStore workflow
Visitors browse the public storefront; checkout reuses the same payment gateways as courses. Staff/Admin manage catalog, orders, sellers, and discounts. Instructors/orgs may sell when marketplace is enabled.
Store — browse to fulfill
- 1 Enable Store Features / Settings
- 2 Create products Admin / seller panel
-
3
Publish catalog
Public
/products - 4 Add to cart Same cart as courses
- 5 Checkout & pay Gateways / offline
- 6 Order placed Buyer confirmation
- 7 Fulfill / deliver Digital unlock or ship
- 8 Sales & refunds Admin store ops
Detail: Store & Forums, Store Admin, Panel Store & Marketing.
Forum workflow
Two layers: site-wide Forum & Community (topics/threads) and optional Course Forum (per-course Q&A between students and the instructor). Staff moderate after the module is active.
Forum — discuss & moderate
- 1 Enable Forums Features / Settings
- 2 Create topics Admin / panel
- 3 Public browse Forums list
- 4 Sign in & post Thread / reply
- 5 Course forum Inside learning page
- 6 Instructor reply Q&A on course
- 7 Moderate Staff / admin
- 8 Feature / pin Highlight topics
Detail: Store & Forums, Forums Admin.
Articles / Blog workflow
Blog is the core articles channel (Admin → Content → Blog). Staff or Admin draft posts; the public Blog list and post pages serve marketing, SEO, and academy news.
Articles — publish to public
- 1 New post Admin Blog
- 2 Write & media Body, hero image
- 3 Category & SEO Slug, meta
- 4 Draft review Staff check
- 5 Publish Live status
- 6 Public Blog List + article page
- 7 Share / nav Header, footer, home
- 8 Update / unpublish Edit live posts
Detail: Blog, Public Extended Features, Admin Content Operations.
Jobs workflow
Staff/Admin publish openings (categories, employment type, featured). Candidates browse the public Jobs page, apply (often after sign-in), and staff review applications. Beauty demo seeds sample beauty-industry listings.
Jobs — list to hire
- 1 Enable Jobs Settings + feature
- 2 Categories Types / levels
- 3 Create listing Title, company, desc
- 4 Publish open Public Jobs page
- 5 Candidate browse Filter & open role
- 6 Apply Sign-in if required
- 7 Review apps Admin / staff
- 8 Close role Expired / filled
Detail: Jobs, Public Extended Features.
Cross-role handoffs
| Moment | From | To | What happens |
|---|---|---|---|
| Course publish | Instructor / Org | Staff / Admin | Wizard submit → Review Courses → approve into catalog |
| Paid enrollment | Student | Gateways / Staff | Checkout success (or offline pay confirm) creates entitlement |
| Manual enroll | Staff / Admin | Student | Enrollment feature adds course without public checkout |
| Live class | Instructor | Student | Session starts; learner joins from Learning page |
| Quiz grade | Student attempt | Instructor (manual) or auto | Pass/fail unlocks next content or certificate rule |
| Certificate | System / Staff | Student (+ public) | Issued in panel; validated on public certificate page |
| Payout | Instructor sales | Admin finance | Payout request reviewed and paid |
| Store order | Buyer (student / guest) | Staff / seller | Checkout creates order; fulfill digital unlock or physical delivery |
| Forum post | Student / instructor | Staff moderator | Thread/reply → moderate, pin, or takedown |
| Article publish | Staff / Admin author | Public visitors | Blog draft → publish → public article URL |
| Job application | Candidate | Staff / HR | Public apply → applications inbox → close listing |
For UI redesign notes on these journeys, see Frontend Master — User Journeys. Try the paths with Demo Accounts.