Comprehensive Ticketing System Development
💰 USD 250–750
👤 Unknown
🕒 9d ago
status: new
Required Skills
PHP
Data Processing
Software Architecture
CRM
Inventory Management
MySQL
Laravel
Vue.js
RESTful API
Billing
Project Description
mydomain.com → Main website
psa.mydomain.com.com → Internal PSA
portal.mydomain.com.com → Customer portal
api.mydomain.com.com → API
Ticket Workflow Requirements
1. Ticket Creation Workflow
When receiving a customer phone call:
* Create a new ticket
* Assign ticket number automatically
* Add customer information
* Add multiple contacts to the same ticket
* Add device information
* Add issue description
* Add diagnostic service automatically or manually
Once the ticket is created:
* Customer should receive email confirmation
* Email should include:
* Ticket number
* Ticket details
* Calendar invite
* Company contact information
2. Ticket Tabs Structure
Each ticket should contain multiple tabs
Required tabs:
A. Overview
* Ticket summary
* Status
* Priority
* Assigned technician
* Dates
* Billing summary
B. Notes
Two note types:
1. General Notes
* Visible to customer
* Included on final invoice
* Sent via email updates if selected
2. Internal Notes
* Visible only to internal staff
* Never shown to customer
* Never included on invoices
C. Services
* Add labor/services to ticket
* Hourly or flat-rate services
* Service categories
* Service pricing
* Diagnostic fees
* Taxable/non-taxable options
D. Inventory / Parts
* Add products from inventory
* Automatically deduct inventory quantity
* Link products to ticket number
* Restore inventory if item removed from ticket
E. Contacts
* Multiple contacts per ticket
* Contact role/title
* Phone/email
F. Credentials
Store customer technical information:
* Computer credentials
* Router passwords
* WiFi credentials
* Device login information
* Remote access details
Credentials must be encrypted in database.
G. Attachments
* Photos
* Documents
* Screenshots
* PDFs
H. Billing
* Invoices
* Payment history
* Payment status
* Balance due
3. Diagnostic Fee Workflow
Workflow example:
* Diagnostic fee = $10
* Standard repair service = $30
Process:
A.
When ticket is created:
* Add diagnostic service to ticket
* Generate invoice immediately
* Send payment link to customer
B.
Payment methods:
* Online payment link
* Phone payment
* Manual payment marking
C.
Once payment received:
* Diagnostic service automatically marked PAID
D.
Ticket remains OPEN while work is performed.
E.
When repair completed:
* Add final labor/service charge
* PSA automatically deduct previously paid diagnostic fee
Example:
* Service charge = $30
* Diagnostic already paid = $10
* Remaining labor = $20
F.
If additional products/parts used:
* Add product costs automatically
Example:
* Remaining labor = $20
* Parts used = $50
* Final invoice total = $70
All calculations should happen automatically.
4. Inventory Workflow
Inventory must support:
* Product categories
* Quantity tracking
* Cost price
* Selling price
* Supplier/vendor
* SKU/part number
When product added to ticket:
* Inventory quantity decreases automatically
* Ticket number linked to inventory movement
When product removed from ticket:
* Inventory quantity restored automatically
Inventory history should show:
* Which ticket used item
* Date used
* Technician
* Quantity used
5. Final Invoice Generation
When closing ticket:
PSA should automatically generate final invoice including:
* All billable services
* Hourly labor
* Flat-rate labor
* Diagnostic deduction
* Products/parts used
* Taxes
* General notes
* Work performed summary
Invoice should:
* Be PDF format
* Use invoice template
* Be emailed automatically to customer
6. Email & Communication Workflow
When ticket created:
* Customer receives ticket email
When ticket updated:
* Customer receives update email
When technician adds customer-visible note:
* Email sent automatically
If customer replies by email:
* Reply should appear inside ticket notes automatically
Email threading should match by:
* Ticket number
* Email subject
7. Ticket Status Automation
Required statuses:
* New
* Open
* Waiting Customer Reply
* Customer Replied
* In Progress
* Pending Parts
* Resolved
* Closed
Automation rules:
A.
If technician sends customer question:
* Status automatically changes to:
Waiting Customer Reply
B.
If customer replies by email:
* Status automatically changes to:
Customer Replied
C.
If technician starts work:
* Status changes to:
In Progress
D.
If final invoice paid:
* Ticket can be marked Closed
8. Dashboard Requirements
Main dashboard should display:
* Open tickets
* Waiting customer reply
* Customer replied tickets
* Tickets by priority
* Unpaid invoices
* Revenue summary
* Low inventory alerts
* Recent activity
9. Time Tracking & Billing
Support:
* Hourly billing
* Flat-rate billing
Hourly billing:
* Track hours/minutes
* Automatic calculation
Flat-rate billing:
* Fixed service amount
Final invoice should calculate automatically based on:
* Labor
* Parts
* Taxes
* Discounts
* Previous payments
10. Security Requirements
Credentials tab must:
* Encrypt passwords
* Restrict visibility
* Log access history
All customer data must:
* Use SSL
* Have daily backups
* Include audit logging
11. Customer Portal
Customers should be able to:
* View ticket updates
* Reply to tickets
* Pay invoices
* Download invoices
* View ticket history
* Upload attachments
12. Future Expansion
System should be designed modularly so future features can be added later without rebuilding system.
Notes:
Any additional feature ideas or improvements you’d recommend are greatly appreciated. I’m always open to enhancements that can make the project even better.