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.