# Software Requirements Specification (SRS)

**Project:** GB Pavilion Operations & Business Conversion Platform
**Sponsor:** GB IT Community / P@SHA / ECG Pavilion at ITCN Asia
**Document version:** 1.0
**Date:** 4 Sep 2026
**Prepared for:** Development team (programmer handoff)
**Source-of-truth workbook:** `GB_Pavilion_ITCN_Asia_Master_Plan_P3.xlsx` (23 sheets)

---

## 1. Introduction

### 1.1 Purpose
This document specifies the requirements for a **single business-operations web application** that runs the GB IT Community Pavilion ("Made in GB") at ITCN Asia — and converts the expo into **measurable business for ~10 GB companies**. The system replaces the current spreadsheet workbook with a unified tool covering: company selection, sponsor pipeline, budget tracking, stakeholder/VIP engagement, B2B meeting scheduling, lead capture & qualification, MOU pipeline, social/PR calendar, risk register, logistics, KPIs, and the 30/60/90-day post-event follow-up machine.

It is the **one place** the Project Director (PD), PMO, and workstream leads open every morning.

### 1.2 Scope
**In scope:**
- Web app (responsive; desktop + tablet at the booth + mobile on the floor).
- Multi-role login (PD, PMO, Companies Lead, Sponsorship Lead, Design Lead, Stakeholder Lead, BD Lead, Comms Lead, Logistics Lead, Company-rep users, Sponsor-portal user).
- All 23 master-workbook sheets, implemented as connected modules — **no double entry**; lead captured at the booth flows to Lead Tracker → B2B log → MOU tracker → KPI dashboard automatically.
- QR-based lead capture (central + per-pod), paper fallback, badge photo capture.
- Reporting and printable PDF equivalents of the workbook.
- Offline-tolerant capture at the booth (no internet on the floor).

**Out of scope (v1):**
- Public-facing GB Pavilion marketing site.
- Native mobile apps (mobile web only).
- Multi-event tenancy (single event per workspace in v1; multi-event pluggable in v2).
- Payment gateway for sponsor invoicing (invoice PDFs only; payment tracked manually).
- Accounting integration.

### 1.3 Definitions & Acronyms
| Term | Meaning |
| --- | --- |
| GB | Gilgit-Baltistan |
| ITCN Asia | Information Technology, Communication & Networking Asia expo (28th edition, 22–24 Sep 2026, Expo Centre Karachi) |
| ECG | E-commerce Gateway Pakistan (event organizer) |
| P@SHA | Pakistan Software Houses Association |
| GBSHA | Gilgit-Baltistan Software Houses Association |
| MOU | Memorandum of Understanding |
| PD / PMO | Project Director / Project Management Office |
| BANT | Budget, Authority, Need, Timeline (lead-qualification framework) |
| KPI | Key Performance Indicator |
| L-ID | Lead Identifier (`L-001`, `L-002`, ...) |
| M-ID | MOU Identifier (`M-01`, `M-02`, ...) |
| Funnel | Visibility → Connections → Leads → Partnerships → MOUs → Business → Economic Impact |

### 1.4 References
- Master workbook: `GB_Pavilion_ITCN_Asia_Master_Plan_P3.xlsx` (Executive Dashboard, README, Facts & Assumptions, Master Timeline, Daily Action Plan Sep 3-18, Weekly Targets, Committee & Governance, Participating Companies, Sponsors & Funding, Sponsor Pipeline, Sponsorship Daily Plan, Stakeholder Database, Government-VIP Engagement, Pavilion Design & Branding, Logistics, B2B Meetings, MOU & Partnership Tracker, Social Media & PR Calendar, Risk & Issue Register, Budget Tracker, Lead Tracker, 30-60-90 Follow-Up, KPIs & Impact Measurement, Post-Event Report).
- ITCN Asia: https://itcnasia.com/karachi
- P@SHA GB Diagnostic Report (Nov 2025).
- ECG exhibitor manual (to be supplied by 8 Sep 2026).

### 1.5 Document overview
Section 2 = overall description & users. Section 3 = functional requirements by module. Section 4 = external interfaces. Section 5 = non-functional requirements. Section 6 = data model (key entities). Section 7 = reports & dashboards. Section 8 = acceptance criteria & release plan.

---

## 2. Overall Description

### 2.1 Product perspective
A greenfield web app, no legacy integration. Replaces 23 interlinked Excel sheets so the project stops duplicating data between the Sponsorship Daily Plan, the Sponsor Pipeline, the Budget Tracker, and the Executive Dashboard. Single database, role-based views, audit trail on every status change.

