Appearance
Add User (Staff/Reseller/Retailer)
Overview
Add User is the unified interface for creating all types of users in Zal Ultra. This single page handles user creation for 8 different profile types with role-based permissions, smart validation, and automatic hierarchy management.
Why It's Important:
- 🎯 Unified Interface - One page for all user types
- 👥 Multi-tier Hierarchy - Admin → Reseller → Subreseller → Retailer
- 🔐 Role-Based Access - Automatic permission assignment
- ✅ Smart Validation - Profile type and role matching
- 📱 Format Validation - Phone and identity number checking
- 🔒 Security - Password hashing and duplicate prevention
User Hierarchy
Profile Types (8 Types)
1. Admin (Profile Type 1)
└── Can create: Staff, Resellers
2. Admin Staff (Profile Type 2)
└── Can create: Based on permissions
3. Reseller (Profile Type 3)
├── Can create: Subresellers
└── Can create: Reseller Staff (Profile Type 6)
4. Subreseller (Profile Type 4)
├── Can create: Retailers
└── Can create: Subreseller Staff (Profile Type 7)
5. Retailer (Profile Type 5)
└── Can create: Retailer Staff (Profile Type 8)
6. Reseller Staff (Profile Type 6)
└── Works under Reseller
7. Subreseller Staff (Profile Type 7)
└── Works under Subreseller
8. Retailer Staff (Profile Type 8)
└── Works under RetailerProfile Type & Role Type Matching
⚠️ Critical Rule: Profile Type MUST Match Role Type
Valid Mappings:
Profile Type 1 (Admin) → Role Type 1 (Admin) ✅
Profile Type 2 (Admin Staff) → Role Type 2 (Staff) ✅
Profile Type 3 (Reseller) → Role Type 3 (Reseller) ✅
Profile Type 4 (Subreseller) → Role Type 4 (Subreseller) ✅
Profile Type 5 (Retailer) → Role Type 5 (Retailer) ✅
Profile Type 6 (Reseller Staff) → Role Type 6 (Reseller Staff) ✅
Profile Type 7 (Subreseller Staff) → Role Type 7 (Subreseller Staff) ✅
Profile Type 8 (Retailer Staff) → Role Type 8 (Retailer Staff) ✅Error Message:
Profile Type And Role Type Mismatch.
Selected Profile Type: Reseller, Selected Role Type: Staff.
Please Select Matching Profile Type And Role Type.Step-by-Step Guide
Step 1: Access Add User Page
Navigate:
- Go to User Management menu
- Click All Users
- Click Actions dropdown
- Select Add User
Permission Required:
- ✅ Admin can add users
- ✅ Staff can add users (if permission granted)
- ✅ Resellers can add Subresellers/Staff
- ✅ Subresellers can add Retailers/Staff
- ✅ Retailers can add Retailer Staff
Step 2: Configure Status Toggles
1. Status (Optional, Default: ON)
Purpose: Enable or disable user account
Options:
ON (1) = User can login ✅
OFF (0) = User cannot login ❌Default: ON (enabled)
2. SMS Status (Optional, Default: OFF)
Purpose: Enable or disable SMS notifications
Options:
ON (1) = User receives SMS ✅
OFF (0) = No SMS sent ❌3. Email Status (Optional, Default: OFF)
Purpose: Enable or disable email notifications
Options:
ON (1) = User receives emails ✅
OFF (0) = No emails sent ❌Step 3: Select Profile Type
Choose User Type Based on Your Role:
For Admin/Staff:
Option 1: Admin Staff (2)
Option 2: Reseller (3)For Reseller:
Option 1: Subreseller (4)
Option 2: Reseller Staff (6)For Subreseller:
Option 1: Retailer (5)
Option 2: Subreseller Staff (7)For Retailer:
Option: Retailer Staff (8)Step 4: Select Role & Permissions
Choose Matching Role:
Rule: Role Type MUST match Profile Type
Example for Reseller:
Profile Type: Reseller (3)
Role: Select a role with Role Type 3
Example: "Reseller Manager" (Role Type 3) ✅Step 5: Fill Required Fields
1. Full Name (Required)
Validation:
✅ Required
✅ Max 32 characters
✅ Must be unique
❌ Cannot be duplicateExamples:
✅ "John Smith"
✅ "Jane Doe"
❌ "" (empty)
❌ "John Smith" (if already exists)2. Username (Required)
Validation:
✅ Required
✅ Max 25 characters
✅ Must be unique
❌ Cannot be duplicateBest Practices:
✅ Use lowercase
✅ No spaces
✅ Use underscores or dotsExamples:
✅ "john.smith"
✅ "jane_doe"
✅ "reseller123"
❌ "" (empty)
❌ "john.smith" (if already exists)3. Password (Required)
Security:
- Automatically hashed (bcrypt)
- Never stored in plain text
- Cannot be retrieved (only reset)Best Practices:
✅ Min 8 characters
✅ Mix of letters, numbers, symbols
✅ Not common wordsExamples:
✅ "SecurePass123!"
✅ "MyP@ssw0rd2024"
❌ "" (empty)
❌ "123" (too weak)4. Identity (Required)
Validation:
✅ Required
✅ Must be unique (unless duplicate allowed in settings)
✅ Format validated (if enabled in settings)
❌ Cannot be emptyDuplicate Handling:
If "Allow Duplicate NID" enabled in settings:
- Multiple users can have same identity
- Useful for family accounts
If disabled (default):
- Each identity must be uniqueExamples:
✅ "1234567890123"
✅ "ABC-123-456"
❌ "" (empty)
❌ "123" (invalid format)5. Phone (Required)
Validation:
✅ Required
✅ Must be unique (unless duplicate allowed in settings)
✅ Format validated (if enabled in settings)
❌ Cannot be emptyDuplicate Handling:
If "Allow Duplicate Phone" enabled in settings:
- Multiple users can have same phone
- Useful for shared contacts
If disabled (default):
- Each phone must be uniqueExamples:
✅ "+8801712345678"
✅ "01712345678"
✅ "+1-555-123-4567"
❌ "" (empty)
❌ "123" (invalid format)6. Email (Required)
Validation:
✅ Required
✅ Must be valid email format
✅ Must be unique
❌ Cannot be duplicateExamples:
✅ "[email protected]"
✅ "[email protected]"
❌ "" (empty)
❌ "invalid-email"
❌ "[email protected]" (if already exists)Step 6: Fill Optional Fields
1. Address (Optional)
Example: "123 Main Street, Apartment 4B"
2. Country (Optional)
Type: Dropdown Example: "Bangladesh", "United States"
3. Province/State (Optional)
Type: Dropdown (based on country) Example: "Dhaka", "California"
4. City (Optional)
Type: Dropdown (based on province) Example: "Dhaka City", "Los Angeles"
5. ZIP Code (Optional)
Example: "1000", "90210"
6. Date of Birth (Optional)
Format: Date picker Example: "1990-01-15"
7. About (Optional)
Type: Textarea Example: "Senior network engineer with 10 years experience."
Step 7: Submit User Creation
Click "Save" or "Submit"
Success Response:
Successfully Added
User created with ID #123
Activity loggedAutomatic Actions:
✅ Password hashed
✅ Role assigned
✅ Permissions granted
✅ Balance limit set ($50,000 default)
✅ Created by info recorded
✅ Activity log generatedWho Can Create What
Admin/Staff Permissions
Admin Can Create:
✅ Admin Staff (Profile Type 2)
✅ Resellers (Profile Type 3)
✅ Any profile type (with proper role)Staff Can Create:
✅ Based on assigned permissions
✅ Usually: Resellers, Subresellers
❌ Cannot create AdminReseller Permissions
Reseller Can Create:
✅ Subresellers (Profile Type 4)
✅ Reseller Staff (Profile Type 6)
❌ Cannot create other Resellers
❌ Cannot create Admin/StaffAutomatic Profile Type Assignment:
If Reseller selects Profile Type 6:
→ Creates Reseller Staff ✅
If Reseller selects any other type:
→ Automatically creates Subreseller (4) ✅Subreseller Permissions
Subreseller Can Create:
✅ Retailers (Profile Type 5)
✅ Subreseller Staff (Profile Type 7)
❌ Cannot create Resellers
❌ Cannot create SubresellersAutomatic Profile Type Assignment:
If Subreseller selects Profile Type 7:
→ Creates Subreseller Staff ✅
If Subreseller selects any other type:
→ Automatically creates Retailer (5) ✅Retailer Permissions
Retailer Can Create:
✅ Retailer Staff (Profile Type 8)
❌ Cannot create any other typeAutomatic Profile Type Assignment:
Retailer always creates:
→ Retailer Staff (8) ✅Common Use Cases
Use Case 1: Create Reseller
Scenario: Admin wants to create a Reseller
Steps:
1. Profile Type: Reseller (3)
2. Role: Reseller Manager (Role Type 3)
3. Username: "john_reseller"
4. Full Name: "John Smith"
5. Password: "SecurePass123!"
6. Identity: "1234567890123"
7. Phone: "+8801712345678"
8. Email: "[email protected]"
9. SubmitResult:
✅ Reseller created
✅ Can login
✅ Can create Subresellers
✅ Can manage subscribersUse Case 2: Create Subreseller (by Reseller)
Scenario: Reseller wants to create a Subreseller
Steps:
1. Login as Reseller
2. Go to Add User
3. Profile Type: Subreseller (4)
4. Role: Subreseller Role (Role Type 4)
5. Fill required fields
6. SubmitResult:
✅ Subreseller created under Reseller
✅ Can create Retailers
✅ Reports to ResellerUse Case 3: Create Retailer (by Subreseller)
Scenario: Subreseller wants to create a Retailer
Steps:
1. Login as Subreseller
2. Go to Add User
3. Profile Type: Retailer (5)
4. Role: Retailer Role (Role Type 5)
5. Fill required fields
6. SubmitResult:
✅ Retailer created under Subreseller
✅ Can manage subscribers
✅ Reports to SubresellerUse Case 4: Create Staff Member
Scenario: Reseller wants to create staff to help manage
Steps:
1. Login as Reseller
2. Go to Add User
3. Profile Type: Reseller Staff (6)
4. Role: Reseller Staff Role (Role Type 6)
5. Fill required fields
6. SubmitResult:
✅ Reseller Staff created
✅ Works under Reseller
✅ Limited permissionsTroubleshooting
Issue 1: Profile Type and Role Type Mismatch
Problem:
Error: Profile Type And Role Type Mismatch.
Selected Profile Type: Reseller, Selected Role Type: Staff.Cause:
Profile Type and Role Type don't matchSolution:
1. Check Profile Type selected
2. Check Role Type of selected role
3. Ensure they match:
Profile Type 3 (Reseller) → Role Type 3 ✅
Profile Type 3 (Reseller) → Role Type 2 ❌
4. Select correct role or profile typeIssue 2: Duplicate Username
Problem:
Error: The username has already been taken.Cause:
Username already exists in systemSolution:
1. Choose different username
2. Add numbers or underscores
3. Examples:
john_smith → john_smith2
john_smith → john.smith
john_smith → jsmithIssue 3: Duplicate Phone/Identity
Problem:
Error: The phone has already been taken.
Error: The identity has already been taken.Cause:
Phone or Identity already exists
Duplicate prevention enabled (default)Solution:
Option 1: Use different phone/identity
Option 2: Enable duplicate in settings
- Go to Settings → User Settings
- Enable "Allow Duplicate Phone"
- Enable "Allow Duplicate NID"
- Useful for family accountsIssue 4: Invalid Phone/Identity Format
Problem:
Error: Invalid Phone or Identity Number Format!Cause:
Format validation enabled in settings
Phone/Identity doesn't match required formatSolution:
1. Check country-specific format
2. Include country code for phone
3. Use proper identity format
4. Examples:
Phone: +8801712345678 ✅
Phone: 123 ❌
Identity: 1234567890123 ✅
Identity: 123 ❌Issue 5: Cannot Create Certain Profile Types
Problem:
Profile type option not showing
Or automatically changed after submitCause:
Automatic profile type assignment based on creatorSolution:
Understand hierarchy rules:
- Reseller can only create: Subreseller, Reseller Staff
- Subreseller can only create: Retailer, Subreseller Staff
- Retailer can only create: Retailer Staff
If you select wrong type, system auto-corrects:
- Reseller selects "Reseller" → Creates "Subreseller"
- Subreseller selects "Subreseller" → Creates "Retailer"Best Practices
1. Profile Type Selection
Before Creating:
✅ Understand user hierarchy
✅ Know what user will do
✅ Plan reseller network
✅ Consider permissions neededProfile Type Guidelines:
✅ Admin Staff: Internal team members
✅ Reseller: Main distributors
✅ Subreseller: Secondary distributors
✅ Retailer: Direct sellers
✅ Staff: Helper accounts2. Role Assignment
Role Selection:
✅ Always match Profile Type
✅ Create roles before users
✅ Test roles first
✅ Document role permissionsAvoid:
❌ Mismatched profile and role types
❌ Overly permissive roles
❌ Generic role names3. Username Convention
Best Practices:
✅ Use consistent format
✅ Include user type prefix
✅ Keep it professional
✅ Make it memorableExamples:
✅ "reseller_john"
✅ "sub_jane"
✅ "retail_mike"
✅ "staff_sarah"4. Password Security
Requirements:
✅ Minimum 8 characters
✅ Mix of upper/lowercase
✅ Include numbers
✅ Add special characters
✅ Unique per userAvoid:
❌ Common passwords
❌ User's name
❌ Sequential numbers
❌ Reusing passwordsSummary
Add User is the foundation of multi-tier ISP management!
✅ Key Takeaways:
- Unified Interface - One page for all 8 profile types
- Smart Validation - Profile type and role type matching
- Automatic Hierarchy - System enforces proper structure
- Security First - Password hashing, duplicate prevention
- Format Validation - Phone and identity checking
- Activity Logging - All actions tracked
✅ Profile Types:
1. Admin
2. Admin Staff
3. Reseller
4. Subreseller
5. Retailer
6. Reseller Staff
7. Subreseller Staff
8. Retailer Staff✅ Critical Rules:
✅ Profile Type MUST match Role Type
✅ Username must be unique
✅ Email must be unique
✅ Phone/Identity unique (unless allowed)
✅ Cannot create Admin (already exists)✅ Best Practices:
✅ Plan hierarchy first
✅ Create roles before users
✅ Use consistent naming
✅ Strong passwords
✅ Validate contact info
✅ Document user structurePerfect for ISPs with multi-tier reseller networks! 🚀
