# 3.2 Seat Allocation

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

---

## 3.2 Seat Allocation

### 3.2.1 Seat Pool Overview
**What it does:** Shows the organization's seat pool: total purchased seats, allocated, available, and expiring. The admin always knows how much capacity remains.

**Sub-features:**
- Total / allocated / available seat counts
- Expiring seats list
- Seat utilization percentage
- Low-seat threshold indicator
- Available on web and mobile
- Event logging (viewed)
- Audit logging of the seat pool overview

**Corporate User Journey:**
1. The admin opens Employee Management → Seats.
2. The pool shows total, allocated, and available counts.
3. The utilization percentage is shown.
4. Expiring seats are listed with dates.
5. When available seats drop below the threshold, the indicator turns amber.
6. The admin opens Profile → "Activity" and confirms the events are recorded.

**Rules & Edge Cases:**
- Utilization = allocated / total × 100.
- The low-seat threshold defaults to 10% of the pool.
- Events (viewed) are logged with the account and the timestamp.
- The seat pool overview is audit-logged with the account and the timestamp.

### 3.2.2 Assign & Revoke Seats
**What it does:** Lets the admin assign an available seat to an employee and revoke a seat when an employee leaves or moves. Revocation deactivates the employee's access immediately.

**Sub-features:**
- Assign a seat to an employee
- Revoke a seat from an employee
- Immediate access deactivation on revocation
- Seat transfer between employees
- Available on web and mobile
- Assignment event logging (viewed)
- Audit logging of the seat assignment & revocation

**Corporate User Journey:**
1. The admin opens an employee's profile.
2. The admin assigns an available seat.
3. The employee's access activates immediately.
4. When the employee leaves, the admin revokes the seat.
5. The employee's access is deactivated immediately.
6. The admin can transfer the seat to another employee.
7. The admin opens Profile → "Activity" and confirms the assignment events are recorded.

**Rules & Edge Cases:**
- One seat per employee at a time.
- Revocation deactivates access within 1 minute.
- Completed learning records are retained after revocation.
- Events (viewed) are logged with the account and the timestamp.
- The seat assignment & revocation is audit-logged with the account and the timestamp.

### 3.2.3 Seat Expiry & Renewal
**What it does:** Tracks when seats expire with the billing cycle and lets the admin renew them. Employees on expiring seats are flagged so the admin can decide to renew or release.

**Sub-features:**
- Seat expiry dates
- Expiring seats alert
- Bulk renewal of seats
- Release instead of renew
- Available on web and mobile
- Event logging (viewed)
- Audit logging of the seat expiry & renewal

**Corporate User Journey:**
1. The admin opens Employee Management → Seats → Expiring.
2. The expiring seats are listed with dates.
3. The admin selects seats to renew.
4. The renewal is billed to the next invoice.
5. Seats the admin does not renew are released at expiry.
6. The admin opens Profile → "Activity" and confirms the events are recorded.

**Rules & Edge Cases:**
- Unrenewed seats deactivate at the end of the billing cycle.
- Renewal is billed on the next invoice, not immediately.
- Events (viewed) are logged with the account and the timestamp.
- The seat expiry & renewal is audit-logged with the account and the timestamp.
