# Façade Cleaning Operations Management Platform

**Software Requirements Specification (SRS)**  
Final Reference Version - Optimized for Development Teams

| Field | Value |
|---|---|
| Document Version | 1.0 - Final |
| Prepared For | Software Development Team |
| Client | DIAL - Delhi International Airport Ltd. |
| Scope | Terminal 2 (T2) & Terminal 3 (T3) |
| Date | April 2026 |
| Classification | Confidential |

---

## Executive Summary

This document is the consolidated Software Requirements Specification for the Façade Cleaning Operations Management Platform for IGI Airport, covering Terminal 2 and Terminal 3. It replaces all manual processes - attendance sheets, paper-based equipment logs, WhatsApp schedule sharing, and handwritten SLA forms - with a single integrated web and mobile application.

| Dimension | Summary |
|---|---|
| Modules Covered | 9 functional modules spanning Manpower, Equipment, Consumables, Scheduling, Site Mgmt, Compliance, Training, SOS, and Reporting |
| User Roles | 10 distinct roles from Super Admin to DIAL Client Representative |
| Platforms | Web portal (admin/management) + Mobile app (supervisors/operators) |
| Integrations | ERP, Biometric System, WhatsApp Business API, SMS Gateway, Cloud Storage |
| Penalties Tracked | ₹3,000/shift (absenteeism) · ₹5,000/day (equipment downtime >48 hrs) · ₹350/SLA point deducted |
| Timeline | ~21 weeks across 6 phases |
| Critical Gap | 10 open questions require client sign-off before development kickoff |

> 💡 **Recommendation:** Schedule a kick-off workshop with DIAL to resolve all 10 open gaps (Section 12) before starting development. Any delay in these answers directly extends the timeline.

---

## 1. Project Overview

### 1.1 Objectives

The platform digitizes all façade cleaning operations at IGI Airport T2 & T3, replacing fragmented manual processes with a unified web and mobile system. Core objectives:

- Real-time work planning, scheduling, and zone-wise resource allocation
- Centralized equipment/asset tracking with certificate compliance automation
- Full manpower lifecycle: registration, attendance, leave, reliever planning
- Consumables inventory with approval-based requisition and ERP sync
- SLA tracking with automatic penalty calculation and client reporting
- Instant SOS emergency reporting with escalation matrix
- Auto-generated reports (daily/weekly/monthly) in PDF/Excel/CSV
- Transparent group communication feed replacing informal WhatsApp groups

### 1.2 Scope of Services

| Service | Description |
|---|---|
| Façade Cleaning | Internal/external glass, ACP panels, frames, ceilings, skylights, canopies |
| Cobweb Cleaning | Entire building above 3 m height (inside); complete external cleaning |
| Dusting & Polishing | Pillars, danglers, signages, artifacts, AC grills, wall textures, moldings |
| High-Level Cleaning | Specialized equipment: scissor lifts, boom lifts, cradles, rolling towers |
| Ad-hoc Activities | Directed by DIAL representatives as and when required |

### 1.3 Key Stakeholders

| Stakeholder | Role | System Interaction |
|---|---|---|
| DIAL (Client) | Approves schedules, monitors SLAs, audits performance | Read-only dashboard + report receipt |
| Service Provider | Manages all operations, manpower, equipment, consumables | Full system access (role-based) |
| Project Manager | Overall oversight, client reporting, compliance governance | All modules R/W |
| Engineer | Equipment maintenance, technical oversight | Equipment + Compliance modules |
| Supervisors | Area-wise field supervision, daily execution, team coordination | Mobile app (primary user) |
| Operators | Skilled equipment operation | Mobile app - Schedule + Training |
| Operatives | Semi-skilled cleaning execution | Mobile app - Schedule + Training |
| Safety Officer | Safety compliance, incident management, training | Compliance + SOS + Training |
| Store Executive | Inventory management, equipment/consumables issuance | Consumables + Equipment modules |
| Field Executive | Field coordination, attendance marking for supervisors | Manpower + Schedule |
| Admin | HR, documentation, compliance administration | Manpower + Compliance + Training |

---

## 2. Functional Modules

### Module 1: Manpower Management

Centralized management of all personnel - registration, attendance tracking, leave management, reliever planning, and AEP pass compliance.

#### 2.1.1 Core Data Fields

| Field | Type | Required | Notes |
|---|---|---|---|
| Employee ID | Auto-generated | Yes | System-assigned unique identifier |
| Full Name / Father / Mother Name | Text | Yes | As per official documents |
| Date of Birth | Date | Yes | For age and medical compliance |
| Mobile Number | Number | Yes | Unique; used for login & notifications |
| Present & Permanent Address | Text | Yes | - |
| Designation | Dropdown | Yes | From manpower category master list |
| Category | Dropdown | Yes | Executive / Skilled / Semi-skilled |
| Medical Checkup Date | Date | Yes | Auto-alert before due date |
| Medical Due Date | Date | Yes | Auto-calculated + renewal alert |
| Medical Certificate | File Upload | Yes | PDF/Image stored in cloud |
| AEP Pass Issue & Due Date | Date | Yes | Auto-alert before expiry |
| AEP Pass Copy | File Upload | Yes | PDF/Image stored in cloud |
| Profile Photo | Image | Optional | - |
| Emergency Contact / Blood Group | Text | Recommended | Critical for on-site safety |
| Aadhaar / PAN Number | Text | Recommended | Statutory compliance |

#### 2.1.2 Attendance Workflow

| Who Marks | For Whom | Timing |
|---|---|---|
| Supervisors | Operators and Operatives under them | 15 mins before shift start |
| Field Executive | Supervisors, Admin, Store Executive | 15 mins before shift start |
| Engineer | Technicians | 15 mins before shift start |
| Project Manager | Self, Safety Officer, Field Officer, Engineer | 15 mins before shift start |

