Subscription Package Management (CRUD)
Admins can create and manage subscription packages that define the access levels available for learners (e.g., Free, Pro, Premium).
Each package contains details such as status, code, name, tier, and description.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
| Status | Enum | Yes | Active (available) or Inactive (hidden). |
| Code | String | Yes | Unique identifier (e.g., FREE, PRO, PREMIUM). |
| Name | String | Yes | Display name of the package (e.g., Free Plan). |
| Tier | Number | Yes | Tier level (e.g., 0 = Free, 1 = Pro, 2 = Premium). |
| Description | Text | Optional | Short description of the package benefits. |
1. Create Subscription Package
Steps:
- Go to Backoffice → Subscription Packages.
- Click New Package.
- Fill in the required fields.
- Save to create.
Example Request (JSON):
{
"status": "active",
"code": "PRO",
"name": "Pro Plan",
"tier": 1,
"description": "Access to premium courses and community features."
}
Response:
json
Copy code
{
"success": true,
"message": "Subscription package created successfully"
}
2. Read / View Subscription Packages
The Subscription Package Table shows all packages:
Code Name Tier Status Description Actions
FREE Free Plan 0 Active Basic courses and features Edit / Delete
PRO Pro Plan 1 Active Premium courses + community access Edit / Delete
PREM Premium 2 Inactive All features including private mentoring Edit / Delete
3. Update Subscription Package
Steps:
Go to Subscription Packages Table.
Find the package you want to edit.
Click Edit.
Modify fields as needed.
Save changes.
Example Update Request:
json
Copy code
{
"packageId": "sub-001",
"status": "active",
"code": "PRO",
"name": "Pro Plus",
"tier": 1,
"description": "Updated: Pro plan with extended features."
}
Response:
json
Copy code
{
"success": true,
"message": "Subscription package updated successfully"
}
4. Delete Subscription Package
Steps:
Go to Subscription Packages Table.
Click Delete 🗑️ on the package.
Confirm in the dialog box.
Delete Request Example:
json
Copy code
{
"packageId": "sub-002",
"action": "delete"
}
Response:
json
Copy code
{
"success": true,
"message": "Subscription package deleted successfully"
}
⚠️ Deletion is permanent. If unsure, set the package to Inactive instead.
Best Practices
Keep codes short and unique (e.g., FREE, PRO, PREM).
Use tiers consistently (0 = free, 1 = pro, 2 = premium).
Instead of deleting, prefer Inactive status for deprecated packages.
Ensure descriptions clearly explain benefits so learners know what each plan offers.