# 1. Room Configuration

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

---

## 1. Room Configuration

### 1.1 Room Creation
**What it does:** The Super Admin creates virtual study rooms so learners can join live co-study sessions with peers studying the same subject.

**Sub-features:**
- Room name: the name of the study room
- Room description: the description of the room
- Room creation: the creation of a study room
- Room listing: the listing of all rooms
- Room deletion: the deletion of a room
- Available on web
- Event logging (action performed)
- Audit logging of room creation

**Super Admin User Journey:**
1. As a Super Admin, open the room configuration.
2. Create a study room with a name and description.
3. Save the room.
4. Verify it appears in the room listing.

**Rules & Edge Cases:**
- A room creation requires a name.
- A room description is optional.
- A room listing shows all rooms.
- A room deletion removes the room.
- A room with an active session cannot be deleted.
- Room actions are audit-logged with the actor and timestamp.

### 1.2 Room Capacity
**What it does:** The Super Admin sets the room capacity so the number of learners per room is controlled.

**Sub-features:**
- Capacity setting: the setting of the room capacity
- Capacity limit: the limit of learners per room
- Capacity status: the status of the room (open, full)
- Waitlist: the waitlist for a full room
- Capacity log: the log of the capacity changes
- Available on web
- Event logging (action performed)
- Audit logging of room capacity

**Super Admin User Journey:**
1. As a Super Admin, open the room capacity.
2. Set the capacity for a room.
3. Save the capacity.
4. Verify the capacity status.

**Rules & Edge Cases:**
- A capacity setting defines the max learners per room.
- A capacity limit is the maximum number of learners.
- A capacity status reflects the state (open, full).
- A waitlist holds learners for a full room.
- A capacity log records the capacity changes.
- A learner cannot join a full room.
- Capacity actions are audit-logged with the actor and timestamp.

### 1.3 Subject Tagging
**What it does:** The Super Admin tags rooms with subjects so learners can find rooms for the subject they are studying.

**Sub-features:**
- Subject tag: the tag of a subject
- Tag assignment: the assignment of the tag to a room
- Tag filtering: the filtering of rooms by tag
- Tag listing: the listing of all tags
- Tag history: the history of the tags
- Available on web
- Event logging (action performed)
- Audit logging of subject tagging

**Super Admin User Journey:**
1. As a Super Admin, open the subject tagging.
2. Assign a subject tag to a room.
3. Save the tag.
4. Filter rooms by the tag.

**Rules & Edge Cases:**
- A subject tag names the subject.
- A tag assignment links the tag to a room.
- A tag filtering narrows the rooms by tag.
- A tag listing shows all tags.
- A tag history stores the past tags.
- A room without a tag is not filterable by subject.
- Tag actions are audit-logged with the actor and timestamp.

### 1.4 Video Option
**What it does:** The Super Admin configures the video option so the video is optional and the focus is on presence.

**Sub-features:**
- Video toggle: the toggle of the video option
- Video default: the default state of the video
- Video status: the status of the video per learner
- Video policy: the policy for the video
- Video log: the log of the video states
- Available on web
- Event logging (action performed)
- Audit logging of video option

**Super Admin User Journey:**
1. As a Super Admin, open the video option.
2. Set the video toggle and default.
3. Save the video policy.
4. Review the video status.

**Rules & Edge Cases:**
- A video toggle enables or disables the video.
- A video default is the initial state of the video.
- A video status reflects the state per learner.
- A video policy defines the video rules.
- A video log records the video states.
- A learner can join without enabling the video.
- Video actions are audit-logged with the actor and timestamp.

### 1.5 Ambient Sound Library
**What it does:** The Super Admin manages the ambient sound library so learners can choose background sounds to focus.

**Sub-features:**
- Sound creation: the creation of an ambient sound
- Sound categories: the categories of the sounds
- Sound enablement: the sound toggled active or inactive
- Sound listing: the listing of all sounds
- Sound deletion: the deletion of a sound
- Available on web
- Event logging (action performed)
- Audit logging of ambient sound library

**Super Admin User Journey:**
1. As a Super Admin, open the ambient sound library.
2. Create an ambient sound (coffee shop, rain).
3. Activate the sound.
4. Verify it appears in the sound listing.

**Rules & Edge Cases:**
- A sound creation requires a name.
- A sound category groups the sounds.
- A sound enablement controls whether the sound is available.
- A sound listing shows all sounds.
- A sound deletion removes the sound.
- An inactive sound cannot be selected by a learner.
- Sound actions are audit-logged with the actor and timestamp.

### 1.6 Room Enablement
**What it does:** The Super Admin toggles the room enablement so the room can be opened or closed to learners.

**Sub-features:**
- Enablement toggle: the toggle of the room enablement
- Enablement status: the status of the room (enabled, disabled)
- Enablement scope: the scope of the enablement
- Enablement log: the log of the enablement changes
- Enablement history: the history of the enablement
- Available on web
- Event logging (action performed)
- Audit logging of room enablement

**Super Admin User Journey:**
1. As a Super Admin, open the room enablement.
2. Toggle the room enablement.
3. Save the enablement.
4. Verify the enablement status.

**Rules & Edge Cases:**
- An enablement toggle enables or disables the room.
- An enablement status reflects the state (enabled, disabled).
- An enablement scope defines the range of the enablement.
- An enablement log records the enablement changes.
- An enablement history stores the past enablement states.
- A learner cannot join a disabled room.
- Enablement actions are audit-logged with the actor and timestamp.
