Dashboard
Live KPI grid showing business-wide counts. 3x2 grid of KPI cards with icon, large number, and label.
📈 Dashboard
🔔 3| Project | Status | Progress | Contract Value |
|---|---|---|---|
| #PRJ-004 | Residential Block A | active | PKR 2,500,000 |
| #PRJ-003 | DHA Site Drainage | active | PKR 980,000 |
| #PRJ-002 | Gulshan Office Block | on_hold | PKR 4,200,000 |
Project List
Paginated table with status and location filters. Inline action buttons for View and Edit.
🏗 Projects
| ID | Project Name | Location | Status | Phase | Value (PKR) | Actions | |
|---|---|---|---|---|---|---|---|
| PRJ-004 | Residential Block A — Phase 2 | Karachi | active | foundation | Civil | 2,500,000 | |
| PRJ-003 | DHA Site Drainage | Karachi | active | excavation | 980,000 | ||
| PRJ-002 | Gulshan Office Block | Lahore | on_hold | roofing | Architectural | 4,200,000 | |
| PRJ-001 | SITE Factory Extension | Karachi | completed | finishing | Finishing | 7,800,000 |
Project Detail — Overview Tab
Tabbed project detail screen with 12 tabs. Overview & BOQ tab shows status, financials, and phase progress bars. Other tabs cover site logs, contractor ledger, vouchers, materials, gallery, drawings, instructions, permits, samples, snag list, and commissioning.
← Residential Block A — Phase 2
Create Project
Form grid for new project. Template dropdown auto-populates phase_keys after creation.
Vouchers List
Voucher table with project + status filters. Quick approve button on submitted vouchers.
🧾 Vouchers
| Voucher No | Subcontractor | Type | Week Ending | Amount | Status | Actions |
|---|---|---|---|---|---|---|
| VCH-2026-0008 | RapidSteel Contractors | subcontractor | 28 Jun 2026 | 220,000 | draft | |
| VCH-2026-0007 | Civil Master Co. | subcontractor | 21 Jun 2026 | 185,000 | submitted | |
| VCH-2026-0006 | RapidSteel Contractors | subcontractor | 14 Jun 2026 | 195,000 | approved |
Ledger Entries
Double-entry ledger view filtered by project. Debit/credit columns color coded.
📚 Ledger — PRJ-004
| Date | Party | Type | Reference | Debit | Credit |
|---|---|---|---|---|---|
| 22 Jun 2026 | Civil Master | payment | VCH-2026-0007 | — | 185,000 |
| 15 Jun 2026 | RapidSteel | advance | ADV-2026-0002 | — | 50,000 |
| 08 Jun 2026 | RapidSteel | payment | VCH-2026-0006 | — | 195,000 |
| 01 Jun 2026 | Civil Master | deduction | DEDUCT-001 | 15,000 | — |
Staff Management
Staff table with department and location filters. Role column shows assigned custom role.
👥 Staff
| User | Job Title | Department | Location | Status | Role | Actions |
|---|---|---|---|---|---|---|
| staff (user #3) | Site Engineer | Engineering | Karachi | active | Staff Default | |
| hassan_s (user #8) | Finance Officer | Finance | Karachi | active | Finance Only | |
| zainab_m (user #9) | Site Supervisor | Engineering | Lahore | active | Site Supervisor |
Calendar Events
Event list filterable by project and type. Shows date, title, type badge, and assigned user.
📅 Calendar
| Date & Time | Title | Project | Type | Assigned To | Actions |
|---|---|---|---|---|---|
| 05 Jul 2026 09:00 | Foundation inspection | Block A | inspection | staff (user #3) | |
| 12 Jul 2026 14:00 | Client progress review | Block A | meeting | — | |
| 01 Aug 2026 | Foundation completion milestone | Block A | milestone | — |
Roles & Permissions
System and custom roles table. Permission checkmarks shown inline.
🛡 Roles & Permissions
| Role | Type | Permissions |
|---|---|---|
| admin | System | All permissions (implicit) |
| staff | System | None (needs custom role assignment) |
| Role Slug | Display Name | Permissions count | Staff assigned | Actions |
|---|---|---|---|---|
| site-supervisor | Site Supervisor | 8 permissions | 1 staff | |
| finance-only | Finance Only | 6 permissions | 1 staff |
✓ projects.view ✓ phases.view ✓ calendar.view ✓ calendar.manage
✗ vouchers.manage ✗ ledgers.manage ✗ manage_roles
Phase Library — Setup
Reference table for reusable phase definitions. Category groups phases by trade. Used when applying project templates.
⚖ Phase Library
| Phase Key | Category | Name | Default Duration | Sort | Active | Actions |
|---|---|---|---|---|---|---|
| foundation | Foundation Works | 30 days | 1 | yes | ||
| structural | Civil | Structural Framing | 60 days | 2 | yes | |
| roofing | Roofing Works | 21 days | 3 | yes | ||
| plumbing | MEP Rough-In | Plumbing & Sanitation | 30 days | 4 | yes | |
| electrical | MEP Rough-In | Electrical Works | 45 days | 5 | yes | |
| finishing | Finishing & Handover | 20 days | 6 | yes |
Project Templates
Card grid for managing project templates. Each card shows the template name, phase count, and Preview / Edit / Delete actions. Clicking Preview opens an inline panel listing the included phases.
📋 Project Templates
Proposals & Bidding
List of proposals across all projects with stage filter and stats (total, in review, deposit paid, accepted/converted). Clicking a row opens the Proposal Detail screen which is organised into five tabs: Overview (quoted amount, current round, status, linked project info, drawing/contract revisions), Rounds (per-round bid history with amount, status, notes, submitted date — full CRUD), Team (staff members assigned to prepare/negotiate this proposal — proposal-members), Notes (internal team notes not visible to client — proposal-notes), and Messages (inbound/outbound communication log with the client — proposal-messages). A status timeline stepper across the top mirrors the 7 canonical proposal stages. Reachable from the sidebar's "Proposals" link.
📄 Proposals
| Title | Project | Round | Quoted Amount | Stage | Actions |
|---|---|---|---|---|---|
| Initial BOQ Proposal | Gulberg Tower Renovation | 3 | 11,800,000 | accepted | |
| Villa Extension Proposal | DHA Phase 6 Villa | 1 | 2,500,000 | in_review | |
| Warehouse Fit-out | Industrial Yard B | 2 | 4,200,000 | revision_requested | |
| Office Renovation | Metro Tower | 1 | 1,650,000 | draft |
| Round | Amount | Status | Submitted |
|---|---|---|---|
| 1 | 11,000,000 | superseded | 29 Mar 2026 |
| 2 | 11,500,000 | superseded | 29 Apr 2026 |
| 3 | 11,800,000 | accepted | 29 May 2026 |
GET /api/admin/projects/{id}/revisions): drawing STR-001 rev 1 (approved) · contract rev 2 (signed)