- Attendance statuses: Present · Absent · Week Off · Holiday
- Next-day expected attendance also recorded (Present/Absent) for advance reliever planning
- Planned leaves marked with date range; early departures recorded same day
- Notifications sent to all stakeholders immediately upon submission

> ⚠ **Penalty:** ₹3,000 per shift per person for absenteeism - auto-flagged in system for penalty workflow.

> 💡 **Recommendation:** Integrate biometric attendance via API for real-time sync and tamper-proof records. Also add geofencing to auto-mark attendance when employee enters the site boundary via GPS.

### Module 2: Equipment & Asset Tracking

Complete lifecycle tracking of all machinery, safety gear, and tools - from registration and certification to daily allocation, condition monitoring, and maintenance scheduling.

#### 2.2.1 Equipment Master Data

| Field | Type | Notes |
|---|---|---|
| Equipment ID | Auto-generated | System-assigned unique ID |
| Equipment Name & Type | Text / Dropdown | Machinery / Safety Equipment / Tool |
| Serial No., Manufacturer, Model | Text | All required for identification |
| Manufacturing Date & Expiry (MFG) | Date | MFG certificate upload mandatory |
| TPI Date & Valid Till | Date | 15-day advance auto-alert |
| TPI Certificate | File Upload | Mandatory; cloud stored |
| Terminal Location | Dropdown | T2 / T3 |
| Ownership | Dropdown | DIAL Owned / Service Provider Owned |
| Current Status | Dropdown | Available / Allocated / Under Maintenance / Unserviceable |
| SOP Document | File Upload | Optional - standard operating procedure |
| Rescue Plan Document | File Upload | Optional - emergency rescue protocol |
| Escalation Matrix | File Upload | Optional - chain of escalation for equipment failure |

#### 2.2.2 Daily Allocation Workflow

- Supervisor requests equipment/safety gear through app
- Store Executive allocates and records: Equipment ID · Date · Supervisor · Zone
- Supervisor marks condition at shift end: Good / Damaged / Lost
- Store Executive verifies and confirms return in system
- Auto-alerts sent 15 days before TPI or MFG certificate expiry

> ⚠ **Penalty:** ₹5,000/day for equipment unserviceable beyond 48 hours - auto-calculated and logged for invoice deduction.

> 💡 **Recommendation:** Add QR code scanning for instant equipment check-in/check-out. Enable predictive maintenance alerts using AI-based usage pattern analysis to reduce unexpected downtime.

### Module 3: Consumables Management

Approval-based inventory system for cleaning chemicals, tools, and PPE - with ERP integration, low-stock alerts, and daily issuance/return tracking.

#### 2.3.1 Consumables Master & Stock Movement

| Field | Type | Notes |
|---|---|---|
| Consumable ID | Auto-generated | Unique identifier |
| Item Name & Brand | Text | e.g., D-Series Chemical (Johnson Diversy), Window Squeegee |
| Unit | Dropdown | Ltr / Nos / Kg |
| Category | Dropdown | Chemical / Tool / Tackle / PPE |
| Minimum Stock Level | Number | Alert threshold - triggers low stock notification |
| Current Stock | Number | Auto-updated on every transaction |
| Transaction Type | Dropdown | Stock In / Stock Out / Return / Damage |
| Requested By / Approved By | Dropdown | Store Exec → Admin/Manager |
| Issued To / Area | Dropdown | Supervisor + Zone mapping |

#### 2.3.2 Requisition & Issuance Workflow

- Store Executive raises requisition with item, quantity, reason
- Admin / Manager approves - forwarded automatically to ERP upon approval
- Stock updated in system upon confirmed delivery from ERP
- Supervisor requests daily consumables → Store Exec issues and records
- Non-chemical items returned at shift end and marked returned
- Chemicals marked as consumed (no return expected)
- Low stock alert triggered automatically when below minimum level

> 💡 **Recommendation:** Add barcode/QR scanning for consumables to speed up daily issuance and returns. Establish auto-approval for requisitions below a defined value threshold (clarify amount with client).

### Module 4: Work Planning & Scheduling

Create, manage, and share cleaning schedules across zones and time horizons - from quarterly master plans down to auto-generated daily task assignments.

#### 2.4.1 Area/Zone Master

| Field | Type | Notes |
|---|---|---|
| Zone ID | Auto-generated | Unique |
| Terminal | Dropdown | T2 / T3 |
| Zone Name | Text | e.g., Apron Side, Arrival Forecourt, Departure Lounge |
| Sub-areas | Text | e.g., Pillars, Glass Panels, Canopies |

#### 2.4.2 Schedule Fields

| Field | Type | Notes |
|---|---|---|
| Schedule Name & Frequency | Text / Dropdown | Monthly / Quarterly / Half-yearly / Yearly |
| Start Date & End Date | Date | Full schedule period |
| Zone & Activity (per day) | Dropdown / Text | e.g., Glass Cleaning, Cobweb Removal |
| Equipment Required | Multi-select | From equipment master |
| Supervisors / Operators / Operatives Assigned | Multi-select | Per daily slot |
| Shift Timing | Text | e.g., 0900-1800 |
| Status | Dropdown | Draft / Approved / Active |

#### 2.4.3 Scheduling Workflow

- Admin creates master schedule for custom period (e.g., 3 months) with daily zone-activity-resource mapping
- Approved by Project Manager and/or DIAL Representative
- Day before: daily schedule auto-fetched, converted to PDF, shared via WhatsApp + push notification
- Supervisors view schedule on mobile app with full resource and zone details
- Dynamic edits allowed with approval workflow; all stakeholders notified on any change

> 💡 **Recommendation:** Add a calendar drag-and-drop view on web for easier rescheduling. Enable “Schedule Conflict Detection” to flag when a supervisor or equipment is double-booked across zones.

### Module 5: Site Management

Terminal/zone configuration, area-wise task tracking, and structured façade damage reporting with photographic evidence and closure workflows.

