Client For:
Internal Product / Enterprise Use
Services:
Ticketing CRMJob ManagementVendor ManagementSLA TrackingIn-Portal ChatApproval WorkflowPayment RequestsReal-Time NotificationsRole-Based AccessCustom Web Development
(Private/Internal Deployment)
Overview
This Ticketing CRM streamlines the full workflow of job creation → vendor search/assignment → visit tracking → approvals & payments, with separate Admin and User dashboards.
Admin adds jobs with store details and SLA time; Users review job details, find suitable vendors as per work scope, and align them. A built-in in-portal chat enables real-time discussions between user and admin on a job/vendor level.
Users can raise vendor visit requests (initial/final) and payment requests; Admin can approve/reject based on conversation history and artifacts. Extras include browser push notifications, activity logs, and role-based access.
Built with HTML, CSS, JavaScript, PHP, MySQL, AJAX, and jQuery for a responsive, fast, and reliable experience.
Challenges
This project presented several unique challenges that required innovative solutions and careful
planning to overcome. Here's a detailed breakdown of the key challenges and how they were addressed.
Accurate SLA tracking across multiple job stages:
Challenge:
Jobs move through discovery, vendor alignment, visits, and payments—each with its own deadline/SLA. Missing a stage should update status and alerts automatically.
Solution:
Implemented an SLA engine in PHP/MySQL with timer fields and cron/async checks. Auto status changes, escalation flags, and priority labels trigger browser notifications and dashboard badges.
Matching the right vendor to each job’s scope:
Challenge:
Users needed a quick way to shortlist vendors by skills, region, availability, and past performance from job details.
Solution:
Built a vendor matching module with filterable lists, vendor profiles, and rating history. AJAX search + paginated results deliver fast shortlisting; alignment is logged to the job timeline.
Contextual communication without leaving the ticket:
Challenge:
Conversations had to be tied to a specific job and vendor so approvals could rely on the exact discussion history.
Solution:
Developed a threaded chat (job_id + vendor_id scoping) with attachments, read receipts, and timestamps. Messages are stored relationally for auditability and shown in an inline panel on the job view.
Structured requests with clear approve/reject trails:
Challenge:
Users submit visit requests (initial/final) and payment requests. Admin needs evidence and a clean approve/reject path tied to the chat and job.
Solution:
Created request forms with required artifacts (notes, images, docs), routed to Admin with one-click approve/reject, auto-notifications, and a tamper-proof history (who/when/why).
Live updates without heavy reloads:
Challenge:
Frequent polling could slow the app; users still needed real-time feel for chats, SLAs, and approvals.
Solution:
Used AJAX polling with smart intervals and lightweight JSON endpoints; selective partial refresh for chat panels, counters, and notifications. Optimized queries and added indexed tables for speed.
Results/Conclusion:
Faster turnaround: SLA engine + notifications reduced missed deadlines and sped up approvals.
Better vendor fit: Matching filters improved first-time-right vendor assignments.
Clear audit trail: Contextual chat and request histories simplified dispute resolution.
Higher productivity: Separate dashboards and role-based access cut navigation time and manual follow-ups.
Scalable foundation: Modular PHP/MySQL architecture supports adding new request types, reports, and integrations.