# 3. Notification Preferences

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

---

## 3. Notification Preferences

### 3.1 Notification Category Preferences
**What it does:** Lets the Parent choose which categories of notifications they want to receive: performance, activity, upcoming, account, and billing. The Parent can enable or disable each category independently. This gives the Parent control over the kinds of notifications they receive.

**Sub-features:**
- Enable or disable notification categories
- Performance, activity, upcoming, account, billing categories
- Per-category toggle
- Default category set
- Preference change confirmation
- Preferences available on web and mobile
- Preference event logging (set, changed)
- Audit logging of the notification category preferences

**Parent User Journey:**
1. Parent opens the notification preferences.
2. Parent enables the performance category.
3. Parent disables the billing category.
4. Each category has a toggle.
5. The default category set is shown.
6. A preference change confirmation is shown.
7. Parent opens Profile → "Activity" and confirms the preference events are recorded.

**Rules & Edge Cases:**
- The categories are independently toggleable.
- A default category set is applied.
- A preference change confirmation is shown.
- Preference events (set, changed) are logged with the account and the timestamp.
- The notification category preferences is audit-logged with the account and the timestamp.

### 3.2 Channel and Timing Preferences
**What it does:** Lets the Parent set the channels and timing for notifications: which channels (in-app, email, push, SMS) to use and the quiet hours when non-critical notifications are suppressed. Critical notifications are always delivered. This gives the Parent control over when and how they are notified.

**Sub-features:**
- Notification channels (in-app, email, push, SMS)
- Quiet hours for non-critical notifications
- Critical notifications always delivered
- Per-channel toggle
- Timing preference confirmation
- Preferences available on web and mobile
- Preference event logging (set, changed)
- Audit logging of the channel and timing preferences

**Parent User Journey:**
1. Parent opens the channel and timing preferences.
2. Parent enables the email and push channels.
3. Parent sets quiet hours (10 PM to 7 AM).
4. Non-critical notifications are suppressed during quiet hours.
5. A critical notification is delivered regardless of quiet hours.
6. A timing preference confirmation is shown.
7. Parent opens Profile → "Activity" and confirms the preference events are recorded.

**Rules & Edge Cases:**
- The channels are in-app, email, push, and SMS.
- Quiet hours suppress non-critical notifications.
- Critical notifications are always delivered.
- Preference events (set, changed) are logged with the account and the timestamp.
- The channel and timing preferences is audit-logged with the account and the timestamp.

### 3.3 Notification Frequency and Digest
**What it does:** Lets the Parent set the frequency of notifications: real-time, daily digest, or weekly digest. The Parent chooses how often non-critical notifications are bundled and delivered. Critical notifications are always real-time. This lets the Parent balance awareness with notification volume.

**Sub-features:**
- Frequency options (real-time, daily, weekly digest)
- Non-critical notifications bundled per frequency
- Critical notifications always real-time
- Digest content summary
- Frequency change confirmation
- Frequency available on web and mobile
- Frequency event logging (set, changed)
- Audit logging of the notification frequency and digest

**Parent User Journey:**
1. Parent opens the notification frequency settings.
2. Parent selects the daily digest frequency.
3. Non-critical notifications are bundled into the daily digest.
4. A critical notification is delivered in real time.
5. The digest content summary is shown.
6. A frequency change confirmation is shown.
7. Parent opens Profile → "Activity" and confirms the frequency events are recorded.

**Rules & Edge Cases:**
- The frequency is real-time, daily, or weekly digest.
- Non-critical notifications are bundled per frequency.
- Critical notifications are always real-time.
- Frequency events (set, changed) are logged with the account and the timestamp.
- The notification frequency and digest is audit-logged with the account and the timestamp.