#### 2.5.1 Façade Damage Report Fields

| Field | Type | Notes |
|---|---|---|
| Report ID | Auto-generated | Unique |
| Date & Zone | Date / Dropdown | Required |
| Damage Type | Dropdown | Canopy / Glass / ACP / Louvers / Skylight / Frame / Other |
| Description | Text Area | Detailed description required |
| Photos | Image Upload | Multiple images; stored in cloud |
| Reported By | Auto | Current logged-in user (Supervisor) |
| Status | Dropdown | Open / Acknowledged / Closed |
| Acknowledged By & Remarks | Dropdown / Text | With timestamp |
| Closed Date | Date | Upon rectification confirmation |

- Supervisor reports damage with photos, zone, damage type, and description
- Report posted to internal group feed; tagged supervisor receives push notification
- Tagged supervisor acknowledges with remarks; closes after rectification confirmed
- All reports exportable to PDF for client sharing with DIAL

> 💡 **Recommendation:** Add GPS geolocation tagging to damage reports for precise location mapping. Add photo annotation feature allowing supervisors to draw/mark areas directly on uploaded images.

### Module 6: Compliance & Safety Tracking

Unified compliance dashboard for work permits, airside passes, SLA tracking, and safety inspections - with auto-alerts and automated penalty calculation.

#### 2.6.1 Compliance Documents Tracked

| Document Type | Key Fields | Alert Trigger |
|---|---|---|
| Work Permit - Landside | Issue Date, Valid Till, Document Copy, Status | 7 days before expiry |
| Work Permit - Airside | Issue Date, Valid Till, Document Copy, Status | 7 days before expiry |
| AVP (Airside Vehicle Permit) | Employee ID, Issue/Expiry Dates, Document Copy | 7 days before expiry |
| ADP (Airside Driving Permit) | Employee ID, Issue/Expiry Dates, Document Copy | 7 days before expiry |
| AEP Pass (Employee) | Issue Date, Expiry Date, Pass Copy | 7 days before expiry |
| Medical Certificate (Employee) | Checkup Date, Due Date, Certificate Copy | Auto-alert before due |
| Equipment MFG Certificate | MFG Date, Expiry Date, Certificate Copy | 15 days before expiry |
| Equipment TPI Certificate | TPI Date, Valid Till, Certificate Copy | 15 days before expiry |

#### 2.6.2 SLA Tracking Fields

| Field | Type | Notes |
|---|---|---|
| Date & Shift | Date / Dropdown | Morning / Evening / Night |
| Terminal | Dropdown | T2 / T3 |
| Inspected By (DIAL) | Text | DIAL representative name |
| SLA Document | File Upload | Signed SLA sheet - uploaded by Supervisor post-shift |
| Points Deducted | Yes/No | If yes, supervisor enters point count |
| Deduction Amount | Auto-calculated | Points × ₹350 |
| Remarks | Text Area | Optional context |

> ⚠ **Penalty:** SLA Penalty = Points Deducted × ₹350 - auto-calculated. Monthly SLA report consolidates total deductions for invoice reconciliation.

### Module 7: Training Management

End-to-end training lifecycle - from module creation and scheduling to attendance tracking, digital signatures, and DIAL compliance reporting.

| Field | Type | Notes |
|---|---|---|
| Module Name & Frequency | Text / Dropdown | One-time / Quarterly / Half-yearly / Yearly |
| Training Material | File Upload | PPT / PDF stored in cloud |
| Duration (Hours) | Number | Minimum 3 hrs/staff/month tracked system-wide |
| Session Date, Trainer, Location | Date / Text | Required per session |
| Attendees | Multi-select | Employee IDs - auto-notification sent |
| Attendance Marked | Boolean | Online during session |
| Digital Signatures | File Upload | Collected via mobile app |
| Completion Status | Dropdown | Completed / Cancelled |

- Admin creates module, uploads material, schedules session with trainers and attendees
- Employees auto-notified; attendance marked online during session
- Digital signatures collected via mobile app; completion report auto-generated
- POSH training tracked separately - mandatory twice per year for all staff
- Minimum 3 training hours per staff per month monitored; exceptions flagged

> 💡 **Recommendation:** Add a post-training quiz/assessment feature to verify knowledge retention. Training completion scores can feed into supervisor performance gamification leaderboards.

### Module 8: Incident / SOS Management

Real-time emergency reporting and structured escalation from the field - with one-tap SOS activation, multi-channel alerting, and full incident lifecycle tracking.

| Field | Type | Notes |
|---|---|---|
| Incident ID | Auto-generated | Unique |
| Date & Time | Timestamp | Auto-captured on SOS trigger |
| Reported By | Auto | Current logged-in supervisor |
| Zone | Dropdown | From zone master |
| Incident Type | Dropdown | SOS / Accident / Safety Violation / Other |
| Message | Text / Audio | Voice recording or typed message |
| Media Files | File Upload | Optional - photo or video evidence |
| Status | Dropdown | Open / Under Investigation / Resolved |
| Assigned To | Dropdown | Safety Officer / Admin |
| Resolution Remarks & Date | Text / Date | Required to close incident |

- Supervisor taps SOS button on mobile app - pop-up for text/voice message and optional media upload
- SOS broadcast simultaneously to all stakeholders via Push Notification + SMS + WhatsApp
- Incident auto-logged with timestamp, reporter ID, and zone
- Safety Officer/Admin acknowledges, assigns for investigation, records resolution
- All stakeholders notified upon incident closure

> ⚠ **Penalty:** If SOS is not acknowledged within 5 minutes - auto-escalate to next level in escalation matrix.

> 💡 **Recommendation:** Add GPS auto-capture on SOS trigger for precise location. Add voice command activation for hands-free SOS in situations where tapping is not possible.

### Module 9: Reporting & Dashboard