### 2.2 User classes & characteristics
| Role | Primary needs |
| --- | --- |
| **Project Director (PD)** | Executive dashboard, sign-offs, year-2/3 strategy, sponsor negotiation |
| **PMO / Follow-up Lead** | Owns the workbook daily; runs the 30/60/90 machine; MOU drafts and tracking |
| **Companies Lead** | Call-for-applications, selection rubric scoring, company readiness checklist |
| **Sponsorship Lead** | Sponsor pipeline (8 stages), probability-weighted value, fulfillment reports |
| **BD Lead** | Target lists, B2B meeting calendar, lead qualification, investor conversations |
| **Design Lead** | Pavilion design brief, brand assets, print schedule |
| **Stakeholder Lead** | Stakeholder DB, VIP engagement plan, guestbook |
| **Comms Lead** | Social/PR calendar, earned-media log, post metrics |
| **Logistics Lead** | Travel waves, hotel, equipment, emergency contacts |
| **Company Rep** (10 companies × 2 reps) | Own leads, follow-up tasks, meeting requests |
| **Sponsor Portal User** (external) | View tier benefits, fulfillment proof, renewal status |
| **Auditor / Read-only** | View all records, export PDF |

### 2.3 Operating environment
- Web app hosted on a cloud VM (e.g., 2 vCPU / 4 GB / Ubuntu 22.04).
- Browser support: latest 2 versions of Chrome, Edge, Safari (booth tablets will use Chrome).
- Mobile: responsive web only (iPad/Android tablet at booth; phone on floor).
- Offline capture at booth: PWA with IndexedDB queue → syncs when online.
- QR codes generated server-side; phones scan via tablet camera or visitor's own phone.

### 2.4 Design & implementation constraints
- Must be buildable by a small team (1–2 devs) in 2–3 weeks for v1 (show is 22 Sep).
- PHP/Laravel or Node/Express + React, or Python/Django + React — **any mainstream stack is acceptable** as long as Section 5 non-functional requirements are met.
- Database: PostgreSQL (recommended) or MySQL.
- Object storage (S3-compatible) for photos, badge images, PDFs.
- All money values in PKR (integer paisa stored, displayed rounded).
- Time zone: Asia/Karachi (PKT, UTC+5). No DST.

### 2.5 Assumptions & dependencies
- ECG/P@SHA written confirmation of free pavilion + 3-year commitment arrives by 5 Sep (Assumption A1 in workbook).
- Exhibitor manual with exact booth dimensions and shell-scheme inclusions by 8 Sep (A2, A7, A8).
- Internet at the Expo Centre is unreliable → offline-first capture is mandatory.
- Real budget quotes replace placeholders by 6 Sep; sponsor commitments update from the Sponsor Pipeline.
- The 3-year arc means the system must survive the show and become the post-event CRM for 90+ days, then be cloned for year 2 (Lahore, 29–31 Jan 2027).

---

## 3. Functional Requirements (by module)

Each module maps 1:1 to one or more sheets in the master workbook. **FR = Functional Requirement.**

### 3.1 Authentication & Roles (FR-AUTH)
- FR-AUTH-1: Email + password login; SSO optional (Google) for committee.
- FR-AUTH-2: Roles per Section 2.2; permissions matrix in DB.
- FR-AUTH-3: Audit log on every create/update/delete (who, when, before/after).
- FR-AUTH-4: Sponsor Portal users see only their sponsor record + fulfillment proof; cannot see other sponsors or company leads.
- FR-AUTH-5: Two-signature rule (PD + Sponsorship Lead) for any single spend > PKR 100,000 — system enforces an approval workflow.
- FR-AUTH-6: Daily 18:00 standup reminder (in-app + email) to committee.

### 3.2 Executive Dashboard (FR-DASH)
- FR-DASH-1: Single landing page with: KPI snapshot (target vs actual), key-dates countdown, phase status, top 5 risks, command contacts, "this-week focus" note.
- FR-DASH-2: KPI cards (live formulas reading from underlying tables): Companies confirmed · Sponsorship committed · Funding coverage % · B2B meetings held · Leads captured · Qualified leads (Hot+Warm) · VIP visits hosted · MOUs signed · MOUs at Proposal+ · Pipeline value · Social posts published · Open risks.
- FR-DASH-3: Color states: Green (at/above target) · Amber (within 80%) · Red (<80%) · Grey (no data yet).
- FR-DASH-4: Click any KPI → drill-down to source sheet.

### 3.3 Facts & Assumptions (FR-FACTS)
- FR-FACTS-1: Two lists: **Verified Facts** (with source URL + cite date) and **Working Assumptions** (with owner + resolve-by date).
- FR-FACTS-2: "Amber = blocking" flag surfaces in the Dashboard if any blocking assumption's resolve-by is past.
- FR-FACTS-3: Facts are read-only after 7 days from creation (only PD can edit).

