Journey Overview
Preconditions
- Course exists and is published
- Member meets any prerequisites
- For paid courses: Member can make payment
- For member-only courses: User has active membership
Journey Flow
Detailed Steps
1
Browse Courses
Member discovers courses:Discovery Methods:
- Learning menu → Course catalog
- Dashboard recommendations
- Email promotions
- Event follow-up (related courses)
- Search results
- Course title and thumbnail
- Duration and module count
- Difficulty level
- CPD points available
- Price or “Included” badge
- Rating/reviews (if enabled)
2
View Course Details
Course detail page includes:
3
Check Eligibility
System validates enrollment eligibility:Checks:
- Already enrolled? → Show “Continue Course”
- Prerequisites completed? → Show requirements
- Membership required? → Prompt to upgrade
- Course available? → Check dates, capacity
4
Enroll (Free/Included)
For free courses or courses included in membership:
- Click “Enroll Now” or “Start Learning”
- Confirm enrollment (optional step)
- Enrollment record created
- Redirected to first lesson
- No payment required
- Immediate course access
- Progress tracking begins
5
Purchase (Paid Courses)
For paid courses not included in membership:Purchase Flow:
- Click “Buy Course” or “Add to Cart”
- Review order (course, price, any discounts)
- Apply promo code (if available)
- Enter payment details (Stripe)
- Complete purchase
6
Enrollment Confirmed
On successful enrollment:Immediate:
- Enrollment record created
- Course appears in “My Courses”
- First lesson unlocked
- Welcome notification
- Enrollment confirmation
- Course access instructions
- Getting started guide
- Support contact
- “Continue Learning” widget shows course
- Progress initialized at 0%
7
Begin Learning
Member starts course:
- Click “Start Course” or “Continue”
- First lesson/module opens
- Progress tracked automatically
- Bookmark/resume functionality
Enrollment Types
Course Access Levels
Bulk Enrollment (Corporate)
For group/corporate memberships:- Admin enrolls team members
- Bulk enrollment tool
- Progress reporting per user
- Separate journey: Client Portal
Related Entities
Related Journeys
Acceptance Criteria
Frontend
- Course catalog with filters
- Course detail page with curriculum
- Prerequisite check display
- Enroll button (free/included)
- Purchase flow (paid courses)
- My Courses dashboard
- Enrollment confirmation page
- Mobile-responsive design
Backend
-
GET /api/courses- Course catalog -
GET /api/courses/{id}- Course details -
POST /api/courses/{id}/enroll- Create enrollment -
GET /api/courses/{id}/eligibility- Check prerequisites -
GET /api/member/courses- My enrolled courses
Permissions
- Public courses visible to all
- Member-only courses require auth
- Course access requires enrollment
Business Rules
- Prerequisites enforced before enrollment
- Duplicate enrollment prevented
- Member discounts auto-applied
- Course capacity limits (if set)
Error Handling
- Prerequisites not met message
- Already enrolled notification
- Payment failure handling
- Course unavailable message