Real-time role-specific dashboards and auto-generated reports providing full operational visibility to management and the DIAL client.

#### 2.9.1 Dashboard Widgets

| Widget | Data Displayed | Audience |
|---|---|---|
| Manpower Status | Present/Absent count with pie chart; absentee names | Admin, PM, DIAL |
| Equipment Status | Available / Allocated / Under Maintenance / Unserviceable counts | Engineer, PM |
| SLA Performance | Monthly/quarterly score trend with deduction summary | PM, DIAL |
| Training Compliance | Completion % by employee and overall; hours tracked | Admin, PM, DIAL |
| Compliance Renewals | Expiring documents in next 7/15/30 days - countdown view | Admin, Safety Officer |
| Stock Levels | Current stock vs. minimum level; low stock flags | Store Executive, Admin |
| Incident Summary | Open / Under Investigation / Resolved counts by type | Safety Officer, PM |

#### 2.9.2 Reports Matrix

| Frequency | Report Name | Format | Recipients |
|---|---|---|---|
| Daily | Attendance Report | PDF + Excel | Admin, Project Manager |
| Daily | Schedule Report (zone-wise) | PDF | Supervisors, DIAL |
| Daily | SLA Report (score + deductions) | PDF | Project Manager, DIAL |
| Daily | Equipment Allocation Report | Excel | Engineer, Store Executive |
| Weekly | Attendance Summary (% + trends) | PDF + Excel | Admin, PM |
| Weekly | Training Hours Summary | PDF | Admin, PM, DIAL |
| Weekly | SLA Performance Summary | PDF | PM, DIAL |
| Weekly | Incident Summary | PDF | Safety Officer, PM |
| Monthly | Manpower Report (hours, leaves, relievers) | PDF + Excel | PM, DIAL |
| Monthly | Equipment Utilization Report | PDF + Excel | Engineer, PM |
| Monthly | Consumables Usage Report | PDF + Excel | Store Exec, Admin |
| Monthly | SLA Compliance + Penalty Report | PDF | PM, DIAL |
| Monthly | Training Compliance Report | PDF | Admin, PM, DIAL |
| Monthly | Façade Damage Report | PDF | PM, DIAL |
| Compliance | AEP / Medical / TPI / Permit Expiry Reports | PDF | Admin, Safety Officer |

All reports: export to PDF/Excel/CSV · Email/WhatsApp sharing · Scheduled auto-dispatch (e.g., daily attendance auto-sent at 09:00 hrs).

---

## 3. User Roles & Permissions

| Role | Access Level | Key Responsibilities | Primary Platform |
|---|---|---|---|
| Super Admin | Full | System configuration, user management, all data | Web |
| Project Manager | High | Project oversight, client reporting, compliance governance | Web + Mobile |
| Engineer | Medium | Equipment management, maintenance scheduling | Web + Mobile |
| Supervisor | Medium | Field operations, team attendance, equipment allocation, SOS | Mobile (primary) |
| Operator | Low | Execute assigned work; view schedule and training | Mobile |
| Operative | Low | Execute assigned work; view schedule and training | Mobile |
| Safety Officer | Medium | Safety compliance, incident management, training oversight | Web + Mobile |
| Store Executive | Medium | Inventory management, equipment/consumables issuance & return | Web + Mobile |
| Field Executive | Medium | Field coordination, attendance marking for supervisors/admin | Web + Mobile |
| Admin | Medium | HR functions, documentation, compliance administration | Web |
| DIAL Representative | Read-only | Monitor performance, view reports, approve schedules | Web (Client Portal) |

> 💡 **Recommendation:** Build a dedicated read-only Client Portal for DIAL representatives with a real-time performance dashboard - separate login, no internal operational data exposed.

---

## 4. Key Workflow Processes

### 4.1 Daily Work Execution

| Phase | Time | Actions |
|---|---|---|
| Day Before | Evening | Admin finalizes daily schedule → PDF generated → shared via WhatsApp + push notification → Supervisors confirm resource availability |
| Shift Start | 0845-0915 | All personnel report 15 min early · Supervisor conducts grooming & health check · Attendance marked 0900-0915 · Notifications sent to all stakeholders |
| Equipment & Consumables | 0915-0930 | Supervisor requests equipment/safety gear via app · Store Exec allocates, records Equipment ID + Zone · Consumables issued and logged |
| Work Execution | 0930-1730 | Teams proceed to assigned zones · Supervisor monitors quality · Progress photos uploaded to group feed · Damage/faults reported immediately via app |
| Shift End | 1730-1800 | Supervisor marks equipment condition (Good/Damaged/Lost) · Equipment returned to store, verified · AEP passes handed to Store Exec · Next-day expected attendance marked · Daily SLA sheet uploaded |
| Post-Shift | After 1800 | Reports auto-generated and shared · Next day’s schedule posted to group · Incident/SLA deduction flags reviewed |

### 4.2 Approval Hierarchy

| Action | Initiator | Approver 1 | Approver 2 | Final Authority |
|---|---|---|---|---|
| Schedule Creation | Admin | Project Manager | - | DIAL Representative |
| Equipment Procurement | Engineer | Project Manager | - | - |
| Consumables Requisition | Store Executive | Admin | PM (high value) | - |
| Leave Application | Employee | Supervisor | Field Executive / Engineer | Project Manager |
| SLA Dispute | Supervisor | Project Manager | - | DIAL Representative |
| Training Schedule | Admin | Project Manager | - | - |
| Incident Resolution | Safety Officer | Project Manager | - | - |

### 4.3 Escalation Matrix

| Issue Type | Level 1 - Immediate | Level 2 - ≤15 min | Level 3 - ≤1 hr | Level 4 - ≤2 hr |
|---|---|---|---|---|
| SOS / Emergency | Supervisor | Safety Officer | Project Manager | DIAL Security |
| Equipment Breakdown | Operator | Engineer | Project Manager | DIAL Engineering |
| Manpower Shortage | Supervisor | Field Executive | Project Manager | - |
| Safety Violation | Supervisor | Safety Officer | Project Manager | DIAL Safety |
| Client Complaint | Supervisor | Project Manager | - | DIAL Representative |
| Compliance Breach | Admin | Safety Officer | Project Manager | DIAL Compliance |