### 3.4 Master Timeline & Daily Action Plan (FR-TIMELINE)
- FR-TIMELINE-1: 11-phase plan (P1 Strategy → P11 Post-Event Follow-Up), each phase with activities carrying: WHAT → WHY → WHO → WHEN → HOW → DEPENDENCY → OUTPUT → KPI.
- FR-TIMELINE-2: Gantt-style view with phase bars + milestones (Setup complete 21 Sep 18:00, Show 22–24 Sep, Dismantle 25 Sep, 30/60/90 reviews).
- FR-TIMELINE-3: Daily Action Plan Sep 3–18 — day-by-day sprint view with owner and expected output. Drives the 18:00 standup.
- FR-TIMELINE-4: Status dropdown: `Not started / In progress / Done / Blocked / At risk`. "Blocked" forces selection from Risk Register.
- FR-TIMELINE-5: Weekly Targets view: Week-of-Kickoff → Week-of-Show → 30-day → 60-day → 90-day.

### 3.5 Committee & Governance (FR-GOV)
- FR-GOV-1: Roles list (PD, PMO, PASHA/ECG Liaison, BD, Logistics, Comms, Design, Stakeholder, Sponsorship) with name, contact, responsibilities, backup person.
- FR-GOV-2: Decision matrix (e.g., PD approves >100K spend, Sponsorship Lead approves tier changes, PMO approves data corrections >48h old).
- FR-GOV-3: Meeting cadence: standup 09:00 daily, steering weekly, post-event debrief.
- FR-GOV-4: Communication channels (WhatsApp group, email distribution list) — stored as references, not chat.

### 3.6 Participating Companies (FR-COMPANIES)
- FR-COMPANIES-1: Call-for-applications form (public link): company name, GB-rooted proof, product/service description, demo link, references, team size, GB district (Gilgit/Skardu/Hunza/etc.), women-led flag, funding stage.
- FR-COMPANIES-2: Selection rubric (100 points): GB-rooted (15) · Product maturity (20) · Team readiness (20) · Pitch quality (15) · Market potential (15) · Inclusion (women-led, geography) (10) · References (5).
- FR-COMPANIES-3: Panel scoring UI (3+ scorers), conflict-of-interest declaration, auto-sum, ranked list.
- FR-COMPANIES-4: Company record: name, founders, district, website, logo, one-pager PDF, pitch deck PDF, demo video link, contact, GBSHA/SCO/incubator affiliation.
- FR-COMPANIES-5: Per-company readiness checklist (≥15 items): collaterals ready, reps confirmed, travel booked, hotel confirmed, rehearsal attended, lead-capture test passed, QR standee delivered.
- FR-COMPANIES-6: Roster lock 9 Sep; 10 confirmed + 2 reserves.

### 3.7 Sponsors & Funding (FR-FUND)
- FR-FUND-1: Value proposition builder (editor) → PDF export.
- FR-FUND-2: Sponsor tiers (Title, Gold, Silver, Supporting, In-kind) with **benefits matrix as the negotiation boundary** — only Title carries naming; no editorial control at any tier.
- FR-FUND-3: Sponsor categories with evidence hooks: Govt/Public-sector · IT industry · Telecom · Bank · Development partner (UNDP/AKDN/WB) · Diaspora · Hospitality · Media.
- FR-FUND-4: Revenue plan vs live honesty math: potential PKR · weighted PKR · committed cash · committed in-kind · target · gap.
- FR-FUND-5: Cap: any one sponsor ≤35% of total raise (warning if exceeded).
- FR-FUND-6: Fulfillment tracker per sponsor: logo usage, mentions, photos, passes, meeting corner slots — generates a Sponsor Fulfillment Report PDF (delivered 14 days post-event).

### 3.8 Sponsor Pipeline (FR-SPON)
- FR-SPON-1: One tracker, 8 stages: `Prospect → Contacted → Meeting → Proposal → Negotiation → Verbal Commitment → Confirmed → Fulfilled` (+ `Declined`).
- FR-SPON-2: Each row: target, category, hook, warm path, contact (role-level until name confirmed), probability %, potential PKR, weighted PKR, stage dates, owner, last-action date.
- FR-SPON-3: Stage moves require evidence (e.g., Proposal = proposal PDF uploaded; Verbal = meeting notes; Confirmed = signed letter).
- FR-SPON-4: Verbal not converted to written within 48h auto-drops to Negotiation.
- FR-SPON-5: Funnel chart: counts per stage + PKR totals; weekly targets (cumulative).
- FR-SPON-6: Daily plan Sep 3–18 with priorities, owners, expected outcomes, deadlines, KPIs.
- FR-SPON-7: Probability weights are planning assumptions; recalibrate at 8 & 15 Sep reviews (PD-only edit).
- FR-SPON-8: No invented contact names — role-level until a real name is confirmed.

### 3.9 Stakeholder Database (FR-STK)
- FR-STK-1: Categories: Federal · GB Govt · P@SHA/Industry · Investor · International/Dev · Diplomatic · Media · Academia.
- FR-STK-2: Priority A/B/C with auto-routing of action: A = personal invitation + slot + host; B = invitation + follow-up; C = announcement reach.
- FR-STK-3: Per row: name, title, organization, category, priority, relationship owner, invite sent (date), RSVP, visited (bool), follow-up owner, notes/hook.
- FR-STK-4: Bulk import from the prefilled roster (Shaza Fatima Khawaja, Zarrar Hasham Khan, Faisal Jeddy, etc.) with "verify before invite" flag.
- FR-STK-5: Search & filter; export CSV for invitation letters.

