π Subscription-Based Program
π Subscription-Based Program Documentation
Overview
This document provides comprehensive details of the Subscription-Based Program implemented within both the Admin Panel and the Customer Panel. The program enables the creation and assignment of subscription groups, customer subscription management, subscription-based access control, and automatic plan switching upon expiration.
π Admin Panel
Step 1: Create Subscription Group
Path: Subscriptions > Subscription Group
Functionality:
Create groups that define access restrictions and pricing for subscription plans.
Fields:
- Group Name (string): The name of the subscription group.
- Amount (float): The cost of the subscription group.
- Restricted Pages (checkbox list): A multi-select list of restricted pages. These are pages the customer cannot access.
Behavior:
- Groups are saved into the database with associated page restrictions.
- Multiple pages can be restricted per group.
Step 2: Assign Customers to Subscription Groups
Path: Subscriptions > Subscription Customers
Functionality:
Associate customers with one or more subscription groups.
Features:
- Select Customer: Dropdown to choose a customer.
- Select Group: Assign the customer to a previously created subscription group.
Rules:
- When a customer is associated with a group:
- The subscription starts on the assignment date.
- The subscription expires after 29 days.
- After expiration, the customer is removed from the group.
- If multiple groups are assigned:
- Once the current group’s subscription expires, the next assigned group is activated automatically.
- Customers may be associated with multiple groups sequentially.
- System checks wallet balance:
If the customer’s wallet amount is greater than or equal to the group amount, the amount is deducted automatically.
If the wallet balance is insufficient, the subscription cannot be assigned.
Β
π€ Customer Panel
Step 1: Access Subscription Page
Location: After login β Dashboard β Click on Subscription button or link
Redirection:
Navigates to the subscription page where customers can manage their plans.
Step 2: Activate Subscription Plan
Features:
- A form to select and activate one or more subscription plans.
- Each plan requires a wallet balance check.
Activation Rules:
- Customers can activate multiple plans one by one.
- A subscription plan will be activated only if:
- Customerβs wallet amount β₯ subscription amount.
- If the wallet balance is insufficient, an error message will be displayed, and the plan will not activate.
Wallet Deduction:
- Upon successful activation, the corresponding amount is deducted from the wallet.
Step 3: View Subscription History and Plan Details
Tables Displayed:
- Subscription History Table
- Shows all past and current subscription activations with details.
- Fields: Plan Name, Start Date, Expiry Date, Status (Active/Expired)
- Available Subscription Plans
- Displays details of all subscription groups.
- Fields: Plan Name, Price, Features/Restricted Pages
βοΈ Automated System Behavior
Subscription Lifecycle:
- Activation:
- Triggered by Admin assignment or Customer form submission.
- Begins immediately upon activation.
- Expiration:
- After 29 days from start date, subscription expires.
- Customer loses access to restricted pages.
- Auto-Rotation:
- If multiple subscriptions are assigned in sequence:
- Once the current one expires, the next one is activated automatically.
- Ensures continued subscription without manual intervention.
- If multiple subscriptions are assigned in sequence:
π§Ύ Summary of Key Rules
| Rule Type | Description |
| Access Restriction | Based on subscription group (defined in Admin Panel) |
| Subscription Duration | 29 days per plan |
| Wallet Requirement | Wallet balance must meet or exceed plan amount |
| Auto Switch | Next group activates upon expiration of the current one |
| Multi-Plan Support | Customers can activate and hold multiple plans in sequence |
β Recommendations
- Admins should ensure groups are properly configured with the correct amount and restricted pages.
- Customers should maintain sufficient wallet balance to continue uninterrupted service.
- Auto-rotation is best used for offering tiered or time-based service plans (e.g., trial β basic β premium).