# 4. Flexible Upgrade Pricing

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*

---

## 4. Flexible Upgrade Pricing

### 4.1 Prorated Pricing for Adding Subjects Anytime
**What it does:** Sets the prorated pricing for adding subjects anytime: when a learner adds a subject to an existing subscription mid-period, the price is prorated (the learner pays for the remaining period of the new subject, not the full period), so the upgrade is fair (the learner pays only for what they get). The Super Administrator configures the proration rules (the proration method, the rounding) so the upgrade pricing is structured and the proration is explicit.

**Sub-features:**
- Proration method: the method (the remaining-period proration, the daily rate)
- Proration scope: the scope (the added subject, the remaining period)
- Proration calculation: the calculation (the remaining days, the daily rate, the prorated price)
- Rule definition: the rules defined by the Super Admin (the method, the rounding)
- Price application: the price applied (the added subject is the prorated price)
- Price record: the price recorded (the learner, the subject, the remaining period, the prorated price)
- Audit logging of the proration rules and the applications

**Super Administrator User Journey:**
1. Super Admin configures the proration rules: the proration method (the remaining-period proration, the daily rate) and the rounding (the rounding of the prorated price); the rules are explicit.
2. Sets the proration scope: the scope (the added subject, the remaining period); the scope is the upgrade.
3. Saves; the proration rules are live, and the added subject is the prorated price.
4. A learner adds a subject to their subscription (mid-period); the proration is calculated (the remaining days, the daily rate, the prorated price); the price is the prorated price.
5. The learner pays the prorated price (the prorated price applied, the subject added); the upgrade is the price.
6. The price is recorded: the learner, the subject, the remaining period, and the prorated price; the record is the proof.
7. For a rule change (a proration rule updated), Super Admin changes the rule (the new method, the new rounding, the time); the change is recorded.
8. The proration rules and the applications are audit-logged with the learner, the subject, and the timestamp.

**Rules & Edge Cases:**
- The proration method is the remaining-period proration (the daily rate); the method is the fairness.
- The proration scope is the added subject and the remaining period; the scope is the upgrade.
- The proration calculation is explicit (the remaining days, the daily rate, the prorated price); the calculation is the price.
- A rule change (a proration rule updated) is recorded (the new method, the new rounding, the time); it is auditable.
- The proration rules are visible (the method, the rounding); the upgrade pricing is managed.
- Proration rules and applications are audit-logged with the learner, subject, and timestamp.

### 4.2 Upgrade from Single to Multiple Subjects
**What it does:** Sets the upgrade pricing from single to multiple subjects: when a learner upgrades from a single-subject subscription to a multi-subject subscription, the price is the upgrade price (the difference between the multi-subject price and the single-subject price, prorated for the remaining period), so the upgrade is fair (the learner pays the difference, not the full multi-subject price). The Super Administrator configures the upgrade rules (the upgrade method, the proration) so the upgrade pricing is structured and the difference is explicit.

**Sub-features:**
- Upgrade method: the method (the difference pricing, the proration)
- Upgrade scope: the scope (the single-subject to the multi-subject, the remaining period)
- Upgrade calculation: the calculation (the multi-subject price, the single-subject price, the difference, the proration)
- Rule definition: the rules defined by the Super Admin (the method, the proration)
- Price application: the price applied (the upgrade is the difference price)
- Price record: the price recorded (the learner, the upgrade, the difference, the prorated price)
- Audit logging of the upgrade rules and the applications

**Super Administrator User Journey:**
1. Super Admin configures the upgrade rules: the upgrade method (the difference pricing, the proration) and the proration (the remaining-period proration); the rules are explicit.
2. Sets the upgrade scope: the scope (the single-subject to the multi-subject, the remaining period); the scope is the upgrade.
3. Saves; the upgrade rules are live, and the upgrade is the difference price.
4. A learner upgrades from single to multiple subjects (mid-period); the upgrade is calculated (the multi-subject price, the single-subject price, the difference, the proration); the price is the difference price.
5. The learner pays the difference price (the difference applied, the upgrade made); the upgrade is the price.
6. The price is recorded: the learner, the upgrade, the difference, and the prorated price; the record is the proof.
7. For a rule change (an upgrade rule updated), Super Admin changes the rule (the new method, the new proration, the time); the change is recorded.
8. The upgrade rules and the applications are audit-logged with the learner, the upgrade, and the timestamp.

**Rules & Edge Cases:**
- The upgrade method is the difference pricing (the proration); the method is the fairness.
- The upgrade scope is the single-subject to the multi-subject and the remaining period; the scope is the upgrade.
- The upgrade calculation is explicit (the multi-subject price, the single-subject price, the difference, the proration); the calculation is the price.
- A rule change (an upgrade rule updated) is recorded (the new method, the new proration, the time); it is auditable.
- The upgrade rules are visible (the method, the proration); the upgrade pricing is managed.
- Upgrade rules and applications are audit-logged with the learner, upgrade, and timestamp.