### 3.10 Government / VIP Engagement (FR-VIP)
- FR-VIP-1: VIP-by-VIP plan: objective, **specific ask** (mandatory), channel for invite, invite date, status, visit slot, host, media plan, follow-up.
- FR-VIP-2: "Every visit produces an ask" — system requires Ask + Follow-up before a row can be marked Visited.
- FR-VIP-3: Day-1 slots auto-aligned with the official opening protocol (manual alignment, since the protocol comes from ECG).
- FR-VIP-4: Visit log: photo upload, talking-points checklist, ask delivered (Y/N), response, next step.

### 3.11 Pavilion Design & Branding (FR-DESIGN)
- FR-DESIGN-1: Concept & narrative editor (brand identity "Made in GB", message hierarchy, color palette).
- FR-DESIGN-2: Zone plan for ≈90 m² (10 pods + ecosystem wall + meeting corner + screens + signage).
- FR-DESIGN-3: Production checklist with deadlines (asset freeze 12 Sep, proofs approved 15 Sep, installation 19–21 Sep).
- FR-DESIGN-4: "What ECG provides" checklist (shell-scheme walls, carpet, power, passes) vs what we produce.
- FR-DESIGN-5: Asset library: logos, fonts, color codes, templates for standees, booklets, one-pagers.

### 3.12 Logistics (FR-LOG)
- FR-LOG-1: Delegate manifest: name, role, company (if any), passport/ID, contact, emergency contact, dietary, medical notes.
- FR-LOG-2: Travel waves (Advance / Main Gilgit / Skardu / Hunza) with departure/arrival dates, fallback rules.
- FR-LOG-3: Weather fallback logic: if GIL flights cancel, NATCO road option (≈18h) → fly ISB→KHI next day. Status field shows fallback active Y/N.
- FR-LOG-4: Hotel manifest: check-in 20 Sep / out 25 Sep, rooming list (twin-share), confirmation numbers.
- FR-LOG-5: Equipment manifest: SIMs, screens, AV gear, first-aid, stationery.
- FR-LOG-6: Document checklist: travel tickets, hotel vouchers, ECG passes, ID copies, insurance.
- FR-LOG-7: Emergency contacts list (PD, embassy, hospitals, PIA help-line, NATCO).

### 3.13 B2B Meetings (FR-B2B)
- FR-B2B-1: Target-list template (per company, due 12 Sep): Account · Type (client/partner/investor) · Who to meet · Why us (one line) · Intro path · Ask.
- FR-B2B-2: 200-account pavilion pool (10 companies × 20) with de-duplication and conflict resolution (BD consolidates).
- FR-B2B-3: Outreach scripts: email + LinkedIn + WhatsApp variants — saved as templates, copy-to-clipboard.
- FR-B2B-4: Meeting calendar: 45-min slots, 2 concurrent, meeting corner, 3 show days = 36 slots + buffer.
- FR-B2B-5: Meeting log: date, time, account, type (Client/Partner/Investor/International/Other), company hosting, attendees, status (Requested/Confirmed/Held/No-show), next-step owner, next-step due date.
- FR-B2B-6: "Every meeting ends with a named next step" — required field on save.
- FR-B2B-7: Targets: ≥40 booked pre-show · ≥40 held · ≥10 investor conversations · ≥15 international connections.

### 3.14 Lead Capture (FR-LEAD) — *booth-critical*
- FR-LEAD-1: Visitor lands at the booth → tablet shows QR → visitor scans with own phone OR types name on the tablet.
- FR-LEAD-2: Two QR surfaces: **central pavilion QR** (generic "Made in GB" lead) and **per-pod QR** (attributed to that company).
- FR-LEAD-3: Public form (mobile-friendly): name, organization, title, phone, email, city/country, interest area (dropdown of 10 companies + "general"), consent checkbox (GDPR-style: "I agree to be contacted by GB Pavilion about this enquiry").
- FR-LEAD-4: Badge photo capture (optional, tablet camera): snapshots the visitor's name badge for follow-up memory.
- FR-LEAD-5: **Paper fallback**: tablet "Quick Add" mode for visitors who refuse digital — receptionist types name + phone; offline queue.
- FR-LEAD-6: Offline-tolerant: all captures queue in IndexedDB if no internet; auto-sync on reconnect.
- FR-LEAD-7: Lead record: L-ID auto-generated, date, captured-by (Reception QR / Pod QR / Paper pad), visitor name, organization, title, phone, email, city/country, interest, type (Client/Partner/Investor/International/Other), qualification (Hot/Warm/Cold), BANT notes, assigned-to company rep, follow-up due date, follow-up status, outcome stage (Contacted → Meeting → Proposal → Negotiation → Won/Lost), estimated value PKR, notes.
- FR-LEAD-8: Qualification rule: **HOT** = need + authority + timeline inside 90 days · **WARM** = real interest, longer timeline · **COLD** = contact only.
- FR-LEAD-9: BANT-lite fields: Budget · Authority · Need · Timeline — free-text.
- FR-LEAD-10: Auto-route: each lead assigned to a company rep within 5 minutes of capture; rep gets in-app + email notification.
- FR-LEAD-11: SLA enforcement: Hot lead first contact ≤48h; all leads ≤5 working days; "no response ×3" closes the loop (status = Closed-no-response, kept in record).
- FR-LEAD-12: Follow-up dashboard per rep: my open leads · overdue · due this week · won · lost.

