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?
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. |
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.
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?
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