Navigation Paths:
• Website Expiration:
• Plugin Expiration:
• Website Expiration:
/admin/WebsiteExpire• Plugin Expiration:
/admin/PluginExpireOverview
The Service Expiration Management system helps you track websites and plugins approaching expiration, contact customers for renewals, and manage the renewal process efficiently.Expiring Websites
Track free/trial websites expiring
Expiring Plugins
Track paid plugins expiring
Renewal Management
Process renewals
Service Types
- Website Expiration
- Plugin Expiration
Free & Trial WebsitesTracks websites with free or trial packages approaching expiration.What Gets Tracked:
- Free/trial websites (
app_price = 0) - Have an expiration date set
- Within configured alert window (default: 30 days)
- Require renewal or upgrade to paid plan
- Paid websites
- Websites without expiration
- Internal/admin websites
- Forever/lifetime packages
Website Expiration Management
Statistics Dashboard
Expiration Overview:| Metric | Description | Badge Color |
|---|---|---|
| Total Websites | All websites in expiration window | Primary (Blue) |
| Already Expired | Websites past expiration date | Danger (Red) |
| Expiring Soon | Websites expiring within 15 days | Warning (Yellow) |
| No Contact | Customers not yet contacted | Info (Cyan) |
Website List Columns
| Column | Information |
|---|---|
| ID | Sequential number |
| Website & Owner | Domain, owner avatar, name, and management links |
| Expiration Date | Expiration date and days remaining/overdue |
| Package | Package name and status badge |
| Contact Status | Contact history and notes |
Expiration Timeline
- Active: More than 15 days remaining (Green)
- Expiring Soon: 8-15 days remaining (Yellow)
- Critical: 1-7 days remaining (Red)
- Expired: Past expiration date (Red)
Plugin Expiration Management
Plugin List
Access at/admin/PluginExpire to see all plugins expiring within 30 days.
List Columns:
| Column | Information |
|---|---|
| Plugin & Website | Plugin name, image, and target website |
| Version | Current version and available updates |
| Price & Expiry | Plugin price, renewal type, and expiration date |
| Actions | Renew plugin button |
Plugin Information Displayed
Plugin Details:- Plugin name and icon/image
- “Expiring Soon” status badge
- Link to App Store listing
- Target website domain
- Link to Website Manager
- Current: Installed plugin version
- Available: Latest version (if update available)
- Update warning if newer version exists
- Plugin price
- Renewal type (Monthly/Yearly/Forever)
- Expiration date
- Color-coded urgency:
- Warning (Yellow): Expiring within 30 days
- Danger (Red): Expiring within 1 month
Managing Website Expiration
Contact Statuses
| Status | Description | When to Use |
|---|---|---|
| No Contact Yet | Customer not contacted | Default status |
| Contacted | Customer has been reached | After successful contact |
| Refused Renewal | Customer declined to renew | Customer won’t renew |
Viewing Contact Details
No Contact Status:- Red warning icon
- “No Contact Yet” badge
- “Click to update status” prompt
- Green check icon
- Contact notes displayed
- Caller name and timestamp
- Truncated notes (hover for full text)
Managing Customer Contacts
Contacting Customers
- Click on website row to open details modal
- Review customer and website information
- Contact customer via:
- Phone call (click phone button)
- Other communication method
- Update contact status after interaction
Recording Contact Outcome
In Website Details Modal:-
Contact Notes Section:
- Enter detailed notes about the conversation
- Include customer’s response
- Note any commitments or follow-ups
- Record renewal decision
-
Contact Status Selection:
- Select appropriate status
- Options depend on outcome
- Status updates automatically
-
Save Contact Information:
- Click update button
- Contact history saved
- Status updated in list
- Timestamp recorded
Website Details Modal
Information Displayed
Website Information:- Domain name with external link
- Package type and status
- Creation date
- Expiration date
- Renewal price
- Customer name and avatar
- Email address (clickable)
- Phone number (clickable to call)
- Zalo contact button
- Total websites owned
- Account creation date
- Contact notes text area
- Contact status dropdown
- Update button
- Contact history table (if exists)
Contact History
History Table Columns:- Caller: Who contacted the customer
- Call Time: Date and time of contact
- Status: Contact outcome
- Note: Detailed notes from interaction
- See all previous contact attempts
- Understand customer journey
- Avoid duplicate contacts
- Track renewal discussions
- Improve follow-up strategy
Managing Plugin Renewals
Plugin Renewal Process
Renewing Expiring Plugins:- Review plugin list at
/admin/PluginExpire - Identify plugins expiring within 30 days
- Click Renew Plugin button on plugin row
- Plugin renewal modal opens
Plugin Renewal Modal
Modal Information:- Plugin name display
- Plugin icon/image
- Renewal confirmation notice
- Feature update alert
- Close button
- Automated renewal temporarily unavailable
- Manual renewal required
- Contact support for assistance
- Feature being enhanced
Search Functionality
Plugin Search:- Search by plugin name
- Real-time filtering
- Results update as you type
- Case-insensitive search
- Type plugin name in search box
- Results filter automatically
- Clear search to see all plugins
- Pagination available for large lists
Search & Filter (Websites)
Search Options
Search By:- Domain: Website domain name
- Website ID: Specific website ID
- Owner Email: Customer email address
- Owner Phone: Customer phone number
- Select search type from dropdown
- Enter search keywords
- Results filter automatically
- Clear to see all results
Filter Options
Contact Status Filter:- No Agreement: Customers not yet contacted
- Refused Renewal: Customers who declined
- 20 items (default)
- 30 items
- 50 items
Sorting
Click Expiration Date column header to sort:- Ascending: Soonest expiring first
- Descending: Latest expiring first
- Active sort shown with arrow icon
Renewal Workflow
Standard Renewal Process
1. Identification (15+ days before expiration):- Website appears in expiration list
- Review customer history
- Check previous renewals
- Note package and pricing
- Contact customer
- Explain expiration date
- Present renewal options
- Quote renewal price
- Record contact notes
- Customer requested callback
- Send reminder email
- Provide payment options
- Answer questions
- Customer Agrees:
- Process payment
- Extend expiration date
- Send confirmation
- Update contact status
- Customer Declines:
- Mark as “Refused Renewal”
- Document reason
- Schedule future follow-up
- Prepare for expiration
- Website expires
- Access may be suspended
- Data retention period begins
- Final renewal opportunity
Best Practices
Proactive Contact
Proactive Contact
- Contact customers 10-15 days before expiration
- Don’t wait until last minute
- Multiple contact attempts if needed
- Use preferred contact method
- Be professional and helpful
- Explain value of renewal
- Offer flexible payment options
Communication Strategy
Communication Strategy
- Personalize communication
- Reference customer’s website specifically
- Highlight website usage/traffic
- Emphasize value received
- Present upgrade opportunities
- Be understanding of budget concerns
- Offer payment plans if possible
Record Keeping
Record Keeping
- Document every contact attempt
- Record customer’s exact response
- Note objections and concerns
- Track promises made
- Document follow-up dates
- Keep notes professional
- Update status immediately
Renewal Incentives
Renewal Incentives
- Offer early renewal discounts
- Provide upgrade incentives
- Bundle multiple services
- Loyalty rewards for long-term customers
- Flexible payment terms
- Value-added services
- Referral bonuses
Plugin Renewal Management
Plugin Renewal Management
- Monitor plugins expiring within 30 days
- Contact customers proactively
- Explain plugin value and benefits
- Highlight features they’re using
- Offer bundle deals with other plugins
- Provide upgrade paths to premium versions
- Ensure smooth renewal process
- Follow up on renewal confirmations
Troubleshooting
Website Not Showing in List
Website Not Showing in List
Issue: Website should be expiring but not in listSolutions:
- Check if website has expiration date set
- Verify website is free/trial (app_price = 0)
- Check if within expiration window
- Verify website has package assigned
- Check search filters
- Refresh the page
- Review database records
Cannot Update Contact Status
Cannot Update Contact Status
Issue: Unable to save contact informationSolutions:
- Fill in contact notes
- Select contact status
- Check internet connection
- Verify permissions
- Refresh page and try again
- Clear browser cache
- Try different browser
Expiration Date Incorrect
Expiration Date Incorrect
Issue: Wrong expiration date displayedSolutions:
- Check website database record
- Verify expiration date field
- Check for recent renewals
- Review order history
- Manually update if needed
- Check timezone settings
- Contact technical support
Customer Already Contacted Alert
Customer Already Contacted Alert
Issue: System shows customer being contacted by another userSolutions:
- Coordinate with other team member
- Check if contact is recent
- Verify contact status
- Wait for other user to finish
- Admin can override if needed
- Move to next customer
- Schedule callback
Plugin Renewal Not Working
Plugin Renewal Not Working
Issue: Cannot renew plugin automaticallySolutions:
- Note: Feature is currently being updated
- Contact support for manual renewal
- Provide plugin ID and customer details
- Check back later for automated feature
- Verify plugin is still active
- Confirm customer wants to renew
- Process renewal manually through admin panel
Plugin Not in Expiration List
Plugin Not in Expiration List
Issue: Plugin should be expiring but not shownSolutions:
- Verify plugin price is greater than 0
- Check if plugin expires within 30 days
- Ensure plugin is not deleted
- Verify renewal type is not “forever”
- Check search filters
- Refresh the page
- Review database records
Expiration Notifications
Automated Notifications
System Notifications:- Customers receive expiration reminders
- Sent at configured intervals
- Include renewal instructions
- Provide payment options
- Link to customer portal
- 15 days before expiration
- 7 days before expiration
- 3 days before expiration
- 1 day before expiration
- On expiration day
Notification Configuration: Expiration notifications are managed by the system’s automated cron tasks. Check ScheduledTasks.php for notification settings.
Reporting & Analytics
Key Metrics to Track
Renewal Performance:- Renewal rate percentage
- Average renewal time
- Revenue from renewals
- Lost revenue from non-renewals
- Contacts per renewal
- Conversion rate by contact method
- Best contact times
- Most effective messaging
- Common objections
- Price sensitivity
- Upgrade rate
- Churn reasons
Improving Renewal Rates
Strategies:- Earlier contact (15+ days)
- Multiple contact methods
- Personalized messaging
- Value demonstration
- Flexible pricing
- Upgrade incentives
- Excellent support
Quick Reference
Common Actions - Websites
| Action | Steps |
|---|---|
| View Expiring Sites | Navigate to /admin/WebsiteExpire |
| Search Website | Select search type → Enter keywords |
| Filter by Status | Select contact status filter |
| Contact Customer | Click row → Review details → Call/Email |
| Update Status | Open details → Add notes → Select status → Update |
| Sort by Expiration | Click Expiration Date header |
Common Actions - Plugins
| Action | Steps |
|---|---|
| View Expiring Plugins | Navigate to /admin/PluginExpire |
| Search Plugin | Type plugin name in search box |
| Renew Plugin | Click Renew Plugin button → Contact support |
| View Plugin Details | Click plugin name → App Store listing |
| View Website | Click website domain → Website Manager |
Expiration Timeline
| Days Remaining | Status | Priority | Action |
|---|---|---|---|
| 30+ days | Active | Low | Monitor |
| 15-30 days | Approaching | Medium | Prepare contact |
| 8-14 days | Expiring Soon | Medium | First contact |
| 1-7 days | Critical | High | Urgent follow-up |
| 0 days | Expired | Critical | Final opportunity |
| Negative | Overdue | Critical | Suspension pending |