### 3.15 MOU & Partnership Tracker (FR-MOU)
- FR-MOU-1: M-ID auto-generated (`M-01`, `M-02`, ...).
- FR-MOU-2: Pipeline: `Identified → Qualified → Drafted → Legal review → Signing slot → Signed → 30-day action → Conversion stage (Meeting → Opportunity → Proposal → Contract → Revenue)`.
- FR-MOU-3: Each row: parties, type (MOU/LOI/Partnership/Investment), purpose/scope (one line), status, signing slot (Day 2 15:00 default), owner, signed date, key commitments (who/what/by-when), 30-day action, conversion stage, estimated value PKR.
- FR-MOU-4: **Qualification bar** (enforced): a candidate MOU must name (a) concrete purpose, (b) signatories with authority, (c) at least one dated commitment per side — else status = "Declined-politely".
- FR-MOU-5: "MOU ≠ success; conversion is" — Dashboard tracks MOUs at Proposal+ separately from MOUs signed.
- FR-MOU-6: Targets: ≥5 signed · ≥2 at Proposal+ by day 60.

### 3.16 Social Media & PR Calendar (FR-PR)
- FR-PR-1: Pre/during/after content plan: date, phase, platform (LinkedIn / FB / IG / X / YouTube / Press), content type, topic/asset, owner, status (Draft/Scheduled/Published), link.
- FR-PR-2: Hashtag & handle library: `#MadeInGB #GBPavilion #ITCNAsia2026` + `@P@SHA` `@ITCN` accounts.
- FR-PR-3: Cadence enforcement: pre = ≥1/day from 12 Sep; during = ≥2/day + stories; after = results week + stories through 15 Oct.
- FR-PR-4: Press targets list (publication, journalist, beat, last interaction, status).
- FR-PR-5: Earned media log: article/segment URL, outlet, reach estimate, sentiment (Positive/Neutral/Negative).
- FR-PR-6: Media kit checklist: factsheet, ecosystem stats, founder bios, high-res photos, b-roll.
- FR-PR-7: Amplification kit — companies post the same-day assets via their own channels.

### 3.17 Risk & Issue Register (FR-RISK)
- FR-RISK-1: Each risk: ID, category (Sponsorship/Logistics/Companies/Design/Stakeholder/BD/MOU/Comms/Weather), description, likelihood (L/M/H), impact (L/M/H), score = L×I (numeric), mitigation, contingency, owner, status (Open/Mitigating/Closed), last-review date.
- FR-RISK-2: Score 6+ flagged for daily standup review.
- FR-RISK-3: Escalation rule: score 6+ and not visibly improving for 2 standups → PD; external blockers → PASHA/ECG Liaison same day. System shows escalation banner.
- FR-RISK-4: Closed risks keep their row (audit trail for year-2 planning).

### 3.18 Budget Tracker (FR-BUDGET)
- FR-BUDGET-1: Three scenarios side-by-side: **Minimum Viable** (≈4.51M) · **Recommended** (≈5.12M — the working number) · **Enhanced** (≈6.59M).
- FR-BUDGET-2: Line items: category, item, mandatory/optional, unit, unit cost, qty per scenario, total per scenario, funding route (Must-fund / Sponsorable / In-kind / Cost-share / Negotiated free), potential source, owner, status (Quoted/Replaced/Confirmed).
- FR-BUDGET-3: Live funding summary: Budget requirement (recommended) · Sponsorship committed (auto from Sponsor Pipeline confirmed+fulfilled) · Company contributions pledged · Funding gap · Coverage %.
- FR-BUDGET-4: Cost-share lever toggle (Assumption A6): if companies bear own travel/hotel, central floor drops to ≈2.1–2.3M.
- FR-BUDGET-5: Contingency line 10% auto-computed.
- FR-BUDGET-6: Two-signature approval workflow for any spend > PKR 100,000.
- FR-BUDGET-7: Hidden-cost tracker: cash float · reprint reserve · extra power/venue fees · bank charges (prevent budget drift).
- FR-BUDGET-8: Actuals logging within 48h of spend; variance vs planned per line.

