1. System Overview
The Morais Tech Space Support Ticketing / Facility Management System is an enterprise-grade web application built to streamline operations and maintenance requests for office occupants and facility management teams across 24 office units (G03 to G28) plus dining and common amenity spaces.
MEP & IT
Mechanical, Electrical, Plumbing, HVAC cooling, and IT network operations with rapid dispatch.
House Keeping
Restroom maintenance, consumables refilling, spills response, and cafeteria hygiene.
Pest Control
High-priority rodent eradication, insecticide treatments, and preventative building pest audits.
2. Technology Stack
| Layer | Technology / Library | Purpose & Details |
|---|---|---|
| Backend Framework | Laravel 12 |
PHP 8.4 modern backend architecture, Form Requests, Policies, and Events |
| Database | MySQL 8 / InnoDB |
Pessimistic locking for atomic sequential ticket numbering (TS-YYYY-NNNNNN) |
| Access Control (ACL) | spatie/laravel-permission |
Role-based access across 6 distinct roles and 23 granular permissions |
| Frontend Architecture | Laravel Blade + AJAX |
Bootstrap 5.3, Vanilla CSS design tokens (techspace.css), jQuery 3.7 |
| Interactive UI | Select2 & SweetAlert2 |
Searchable dropdowns, confirm dialogs, and modal reopen prompts |
| Data & Charts | DataTables & Chart.js 4 |
Client/server data filtering, department breakdown doughnut & trend bar charts |
| Report Exports | DomPDF & Native CSV |
Printable PDF executive ticket reports and streamed CSV datasets |
3. Roles & Permissions
The system provides strict role-based authorization using Spatie Permission middleware:
| Role Identifier | Role Title | Scope & Authorization Summary |
|---|---|---|
super_admin |
Super Administrator | Full system control, master configurations, SLA policies, database auditing, and security settings. |
admin |
Facility Administrator | Triage incoming tickets, assign departments/technicians, manage master data, and export analytics. |
department_manager |
Department Manager | View department tickets, delegate tasks to technicians, monitor SLA timers, and post internal notes. |
technician |
Technician / Staff | Acknowledge assigned jobs, update work status (In Progress, On Hold, Resolved), add internal logs. |
user |
Tenant / Occupant | Occupant portal: create tickets, view progress, post public messages, confirm resolution, reopen. |
management |
Executive Management | Read-only dashboard, monthly KPI trends, technician SLA compliance statistics, and report exports. |
4. Default Accounts & Credentials
| Account Role | Email Login | Default Password | First-Login Policy |
|---|---|---|---|
| Super Admin | superadmin@techspace.com |
Admin@1234 |
Force Password Change |
| Facility Admin | admin@techspace.com |
Admin@1234 |
Force Password Change |
| Demo Tenant User | user@techspace.com |
User@1234 |
Direct Access |
5. Seeded Technicians Directory
Pre-configured technician accounts ready for assignment triage (Password: Staff@1234):
| Department | Staff Name | Role | Mobile | |
|---|---|---|---|---|
| MEP & IT | Ramesh Kumar | ramesh.mep@techspace.com |
Technician (Senior MEP) | +91 98401 12345 |
| MEP & IT | Suresh Nair | suresh.elec@techspace.com |
Technician (Electrical & HVAC) | +91 98402 23456 |
| MEP & IT | Karthik Raja | karthik.it@techspace.com |
Technician (IT & Network) | +91 98403 34567 |
| MEP & IT | Praveen Varma | praveen.mgr@techspace.com |
Department Manager | +91 98404 45678 |
| House Keeping | Anitha Devi | anitha.hk@techspace.com |
Department Manager | +91 98405 56789 |
| House Keeping | Murugan S | murugan.hk@techspace.com |
Technician (Lead Cleaning) | +91 98406 67890 |
| House Keeping | Lakshmi Priya | lakshmi.hk@techspace.com |
Technician (Pantry & Restrooms) | +91 98407 78901 |
| Pest Control | Vijay Shankar | vijay.pest@techspace.com |
Technician (Pest & Rodents) | +91 98408 89012 |
| Management | Deepak Sundaram | deepak.ops@techspace.com |
Operations Manager | +91 98409 90123 |
6. Complete Ticket Lifecycle
Ticket Submission by Occupant
Occupant selects Office (G03–G28, Cafeteria, Conference) → Category → Issue. Suggested priority auto-fills. System invokes TicketNumberService to atomically generate TS-2026-000001 via DB locks.
Triage & Technician Assignment
Admin receives automated alert, opens assignment modal, and selects department & technician. Status transitions from open → assigned.
Work Execution & Hold Pausing
Technician updates status to in_progress (captures first response timestamp). If awaiting spare parts, status moves to on_hold, which completely freezes the SLA timer.
Resolution by Technician
Technician marks ticket resolved with closure notes. Queued notification dispatched to tenant to inspect the repair.
Occupant Confirmation or Reopen
Occupant reviews work: if satisfied, clicks Confirm & Close (status → closed). If problem persists, clicks Issue Not Fixed (Reopen) with reason (status → reopened).
7. Fixed Service Hierarchy
Exact mapping of all 3 departments, 7 categories, and 31 issues:
| Department | Category | Issues & Suggested SLA Priority |
|---|---|---|
| MEP & IT | Mechanical | Door Closure – wash room Medium • Door Closure – Office area Medium • Chair repair Low • Workstation in between partition Low • Bain-marie Machine Medium • Coffee Machine Medium • Induction machine Medium • Water Cooler Medium |
| Electrical | Switch Loose Connection Medium • Electrical Tripping High • Smoke from switch/ Electrical equipment Critical • Lights not working Medium | |
| Plumbing | Blockage in water line – Inlet High • Blockage in water line – Outlet High • Water not flowing in Taps / Health faucet Medium • Flush tank Medium | |
| HVAC | AC Temperature Medium • Ac remote not working Low • AC water leaking High | |
| IT | LAN Port Medium • Biometric access High • Conference room TV connectivity Medium • Fiber link connectivity Critical • Turnstile machine High | |
| House Keeping | House Keeping | Wash Room Cleaning (Gents) High • Wash room Cleaning (Ladies) High • Water Spill Medium • Consumables refilling Low • Wash room Exhaust Fan Medium • Café Table spill cleaning Medium |
| Pest Control | Pest Control | Rat issue Critical |
8. Service Level Agreements (SLA)
Priority SLA Thresholds
| Priority Level | Target Response Time | Target Resolution Time | Hold Pausing Policy |
|---|---|---|---|
| Critical | 15 minutes | 2 hours | Enabled (Timer halts when On Hold) |
| High | 30 minutes | 4 hours | Enabled (Timer halts when On Hold) |
| Medium | 2 hours | 8 hours | Enabled (Timer halts when On Hold) |
| Low | 4 hours | 24 hours | Enabled (Timer halts when On Hold) |
Effective Due Time Formula
$effectiveResolutionDue = $ticket->resolution_due_at
->addMinutes($ticket->hold_duration_minutes)
+ ($ticket->isOnHold() ? now()->diffInMinutes($ticket->on_hold_at) : 0);
9. In-Page Modal CRUD & Pagination
All master administrative interfaces feature instant modal dialogs for both Create and Edit operations:
- No Redirection: Eliminates page reloads to
/createor/edit. - Dynamic Prefill: Clicking the edit button inspects HTML5 data attributes and immediately pre-populates fields, toggling the form method to
PUT. - Pagination: Standardized to strictly 10 items per page across all tables (Tickets, Departments, Categories, Issues, Offices, Users, Staff, Audit Logs).
- Interactive Filters: Search bars, status toggles, and department/category selectors.
10. Installation & Setup Guide
Step 1: Environment Configuration
APP_NAME="Morais Tech Space"
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=techspace
DB_USERNAME=root
DB_PASSWORD=
QUEUE_CONNECTION=database
Step 2: Migrations & Seeders
php artisan migrate --force
php artisan db:seed --force
php artisan storage:link
Step 3: Run Application
php artisan serve
11. Background Scheduler & Queues
The system requires the Laravel Scheduler to evaluate ticket SLA breaches every 5 minutes:
# Run scheduler in local development:
php artisan schedule:work
# Process queued email notifications:
php artisan queue:work
12. Automated Test Suite
14 feature and unit tests (53 assertions) validate end-to-end functionality:
php artisan test