This phase delivers the foundational property services: registration, transfers, and GIS — plus the citizen-facing portal and mobile app. By the end of Phase 1, the Sulaymaniyah pilot is live.
All services are deployed as containers in the Kubernetes cluster provisioned during Phase 0.
Backend Services (Month 4–12)
| Service | Framework | Deliverables |
| Property Registration | Laravel 13 | Title deed CRUD, ownership records, deed document upload, property search API |
| Transfer Service | Laravel 13 + Workflow | Sale, gift, inheritance workflows with multi-step approval, encumbrance check, notary integration |
| Payment Service | Laravel 13 | Fee calculation, tax calculation, integration with shared Payment Gateway (FIB, Qi, FastPay) |
| Notification Service | Laravel 13 + Kafka | SMS, email, push notifications for application status updates (consumes shared notification infra) |
| Appointment Service | Laravel 13 | Office booking, queue management, QR check-in |
| GIS Service | FastAPI + GeoServer | Parcel spatial queries, WMS/WFS publishing, pg_tileserv vector tiles |
| Document / OCR Service | FastAPI | Deed scanning, PaddleOCR for Arabic/Kurdish text, document vault integration |
| Audit Service | Go (Gin) | Immutable event logging for all property transactions (hash chain) |
Admin Dashboard (Month 5–10)
| Module | Technology | Purpose |
| Application Queue | Filament 3 | Staff review and approve transfer/permit applications |
| Property Management | Filament 3 | Search, view, edit property records |
| Parcel Editor | Filament 3 + OpenLayers | View/edit parcel boundaries on map |
| Citizen Lookup | Filament 3 | Search property owners (queries KRDPASS via KRG-Road) |
| Reports | Filament 3 + Metabase embed | Daily/weekly/monthly activity reports |
| OCR Review Queue | Filament 3 | Review and correct OCR-extracted deed data |
Frontend Applications (Month 6–14)
| App | Technology | Features at Phase 1 Launch |
| Property Web Portal | Next.js 14 + OpenLayers 9 | Property search, cadastral map viewer, transfer application, fee payment, application tracker, document download |
| Property Mobile App | Flutter 3.x | Same features as web, plus: push notifications, offline document access, QR check-in |
| Kiosk App | Flutter (Android tablet) | Property search, receipt printing, queue ticket |
1.2 GIS Foundation
Spatial Data Loading (Month 4–10)
| Source | Format | Target | Method |
| Paper cadastral maps | Scanned TIFF | PostGIS via QGIS digitization | GIS team manually traces parcels |
| Existing digital maps (if any) | Shapefile / DWG / CAD | PostGIS | ogr2ogr / QGIS import |
| Satellite / aerial imagery | GeoTIFF | GeoServer raster layers | Direct load to GeoServer |
| Zoning district boundaries | Paper / Excel | PostGIS zoning_districts table | GIS team digitizes + classifies |
Target: Digitize all land parcels in Sulaymaniyah governorate (pilot area) by Month 10. Estimated 50K–100K parcels.
GeoServer Configuration
- Publish
land_parcels as WMS/WFS layer - Publish
zoning_districts as WMS layer - Publish
properties (building footprints) as WMS/WFS layer - Configure pg_tileserv for vector tiles (fast map rendering)
- Set up cached tile layers (GeoWebCache) for base maps
1.3 Legacy Data Migration — OCR Pipeline
Phase 1 Target: 50,000 Legacy Deeds
graph LR
SCAN["📄 Scan paper deeds<br/>(high-speed scanner)"] --> STORE["📦 Store in MinIO<br/>(raw TIFF/PDF)"]
STORE --> PREPROC["🔧 Pre-process<br/>(deskew, denoise)"]
PREPROC --> OCR["🔠PaddleOCR<br/>(Arabic/Kurdish)"]
OCR --> EXTRACT["📋 Extract fields<br/>(owner, parcel#, area)"]
EXTRACT --> REVIEW["ðŸ‘ï¸ Human review<br/>(Filament queue)"]
REVIEW --> DB["💾 Insert to<br/>PostgreSQL + PostGIS"]
- Scanning capacity needed: 500 deeds/day with 2 scanners
- OCR accuracy target: >85% on first pass (remainder flagged for human review)
- Staff: 2 scanners + 4 review operators in Sulaymaniyah office
1.4 KRG-Road Integration (Month 6–12)
Deploy our Security Server instance and establish connections:
| External System | Data We Query | Data We Provide | Priority |
| Civil Status (KRDPASS) | Citizen identity verification, family status | — | Month 6 |
| Tax Authority | Tax clearance for property transactions | Property transfer notifications (for tax assessment) | Month 8 |
| Notary | Power of attorney validation | Transfer records requiring notarial certification | Month 10 |
Integration Testing
- Conformance testing with each Security Server partner
- Load testing: simulate 100 concurrent transfer lookups
- Failover testing: response when an external system is down
1.5 Sulaymaniyah Pilot Service Center (Month 10–14)
Open the first dedicated Property & Municipality Service Center (see Section 6 for full design).
Pilot Scope
| Service | Channel | Target |
| Property ownership verification | Counter + web | Available from Month 12 |
| Property transfer (sale) | Counter + web | Available from Month 13 |
| Title deed reprint (digital) | Counter + kiosk | Available from Month 12 |
| Legacy deed scan + verify | Counter (scan station) | Available from Month 11 |
| Cadastral map extract | GIS station | Available from Month 12 |
Success Criteria for Pilot
| Metric | Target |
| Transfer processing time | < 2 hours (from current 2–8 weeks) |
| Citizen visits per transfer | 1 (from current 7–15) |
| System uptime | > 99.5% |
| Citizen satisfaction | > 70% |
| Staff adoption | 100% of Sulaymaniyah property clerks using the system |
1.6 Security & Compliance (Ongoing During Phase 1)
- All services behind Kong API Gateway with JWT validation + rate limiting
- mTLS between all internal services (Istio service mesh)
- All property transactions logged immutably via Go Audit Service
- Automated security scanning in CI/CD (Trivy for containers, SonarQube for code)
- Weekly vulnerability scans with CrowdSec + Suricata
- RBAC enforced via Keycloak: property clerks see only their governorate's data
1.7 Data Migration Strategy
Existing Property Records to Migrate
| Source | Data | Method | Timeline |
| Paper title deeds (Tapu) | Ownership, parcel ID, area, boundaries | Scan → OCR → human review → insert | Month 4–14 (50K deeds target) |
| Paper cadastral maps | Parcel outlines, boundaries, landmarks | QGIS digitization by GIS team | Month 4–12 |
| Existing municipal databases | Zoning data, building records, fees | ETL via Apache Airflow + pgLoader | Month 6–10 |
| Notary ledgers | Transaction history (sales, gifts, inheritance) | Scan → OCR → structured entry | Month 8–14 |
Data Quality Rules
- Every property must have a unique
parcel_number conforming to the numbering standard (see Section 16) - No duplicate ownership for the same parcel at the same time
- All geometries validated for topology (no overlaps, no gaps) via PostGIS
ST_IsValid - Records failing validation are quarantined for manual review (never silently dropped)
- All migrated records tagged with
source = 'legacy_migration' for traceability
1.8 Phase 1 Deliverables Summary
| Deliverable | Target Month | Acceptance Criteria |
| Property Registration service (backend + admin) | 10 | CRUD operations on properties, ownership records |
| Transfer service (backend + admin) | 12 | Full sale workflow: application → encumbrance check → tax clearance → approval → new deed |
| GIS service + GeoServer + pg_tileserv | 10 | Sulaymaniyah parcels published as WMS/WFS/vector tiles |
| Payment integration (shared Payment Gateway) | 11 | Successful fee collection for transfer applications |
| KRDPASS identity verification (via KRG-Road) | 10 | Identity lookup in < 2 seconds |
| Property Web Portal v1 | 13 | Public-facing: search, map view, transfer application, payment |
| Property Mobile App v1 | 14 | Same as web portal + push notifications + offline docs |
| Filament Admin Dashboard | 10 | Staff can process applications, review OCR, manage properties |
| 50K legacy deeds digitized (OCR) | 14 | Scanned, OCR'd, reviewed, inserted into database |
| Sulaymaniyah pilot service center open | 12 | Counter + kiosk + GIS station operational |
| Audit trail operational | 10 | Every property transaction logged immutably |