### 3.19 30/60/90 Follow-Up Machine (FR-FU)
- FR-FU-1: Cadence: 48h → 7d → 14d → 30d (24 Oct) → 60d (23 Nov) → 90d (23 Dec). System produces a checklist per stage.
- FR-FU-2: 48h: thank-you wave — personalized email to every lead (from its owner); VIP letters from PD; sponsor thank-yous with photo pack; group post.
- FR-FU-3: 7d: leads merged/de-duped/owners confirmed; first contact 100%; internal retro; results press release; Post-Event Report v1.
- FR-FU-4: 14d: sponsor fulfillment reports delivered; renewal conversation opened for Lahore Jan 2027.
- FR-FU-5: 30-day review: scorecard published (leads contacted, meetings held ≥20, proposals out ≥10, MOU 30-day actions done).
- FR-FU-6: 60-day review: pipeline value quantified; ≥2 MOUs at Proposal+; 3 case studies published; sponsor renewals mapped.
- FR-FU-7: **Year-2 decision**: Lahore 29–31 Jan 2027 — participation, size, improvement list; booking confirmed with ECG by 30 Nov.
- FR-FU-8: 90-day impact report: contracts/revenue, jobs, media reach, stakeholder debrief, public impact story.
- FR-FU-9: Conversion snapshot (live): leads captured · qualified · at Meeting · at Proposal/Negotiation · Won · pipeline value · MOUs signed · MOUs at Proposal+.

### 3.20 KPIs & Impact Measurement (FR-KPI)
- FR-KPI-1: Funnel: Visibility → Connections → Leads → Partnerships → MOUs → Business → Economic Impact.
- FR-KPI-2: Each KPI: definition · baseline · target · actual (live) · source-of-truth module · owner · review cadence.
- FR-KPI-3: Honesty rules: a lead is not a meeting; a meeting is not an MOU; an MOU is not revenue. Report all four levels separately in every scorecard.
- FR-KPI-4: Year-over-year: this sheet becomes the baseline column for Lahore Jan 2027.

### 3.21 Post-Event Report (FR-PER)
- FR-PER-1: Auto-fill the "By the Numbers" block from live trackers.
- FR-PER-2: Section owners + due dates (Executive summary · Companies · Business results · Stakeholder & VIP · Media · Financials · Lessons learned · Recommendations · Year-2 plan · 90-day impact edition).
- FR-PER-3: PDF export with cover, table of contents, signed-off by PD/PMO/PASHA-ECG/GBSHA.
- FR-PER-4: Public-summary version (anonymized aggregate, no company-private data).

### 3.22 Year-2 Cloning (FR-Y2)
- FR-Y2-1: "Clone workspace" action: copies master data + carry-forward assets (stakeholder DB updates, sponsor history, lead learnings, design assets) into a new event workspace.
- FR-Y2-2: Resets: KPIs (carry as baseline), pipeline (close all), daily plan (auto-rebuilt).
- FR-Y2-3: Locked once v1 is closed; only PD can clone.

---

## 4. External Interfaces

### 4.1 User interfaces
- **Dashboard** — wide layout, KPI cards, top risks, calendar strip.
- **Booth tablet** — landscape, large tap targets, lead-capture form dominant.
- **Mobile** — single-column, sticky action bar, photo upload from camera.
- **Sponsor portal** — minimal: my record, my tier, my fulfillment proof, my renewal status.
- **Print stylesheet** — clean A4 PDF exports of every module (for the binder that travels to Karachi).

### 4.2 Hardware interfaces
- Tablet camera for badge photo capture.
- Tablet/phone camera for QR scanning.
- Barcode/QR scanner (optional, USB) supported as keyboard-wedge input.

### 4.3 Software interfaces
- **Email** — outbound SMTP (transactional: password resets, notifications, VIP invitations, thank-yous).
- **WhatsApp** — outbound click-to-chat links (deep links to pre-filled messages). No WhatsApp API integration in v1.
- **Calendar** — `.ics` export for B2B meetings and standups.
- **Object storage** — S3-compatible for photos, PDFs, signed MOUs.
- **PDF generation** — server-side (e.g., wkhtmltopdf, Puppeteer, or library).

### 4.4 Communication interfaces
- HTTPS only.
- JSON API for any future integrations.

---

## 5. Non-Functional Requirements

### 5.1 Performance
- Dashboard load < 2 s on broadband.
- Lead-capture form submit < 500 ms; offline queue syncs within 30 s of reconnect.
- Calendar view of 200+ B2B slots renders in < 1 s.

### 5.2 Reliability & availability
- 99% uptime during the show window (22–24 Sep).
- Offline capture is mandatory (booth Wi-Fi unreliable); zero data loss in offline mode.

### 5.3 Security
- TLS 1.2+ in transit; AES-256 at rest for PII (lead PII, passport numbers, phone numbers).
- RBAC enforced server-side; no client-side trust.
- Audit log on every write; immutable append-only.
- GDPR-style consent captured before any lead record saves.
- Backups: daily snapshot, 30-day retention; restore drill before 18 Sep.