> 💡 **Recommendation:** Auto-escalation: If Level 1 does not acknowledge within the defined window, the system must auto-notify Level 2 - no manual relay required for time-critical situations.

---

## 5. Database Structure

Normalized relational database. Primary keys are auto-incremented integers. Foreign key relationships maintain referential integrity across all modules.

| Table Name | Key Fields | Relates To |
|---|---|---|
| `users` | `user_id` (PK), `employee_id` (UQ), `name`, `dob`, `mobile` (UQ), `designation_id` (FK), `role_id` (FK), `supervisor_id` (FK-self), `medical_due_date`, `aep_due_date`, `status` | roles, designations |
| `roles` | `role_id` (PK), `role_name` (UQ), `permissions` (JSON) | - |
| `designations` | `designation_id` (PK), `designation_name`, `category` (Executive/Skilled/Semi-skilled) | users |
| `attendance` | `attendance_id` (PK), `user_id` (FK), `date`, `shift`, `status` (Present/Absent/Week Off/Holiday), `next_day_expected`, `marked_by` (FK) | users |
| `leaves` | `leave_id` (PK), `user_id` (FK), `leave_type`, `start_date`, `end_date`, `reason`, `status`, `approved_by` (FK) | users |
| `equipment` | `equipment_id` (PK), `name`, `type`, `serial_number` (UQ), `mfg_date`, `expiry_date`, `tpi_date`, `tpi_valid_till`, `terminal`, `ownership`, `status` | - |
| `equipment_allocation` | `allocation_id` (PK), `equipment_id` (FK), `allocated_to` (FK), `zone_id` (FK), `allocation_date`, `return_status`, `return_date`, `verified_by` (FK) | equipment, users, zones |
| `consumables` | `consumable_id` (PK), `item_name`, `brand`, `unit`, `category`, `min_stock_level`, `current_stock` | - |
| `stock_movement` | `transaction_id` (PK), `consumable_id` (FK), `transaction_type`, `quantity`, `date`, `requested_by` (FK), `approved_by` (FK), `issued_to` (FK) | consumables, users |
| `terminals` | `terminal_id` (PK), `terminal_name` (T2/T3) | zones |
| `zones` | `zone_id` (PK), `terminal_id` (FK), `zone_name`, `sub_areas` (JSON) | terminals |
| `schedules` | `schedule_id` (PK), `schedule_name`, `start_date`, `end_date`, `frequency`, `created_by` (FK), `approved_by` (FK), `status` | users |
| `daily_schedule` | `daily_schedule_id` (PK), `schedule_id` (FK), `schedule_date`, `zone_id` (FK), `activity`, `equipment_ids` (JSON), `supervisor_ids` (JSON), `operative_ids` (JSON), `shift_timing` | schedules, zones |
| `facade_reports` | `report_id` (PK), `date`, `zone_id` (FK), `damage_type`, `description`, `photos` (JSON), `reported_by` (FK), `status`, `acknowledged_by` (FK), `closed_date` | zones, users |
| `compliance_documents` | `document_id` (PK), `document_type`, `entity_id`, `entity_type` (User/Equipment), `issue_date`, `valid_till`, `document_copy`, `status` | users, equipment |
| `sla_tracking` | `sla_id` (PK), `date`, `shift`, `terminal_id` (FK), `inspected_by`, `sla_document`, `points_deducted`, `deduction_points`, `deduction_amount` (auto-calc) | terminals |
| `training_modules` | `module_id` (PK), `module_name`, `frequency`, `training_material`, `duration_hours` | - |
| `training_sessions` | `session_id` (PK), `module_id` (FK), `session_date`, `trainer_name`, `location`, `attendees` (JSON), `attendance_marked`, `digital_signatures`, `completion_status` | training_modules |
| `incidents` | `incident_id` (PK), `date_time` (timestamp), `reported_by` (FK), `zone_id` (FK), `incident_type`, `message_text`, `message_audio`, `media_files` (JSON), `status`, `assigned_to` (FK), `resolved_date` | users, zones |
| `notifications` | `notification_id` (PK), `user_id` (FK), `message`, `type`, `read_status`, `created_at` | users |
| `group_feed_posts` | `post_id` (PK), `posted_by` (FK), `post_type` (Attendance/Schedule/Photo/SLA/Complaint/Equipment/General), `message`, `media_files` (JSON), `tagged_users` (JSON), `timestamp` | users |

> 💡 **Recommendation:** Use database indexing on high-frequency query fields: `user_id + date` (attendance), `equipment_id` (allocation), `zone_id` (schedules/damage). Partition the `attendance` and `stock_movement` tables for large-scale data after 6 months of operation.

---

## 6. UI/UX Design Overview

### 6.1 Web Dashboard - Admin / Project Manager

| Element | Design Detail |
|---|---|
| Top Bar | Logo (left) · Search bar (center) · Notification bell with badge · User profile & role · Logout |
| Left Sidebar | Module navigation: Manpower · Equipment · Consumables · Schedule · Site · Compliance · Training · SOS · Reports |
| Widget Grid (4-col) | Today’s Attendance (pie chart) · Equipment Status (donut) · SLA Performance Score · Upcoming Compliance Expirations (table with countdown) |
| Charts Section | Area-wise manpower deployment (bar) · Weekly SLA trend (line) · Consumables stock vs. minimum level (horizontal bar) |
| Quick Actions Panel | Add Employee · Schedule Work · Raise Requisition · Generate Report · Upload SLA Sheet |
| Group Feed Panel | Right-side panel showing live posts: Attendance · Damage Reports · Schedule Updates · Photos |

