Skip to main content

Enrollments

An Enrollment will have one or more EnrollmentItems. There can be an enrollmentItem for each provider type (school, sponsor, employer).

Behaviors

  • user comes in from provider/program link
    • enrollmentItem is created with providerId & programId (intended program concept)
    • this can be used to filter the cohorts that are shown to a customer
  • user selects a cohort
    • provider & program are updated to belong to the selected cohort
    • if a payment option was previously selected, it's cleared along with the invoice. A new invoice will need to be generated based on the dates of the new cohort.
  • user selects a new payment option
    • validation is applied for invoice requirements:
      • a program and cohort must have selected prior (program costs and cohort dates are required for invoicing)
    • if there are existing invoice items (charges and costs), they are removed.
    • payments are never deleted. See /customer/[customerId]/payments_history
      • if a payment has been made, the enrollment is canceled instead of deleted to provide history for what the payment was for.
    • if enrollment type === `SCHOOL'
      • if dependentPaymentOption is detected
        • an additional enrollmentItem is automatically added to the Enrollment and invoicing generated for the dependentPaymentOption
    • invoicing should be viewed by navigating to the customer enrollment view: /customer/[customerId] /enrollment/[enrollmentItemId]
      • See last screenshot below
      • the Customer Invoice tab shows the charges, costs, and payments that are to or from the customer for that enrollment.
      • the Internal Invoice tab shows all of the charges, costs, and payments for that enrollment, including internal charges, etc. This is useful for testing the invoice generators.

Screenshots (Admin Portal)

Example customer enrollment with pay in full

Example enrollment with pay in full

Example customer enrollment with payment plan

Example enrollment with pay in full