diff --git a/components/dashboard/operations/vendorService.tsx b/components/dashboard/operations/vendorService.tsx
index a5ee5f3..ee2cadf 100644
--- a/components/dashboard/operations/vendorService.tsx
+++ b/components/dashboard/operations/vendorService.tsx
@@ -10,121 +10,9 @@ import {
import Button from "@/components/common/button";
import StatCard from "@/components/common/dashStatCard";
import InfoBanner from "@/components/common/infoBanner";
+import { fieldCrewData, vendorData } from '@/constants/constant';
export default function VendorServicePortal() {
- const vendorData = [
- {
- name: "Voltas Ltd",
- id: "CTR-700",
- scope: "HVAC AMC & breakdown",
- rating: "4.6",
- sla: "95%",
- slaColor: "text-emerald-400",
- response: "4.0h",
- openJobs: "2",
- },
- {
- name: "Blue Star",
- id: "CTR-701",
- scope: "Chiller & VRV service",
- rating: "4.1",
- sla: "88%",
- slaColor: "text-amber-400",
- response: "1.2h",
- openJobs: "2",
- },
- {
- name: "Sterling FM",
- id: "CTR-702",
- scope: "Integrated FM / soft services",
- rating: "3.4",
- sla: "94%",
- slaColor: "text-emerald-400",
- response: "2.4h",
- openJobs: "4",
- },
- {
- name: "OTIS Elevators",
- id: "CTR-704",
- scope: "Elevator AMC",
- rating: "4.8",
- sla: "95%",
- slaColor: "text-emerald-400",
- response: "2.8h",
- openJobs: "—",
- },
- {
- name: "Sodexo",
- id: "CTR-705",
- scope: "Soft services & cafeteria",
- rating: "4.3",
- sla: "90%",
- slaColor: "text-amber-400",
- response: "2.8h",
- openJobs: "1",
- },
- {
- name: "In-house team",
- id: "—",
- scope: "Day-to-day maintenance",
- rating: "4.0",
- sla: "93%",
- slaColor: "text-amber-400",
- response: "3.2h",
- openJobs: "3",
- },
- ];
-
- const fieldCrewData = [
- {
- initials: "RK",
- name: "Ravi Kumar",
- role: "M&E Technician • Chiller plant",
- status: "ON-SITE",
- statusType: "onsite",
- time: "6.4h today",
- },
- {
- initials: "SI",
- name: "Sana Iqbal",
- role: "HVAC Engineer • AHU room L7",
- status: "ON-SITE",
- statusType: "onsite",
- time: "6.1h today",
- },
- {
- initials: "MD",
- name: "Mohan D.",
- role: "Electrician • En route",
- status: "EN-ROUTE",
- statusType: "enroute",
- time: "—",
- },
- {
- initials: "LN",
- name: "Lakshmi N.",
- role: "Housekeeping Lead • Lobby + L2",
- status: "ON-SITE",
- statusType: "onsite",
- time: "6.7h today",
- },
- {
- initials: "AP",
- name: "Arjun P.",
- role: "Plumber • Off-site",
- status: "OFF-SITE",
- statusType: "offsite",
- time: "—",
- },
- {
- initials: "FR",
- name: "Fatima R.",
- role: "BMS Operator • Control room",
- status: "ON-SITE",
- statusType: "onsite",
- time: "7.6h today",
- },
- ];
return (
diff --git a/components/dashboard/operations/workpermit.tsx b/components/dashboard/operations/workpermit.tsx
index 2a2bde7..52c8a4a 100644
--- a/components/dashboard/operations/workpermit.tsx
+++ b/components/dashboard/operations/workpermit.tsx
@@ -1,7 +1,7 @@
import { useState } from 'react';
import { Plus, ShieldCheck, Clock, Check, AlertTriangle, QrCode, FileText, Eye } from 'lucide-react';
import Button from "@/components/common/button";
-import { workPermitFilters } from '@/constants/constant';
+import { permitsData, workPermitFilters } from '@/constants/constant';
import FilterTabs from '@/components/common/roundedFilters';
import StatCard from '@/components/common/dashStatCard';
import InfoBanner from '@/components/common/infoBanner';
@@ -11,94 +11,9 @@ export default function WorkPermitPortal() {
const [activeFilter, setActiveFilter] = useState('All');
// Permit Data matching the UI
- const permitsData = [
- {
- permit: "PTW-2663",
- workingType: "Work at Height",
- location: "Atrium void",
- contractor: "Blue Star",
- validityDate: "Jun 26, 2026",
- validityTime: "08:30–17:00",
- crew: 2,
- status: "ACTIVE",
- actionText: "Close out",
- isHighlighted: false,
- },
- {
- permit: "PTW-2664",
- workingType: "Electrical Isolation",
- location: "STP wet well",
- contractor: "Sterling FM",
- validityDate: "Jun 26, 2026",
- validityTime: "09:00–13:00",
- crew: 3,
- status: "SUBMITTED",
- actionText: "Approve",
- isHighlighted: true, // Row with highlight bar
- },
- {
- permit: "PTW-2665",
- workingType: "Confined Space",
- location: "DG yard",
- contractor: "In-house team",
- validityDate: "Jun 26, 2026",
- validityTime: "14:00–18:00",
- crew: 4,
- status: "APPROVED",
- actionText: "Activate",
- isHighlighted: false,
- },
- {
- permit: "PTW-2666",
- workingType: "Hot Work",
- location: "Roof terrace",
- contractor: "Voltas Ltd",
- validityDate: "Jun 25, 2026",
- validityTime: "08:00–12:00",
- crew: 5,
- status: "EXPIRED",
- hasViewIconOnly: true,
- isHighlighted: false,
- },
- {
- permit: "PTW-2667",
- workingType: "Work at Height",
- location: "LT panel room",
- contractor: "Blue Star",
- validityDate: "Jun 25, 2026",
- validityTime: "10:00–16:00",
- crew: 2,
- status: "CLOSED",
- hasViewIconOnly: true,
- isHighlighted: false,
- },
- {
- permit: "PTW-2668",
- workingType: "Electrical Isolation",
- location: "Chiller plant",
- contractor: "Sterling FM",
- validityDate: "Jun 26, 2026",
- validityTime: "11:00–15:00",
- crew: 3,
- status: "REJECTED",
- hasViewIconOnly: true,
- isHighlighted: false,
- },
- {
- permit: "PTW-2726",
- workingType: "Work at Height",
- location: "Atrium void",
- contractor: "Blue Star",
- validityDate: "Jun 26, 2026",
- validityTime: "08:30–17:00",
- crew: 2,
- status: "DRAFT",
- actionText: "Submit",
- isHighlighted: false,
- },
- ];
+
- const renderStatusBadge = (status: string) => {
+ const renderStatusBadge = (status: string) => {
switch (status) {
case "ACTIVE":
return (
diff --git a/components/dashboard/overview/buildingOwner.tsx b/components/dashboard/overview/buildingOwner.tsx
index 6225078..7acf0ed 100644
--- a/components/dashboard/overview/buildingOwner.tsx
+++ b/components/dashboard/overview/buildingOwner.tsx
@@ -24,7 +24,7 @@ export default function BuildingOwnerPortal() {
•
Building Owner
-
+
Building owner portal
diff --git a/components/dashboard/workplace/visitorManagement.tsx b/components/dashboard/workplace/visitorManagement.tsx
index 0f474cb..ecb305f 100644
--- a/components/dashboard/workplace/visitorManagement.tsx
+++ b/components/dashboard/workplace/visitorManagement.tsx
@@ -13,165 +13,9 @@ import InfoBanner from "@/components/common/infoBanner";
import FilterTabs from '@/components/common/roundedFilters';
import { visitorFilters } from '@/constants/constant';
import Table from '@/components/common/dataTable';
+import { visitorheaders, visitorrows } from '@/constants/tabledata';
export default function VistiorManagementPortal() {
- const headers = [
- "Pass",
- "Visitor",
- "Company",
- "Host",
- "Purpose",
- "Type",
- "In",
- "Out",
- "Status",
- "",
-];
-const Badge = ({
- text,
- color,
-}: {
- text: string;
- color: string;
-}) => (
-
-
- {text}
-
-);
-
-const rows = [
- [
- VIS-4145,
- Rahul Mehta,
- "Voltas Ltd",
- "Dhananjay T.",
- "Maintenance visit",
- Contractor,
- "09:12",
- "—",
- ,
- ,
- ],
-
- [
- VIS-4146,
- Anita Desai,
- "Siemens",
- "ME Local",
- "Interview",
- Interview,
- "—",
- "—",
- ,
- ,
- ],
-
- [
- VIS-4147,
- Karthik R.,
- "Schindler",
- "Site FM Lead",
- "Client meeting",
- Guest,
- "08:05",
- "10:40",
- ,
- —,
- ],
-
- [
- VIS-4148,
- Priya Nair,
- "Amazon Logistics",
- "Estates Office",
- "Material delivery",
- Delivery,
- "—",
- "—",
- ,
- ,
- ],
-
- [
- VIS-4149,
- Imran Q.,
- "FreshMenu",
- "TECH Local",
- "AMC service",
- Contractor,
- "10:30",
- "—",
- ,
- ,
- ],
- [
- VIS-4145,
- Rahul Mehta,
- "Voltas Ltd",
- "Dhananjay T.",
- "Maintenance visit",
- Contractor,
- "09:12",
- "—",
- ,
- ,
- ],
-
- [
- VIS-4146,
- Anita Desai,
- "Siemens",
- "ME Local",
- "Interview",
- Interview,
- "—",
- "—",
- ,
- ,
- ],
-
- [
- VIS-4147,
- Karthik R.,
- "Schindler",
- "Site FM Lead",
- "Client meeting",
- Guest,
- "08:05",
- "10:40",
- ,
- —,
- ],
-
- [
- VIS-4148,
- Priya Nair,
- "Amazon Logistics",
- "Estates Office",
- "Material delivery",
- Delivery,
- "—",
- "—",
- ,
- ,
- ],
-
- [
- VIS-4149,
- Imran Q.,
- "FreshMenu",
- "TECH Local",
- "AMC service",
- Contractor,
- "10:30",
- "—",
- ,
- ,
- ],
-];
const [activeFilter, setActiveFilter] = useState('All');
return (
@@ -263,7 +107,7 @@ const [activeFilter, setActiveFilter] = useState('All');
onChange={setActiveFilter}
/>
-
+
VIS-4145,
+ Rahul Mehta,
+ "Voltas Ltd",
+ "Dhananjay T.",
+ "Maintenance visit",
+ Contractor,
+ "09:12",
+ "—",
+ ,
+ ,
+ ],
+
+ [
+ VIS-4146,
+ Anita Desai,
+ "Siemens",
+ "ME Local",
+ "Interview",
+ Interview,
+ "—",
+ "—",
+ ,
+ ,
+ ],
+
+ [
+ VIS-4147,
+ Karthik R.,
+ "Schindler",
+ "Site FM Lead",
+ "Client meeting",
+ Guest,
+ "08:05",
+ "10:40",
+ ,
+ —,
+ ],
+
+ [
+ VIS-4148,
+ Priya Nair,
+ "Amazon Logistics",
+ "Estates Office",
+ "Material delivery",
+ Delivery,
+ "—",
+ "—",
+ ,
+ ,
+ ],
+
+ [
+ VIS-4149,
+ Imran Q.,
+ "FreshMenu",
+ "TECH Local",
+ "AMC service",
+ Contractor,
+ "10:30",
+ "—",
+ ,
+ ,
+ ],
+ [
+ VIS-4145,
+ Rahul Mehta,
+ "Voltas Ltd",
+ "Dhananjay T.",
+ "Maintenance visit",
+ Contractor,
+ "09:12",
+ "—",
+ ,
+ ,
+ ],
+
+ [
+ VIS-4146,
+ Anita Desai,
+ "Siemens",
+ "ME Local",
+ "Interview",
+ Interview,
+ "—",
+ "—",
+ ,
+ ,
+ ],
+
+ [
+ VIS-4147,
+ Karthik R.,
+ "Schindler",
+ "Site FM Lead",
+ "Client meeting",
+ Guest,
+ "08:05",
+ "10:40",
+ ,
+ —,
+ ],
+
+ [
+ VIS-4148,
+ Priya Nair,
+ "Amazon Logistics",
+ "Estates Office",
+ "Material delivery",
+ Delivery,
+ "—",
+ "—",
+ ,
+ ,
+ ],
+
+ [
+ VIS-4149,
+ Imran Q.,
+ "FreshMenu",
+ "TECH Local",
+ "AMC service",
+ Contractor,
+ "10:30",
+ "—",
+ ,
+ ,
+ ],
+];
+
+//Request page in operations
+
+
+
+export const requestheaders = [
+ "Request No.",
+ "Department",
+ "Issue",
+ "Location",
+ "Assignee",
+ "Source",
+ "Status",
+];
+export const requestrows = [
+ [
+ TFM/AP/2026/1009,
+ "Electrical",
+ "Lighting out",
+ "Block 1 · G",
+ "ME Local",
+ Line,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1016,
+ "HVAC",
+ "AHU not cooling",
+ "Lobby · 1",
+ "Dhananjay T.",
+ Walk-in,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1023,
+ "HVAC",
+ "Thermostat fault",
+ "Block 1 · 1",
+ "ME Local",
+ Mobile app,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1030,
+ "HVAC",
+ "Thermostat fault",
+ "Block 1 · 1",
+ "Dhananjay T.",
+ Mobile app,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1037,
+ "Civil",
+ "Glass break",
+ "Block 1 · 1",
+ "Local Helpdesk",
+ Walk-in,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1044,
+ "HVAC",
+ "Chiller alarm",
+ "Block 1 · 1",
+ "Dhananjay T.",
+ Mobile app,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1051,
+ "Plumbing",
+ "Water leakage",
+ "Lobby · 1",
+ "Local Helpdesk",
+ Walk-in,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1058,
+ "Civil",
+ "Glass break",
+ "Block 2 · 2",
+ "Dhananjay T.",
+ Walk-in,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1065,
+ "Civil",
+ "Ceiling crack",
+ "Lobby · G",
+ "ME Local",
+ Line,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1072,
+ "Plumbing",
+ "Water leakage",
+ "Block 2 · G",
+ "TECH Local",
+ Line,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1079,
+ "Electrical",
+ "DB switch fault",
+ "Tower A · 1",
+ "TECH Local",
+ Mobile app,
+ ,
+ ],
+
+ [
+ TFM/AP/2026/1086,
+ "HVAC",
+ "AHU not cooling",
+ "Lobby · 3",
+ "TECH Local",
+ Walk-in,
+ ,
+ ],
+];
+
+
+
+//helpdesk in page
+
+export const helpdeskheaders = [
+ "",
+ "Block",
+ "Floor",
+ "Zone",
+ "Department",
+ "Location",
+ "Window",
+ "TAT",
+ "Sched.",
+ "Approval",
+ "Status",
+ "Actions",
+];
+
+const checkbox = (
+
+);
+
+export const helpdeskrows = [
+ [
+ checkbox,
+ "Block 2",
+ "1",
+ "Z2",
+ "HVAC",
+ Parking P1,
+ 01:56–18:00,
+ "60m",
+ "4",
+ ✓ Yes,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 1",
+ "2",
+ "Z1",
+ "Inspection work",
+ Cafeteria,
+ 01:56–23:59,
+ "360m",
+ "6",
+ —,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 2",
+ "G",
+ "N",
+ "Inspection work",
+ Main lobby,
+ 08:00–23:59,
+ "360m",
+ "4",
+ ✓ Yes,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 1",
+ "2",
+ "Z2",
+ "Electrical",
+ Reception,
+ 08:00–18:00,
+ "360m",
+ "4",
+ —,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 2",
+ "3",
+ "Z1",
+ "Housekeeping",
+ Cafeteria,
+ 08:00–18:00,
+ "20m",
+ "8",
+ ✓ Yes,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 1",
+ "3",
+ "Z1",
+ "Electrical",
+ Food court,
+ 08:00–17:30,
+ "20m",
+ "8",
+ —,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 2",
+ "1",
+ "Z2",
+ "HVAC",
+ Parking P1,
+ 01:56–18:00,
+ "60m",
+ "4",
+ ✓ Yes,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 1",
+ "2",
+ "Z1",
+ "Inspection work",
+ Cafeteria,
+ 01:56–23:59,
+ "360m",
+ "6",
+ —,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 2",
+ "G",
+ "N",
+ "Inspection work",
+ Main lobby,
+ 08:00–23:59,
+ "360m",
+ "4",
+ ✓ Yes,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 1",
+ "2",
+ "Z2",
+ "Electrical",
+ Reception,
+ 08:00–18:00,
+ "360m",
+ "4",
+ —,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 2",
+ "3",
+ "Z1",
+ "Housekeeping",
+ Cafeteria,
+ 08:00–18:00,
+ "20m",
+ "8",
+ ✓ Yes,
+ ,
+ ,
+ ],
+
+ [
+ checkbox,
+ "Block 1",
+ "3",
+ "Z1",
+ "Electrical",
+ Food court,
+ 08:00–17:30,
+ "20m",
+ "8",
+ —,
+ ,
+ ,
+ ],
+];
+
+//Equipment Page in operations
+export const equipmentheaders = [
+ "Code",
+ "Equipment",
+ "Group",
+ "Block · Floor",
+ "Service Provider",
+ "Criticality",
+ "PPM Status",
+ "Actions",
+];
+
+
+export const equipmentrows = [
+ [
+ APP-1100,
+ Cooling Tower,
+ "Electrical",
+ "Block 1 · 2",
+ "Blue Star",
+ "Important",
+ ,
+ ,
+ ],
+ [
+ APP-1103,
+ Air Handling Unit,
+ "Plumbing",
+ "Tower A · 1",
+ "Blue Star",
+ ,
+ ,
+ ,
+ ],
+ [
+ APP-1106,
+ VRV Outdoor,
+ "Electrical",
+ "Tower A · G",
+ "Voltas",
+ ,
+ ,
+ ,
+ ],
+ [
+ APP-1109,
+ VRV Outdoor,
+ "HVAC",
+ "Tower A · 1",
+ "Voltas",
+ "Normal",
+ ,
+ ,
+ ],
+ [
+ APP-1112,
+ Air Handling Unit,
+ "HVAC",
+ "Tower A · G",
+ "In-house",
+ ,
+ ,
+ ,
+ ],
+ [
+ APP-1115,
+ Air Handling Unit,
+ "Electrical",
+ "Tower A · 2",
+ "Voltas",
+ ,
+ ,
+ ,
+ ],
+ [
+ APP-1118,
+ Chiller,
+ "Electrical",
+ "Block 1 · 1",
+ "In-house",
+ "Important",
+ ,
+ ,
+ ],
+ [
+ APP-1121,
+ Cooling Tower,
+ "Plumbing",
+ "Tower A · 1",
+ "Blue Star",
+ "Normal",
+ ,
+ ,
+ ],
+ ];
+
+
+// Energy page in Operartions
+export const meterHeaders = [
+ "Meter",
+ "Name",
+ "Location",
+ "Type",
+ "MF",
+ "",
+];
+
+export const meterRows = [
+ [
+ MTR-1,
+ Electricity main 1,
+ "Block riser",
+ "Electricity",
+ "10",
+
+
+
+
,
+ ],
+
+ [
+ MTR-2,
+ Water main 2,
+ "Block riser",
+ "Water",
+ "100",
+
+
+
+
,
+ ],
+
+ [
+ MTR-3,
+ Diesel main 3,
+ "Block riser",
+ "Diesel",
+ "10",
+
+
+
+
,
+ ],
+
+ [
+ MTR-4,
+ Electricity main 4,
+ "Block riser",
+ "Electricity",
+ "1",
+
+
+
+
,
+ ],
+
+ [
+ MTR-5,
+ Water main 5,
+ "Block riser",
+ "Water",
+ "10",
+
+
+
+
,
+ ],
+];
+
+export const readingHeaders = [
+ "Meter",
+ "Prev",
+ "Current",
+ "Cons.",
+ "UOM",
+];
+
+export const readingRows = [
+ [
+ "MTR-1",
+ "40.00",
+ "58.00",
+ 180.0,
+ kWh,
+ ],
+
+ [
+ "MTR-2",
+ "49.00",
+ "69.00",
+ 2000.0,
+ kL,
+ ],
+
+ [
+ "MTR-3",
+ "58.00",
+ "80.00",
+ 220.0,
+ L,
+ ],
+
+ [
+ "MTR-4",
+ "67.00",
+ "91.00",
+ 24.0,
+ kWh,
+ ],
+
+ [
+ "MTR-5",
+ "76.00",
+ "102.00",
+ 260.0,
+ kL,
+ ],
+];
+//Report page in Insight
+export const reportheaders = [
+ "Code",
+ "Equipment",
+ "Group",
+ "Block · Floor",
+ "Service Provider",
+ "Manufacturer",
+ "Model",
+];
+
+export const reportrows = [
+ [
+ APP-1100,
+ Cooling Tower,
+ "Electrical",
+ "Block 1 · 2",
+ "Blue Star",
+ "Kirloskar",
+ M-550,
+ ],
+
+ [
+ APP-1103,
+ Air Handling Unit,
+ "Plumbing",
+ "Tower A · 1",
+ "Blue Star",
+ "Voltas",
+ M-550,
+ ],
+
+ [
+ APP-1106,
+ VRV Outdoor,
+ "Electrical",
+ "Tower A · G",
+ "Voltas",
+ "Daikin",
+ M-320,
+ ],
+
+ [
+ APP-1109,
+ VRV Outdoor,
+ "HVAC",
+ "Tower A · 1",
+ "Voltas",
+ "Blue Star",
+ M-320,
+ ],
+
+ [
+ APP-1112,
+ Air Handling Unit,
+ "HVAC",
+ "Tower A · G",
+ "In-house",
+ "Voltas",
+ M-550,
+ ],
+
+ [
+ APP-1115,
+ Air Handling Unit,
+ "Electrical",
+ "Tower A · 2",
+ "Voltas",
+ "Daikin",
+ M-XR9,
+ ],
+
+ [
+ APP-1118,
+ Chiller,
+ "Electrical",
+ "Block 1 · 1",
+ "In-house",
+ "Blue Star",
+ M-XR9,
+ ],
+
+ [
+ APP-1121,
+ Cooling Tower,
+ "Plumbing",
+ "Tower A · 1",
+ "Blue Star",
+ "Daikin",
+ M-550,
+ ],
+];
+
+
+//Cost Invoice Page
+const CostActionButton = ({ text }: { text: string }) => (
+
+);
+
+export const costInvoiceheaders = [
+ "Invoice",
+ "Client",
+ "Period",
+ "Amount",
+ "Raised",
+ "Due",
+ "Status",
+ "",
+];
+
+export const costInvoicerows = [
+ [
+ INV-9040,
+ Apple One Corp,
+ "Jun 2026",
+ ₹12.4 L,
+ Jun 5, 2026,
+ Jul 5, 2026,
+ ,
+ —,
+ ],
+
+ [
+ INV-9041,
+ Novotel F&B,
+ "Jun 2026",
+ ₹8.6 L,
+ Jun 9, 2026,
+ Jul 9, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9042,
+ SRM Estates,
+ "Jun 2026",
+ ₹4.3 L,
+ Jun 13, 2026,
+ Jul 13, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9043,
+ Local Mart,
+ "Jun 2026",
+ ₹21.0 L,
+ Jun 17, 2026,
+ Jul 17, 2026,
+ ,
+ —,
+ ],
+
+ [
+ INV-9044,
+ Regus Spaces,
+ "Jun 2026",
+ ₹6.8 L,
+ Jun 21, 2026,
+ Jul 21, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9105,
+ Apple One Corp,
+ "Jun 2026",
+ ₹12.4 L,
+ Jun 5, 2026,
+ Jul 5, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9106,
+ Novotel F&B,
+ "Jun 2026",
+ ₹8.6 L,
+ Jun 9, 2026,
+ Jul 9, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9107,
+ SRM Estates,
+ "Jun 2026",
+ ₹4.3 L,
+ Jun 13, 2026,
+ Jul 13, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9108,
+ Local Mart,
+ "Jun 2026",
+ ₹21.0 L,
+ Jun 17, 2026,
+ Jul 17, 2026,
+ ,
+ —,
+ ],
+ [
+ INV-9107,
+ SRM Estates,
+ "Jun 2026",
+ ₹4.3 L,
+ Jun 13, 2026,
+ Jul 13, 2026,
+ ,
+ ,
+ ],
+
+ [
+ INV-9108,
+ Local Mart,
+ "Jun 2026",
+ ₹21.0 L,
+ Jun 17, 2026,
+ Jul 17, 2026,
+ ,
+ —,
+ ],
+];
+
+
+//Training Page
+
+export const trainingheaders = [
+ "Course",
+ "Type",
+ "Completed",
+ "Progress",
+ "Renewal",
+ "Status",
+ "",
+];
+
+export const trainingrows = [
+ [
+
+ Fire safety & evacuation
+ ,
+
+ Mandatory
+ ,
+ "44/48",
+ ,
+ Annual,
+ ,
+ ,
+ ],
+
+ [
+
+ Working at height
+ ,
+
+ Mandatory
+ ,
+ "12/16",
+ ,
+ 2 years,
+ ,
+ ,
+ ],
+
+ [
+
+ Electrical LOTO
+ ,
+
+ Mandatory
+ ,
+ "12/12",
+ ,
+ 2 years,
+ ,
+ ,
+ ],
+
+ [
+
+ First aid & CPR
+ ,
+
+ Optional
+ ,
+ "9/20",
+ ,
+ 3 years,
+ ,
+ ,
+ ],
+
+ [
+
+ New-joiner onboarding
+ ,
+
+ Onboarding
+ ,
+ "5/6",
+ ,
+ —,
+ ,
+ ,
+ ],
+
+ [
+
+ ISO 41001 awareness
+ ,
+
+ Optional
+ ,
+ "21/30",
+ ,
+ —,
+ ,
+ ,
+ ],
+];
+
+
+
+//Statutory Compliance Page
+export const statutoryheaders = [
+ "Obligation",
+ "Category",
+ "Authority",
+ "Site",
+ "Expiry",
+ "Expires In",
+ "Docs",
+ "Status",
+ "Actions",
+];
+
+export const statutoryrows = [
+ [
+ Fire NOC,
+ Statutory · Fire,
+ "Fire Dept.",
+ "HQ Tower",
+ Oct 1, 2026,
+ 120 days,
+ ✓ 1,
+ ,
+ ,
+ ],
+ [
+ Lift License,
+ Statutory · Lifts,
+ "Inspectorate",
+ "HQ Tower",
+ Oct 2, 2026,
+ 24 days,
+ —,
+ ,
+ ,
+ ],
+ [
+ Pressure Vessel Cert (IBR),
+ Statutory · Pressure,
+ "Boiler Board",
+ "Plant",
+ Jun 22, 2026,
+ Expired 8d,
+ —,
+ ,
+ ,
+ ],
+ [
+ Pollution Consent (CTO),
+ Environmental,
+ "Pollution Board",
+ "Plant",
+ Oct 4, 2026,
+ 75 days,
+ ✓ 1,
+ ,
+ ,
+ ],
+ [
+ Fire NOC,
+ Statutory · Fire,
+ "Fire Dept.",
+ "HQ Tower",
+ Oct 1, 2026,
+ 120 days,
+ ✓ 1,
+ ,
+ ,
+ ],
+ [
+ Lift License,
+ Statutory · Lifts,
+ "Inspectorate",
+ "HQ Tower",
+ Oct 2, 2026,
+ 24 days,
+ —,
+ ,
+ ,
+ ],
+ [
+ Pressure Vessel Cert (IBR),
+ Statutory · Pressure,
+ "Boiler Board",
+ "Plant",
+ Jun 22, 2026,
+ Expired 8d,
+ —,
+ ,
+ ,
+ ],
+ [
+ Pollution Consent (CTO),
+ Environmental,
+ "Pollution Board",
+ "Plant",
+ Oct 4, 2026,
+ 75 days,
+ ✓ 1,
+ ,
+ ,
+ ],
+];
+
+
+
+//Fire And Safety Page
+
+export const firesafetyheaders = [
+ "Equipment",
+ "Location",
+ "Qty",
+ "Next Due",
+ "Status",
+ "",
+];
+
+export const firesafetyrows = [
+ [
+
+ Fire extinguishers
+
+ (CO2/DCP)
+ ,
+ "All floors",
+ "84",
+
+ Jul 14,
+
+ 2026
+ ,
+ ,
+ ,
+ ],
+
+ [
+
+ Smoke & heat detectors
+ ,
+ "Plant + floors",
+ "212",
+
+ Jun 30,
+
+ 2026
+ ,
+ ,
+ ,
+ ],
+
+ [
+
+ Sprinkler system
+ ,
+
+ Basement +
+
+ atrium
+ ,
+ "1",
+
+ Aug 02,
+
+ 2026
+ ,
+ ,
+ ,
+ ],
+
+ [
+
+ Fire hydrants & hose reels
+ ,
+ "External + risers",
+ "18",
+
+ Jun 28,
+
+ 2026
+ ,
+ ,
+ ,
+ ],
+
+ [
+
+ Emergency lighting
+ ,
+ "Stairwells",
+ "46",
+
+ Sep 10,
+
+ 2026
+ ,
+ ,
+ ,
+ ],
+
+ [
+
+ Fire alarm panel
+ ,
+ "BMS room",
+ "2",
+
+ Jul 01,
+
+ 2026
+ ,
+ ,
+ ,
+ ],
+];
+
+
+
+// Contracts page
+export const contractheaders = [
+ "Contract",
+ "Vendor",
+ "Scope",
+ "Value",
+ "SLA",
+ "Scorecard",
+ "Expires",
+ "",
+];
+
+export const contractrows = [
+ [
+ CTR-700,
+ Voltas Ltd,
+ "HVAC AMC",
+ ₹24.0 L,
+ 98%,
+ ★★★★★ 4.6,
+ 120 d,
+
+
+
,
+ ],
+
+ [
+ CTR-701,
+ Blue Star,
+ "Elevator AMC",
+ ₹18.0 L,
+ 91%,
+ ★★★★☆ 4.1,
+ 22 d,
+
+
+
+
,
+ ],
+
+ [
+ CTR-702,
+ Sterling FM,
+ "Soft services",
+ ₹36.0 L,
+ 86%,
+ ★★★☆☆ 3.4,
+ 75 d,
+
+
+
,
+ ],
+
+ [
+ CTR-703,
+ OTIS Elevators,
+ "DG maintenance",
+ ₹6.5 L,
+ 79%,
+ ★★★☆☆ 2.9,
+ Expired,
+
+
+
+
,
+ ],
+
+ [
+ CTR-704,
+ Sodexo,
+ "Security services",
+ ₹42.0 L,
+ 99%,
+ ★★★★★ 4.8,
+ 210 d,
+
+
+
,
+ ],
+
+ [
+ CTR-705,
+ Securitas,
+ "Pest control",
+ ₹4.2 L,
+ 94%,
+ ★★★★☆ 4.3,
+ 48 d,
+
+
+
,
+ ],
+
+ [
+ CTR-726,
+ Voltas Ltd,
+ "HVAC AMC",
+ ₹24.0 L,
+ 98%,
+ ★★★★★ 4.6,
+ 120 d,
+
+
+
,
+ ],
+
+ [
+ CTR-727,
+ Blue Star,
+ "Elevator AMC",
+ ₹18.0 L,
+ 91%,
+ ★★★★☆ 4.1,
+ 22 d,
+
+
+
+
,
+ ],
+
+ [
+ CTR-728,
+ Sterling FM,
+ "Soft services",
+ ₹36.0 L,
+ 86%,
+ ★★★☆☆ 3.4,
+ 75 d,
+
+
+
,
+ ],
+];
+
+
+// Audit ans Survey page
+export const auditheaders = [
+ "Ref",
+ "Audit / Survey",
+ "Site",
+ "Score",
+ "Findings",
+ "Status",
+ "",
+];
+
+export const auditrows = [
+ [
+
+ AUD-301
+ ,
+
+ Safety walk
+ ,
+ "HQ Tower",
+ 92,
+ "2",
+ ,
+ ,
+ ],
+
+ [
+
+ AUD-302
+ ,
+
+ Housekeeping survey
+ ,
+ "HQ Tower",
+ 78,
+ "5",
+ ,
+
+
+
+
,
+ ],
+
+ [
+
+ AUD-303
+ ,
+
+ ISO 41001 internal
+ ,
+ "Annexe",
+ 88,
+ "3",
+ ,
+
+
+
+
,
+ ],
+
+ [
+
+ AUD-304
+ ,
+
+ Energy audit
+ ,
+ "Plant",
+ 81,
+ "4",
+ ,
+ ,
+ ],
+
+ [
+
+ AUD-305
+ ,
+
+ Vendor SLA review
+ ,
+ "All sites",
+ 95,
+ "1",
+ ,
+ ,
+ ],
+
+ [
+
+ AUD-325
+ ,
+
+ Safety walk
+ ,
+ "HQ Tower",
+ 92,
+ "2",
+ ,
+
+
+
+
,
+ ],
+
+ [
+
+ AUD-326
+ ,
+
+ Housekeeping survey
+ ,
+ "HQ Tower",
+ 78,
+ "5",
+ ,
+ ,
+ ],
+
+ [
+
+ AUD-327
+ ,
+
+ ISO 41001 internal
+ ,
+ "Annexe",
+ 88,
+ "3",
+ ,
+
+
+
+
,
+ ],
+
+ [
+
+ AUD-328
+ ,
+
+ Energy audit
+ ,
+ "Plant",
+ 81,
+ "4",
+ ,
+
+
+
+
,
+ ],
+];
\ No newline at end of file