### 6.2 Mobile App - Supervisors / Operators

| Screen | Design Detail |
|---|---|
| Bottom Navigation | Home · Schedule · Equipment · Attendance · SOS (red icon) |
| Home Screen | Today’s schedule card · My team attendance summary · Quick SOS button (prominent red, center) · Notifications feed |
| Schedule Screen | Calendar view (monthly) + daily task list with zone, equipment list, and team assigned |
| Equipment Screen | Request equipment button · My allocated equipment list · Mark return with condition dropdown + photo |
| Attendance Screen | Team member list · Mark attendance (Present/Absent/Week Off) · Next-day expectation toggle · Submit with timestamp |
| SOS Screen | Full-screen red SOS button · Voice recorder + text box · Camera shortcut · Live status of sent SOS |
| Damage Report Screen | Zone picker · Damage type dropdown · Text description · Multi-photo upload with annotation · Submit |
| Group Feed Screen | WhatsApp-style scrollable feed · Post type filter tabs · Tap to view full media |

### 6.3 Web vs. Mobile Feature Split

| Feature | Web Portal | Mobile App |
|---|---|---|
| User / Equipment Registration | Full CRUD | View only |
| Schedule Creation & Approval | Full CRUD | View only |
| Daily Schedule View | Yes | Yes (primary - push notification driven) |
| Attendance Marking | Yes (fallback) | Yes (primary) |
| Equipment Allocation | Full control | Request / Receive / Mark Return |
| Consumables Issuance | Full control | Request / Confirm Return |
| Damage Reporting | Yes | Yes (primary - camera integration) |
| SOS Activation | No | Yes (primary - full screen) |
| Report Generation & Export | Yes (primary) | View PDF only |
| Dashboard | Comprehensive with all charts | Summary widgets only |
| Group Feed | Yes | Yes (primary) |
| Training Attendance + Signature | Yes | Yes (signature capture via touchscreen) |
| Offline Mode | No | Yes (attendance + damage reports sync when online) |

---

## 7. System Integrations

### 7.1 Third-Party Integrations

| System | Provider Options | Purpose | Method |
|---|---|---|---|
| ERP System | Client’s existing ERP | Sync consumables requisitions; receive stock-in confirmations | REST API / Webhook with middleware gateway |
| Biometric Attendance | Client’s existing biometric | Auto-sync attendance: Employee ID + timestamp + location | API-based real-time sync |
| SMS Gateway | Twilio / MSG91 | SOS alerts, attendance reminders, compliance expiry alerts | SMS REST API |
| Email Service | SendGrid / AWS SES | Daily reports, training invites, incident notifications | SMTP / REST API |
| WhatsApp Business API | WATI / Gupshup / Twilio | Schedule PDFs, group notifications, SLA sheet sharing | WhatsApp Cloud API |
| Cloud Storage | AWS S3 / Google Cloud | All documents, photos, videos, reports - secure CDN delivery | SDK / Presigned URLs |
| Push Notifications | Firebase Cloud Messaging (FCM) | Real-time app push for all trigger events | FCM SDK |
| Real-time Feed | Socket.io / Firebase Realtime DB | WhatsApp-like live group feed within the app | WebSocket |

### 7.2 Notification Triggers

| Trigger Event | Channels | Recipients |
|---|---|---|
| Attendance Submitted | Push + WhatsApp | All stakeholders |
| SOS Raised | Push + SMS + WhatsApp | All users (immediate broadcast) |
| Schedule Shared / Updated | WhatsApp + Push | Supervisors + relevant team |
| Compliance Doc Expiry - 7 days | Email + SMS + Push | Admin + concerned user |
| Equipment TPI/MFG Expiry - 15 days | Email + SMS + Push | Engineer + Admin |
| Equipment Unserviceable >48 hrs | Email + SMS | Engineer + Project Manager |
| Low Stock Alert | Email + Push | Store Executive + Admin |
| Training Session Scheduled | Email + Push | All attendees |
| SLA Deduction Recorded | Email | Project Manager + Supervisor |
| Damage Report Posted | WhatsApp + Push | Tagged supervisor + Admin |
| Leave Approved / Rejected | Push | Applicant employee |
| SOS Not Acknowledged (5 min) | Push + SMS | Next escalation level - auto-triggered |

---

## 8. Non-Functional Requirements

| Category | Requirement | Target |
|---|---|---|
| Performance - Web | Page load time | ≤ 2 seconds |
| Performance - API | API response time | ≤ 500 ms |
| Performance - Reports | Report generation (up to 1,000 records) | ≤ 5 seconds |
| Concurrency | Simultaneous active users | 100+ concurrent users |
| Mobile Performance | Platform support | Android 8+ and iOS 12+ |
| File Upload | Maximum file size per upload | 10 MB; multiple files supported |
| Authentication | Access control model | RBAC + JWT tokens; OAuth 2.0 for SSO |
| Data Security - Transit | Encryption | SSL/TLS on all connections |
| Data Security - At Rest | Encryption | AES-256 for sensitive data |
| Password Policy | Minimum strength | 8+ chars, alphanumeric + special characters |
| Session Management | Inactivity timeout | Auto-logout after 30 minutes |
| Audit Logs | Action tracking | All create/update/delete actions with user + timestamp |
| File Security | Upload scanning | Malware scan on all uploads; role-based file access |
| API Security | Abuse prevention | Rate limiting + API key authentication for integrations |
| Uptime SLA | System availability | 99.5% uptime |
| Maintenance Window | Planned downtime | Post-1800 hrs only (off-peak) |
| Offline Mode | Mobile app | Attendance + damage reports work offline; sync on reconnect |
| Scalability | Architecture | Horizontal scaling; auto-scaling on cloud (AWS/Azure/GCP) |
| Database | Optimization | Indexing + partitioning for large tables (attendance, stock) |
| CDN | Static assets | CDN for all documents, images, and media files |
| Backup | Frequency & retention | Daily automated backup; 30-day retention |
| Deployment | Infrastructure | Containerized (Docker/Kubernetes) for portability |
| Accessibility | Web standard | WCAG 2.1 Level AA compliance |
| Language | UI | English (default) + Hindi option for field staff |
| 2FA | Admin accounts | Two-factor authentication mandatory for Super Admin + PM |

