fix: close spec gaps — delete InquiryStatusBadge, extend match reasons, full field keys

- Delete InquiryStatusBadge.tsx (dead code after Part A read/unread migration)
- AdditionalPropertyMatch: add reasons[] + topUncertainty from positiveFactors/tradeoffs
- AdditionalMatchCard: render green reasons and amber uncertainty below match score
- ReportObjectFieldKey: add breakoutOptionDate, roomHeight, floorLoad, deliveryAccess,
  goodsLift, passengerLift, internet, microLocation, competitionEnvironment,
  infrastructure, marketSignals, negotiationHints, missingData (now 45 keys)
- ReportObjectFieldSelector: regroup into 5 spec-aligned groups (Basisdaten,
  Miet-/Vertragsdaten, Technische Hard Facts, Soft Factors, Marktinformationen)
- LatentInquiryReportPreview: add labels for all new field keys

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Sutter
2026-05-19 19:57:16 +02:00
parent b4d398270f
commit 13553f60a0
8 changed files with 111 additions and 78 deletions
+2
View File
@@ -6,4 +6,6 @@ export interface AdditionalPropertyMatch {
rentPricePerSqm: number
matchScore: number
imageUrl?: string
reasons: string[] // top 23 positive factors
topUncertainty?: string // most significant tradeoff or risk
}
+18 -5
View File
@@ -1,13 +1,26 @@
export type ReportObjectFieldKey =
| 'title' | 'location' | 'areaSqm' | 'rentPricePerSqm' | 'availabilityDate'
| 'leaseTerm' | 'breakoutOption' | 'currentTenant' | 'propertyNumber'
| 'assetType' | 'floor' | 'parking' | 'publicTransportScore'
// Mandatory (always included)
| 'title' | 'location' | 'mapImageUrl' | 'images'
// Grunddaten
| 'areaSqm' | 'rentPricePerSqm' | 'availabilityDate'
| 'leaseTerm' | 'breakoutOption' | 'breakoutOptionDate' | 'currentTenant'
| 'propertyNumber' | 'assetType'
// Miet-/Vertragsdaten
| 'floor' | 'parking' | 'fitOut' | 'isBarrierFree'
// Technische Hard Facts
| 'ceilingHeightM' | 'loadingDocksCount' | 'powerSupplyKva'
| 'hasServerRoom' | 'isBarrierFree' | 'fitOut'
| 'hasServerRoom' | 'roomHeight' | 'floorLoad'
| 'deliveryAccess' | 'goodsLift' | 'passengerLift' | 'internet'
// Soft Factors
| 'prestigeScore' | 'visibilityScore' | 'footfallScore' | 'commuterAccessScore'
| 'talentAccessScore' | 'esgScore' | 'flexibilityScore'
| 'expansionPotentialScore' | 'taxEnvironmentScore'
| 'description' | 'images' | 'mapImageUrl' | 'units'
| 'microLocation' | 'competitionEnvironment' | 'infrastructure'
// Marktinformationen
| 'publicTransportScore' | 'marketSignals' | 'negotiationHints' | 'missingData'
// Beschreibung & Medien
| 'description' | 'units'
// Datenqualität
| 'softFactors' | 'dataQuality'
export interface ReportObjectFieldSelection {