---
title: Packages & Sessions
slug: packages-and-sessions
docTags: 
createdAt: 2026-03-06T19:27:17.084Z
---

**Packages** allow students to pre-purchase a block of sessions instead of paying a monthly fee. This is ideal for students who attend irregularly or prefer to pay upfront.

## 📦 How Packages Work

1. Admin creates a package offer for a class (e.g. "10 sessions for RM 200")
2. Student purchases the package — payment is collected upfront
3. Each time the student attends, one session is deducted from their balance
4. When sessions run low, the student is notified to top up

***

## 🗂️ Packages Admin — Tabs

The admin Packages page (**Packages**) is organised into tabs:

| Tab              | What it's for                                                                                         |
| ---------------- | ----------------------------------------------------------------------------------------------------- |
| **Purchased**    | Live list of every package bought by members — with status, sessions remaining, and expiry            |
| **Catalog**      | Your library of packages — create, edit, clone, or delete the packages you offer                      |
| **Page Content** | Design the public `/our-packages` page with the visual block builder (hero, testimonials, FAQs, etc.) |
| **FAQs**         | Manage frequently asked questions shown on the public page                                            |
| **Settings**     | Package-wide configuration including low-credit notifications                                         |

### Purchased tab

The purchased packages table supports search, sorting, and status badges — Active, Expiring soon, Low credits, or Expired — plus inline Edit, Delete, or View usage actions on each row.

***

## ✏️ Creating a Package

Packages are configured at the class level. When setting up a class with **Package** billing type:

- Set the number of sessions per package (e.g. 10)
- Set the package price — or use **Tier Pricing** for multiple price options (see below)
- Optionally set an expiry (e.g. package must be used within 3 months)
- Set the **Visibility** (see below)

### Tier Pricing

Instead of a single price, a package can offer multiple tiers — each with a different label and price (e.g. Early Bird, Standard, VIP). When purchasing, members or admins choose which tier applies. Enable tiers in the package settings by toggling **Use tier pricing**.

### Package Visibility

Each package has a visibility setting that controls who can see and purchase it:

| Visibility | Description                                                             |
| ---------- | ----------------------------------------------------------------------- |
| **Public** | Shown on your academy's public packages page and purchasable by members |
| **Normal** | Not on the public page, but members can still purchase from My Packages |
| **Hidden** | Not visible to members — admins can assign this package manually only   |

Use **Hidden** for internal or discounted packages you want to assign selectively without members being able to self-purchase.

***

## 📋 Cloning a Package

**Clone Package** creates a copy of an existing package — useful when you want to offer the same package at a different location or with slightly different settings.

From **Packages**, click the **⋯** menu on any package → **Clone Package**. The clone dialog pre-fills all settings from the source package — editable before saving. Change the location if you want the clone to apply to a different branch.

***

## 🌐 Public Packages Page

Your academy has a public-facing packages page at `/our-packages` — accessible to anyone, even without logging in. Visitors can browse available packages, see pricing and session details, and click **Buy Package** to be taken to the registration or purchase flow.

Only packages with **Public** visibility appear on this page, grouped by location. To view the public page: go to **Packages** → click **View Public Page**.

### Page Content tab

Design custom content blocks that appear at the top of the public packages page — same visual block builder as [Landing Pages](docId\:fHTXpn6_vaFX1Cv069Z_p).

### FAQ Section

Add a Frequently Asked Questions section to the public packages page. Go to the **FAQs** tab, toggle **Enable FAQ section** on, then add, edit, delete, or reorder questions.

***

## 💳 Purchasing a Package

Students can purchase packages through the REMMU mobile app (My Packages → Buy Package) or the web portal (My Packages). Payment goes through the academy's configured payment method.

### Package Start Date

When an admin assigns a package to a student, they can add **Notes** (admin only). The note is saved on the purchased package — and on the invoice if one is created — so it isn't lost when you choose not to create an invoice. Edit it later from **Edit Purchased Package**; it also shows in the Purchased list and in the mobile app's package details. Notes are **never shown to members**.

You can also set a start date — the date from which the validity period begins. If left empty, validity starts immediately from the purchase date. Useful for pre-selling packages that start in a future month.

### Multiple Packages on a Single Invoice

A single invoice can bundle multiple packages as separate line items — useful when selling a student several packages at once. In the **Add Payment** dialog, add a line item per package, choosing the Package payment type and specific package/tier for each — the description and amount auto-fill from the package settings. When the invoice is marked paid, each package is provisioned independently.

***

## 👨‍👩‍👧‍👦 Family Packages

A **family package** is a shared pool of sessions that multiple family members (siblings, parent+child, etc.) draw from together. One purchase covers the whole group — each person's attendance deducts from the same balance.

### Setting up a family package

When creating or editing a package in **Packages → Catalog**, toggle **Family package** on and set the **Maximum family members** — the cap on how many people can share one purchase. Family packages appear with a **Family** badge in the catalog table.

### Purchasing a family package

When a member (or admin) buys a family package, they choose which family members to include at checkout, up to the configured cap. Admins can also assign family packages manually via **Assign Package**.

### Managing members on a family package

After purchase, go to **Packages → Purchased**, find the package, and use **⋯ → Manage Members** to add or remove members — the original purchaser is shown with a **Lead** badge. Changes take effect immediately.

### Viewing usage on a family package

The **Package Usage** dialog shows a **Used by** column on each deduction row, so you can see exactly which family member consumed each session.

### Member view

Members see their family packages in **My Packages** with a "Shared with N others" indicator.

***

## 🗑️ Deleting a Purchased Package

Admins can delete a student's purchased package entitlement — for example, if it was assigned by mistake — from **⋯ → Delete** on the package row (in the Purchased tab or the student's Packages tab).

:::hint{type="danger"}
Deleting a purchased package removes the entitlement (remaining sessions) permanently. Payment records are **not** affected — only the package balance is deleted.
:::

***

## 🔔 Package Notifications

Automated email and in-app notifications keep members (and admins) informed throughout the package lifecycle — when a package is purchased, when credits run low, when the last credit is used, and as expiry approaches.

### Configure notifications

Go to **Packages → Settings** to toggle member notifications on low credits, and admin notifications when any student in your academy runs low.

***

## 🛠️ Adjusting Sessions (Add or Deduct Credits)

Admins can manually add or deduct sessions from a purchased package — useful for gifting make-up sessions, promotional bonuses, or correcting attendance mistakes.

1. Go to **Packages → Purchased**, or open the student's **Packages** tab
2. Click the package row to open the usage/details dialog
3. Click **Adjust**
4. Specify add/deduct, the amount, a reason code, and an optional remark
5. Click **Save**

### Audit log

Every adjustment is logged with the date, admin, direction and amount, and reason — visible in the package's usage dialog timeline alongside attendance deductions.

***

## 📊 Viewing Package Balance

**For admins:** Student profile → Packages tab — shows current balance and purchase history.

**For members:** Mobile app → My Packages, or web → My Packages.

***

## 🏷️ Package vs Monthly vs Per Session

| Billing Type    | Best For                             | Payment Timing          |
| --------------- | ------------------------------------ | ----------------------- |
| **Monthly**     | Regular students with fixed schedule | Beginning of each month |
| **Package**     | Students who attend irregularly      | Upfront per block       |
| **Per Session** | Drop-in students                     | Each attendance         |

:::hint{type="info"}
**Note:** A class can accept more than one billing type — tick every type the class should offer, and choose which applies when you enrol each student.
:::