### 5.4 Usability
- First-time company rep can capture a lead within 60 s of opening the tablet (training drill).
- All forms support keyboard navigation.
- Bilingual UI (English primary; Urdu secondary) — Urdu toggle is stretch goal for v1, must-have for v2.

### 5.5 Maintainability
- Codebase covered by unit tests for business logic (qualification rules, SLA enforcement, cost-share lever, probability weighting).
- Seed data script so a fresh install is demo-ready in 1 command.

### 5.6 Scalability
- Designed for 25 internal users + 100 sponsor-portal users.
- Booth capture peak: ~1 lead / minute sustained → must handle without queueing.
- Multi-event pluggable in v2 (workspace model already supports this).

### 5.7 Compliance
- Pakistan PECA 2016 for any data subject requests.
- GDPR-style consent for any international leads (EU/UAE visitors at ITCN).
- Data residency: primary DB in Pakistan; backups encrypted.

### 5.8 Localization
- Currency: PKR (stored as integer paisa, displayed as `PKR 1,234,567`).
- Date format: `DD MMM YYYY` (e.g., `22 Sep 2026`).
- Time zone: Asia/Karachi.

---

## 6. Data Model (key entities)

Only the high-level schema; full DDL is the programmer's first deliverable.

| Entity | Key fields |
| --- | --- |
| **User** | id, name, email, role, backup_user_id, phone, status |
| **Company** | id, name, founders[], district, women_led, gbsha_member, website, logo_url, deck_url, one_pager_url, score_total, status (Applied/Shortlisted/Confirmed/Reserve/Rejected) |
| **Sponsor** | id, name, category, tier (Title/Gold/Silver/Supporting/In-kind), potential_pkr, probability_pct, weighted_pkr, stage, signed_letter_url, fulfillment_proof_urls[] |
| **Stakeholder** | id, name, title, organization, category, priority (A/B/C), relationship_owner_id, invite_sent_at, rsvp, visited |
| **VipEngagement** | id, stakeholder_id, objective, specific_ask (required), channel, invite_date, visit_slot, host_id, media_plan, follow_up |
| **Meeting** (B2B) | id, account_name, type, requested_at, scheduled_at, duration_min, status, attendees[], hosted_by_company_id, next_step_owner_id, next_step_due, notes |
| **Lead** | id (L-ID), captured_at, captured_by (user or QR), visitor_name, organization, title, phone, email, city_country, interest_company_id, type, qualification (Hot/Warm/Cold), bant_b, bant_a, bant_n, bant_t, assigned_to_user_id, follow_up_due, follow_up_status, outcome_stage, est_value_paisa, consent_at, photo_url, source_meeting_id |
| **MOU** | id (M-ID), parties[], type, purpose, status, signing_slot, owner_id, signed_at, commitments_json, action_30d, conversion_stage, est_value_paisa, document_url |
| **Risk** | id, category, description, likelihood, impact, score, mitigation, contingency, owner_id, status, last_review_at |
| **BudgetLine** | id, category, item, mandatory, unit, unit_cost_paisa, qty_mvb, qty_rec, qty_enh, route, source, owner_id, status, actual_paisa |
| **BudgetScenario** | id, name (MVB/REC/ENH), totals_paisa, contingency_pct |
| **Spend** | id, line_id, amount_paisa, spent_at, approver_user_id, signature_user_id, receipt_url |
| **Phase / Activity** | id, phase_code (P1..P11), what, why, who, when, how, dependency, output, kpi, status, blocked_risk_id |
| **DailyAction** | id, date, activity_id, owner_id, expected_output, status |
| **SocialPost** | id, scheduled_at, phase, platform, content_type, topic, owner_id, status, link |
| **MediaMention** | id, outlet, url, published_at, reach, sentiment |
| **Delegate (Logistics)** | id, user_id, wave, route, depart_at, arrive_at, fallback_active, hotel_confirmation, emergency_contact |
| **KPI** | id, name, definition, baseline, target, source_module, owner_id, review_cadence |
| **KPIActual** | id, kpi_id, value, recorded_at, source_module_record_id |
| **AuditLog** | id, user_id, entity, entity_id, action, before_json, after_json, at |

**Conventions:**
- All money in integer paisa (`amount_paisa BIGINT`).
- All timestamps PKT (`AT TIME ZONE 'Asia/Karachi'`).
- Soft-delete (`deleted_at`) on all entities; audit log never deletes.

---

## 7. Reports & Dashboards