### 4.3 Upgrade from One Grade to Another
**What it does:** Sets the upgrade pricing from one grade to another: when a learner upgrades from one grade to another (e.g., from grade 10 to grade 11), the price is the upgrade price (the difference between the new grade's price and the old grade's price, prorated for the remaining period), so the upgrade is fair (the learner pays the difference, not the full new grade's price). The Super Administrator configures the grade-upgrade rules (the upgrade method, the proration) so the grade-upgrade pricing is structured and the difference is explicit.

**Sub-features:**
- Grade-upgrade method: the method (the difference pricing, the proration)
- Grade-upgrade scope: the scope (the old grade to the new grade, the remaining period)
- Grade-upgrade calculation: the calculation (the new grade's price, the old grade's price, the difference, the proration)
- Rule definition: the rules defined by the Super Admin (the method, the proration)
- Price application: the price applied (the grade upgrade is the difference price)
- Price record: the price recorded (the learner, the grade upgrade, the difference, the prorated price)
- Audit logging of the grade-upgrade rules and the applications

**Super Administrator User Journey:**
1. Super Admin configures the grade-upgrade rules: the upgrade method (the difference pricing, the proration) and the proration (the remaining-period proration); the rules are explicit.
2. Sets the grade-upgrade scope: the scope (the old grade to the new grade, the remaining period); the scope is the grade upgrade.
3. Saves; the grade-upgrade rules are live, and the grade upgrade is the difference price.
4. A learner upgrades from one grade to another (mid-period); the grade upgrade is calculated (the new grade's price, the old grade's price, the difference, the proration); the price is the difference price.
5. The learner pays the difference price (the difference applied, the grade upgrade made); the upgrade is the price.
6. The price is recorded: the learner, the grade upgrade, the difference, and the prorated price; the record is the proof.
7. For a rule change (a grade-upgrade rule updated), Super Admin changes the rule (the new method, the new proration, the time); the change is recorded.
8. The grade-upgrade rules and the applications are audit-logged with the learner, the grade upgrade, and the timestamp.

**Rules & Edge Cases:**
- The grade-upgrade method is the difference pricing (the proration); the method is the fairness.
- The grade-upgrade scope is the old grade to the new grade and the remaining period; the scope is the grade upgrade.
- The grade-upgrade calculation is explicit (the new grade's price, the old grade's price, the difference, the proration); the calculation is the price.
- A rule change (a grade-upgrade rule updated) is recorded (the new method, the new proration, the time); it is auditable.
- The grade-upgrade rules are visible (the method, the proration); the grade-upgrade pricing is managed.
- Grade-upgrade rules and applications are audit-logged with the learner, grade upgrade, and timestamp.

### 4.4 Transfer Unused Duration to New Subscription
**What it does:** Sets the transfer of unused duration to the new subscription: when a learner upgrades (or changes) their subscription, the unused duration (the remaining period of the old subscription) is transferred to the new subscription, so the learner does not lose the time they paid for. The Super Administrator configures the transfer rules (the transfer method, the duration calculation) so the duration transfer is structured and the transfer is explicit.

**Sub-features:**
- Transfer method: the method (the unused-duration transfer, the duration calculation)
- Transfer scope: the scope (the old subscription's unused duration, the new subscription)
- Transfer calculation: the calculation (the unused duration, the transfer to the new subscription)
- Rule definition: the rules defined by the Super Admin (the method, the calculation)
- Transfer application: the transfer applied (the unused duration is transferred to the new subscription)
- Transfer record: the transfer recorded (the learner, the old subscription, the unused duration, the new subscription)
- Audit logging of the transfer rules and the applications

**Super Administrator User Journey:**
1. Super Admin configures the transfer rules: the transfer method (the unused-duration transfer, the duration calculation) and the calculation (the unused duration, the transfer); the rules are explicit.
2. Sets the transfer scope: the scope (the old subscription's unused duration, the new subscription); the scope is the transfer.
3. Saves; the transfer rules are live, and the unused duration is transferred to the new subscription.
4. A learner upgrades (or changes) their subscription; the transfer is calculated (the unused duration of the old subscription, the transfer to the new subscription); the duration is transferred.
5. The new subscription gets the transferred duration (the unused duration added, the new subscription extended); the transfer is the duration.
6. The transfer is recorded: the learner, the old subscription, the unused duration, and the new subscription; the record is the proof.
7. For a rule change (a transfer rule updated), Super Admin changes the rule (the new method, the new calculation, the time); the change is recorded.
8. The transfer rules and the applications are audit-logged with the learner, the old subscription, and the timestamp.

**Rules & Edge Cases:**
- The transfer method is the unused-duration transfer (the duration calculation); the method is the fairness.
- The transfer scope is the old subscription's unused duration and the new subscription; the scope is the transfer.
- The transfer calculation is explicit (the unused duration, the transfer to the new subscription); the calculation is the transfer.
- A rule change (a transfer rule updated) is recorded (the new method, the new calculation, the time); it is auditable.
- The transfer rules are visible (the method, the calculation); the duration transfer is managed.
- Transfer rules and applications are audit-logged with the learner, old subscription, and timestamp.
