Overview
The Ritual Cover Management Dashboard is the administrative hub for managing class cover requests. It
monitors WhatsApp channels for teacher cover requests, uses AI/NLP to extract class details, matches
available teachers, and tracks the entire cover workflow from initial request through final assignment and
client notification.
Key purpose: Centralize cover management, eliminate manual coordination, and ensure every
class has proper coverage.
Cover Request Status Workflow
Each cover request progresses through a defined workflow:
Needs Review — Initial State
A new cover request has been automatically extracted from WhatsApp but requires admin review before
approval.
- Confidence Score: Shows how confident the AI was in extracting the details (0–100%).
Low confidence (<70%) is flagged.
- Data fields: Teacher name, date, time, studio, discipline.
- Admin actions: Approve as-is, Edit & Approve, Cancel Class, or Mark as No Cover Needed.
Approved — Awaiting Assignment
Admin has approved the cover request. The system has now generated a list of matching teachers and is
tracking their responses.
- Teacher matching: Teachers are ranked by grade, location availability, and time-slot
fit.
- Contacting: Cover candidates see the opportunity in their notifications or via
WhatsApp.
- Admin actions: View candidates, edit details, cancel, or mark as no cover needed.
Covered — Assignment Confirmed
A teacher has accepted the cover opportunity and is confirmed to teach the class.
- What happens next: The client (class member) is automatically notified of the cover
teacher and the class proceeds as scheduled.
Cancelled — Class Cancelled
The admin or requesting teacher decided to cancel the class entirely.
- Client notification: Members are notified that the class is cancelled.
No Cover Needed — Resolved Without Cover
The requesting teacher has found their own cover, or the class has been rescheduled.
- Outcome: Class proceeds without institutional support; no teacher matching occurs.
Dashboard Features
🗨 Statistics Cards (Top)
Four cards provide a quick overview of pending actions:
- Needs Review: Count of cover requests awaiting admin decision.
- Approved / Matching: Count of requests with teacher candidates in progress.
- Covered Today: Count of covers confirmed for today's classes.
- Expired: Count of requests that were not resolved within the time window.
Click on any card to filter the list below to that status group.
📑 Filter Tabs (Below Stats)
Quick-filter buttons to show all requests or a specific status group:
- All: All cover requests (regardless of status).
- Needs Review: Only new requests awaiting admin action.
- Approved: Only requests with live teacher matching.
- Covered: Only requests with confirmed cover teachers.
- Cancelled: Only cancelled classes.
- No Cover Needed: Only requests marked as resolved without cover.
💰 Cover Request Cards
Each card represents one cover request. Click the card header to expand/collapse details.
- Status badge: Current status (Needs Review, Approved, etc.).
- Studio badge: The studio where the class is held.
- Discipline badge: Class type (Reformer, Mat Pilates, Yin, Barre, Yoga).
- Confidence indicator: Low confidence flag if the AI was unsure about the extracted
data.
- Teacher name & date/time: Requested teacher, class date, and time.
- From channel: Which WhatsApp channel the request came from.
✛ Expanded Card View
When you expand a card, you see:
- Extracted Fields: Teacher name, date, time, studio, discipline, confidence score with a
visual bar.
- Parse Notes: Any warnings or notes from the NLP parser.
- Raw Message: The original WhatsApp message (hidden by default; click "Show raw message"
to toggle).
- Admin Notes: Notes added by you during previous reviews.
- Cover Status: For approved requests, shows which teacher (if any) is confirmed.
- Action Buttons: Context-sensitive buttons based on the current status.
- Cover Candidates (if Approved): List of matched teachers, sorted by match score.
⚿ Confidence Score & Visual Bar
The NLP parser rates how confident it is about the extracted data (0–100%):
- ● Green (≥80%): High
confidence — data is likely accurate.
- ● Amber (60–79%): Medium
confidence — review recommended.
- ● Red (<60%): Low
confidence — edit and correct before approving.
Cover Candidates & Teacher Matching
Once a cover request is Approved, the system automatically
searches for available teachers.
Matching Criteria
- Discipline Grade: Teacher must be approved (grade > 0) in the required class type.
- Studio Availability: Teacher must list the studio in their available locations.
- Day & Time Slot: Teacher must be available on that day in a matching time band
(e.g. 4–7pm).
- Past Performance: Higher grades and seniority = higher match score.
Candidate Card Layout
Each candidate shows:
- Teacher name: (With ✓ checkmark if confirmed as cover)
- Grade, Studios, Availability: Quick-reference tags showing their qualifications.
- Contact: Email or WhatsApp phone number.
- Response status: "Accepted", "Declined", "No response", or "Contacted" (awaiting
reply).
- Match Score: Numeric score (0–100) indicating quality of match. Higher = better fit.
- Confirm Cover button: Click to assign this teacher to the class. Marks request as Covered.
Admin Actions
Needs Review Cards
- ✓ Approve: Accept the extracted data and begin teacher matching.
- ✎ Edit & Approve: Correct teacher name, date, time, studio, or discipline
before approving.
- ✗ Cancel Class: Class is cancelled (e.g., teacher no longer needs cover, or
event is off).
- No Cover Needed: Resolved without needing institutional support.
Approved Cards
- ✎ Edit Details: Update teacher info or class details.
- ✗ Cancel Class: Cancel the entire request.
- No Cover Needed: Mark as resolved without cover.
Covered / Cancelled / No Cover Needed Cards
- ↩ Reopen: Move the request back to "Needs Review" for re-processing.
- ✎ Edit Notes: Update admin notes only.
💬 WhatsApp Activity Feed
Click the WhatsApp button in the top-right to open a live feed of recent WhatsApp messages
from all monitored channels.
Features
- Search: Search message content, channel names, or sender phone numbers in real-time.
- Date Range: Filter by message sent date ("From" and "To" fields).
- Channel Filter: Show messages from a specific WhatsApp channel only.
- Relative Timestamps: Messages show "2h ago", "Just now", etc. for easy scanning.
Monitored Channels
The dashboard monitors these WhatsApp channels for cover requests:
- RITUAL DIARY: General schedule announcements.
- RITUAL TEACHERS: General teacher communications.
- RITUAL REFORMER TEAM: Reformer Pilates cover requests.
- Ritual Yin: Yin Yoga cover requests.
Tip: Use the WhatsApp feed to check for new messages and verify that
cover requests are being captured correctly.
⚙ Settings
Click the Settings button (top-right) to configure dashboard behaviour.
Available Settings
- WhatsApp Activity Default Date Range (Hours): When you open the WhatsApp feed, it shows
messages from the last N hours. Default: 24 (1 day). Range: 1–720 (30 days).
- Auto-Refresh Interval (Seconds): How often the dashboard re-fetches cover requests from
the database. Default: 60 seconds. Range: 10–300 seconds.
Tip: For high-volume days, decrease the refresh interval to 30–45
seconds to catch new requests faster.
Navigation & Tips
Quick Actions
- Click "Refresh" button: Manually force a refresh of all cover requests (normally
auto-refreshes every 60 seconds).
- Click any stat card: Filter the list to that status group.
- Click filter tab: Switch between status views.
- Click card header: Expand/collapse the request details.
Data Extraction Notes
Cover request details are automatically extracted from WhatsApp messages using AI/NLP. The parser looks
for:
- Requesting teacher's name
- Class date (today, tomorrow, or specific date)
- Class start time (and optionally end time)
- Studio location (Robina or Palm Beach)
- Class discipline (Reformer, Mat Pilates, Yin, Barre, Yoga)
Important: Always review extracted data, especially if confidence
is low. Incorrect data can lead to wrong teacher matching.
Common Scenarios
- Low-confidence extraction: Click "Edit & Approve" to correct the data before
approving.
- Teacher requests their own cover: Approve the request so candidates can see it and
volunteer.
- No suitable teachers found: The system will still list the request as "Approved" with
no matches. You can manually assign a teacher or mark as "No Cover Needed" if the class is cancelled.
- Teacher accepts cover but later withdraws: Re-open the request by clicking "Reopen" and
select a different candidate.
Support & Resources
- Dashboard Version: Check the top-right corner for the current version number and last
update timestamp.
- Confidence Threshold: Set in system configuration (default: 70%). Requests below this
score are flagged for manual review.
- Time Bands: Teacher availability is mapped to time bands: 5–8am, 8–11am, 11am–2pm,
2–4pm, 4–7pm, 7pm+.
- Studios: Active studios are Robina and Palm Beach. Mermaid ceased operations in Jan
2026 and is not available for cover.
Questions? Contact your system administrator or check the project
documentation.