Status: Available How course enrollment, access statuses, completion tracking, and expiry work.
Overview
When members gain access to a course -- either through a purchase, subscription, or free enrollment -- they create an enrollment record. This article explains how enrollments work, the different access statuses, and how progress is tracked.
How Members Enroll
The enrollment path depends on the course type:
Free Courses
Any registered member can enroll in a free course directly. No purchase is required. Members simply click "Enroll" on the course page.
Paid Courses
For paid courses, the enrollment follows a multi-step process:
- The member must first have a valid permission from purchasing a product or subscribing to a plan that includes the course.
- If auto-enrollment is enabled for the course in the product or plan, the enrollment is created automatically upon purchase.
- If auto-enrollment is not enabled, the member sees a "Join Course" button and must enroll manually.
Enrollment Access Statuses
Each enrollment has an access status that determines what the member can do:
| Status | Meaning | Member Experience |
|---|---|---|
| Active | The member has valid access and can fully participate. | Full access to all lessons and resources. Progress is tracked. |
| Expired | The member's permission has expired, but they remain enrolled. | A "Renew Access" prompt is shown. Previous progress is preserved. |
| Suspended | An admin has manually blocked the member's access. | A suspension message is shown. Cannot access any content. |
Important Rules
- Expired members are still counted as course members. The member count includes both active and expired enrollments.
- Suspended members cannot regain access automatically. Even if they repurchase a product or renew a subscription, the suspension remains until an admin manually lifts it.
- When suspending a member, a reason must be provided. This is recorded for accountability.
Access Expiry
Access expiry is checked automatically every 6 hours. When a member's permission expires:
- Their enrollment status changes from "active" to "expired."
- They can no longer access lesson content.
- Their progress is preserved -- if they renew, they pick up where they left off.
- They see a prompt to renew their access.
Lifetime Access
If a member purchased a product with lifetime access, their enrollment never expires. The system skips expiry checks for lifetime enrollments.
Progress Tracking
Lesson Completion
Members can track their progress through a course. Lesson completion works differently based on the lesson type:
| Lesson Type | Completion Method |
|---|---|
| Bunny Stream video | Auto-completes when the video finishes. Members can also manually mark it as complete. |
| YouTube/Vimeo/Wistia/Embed video | Manual "Mark as Complete" button only. |
| Text lesson | Manual "Mark as Complete" button only. |
| File lesson | Manual "Mark as Complete" button only. |
Members can also un-mark a lesson as complete if they want to revisit it.
Completion Percentage
Each enrollment displays a completion percentage calculated as:
Completed Lessons / Total Lessons x 100
This percentage is updated automatically whenever a lesson is marked as complete or incomplete. It appears on the course detail page and in the "My Courses" sidebar on the newsfeed.
Video Resume
For Bunny Stream video lessons, the system saves the member's playback position every 30 seconds. When the member returns to the lesson, the video automatically resumes from where they left off.
What the Member Sees
Depending on their enrollment status, members see different things on the course page:
| Situation | What They See |
|---|---|
| No permission, paid course | A prompt to purchase a product or plan |
| Has permission, not enrolled | A "Join Course" button |
| Active enrollment | Full access with progress tracking |
| Expired enrollment | A "Renew Access" prompt |
| Suspended enrollment | A suspension message |
| Free course, not enrolled | An "Enroll" button |
Key Settings
| Setting | Description |
|---|---|
| Auto-enrollment | Automatically enroll members when they purchase (configured per product/plan) |
| Expiry check frequency | Every 6 hours |
| Playback position save interval | Every 30 seconds (Bunny Stream only) |
| Completion percentage | Automatically calculated and updated |
Tips
- Enable auto-enrollment on your most important courses to reduce friction for new purchasers.
- Encourage members to use the "Mark as Complete" button to track their progress, especially for non-video lessons.
- If a member's access expires, their progress is preserved. When they renew, they can continue from where they left off.
- Use suspension sparingly and only for serious issues. It is a strong action that requires manual admin intervention to reverse.
- Monitor the "My Courses" sidebar widget -- it helps members stay engaged with their active courses.