---
title: Calendar & Events
slug: calendar-and-events
createdAt: 2026-04-28T13:00:24.217Z
---

The **Calendar** lets you plan your academy's year — public holidays, exam dates, competitions, gradings, performances, and any custom events. Events that affect attendance automatically pause regular classes on those dates, so you don't have to cancel each one by hand.

Find it under **Calendar** — available to admins, and to team members, scoped to their assigned locations. Members see their own read-only calendar view at **My Calendar** — including their enrolled classes for any selected day.

## 📅 The day panel

Click any date on the calendar to open the day panel below the grid. It shows:

- **Events** for that date — colour-coded, clickable to edit (admin only)
- **Classes** scheduled that day — with time, location, instructor, enrolment count, and current session status
- A **+ Add Event** button for quick same-day adds (admin only)

Use the arrows in the panel header to step through days without going back to the month grid.

### Calendar views

Switch between three layouts using the view toggle above the calendar:

| View      | Best for                                                                    |
| --------- | --------------------------------------------------------------------------- |
| **Month** | The full month grid — planning and seeing the big picture                   |
| **Week**  | A seven-day spread with times — focusing on the week ahead                  |
| **List**  | A chronological agenda list of upcoming events and classes — quick scanning |

### Show / hide classes (admin)

Use the "Show classes" toggle above the calendar to switch between a pure events view and the full schedule + events view.

### Class row status badges

Class rows show whether a session is scheduled, in progress, completed (with attendance count), cancelled, auto-cancelled by a holiday, past with no session, or an ad-hoc addition — and link directly to Take Attendance for that date.

## 🗓️ Event types

REMMU ships with system event types every tenant gets out of the box: Holiday, Class Closure, Exam, Competition, Grading, Performance, Training, and Custom. Each type has its own colour on the calendar so you can scan the month at a glance.

### 🎨 Customising types

Click **Settings** on the Calendar page to open the Event Types manager. You can:

- **Edit any system type** — change its colour and default behaviour (does it affect attendance? visible to members? notify on save? which roles?). The label and key on system types are locked.
- **Add custom types** — for things specific to your academy (e.g. *"Belt Test"*, *"Open Day"*, *"Parents' Meeting"*).
- **Hide types you don't use** — hidden types disappear from the event picker and legend, but existing events keep working.
- **Delete custom types** — only if no events currently use that type.

System types cannot be deleted, but they can be hidden if you don't use them.

:::hint{type="info"}
Defaults set on a type only apply to *new* events of that type. Editing a type later doesn't change events already on the calendar.
:::

## ➕ Adding an event

From the Calendar page, click **+ Add Event** (or click any date directly to pre-fill it).

You'll be asked for:

1. **Title** — e.g. "Hari Raya", "Year-End Grading"
2. **Type** — pick from the list above
3. **Description** *(optional)*
4. **Start date** and **End date** — for multi-day events, set both
5. **All-day** *(default on)* — turn off to set specific start/end times
6. **Affects attendance** — when ON, regular class sessions on covered dates show as cancelled in Take Attendance
7. **Visible to members** — when ON, the event appears in members' My Calendar
8. **Apply to locations** — All locations, or pick specific ones
9. **Apply to classes** — All classes, or pick specific ones
10. **Repeat** — none, weekly, monthly, or yearly
11. **Notifications** — pick which roles to notify and which channels

:::hint{type="info"}
Defaults are smart — a **Holiday** defaults to affects-attendance ON, visible to members ON, notify Students + Instructors. A **Training** event defaults to internal-only, notify Team + Admins. You can override any toggle.
:::

## 🔁 Recurring events

Public holidays repeat. So do exam weeks, monthly meetings, weekly closures. Set **Repeat** when creating the event and REMMU shows the same event on every matching date — forever, or until a date you specify.

### Edge cases

- **Multi-day events** preserve their duration on each occurrence.
- **Monthly on day 29/30/31** — months without that day are silently skipped; the next valid month picks back up.
- **Yearly on Feb 29** — only repeats in leap years.
- **Editing a recurring event** updates *all* future occurrences. To override one specific occurrence, create a separate one-shot event for that date.

## 📣 Notifications

When you save a new event, REMMU can email the right people automatically. You control:

**Recipients (multi-select):** Students (active enrolled + guardians), Instructors, Team members, Admins — each scoped to the event's location/class selection where applicable (admins are always notified regardless of scope).

**Channels:** Email (fully working); WhatsApp is coming soon.

### When notifications fire

- **Creating an event:** toggle "Send on save" — notifications go out in the background once you click Create event.
- **Editing an event:** notifications do not auto-resend on edits — use "Notify members now" to send manually.
- **Past events:** notifications are disabled for events that have already ended.

## 🔁 How holidays interact with attendance

When **Affects attendance** is ON for an event:

- Regular class sessions covered by the event show in **Take Attendance** as cancelled, with the event title as the cancellation badge
- A banner appears at the top of Take Attendance saying which event is in effect
- Members see a matching banner on their My Attendance page
- Existing attendance records and completed sessions are never changed retroactively

### What if a special class actually runs on a holiday?

You can still create an ad-hoc session for a date marked as a holiday — REMMU will ask you to confirm, then let you mark attendance for it normally alongside the (still-cancelled) regular slot.

## 🎯 Scoping events to specific locations or classes

By default, events apply to all locations and classes. Narrow an event down to specific locations, specific classes, or both — useful for a single-branch closure, a holiday affecting only some age groups, or an exam week for one class.

## 👥 Member view (My Calendar)

Members see a read-only view of the events you've marked visible to them, with a note when their classes are paused for that date.

## ✏️ Editing or deleting an event

Click any event to reopen it, make changes, and save — or delete it entirely.

:::hint{type="warning"}
Adding a holiday for a date that has already passed does not change existing attendance records.
:::

## 🇲🇾 Suggested holidays

REMMU doesn't pre-load Malaysian public holidays — each tenant decides which dates they observe, including any state-specific holidays for their location.