---

## 9. Technology Stack

| Component | Recommended Technology | Rationale |
|---|---|---|
| Frontend - Web | React.js or Angular | Component-based, rich ecosystem, fast rendering |
| Frontend - Mobile | React Native or Flutter | Single codebase for iOS & Android; native performance |
| Backend | Node.js (Express) or Python (Django/FastAPI) | Scalable, fast development, excellent REST API support |
| Database | PostgreSQL or MySQL | Relational, ACID-compliant, strong indexing |
| File & Media Storage | AWS S3 / Azure Blob Storage | Scalable, secure, CDN-ready, cost-effective |
| Authentication | JWT + OAuth 2.0 | Stateless, secure, industry-standard |
| Push Notifications | Firebase Cloud Messaging (FCM) | Cross-platform push for Android + iOS |
| SMS Gateway | Twilio / MSG91 | Reliable delivery, India-friendly pricing |
| WhatsApp API | WATI / Gupshup / Twilio | Approved Business API with group messaging support |
| Email Service | SendGrid / AWS SES | High deliverability, template support |
| Reporting Engine | Jasper Reports or BIRT | Complex multi-format report generation (PDF/Excel) |
| Real-time Communication | Socket.io or Firebase Realtime DB | Low-latency group feed and live updates |
| Deployment | Docker + Kubernetes on AWS/GCP/Azure | Containerized, auto-scaling, portable |
| CI/CD | GitHub Actions or Jenkins | Automated testing and deployment pipeline |
| Monitoring | Sentry + Datadog or New Relic | Error tracking, performance monitoring, uptime alerts |

> **Laravel project note:** The source SRS lists Node.js/Python as backend options. For this Laravel project, the backend implementation can map these requirements to Laravel APIs, MySQL/PostgreSQL, Laravel Passport/Sanctum, queues, notifications, scheduled jobs, and storage integrations.

---

## 10. Implementation Phases

| Phase | Duration | Key Deliverables |
|---|---|---|
| Phase 1 - Requirements & Design | 2 weeks | Finalized SRS sign-off · UI/UX mockups approved · Database schema finalized · Dev environment setup |
| Phase 2 - Core Backend & Web Portal | 8 weeks | All backend APIs · Database implemented · Web portal (admin modules: Manpower, Equipment, Consumables, Scheduling, Compliance, Reporting) |
| Phase 3 - Mobile App Development | 6 weeks | iOS & Android app · Supervisor/operator features · Offline mode · SOS module · Group feed |
| Phase 4 - Integrations | 2 weeks | ERP sync · Biometric API · WhatsApp Business API · SMS gateway · Cloud storage · FCM push |
| Phase 5 - Testing | 2 weeks | Unit + integration testing · UAT with real users · Performance load testing (100+ users) · Security penetration testing · Compatibility testing |
| Phase 6 - Deployment & Training | 1 week | Production deployment · Data migration (if applicable) · User training sessions · Go-live sign-off |
| TOTAL | ~21 Weeks (~5 Months) | Full system live across T2 & T3 |

> 💡 **Recommendation:** Run Phase 2 (Web Portal) and Phase 3 (Mobile App) in parallel to save 4-6 weeks. However, this requires two separate development streams and should be scoped accordingly in the budget.

---

## 11. Testing Requirements

| Test Type | Scope | Sample Scenario |
|---|---|---|
| Unit Testing | Individual module functions and API endpoints | Attendance status enum validates correctly; SLA penalty formula returns correct amount |
| Integration Testing | API ↔ DB ↔ third-party systems | Approved requisition triggers ERP webhook; biometric sync updates attendance table |
| User Acceptance Testing (UAT) | Real users execute end-to-end workflows | Supervisor marks attendance for 10 operatives → notifications sent → report generated |
| Performance Testing | Load simulation | 100+ concurrent users accessing dashboard; report generation under 5 sec for 1,000 records |
| Security Testing | Penetration + vulnerability scan | Role boundary testing (Operative cannot access Manpower CRUD); file upload malware check |
| Compatibility Testing | Cross-platform validation | Web: Chrome, Firefox, Safari · Mobile: Android 8+, iOS 12+, 5-6 inch screens |
| Offline Mode Testing | Mobile app without internet | Attendance marked offline → data syncs correctly when connection restored |
| SOS Testing | End-to-end emergency flow | SOS triggered → all users notified within 10 seconds via Push + SMS + WhatsApp |

---

## 12. Assumptions, Dependencies & Open Gaps

### 12.1 Key Assumptions

- All users have stable internet access (3G/4G/WiFi); offline mode covers critical field functions
- Supervisors and field staff have personal smartphones (Android 8+ or iOS 12+)
- Client ERP system has documented API access for consumables integration
- Client will procure and authorize a WhatsApp Business API account
- Existing biometric system can expose API for attendance data sync
- All users will undergo formal training before go-live rollout
- Any existing data (manpower, equipment, zones) will be provided in Excel/CSV for migration
- Approval hierarchies are correctly captured and will not require frequent restructuring
- DIAL representatives will provide timely feedback on schedules, SLA sheets, and compliance submissions

### 12.2 Client Dependencies - Pre-Development Required

