Course Enrollments
Enrollments
edX concept | django-oscar concept |
---|---|
Enrollment | ProductType, ProductClass |
Enrollment in ‘DemoX’ course | Product |
“Honor”, “Verified” Enrollment in ‘DemoX’ course | Product Variant |
Fulfillment | Strategy |
Enrollments are the core of our product line.
Cohorts, X-Series, Redeem Codes, etc, all rely on an enrollment product being available, or having already being purchased in order to upsell.
Enrollments will have both variants (honor / verified / prof ed) and be directly associated with a course.
Enrollment in a specific course is a unique product in our catalog.
Enrollments are a type of product in our catalog
Can be purchased or upgraded to from an honor certificate
Have specific “availability dates”
Special refund logic for un-enrolling in courses by a certain date.
Need special fulfillment logic
Verified Certificates have “flexible” payment strategies (min price, suggested prices)
Are these donations on top of the purchase price?
Enrollment Attributes
Any product type has product attributes specific to that type of product. Enrollments will have the following attributes.
Attribute Name | Code | Description |
---|---|---|
course key | key | This should be the string value of the course key from the LMS. This will be used to get marketing metadata from Drupal, and fulfill enrollments in the LMS. |
verification required | id_verified | This determines if the enrollment requires ID verification to occur. |
credit | credit | Does the course offer credit. |
Django-Oscar Concepts
The following concepts are associated with creating Enrollments in our catalog.
Product - The main Enrollment product. This will be the top-level product for which all our enrollment variants are defined. For enrollment in the DemoX course, we would have a single product “DemoX Enrollment”.
Variant - This could be used to define the multiple enrollment modes available for a course. There will be a single “DemoX Enrollment” product, with variants “Honor”, “Verified”, etc.
Category - A category is required for a product to be created. This is used for navigation purposes. I believe we may just make one blanket category “Course Enrollments”. We’ll want to have further navigation details later, such as X-Series, and subjects.
- Product Type - Associated with the Specific Product Class, which would be the “Enrollment”. Each product is associated with a class, and each of our Course Enrollments will be of the same “Enrollment” type.
X Series
edX concept | django-oscar concept |
---|---|
X-Series | Categories |
X-Series Offers (sales, discounts) | Ranges |
Need to group courses together
Will they need to be purchased together?
Will this primarily be a search index?
Do they need special landing pages?
Is the price different? Discounted when bought together?
Is the X-Series a product or just an attribute, grouping?
Django-Oscar Concepts
Potentially use “Categories” and “Ranges”.
Ranges can be used for Offers, which may be useful for discounting X-Series later on.
Categories are indexed for search, and are essentially groupings of products
- A Category will always be created, where as a Range may include a Category if we choose to create offers / discounts for X-Series courses.