| Report | Source | Audience | Frequency | Format |
| --- | --- | --- | --- | --- |
| Executive Dashboard | All modules | PD, committee | Live + daily standup | Web |
| Phase Status Strip | Timeline | All | Live | Web |
| Sponsor Funnel + Weekly Targets | Sponsor Pipeline | PD, Sponsorship Lead | Daily during sprint; weekly after | Web + PDF |
| Budget vs Actual + Funding Gap | Budget + Sponsor | PD, Sponsorship Lead | Daily during sprint; weekly after | Web + PDF |
| Lead Capture Board | Lead Tracker | All | Live during show | Web (tablet view) |
| Lead Follow-up Board | Lead Tracker | Reps, BD Lead | Daily | Web |
| B2B Meeting Calendar | Meetings | All | Live | Web + `.ics` export |
| VIP Visit Log | VIP Engagement | Stakeholder Lead, PD | Live | Web |
| Risk Heatmap | Risk Register | PD | Daily standup | Web |
| 30-day Scorecard | KPI + Lead + MOU | Committee, companies, sponsors | 24 Oct | PDF |
| 60-day Scorecard | Same | Same + ECG | 23 Nov | PDF |
| 90-day Impact Report | Same + revenue | All + public | 23 Dec | PDF + public summary |
| Sponsor Fulfillment Report | Sponsor | Sponsors | 14d post-show | PDF |

---

## 8. Acceptance Criteria & Release Plan

### 8.1 v1 scope (must ship before 18 Sep 2026)
- All modules FR-AUTH through FR-KPI.
- Booth tablet offline capture (FR-LEAD-1 to FR-LEAD-12).
- Sponsor portal (external-facing).
- PDF exports of every module.
- Seed data covering all 23 workbook sheets with example rows.
- 1 round of user-acceptance testing with PD + 2 reps on 15 Sep.
- Backup/restore drill on 17 Sep.

### 8.2 Acceptance criteria
A feature is accepted only when:
1. The corresponding workbook sheet can be reproduced 1:1 in the app (schema + values).
2. The data flows end-to-end without double entry: e.g., a Confirmed sponsor auto-increments "Sponsorship committed" on the Dashboard and "Funding coverage %" on Budget.
3. SLA rules fire (e.g., Hot lead 48h SLA breach triggers in-app + email to rep + alert to BD Lead).
4. PDF export matches the workbook print layout.
5. Offline capture tested at the venue (recon 19 Sep) — no data loss across a 4-hour offline window.

### 8.3 v2 scope (post-show, before Lahore 29–31 Jan 2027)
- Multi-event workspaces (clone pattern).
- Urdu UI toggle.
- WhatsApp Business API integration (send/receive).
- Payment gateway for sponsor invoices.
- Native mobile apps (iOS/Android) for reps.
- Public marketing site.

### 8.4 Risks specific to the build
- **R-Build-1:** Internet at Expo Centre unreliable → mitigated by offline-first capture (FR-LEAD-6).
- **R-Build-2:** ECG exhibitor manual arrives late (after 8 Sep) → booth dimensions and shell-scheme assumptions may shift → pavilion design module must accept late edits without data loss.
- **R-Build-3:** Scope creep mid-sprint → freeze v1 scope on 10 Sep; defer non-blockers to v2.
- **R-Build-4:** Lead PII exposure → encrypt at rest; audit log; GDPR-style consent (FR-LEAD-3, 5.3).

---

## Appendix A — Source workbook sheets → app modules (mapping)

| Workbook sheet | App module |
| --- | --- |
| Executive Dashboard | FR-DASH |
| README | (docs only) |
| Facts & Assumptions | FR-FACTS |
| Master Timeline | FR-TIMELINE (timeline view) |
| Daily Action Plan Sep 3-18 | FR-TIMELINE (sprint view) |
| Weekly Targets | FR-TIMELINE (weekly view) |
| Committee & Governance | FR-GOV |
| Participating Companies | FR-COMPANIES |
| Sponsors & Funding | FR-FUND |
| Sponsor Pipeline | FR-SPON |
| Sponsorship Daily Plan | FR-SPON (sprint view) |
| Stakeholder Database | FR-STK |
| Government-VIP Engagement | FR-VIP |
| Pavilion Design & Branding | FR-DESIGN |
| Logistics | FR-LOG |
| B2B Meetings | FR-B2B |
| MOU & Partnership Tracker | FR-MOU |
| Social Media & PR Calendar | FR-PR |
| Risk & Issue Register | FR-RISK |
| Budget Tracker | FR-BUDGET |
| Lead Tracker | FR-LEAD |
| 30-60-90 Follow-Up | FR-FU |
| KPIs & Impact Measurement | FR-KPI |
| Post-Event Report | FR-PER |

## Appendix B — Open questions for the PD (resolve before sprint starts)

1. **A1** Free pavilion + 3-year commitment — written confirmation from ECG by 5 Sep? (BLOCKING)
2. **A2** Exact booth dimensions from ECG manual by 8 Sep? (BLOCKING for design + budget)
3. **A4** Delegation size = 25, ratified at kickoff 3–4 Sep?
4. **A6** Cost-share policy: companies cover their own travel/hotel unless sponsorship closes the gap — confirmed?
5. **A7** Exhibitor pass count confirmed by 8 Sep?
6. **A9** KPI targets ratified at kickoff?

---

*End of document.*