| Dependency | Responsible Party | Risk if Delayed |
|---|---|---|
| Final manpower list with designations and roles | Client | Cannot configure user hierarchy or attendance workflows |
| Complete equipment list with all certificates | Client | Cannot configure equipment module or compliance tracking |
| Consumables master list with brands, units, min levels | Client | Cannot set up inventory or ERP integration mapping |
| Zone/area master data for T2 & T3 | Client | Cannot create schedules or damage reports |
| ERP API documentation + sandbox credentials | Client / ERP Vendor | Consumables procurement integration delayed |
| WhatsApp Business API credentials | Client | All WhatsApp-based notifications unavailable |
| Biometric system API documentation | Client / Vendor | Falls back to manual attendance - reduces reliability |
| UI/UX mockup approvals | Client | Design rework delays development start |
| Test environment server access | Client | UAT delayed; go-live pushed |
| Production server / cloud credentials | Client | Go-live cannot proceed |

### 12.3 Open Gaps - Client Sign-off Required Before Development

| # | Question | Why It Matters |
|---|---|---|
| 1 | Is payroll/salary processing in scope, or only disbursement tracking? | Defines module scope - payroll is a significant additional workstream |
| 2 | Who approves leave applications for Supervisors and higher roles? | Required to configure approval workflow correctly |
| 3 | Is AEP pass handover physical (manual) or can it be digital (photo upload)? | Determines app design and compliance audit approach |
| 4 | What is the consumables auto-approval threshold (e.g., auto-approve below ₹X)? | Reduces manual approval load; needs financial policy input |
| 5 | Can the client provide initial training module content and PPTs? | Required to populate the training library before go-live |
| 6 | Will DIAL representatives have active login access or only receive emailed reports? | Defines client user role, portal design, and data access policy |
| 7 | Is there historical data (6-12 months) to be migrated into the system? | Data migration adds 1-2 weeks of effort and validation time |
| 8 | Is the SLA deduction auto-applied to invoices or only tracked for reference? | Defines financial integration scope with billing systems |
| 9 | Are multiple shifts (beyond 0900-1800) planned now or in the future? | Impacts attendance, scheduling, and reporting architecture |
| 10 | Is the ₹5,000/day equipment downtime penalty auto-deducted from invoices or only tracked? | Determines whether financial integration with invoicing is needed |

> 💡 **Recommendation:** Run a structured 2-hour client workshop to close all 10 gaps above before development kickoff. Unresolved gaps will result in rework, timeline extensions, and scope disputes.

---

## 13. Risk Register & Mitigation

| Risk | Probability | Impact | Mitigation Strategy |
|---|---|---|---|
| Scope creep during development | High | High | Strict change request process with documented sign-off; additional timeline and cost for any out-of-scope feature |
| Delayed client inputs (data, approvals) | High | High | Set formal SLA for client response (e.g., 3 working days); include buffer weeks in project plan |
| ERP or biometric integration failure | Medium | High | Early integration testing in Phase 2; manual entry fallback ready; confirm API specs before development starts |
| User adoption resistance (field staff) | Medium | Medium | Phased rollout with champions; in-person training; Hindi UI option; in-app help tooltips |
| Data migration errors | Medium | High | Dry-run migration with validation scripts; client sign-off on migrated data; rollback plan ready |
| Security breach or data leak | Low | Critical | Penetration testing; RBAC + 2FA for admins; AES-256 at rest; SSL in transit; audit logs retained |
| Mobile app performance on low-end devices | Medium | Medium | Test on minimum spec devices (Android 8, 3G network); optimize API payloads; offline mode reduces dependency |
| WhatsApp API delays or policy changes | Medium | Medium | Parallel SMS + push notification fallback ensures no single point of failure for critical alerts |

---

## 14. Glossary

| Term | Full Form | Definition |
|---|---|---|
| ACP | Aluminum Composite Panel | Composite material used as external façade cladding |
| AEP | Airport Entry Permit | Security pass required for all personnel operating inside the airport |
| AVP | Airside Vehicle Permit | Permit required for vehicles operating in airside (runway-side) areas |
| ADP | Airside Driving Permit | License to drive vehicles within airside controlled zones |
| DIAL | Delhi International Airport Ltd. | Client - operator of IGI Airport T2 & T3 |
| SLA | Service Level Agreement | Performance metrics against which the service provider is assessed; deductions in points × ₹350 |
| TPI | Third-Party Inspection | Independent certification verifying equipment safety compliance |
| POSH | Prevention of Sexual Harassment | Mandatory training required twice per year for all staff per Indian law |
| SOS | Save Our Souls (Emergency Signal) | Emergency alert system - one-tap activation on mobile app |
| PPE | Personal Protective Equipment | Safety gear: helmets, harnesses, gloves, safety shoes, goggles |
| MFG | Manufacturing | Refers to manufacturer-issued certificates and equipment expiry dates |
| RBAC | Role-Based Access Control | Access control model where permissions are assigned by user role |
| FCM | Firebase Cloud Messaging | Google’s cross-platform push notification service |
| JWT | JSON Web Token | Industry-standard token format for secure stateless authentication |
| ERP | Enterprise Resource Planning | Client’s existing procurement and inventory management system |
| UAT | User Acceptance Testing | Testing conducted by actual end users before production go-live |
| CDN | Content Delivery Network | Distributed server network for fast global delivery of static files |

---

## Next Steps for Development Team

| Step | Action | Owner |
|---|---|---|
| 1 | Circulate this SRS to client - obtain formal written sign-off | Project Manager |
| 2 | Conduct gap-resolution workshop (Section 12.3 - all 10 items) | Project Manager + Client |
| 3 | Finalize UI/UX mockups for web and mobile; present to client for approval | Design Team |
| 4 | Confirm and document technology stack choices with senior architects | Tech Lead |
| 5 | Collect all client dependencies (Section 12.2) before development kickoff | Project Manager |
| 6 | Kick off Phase 1 (Requirements & Design) as per phased timeline | Development Team |

---

_End of Document_  
Façade Cleaning Operations Management Platform - SRS v1.0 - IGI Airport T2 & T3 - Confidential
