Spec: Reminder notifications for course dates
Opportunity
Using the existing notifications feature, we want to provide learners with timely reminders for:
Course end date
Upgrade deadline
Audit access expiry
The intent is to improve awareness of important course dates and enable learners to make timely decisions. For details of notifications feature, see https://openedx.atlassian.net/wiki/x/BIAmGwE.
These notifications are NOT meant for marketing or promotion and will strictly be built and maintained as transactional messages.
Scope
In scope:
In-app tray notifications and email notifications for the three cases above.
Trigger, schedule and click-through routing.
Preference mapping (which toggle controls which activity).
Out of scope:
Push notifications / SMS.
Changing audit access policy (4-week rule), upgrade eligibility, or course pacing models.
Definitions
Course end date: After which the course material is not accessible to paid or unpaid users.
Upgrade deadline: After which upgrade (conversion to paid user) is no longer allowed.
Audit access expiry: After which course access for audit learners requires upgrade.
Proposed build of notifications
| Course is about to end | Course audit access is about to expire | Upgrade deadline is near |
|---|---|---|---|
Intent | Prevent learners from missing remaining coursework due to a course end date (if configured). This is not marketing and not progress nudging. It’s a factual warning. | Warn audit learners that they are about to lose access unless they upgrade. This is not the same as course end. We need to phrase it as loss prevention and not marketing. Question: Do all openedx courses have an audit access expiry set up? Can instructors disable it? Question: Is default audit access expiry set to 4 weeks for all courses? Is there a way to change that? | Warn learners that they are about to lose upgrade eligibility for courses that have upgrade option. To prevent this from falling into marketing domain, we will phrase it as loss prevention and not “encourage purchase”. Question: Do course teams account for audit access expiry duration when setting upgrade deadline? |
Trigger | Course end date | Audit access expiry of each user calculated from their enrollment date and course settings | Upgrade deadline |
Audience | Include users:
Exclude users:
| Include users:
Exclude users:
| Include users:
Exclude users:
|
Cadence | 2 notifications, X and X-7 days before the course’s end date. | 2 notifications, Y and Y-7 days before the upgrade deadline. | 2 notifications, Z and Z-7 days before the upgrade deadline. |
Defaults |
|
|
|
Language | {Course Name} ends in {X} days. After this date, you won’t be able to access the course. | Your access to {Course Name} expires in {Y} days. After this date, you won’t be able to access course content unless you upgrade. | Upgrade deadline for {Course Name} is in {Z} days. After this date, you won’t be able to upgrade and earn a certificate. |
Upon click | Route to:
| Route to:
| Route to:
|
Caveats/Open questions | What if course end date is changed after one or all notifications have been sent? How often is this scenario? | What if audit access expiry is changed after one or all notifications have been sent? How often is this scenario? Where is the option to configure audit access expiry? | What if upgrade deadline is changed after one or all notifications have been sent? How often is this scenario? Theoretically we should send an “upgrade deadline extended” notification. Maybe it can be implemented in a future iteration. What if an instance doesn’t want to enable this notification because they have other reminders in place? How will they disable it? Do we need to build something for this? There’s an existing Day-19 upgrade reminder email which may or may not be in use. Do we deprecate that in favor of this? |