| Server IP : 103.175.220.74 / Your IP : 216.73.216.151 Web Server : nginx/1.18.0 System : Linux p-floo-wj1-db 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : deploy ( 1003) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/app/onega.id/erp/production/ |
Upload File : |
# Support Module Analysis
## Module Overview
The Support module is a customer-facing support ticketing system for managing customer inquiries, complaints, and support requests. It provides customers with a centralized platform to report issues, track status, and communicate with the support team.
## Module Structure
```
Modules/Support/
├── Actions/ (4 action classes)
│ └── ...
├── Entities/
│ ├── Ticket.php (Support tickets)
│ └── TicketAttachment.php (Supporting documents)
├── Http/
│ ├── Controllers/
│ │ ├── SupportController.php
│ │ └── API/
│ ├── Requests/V1/
│ └── Resources/V1/
├── Routes/
│ ├── web.php
│ ├── api.php
│ ├── mobile.php (Customer mobile app)
│ └── ...
├── Database/
│ └── Migrations/
├── Tests/
├── Providers/
│ ├── RouteServiceProvider.php
│ └── SupportServiceProvider.php
└── Config/config.php
```
## Entity Relationships Diagram
```mermaid
erDiagram
TICKET ||--o{ TICKET-ATTACHMENT : has
TICKET }o--|| CUSTOMER : "from"
TICKET }o--|| USER : "assigned_to"
TICKET }o--|| STATUS : "status"
TICKET }o--|| CATEGORY : "category"
TICKET }o--|| PRIORITY : "priority"
TICKET-ATTACHMENT }o--|| TICKET : "for"
CUSTOMER ||--o{ TICKET : "creates"
```
## Core Workflows
### 1. Support Ticket Creation Workflow
```
Customer Reports Issue → Create Support Ticket → Auto-send Confirmation →
Assign to Support Team → Customer Receives Ticket Number →
Track Ticket Status
```
### 2. Support Resolution Workflow
```
Support Agent Reviews Ticket → Gather More Information →
Investigate & Troubleshoot → Provide Solution →
Customer Confirms Resolution → Close Ticket → Archive
```
### 3. Escalation Workflow
```
Unresolved Ticket → Support Manager Reviews →
Escalate to Engineering → Engineering Investigation →
Resolution & Communication → Close Ticket
```
## Key Entities Description
| Entity | Purpose | Key Fields |
|--------|---------|-----------|
| **Ticket** | Customer support ticket | ticket_number, customer_id, title, description, category, priority, status, assigned_to, created_at, resolved_at, resolution_notes |
| **TicketAttachment** | Supporting documents/screenshots | ticket_id, file_path, file_type, uploaded_at |
## Controllers
| Controller | Responsibilities |
|------------|------------------|
| **SupportController** | Ticket creation, management, resolution, customer communication |
## Ticket Categories
Common support categories:
- Product Issues
- Technical Problems
- Account Management
- Billing Issues
- Feature Requests
- General Inquiries
- Bug Reports
- Documentation
## Priority Levels
```
Critical: System/Service Down, Multiple Customers Affected
High: Major Impact, Workaround Not Available
Medium: Partial Impact, Workaround Available
Low: Minor Impact, Cosmetic Issues
Enhancement: Feature Requests, Improvements
```
## Status Flow
```
New → Open → In Progress → Awaiting Customer →
Awaiting Support → Escalated → Resolved → Closed → Archived
```
## Key Features
1. **Self-Service Portal**: Customer can create and track tickets
2. **Ticket Tracking**: Reference number for tracking
3. **Attachment Support**: Upload files, screenshots, logs
4. **Category Management**: Organize by ticket type
5. **Priority Levels**: Urgent vs routine handling
6. **Assignment**: Distribute to support agents
7. **Status Tracking**: Real-time ticket status visibility
8. **Communication**: Two-way communication with comments
9. **Escalation**: Route to specialists if needed
10. **SLA Management**: Response and resolution time targets
11. **Knowledge Base**: Link to FAQs and solutions
12. **Notifications**: Email and in-app notifications
## SLA Targets
```
Critical: Response within 1 hour, Resolution within 4 hours
High: Response within 2 hours, Resolution within 8 hours
Medium: Response within 4 hours, Resolution within 24 hours
Low: Response within 8 hours, Resolution within 48 hours
Enhancement: Response within 48 hours, No resolution SLA
```
## Integration Points
- **Sales Module**: Customer information from sales orders
- **Core App**: User management, notifications, email
- **Marketing Module**: Customer feedback for product improvement
- **Knowledge Base**: Link to FAQ and documentation
## Customer Communication
- Email notifications on ticket status change
- In-app messages
- Ticket history and comments
- Auto-response on ticket creation
- Status updates
- Resolution confirmation
## Support Metrics & KPIs
- Average Response Time
- Average Resolution Time
- First Contact Resolution Rate
- Customer Satisfaction Score (CSAT)
- Net Promoter Score (NPS)
- Ticket Volume by Category
- SLA Compliance Rate
- Agent Productivity
- Repeat Tickets Rate
- Customer Effort Score (CES)
## Ticket Routing
```
Automatic Assignment:
├── By Category
├── By Priority
├── By Support Agent Availability
├── By Skill Set
└── Round-Robin
```
## Knowledge Base Integration
- Link tickets to knowledge articles
- Auto-suggest solutions based on category
- Update KB based on common issues
- Training reference for support agents
## Reporting Features
- Open tickets by priority
- Tickets by category
- Resolution time analysis
- Agent performance metrics
- Customer satisfaction trends
- SLA compliance reports
- Common issue identification
- Trend analysis
## Escalation Process
```
Level 1: Support Agent
↓ (If unresolved after 2 hours)
Level 2: Support Manager/Senior Agent
↓ (If unresolved after 4 hours)
Level 3: Engineering/Product Team
↓ (If unresolved after 8 hours)
Executive Escalation
```
## Customer Self-Service
- Self-service knowledge base
- FAQ section
- Common solutions library
- Ticket search/history
- Status tracking
- Community forum (optional)
## Dashboard Components
```
Support Dashboard:
├── Open Tickets Count
├── Tickets by Status
├── High Priority Tickets
├── Overdue Tickets
├── Unassigned Tickets
├── Agent Workload
├── Average Response Time
├── Recent Resolved Tickets
├── Customer Satisfaction
└── SLA Status
```
## Best Practices
1. **Fast Response**: Acknowledge tickets immediately
2. **Detailed Investigation**: Gather all relevant information
3. **Clear Communication**: Explain solutions in simple terms
4. **Proactive Updates**: Keep customers informed
5. **Documentation**: Document issues and solutions
6. **Feedback**: Request satisfaction feedback
7. **Follow-up**: Check if customer issue is truly resolved
8. **Knowledge Management**: Update KB with new solutions
9. **Prevention**: Identify and prevent recurring issues
10. **Continuous Improvement**: Analyze metrics and improve processes
## Mobile App Features
- Report issues from mobile
- View ticket status on-the-go
- Receive notifications
- Upload images/files
- Track ticket history
- Rate support experience
## Customer Satisfaction Measurement
- Post-resolution survey
- CSAT score tracking
- NPS calculation
- Issue resolution effectiveness
- Agent performance rating
- Overall support experience rating
## Ticket Lifecycle
```
Creation (Customer Reports)
↓
Assignment (Route to Support)
↓
Investigation (Gather Information)
↓
Resolution (Provide Solution)
↓
Confirmation (Customer Confirms)
↓
Closure (Close Ticket)
↓
Follow-up (Check Satisfaction)
↓
Archive (Historical Record)
```