From dd2eb9be3fbc80a496474531c93a848efca04789 Mon Sep 17 00:00:00 2001 From: Benjamin Sutter Date: Wed, 20 May 2026 18:18:12 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20add=20prop-037=20+=20match-063/064=20?= =?UTF-8?q?=E2=80=94=20PRE-MARKET=20VERIFIED=20for=20Bern=20Retail=20searc?= =?UTF-8?q?h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds VERIFIED_PORTFOLIO retail property (Spitalgasse 18, Bern Innenstadt) with schattenmarktRelease enabled, completing card-type coverage for need-011 (Stadtladen Bern GmbH): now has VERIFIED_PORTFOLIO, PRE-MARKET VERIFIED, EXTERNAL_MARKET, MAISON_WORK, and MARKET SIGNAL cards across gold/silver/bronze score tiers. Co-Authored-By: Claude Sonnet 4.6 --- src/mock-data/matches.ts | 63 +++++++++++++++++++++++++++++++++++++ src/mock-data/properties.ts | 51 ++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) diff --git a/src/mock-data/matches.ts b/src/mock-data/matches.ts index 260e342..4bf6a5c 100644 --- a/src/mock-data/matches.ts +++ b/src/mock-data/matches.ts @@ -1696,4 +1696,67 @@ export const mockMatches: Match[] = [ createdAt: '2026-05-20T08:10:00Z', updatedAt: '2026-05-20T08:10:00Z', }, + + // ─────────────────────────────────────────────────────────────────────────── + // need-011 additional — prop-037 VERIFIED_PORTFOLIO Retail Bern Innenstadt + // ─────────────────────────────────────────────────────────────────────────── + + { + id: 'match-063', + propertyId: 'prop-037', + needId: 'need-011', + matchScore: 82, + matchStrength: MatchStrength.STRONG, + status: MatchStatus.PENDING_REVIEW, + scoreBreakdown: { hardMatchScore: 90, softFactorScore: 88, confidenceModifier: 0.96, dataQualityModifier: 0.91, totalScore: 82 }, + positiveFactors: [ + { criterion: 'Standort', weight: 0.35, score: 97, contribution: 34, explanation: 'Bern Innenstadt / Spitalgasse — Fussgängerzone, Laufkundschaft, exakt gewünschte Lage' }, + { criterion: 'Fläche', weight: 0.15, score: 95, contribution: 14.25, explanation: '270m² liegt im Zielkorridor (200–400m²)' }, + { criterion: 'Budget', weight: 0.15, score: 100, contribution: 15, explanation: 'CHF 90/m²/Monat deutlich unter Maximum (CHF 150/m²)' }, + { criterion: 'Prestige', weight: 0.15, score: 92, contribution: 13.8, explanation: 'Prestige 92 übertrifft Mindestanforderung (80)' }, + ], + negativeFactors: [ + { criterion: 'Timing', weight: 0.10, score: 45, contribution: 4.5, explanation: 'Verfügbar Oktober 2026 — später als gewünschtes Move-in bis März 2026' }, + ], + tradeoffs: [ + { criterion: 'Timing', concern: 'Verfügbar Oktober 2026 — ausserhalb des Wunschzeitfensters', severity: 'MEDIUM', mitigation: 'Verwaltung kann bei Interesse Early-Access ab Sommer 2026 prüfen' }, + ], + explainabilitySummary: 'Sehr guter Match: Spitalgasse Bern Innenstadt, 270m², CHF 90/m²/Mt. — ideal für Laufkundschaft. Einziger Vorbehalt ist das Timing (Oktober 2026).', + confidenceLevel: 0.96, + riskLevel: RiskLevel.LOW, + uncertaintyIndicators: ['Verfügbarkeit Oktober 2026'], + organizationId: 'org-wincasa', + createdAt: '2026-05-20T08:15:00Z', + updatedAt: '2026-05-20T08:15:00Z', + }, + + { + id: 'match-064', + propertyId: 'prop-037', + needId: 'need-011', + matchScore: 60, + matchStrength: MatchStrength.MODERATE, + resultType: 'FUTURE_AVAILABILITY', + status: MatchStatus.PENDING_REVIEW, + scoreBreakdown: { hardMatchScore: 78, softFactorScore: 80, confidenceModifier: 0.96, dataQualityModifier: 0.91, totalScore: 60 }, + positiveFactors: [ + { criterion: 'Standort', weight: 0.35, score: 97, contribution: 34, explanation: 'Bern Spitalgasse — Fussgängerzone, Schaufensterfront bestätigt' }, + { criterion: 'Konfidenz', weight: 0.10, score: 100, contribution: 10, explanation: 'Vertragsende Oktober 2026 aus ERP bestätigt' }, + { criterion: 'Budget', weight: 0.15, score: 100, contribution: 15, explanation: 'CHF 90/m²/Mt. weit unter Budget-Maximum' }, + ], + negativeFactors: [ + { criterion: 'Timing', weight: 0.10, score: 20, contribution: 2, explanation: 'Erst ab Oktober 2026 verfügbar — ausserhalb des Wunschzeitfensters' }, + { criterion: 'Signal-Abschlag', weight: 0.15, score: 30, contribution: 4.5, explanation: 'Pre-Market: Vertragsende noch nicht abgelaufen' }, + ], + tradeoffs: [ + { criterion: 'Timing', concern: 'Oktober 2026 liegt nach gewünschtem Move-in (März 2026)', severity: 'HIGH', mitigation: 'Frühzeitige Kontaktaufnahme sichert bevorzugte Behandlung' }, + ], + explainabilitySummary: 'Pre-Market Signal: Spitalgasse Bern, Vertragsende Oktober 2026 aus ERP bestätigt. Lage perfekt, aber Timing ausserhalb des Wunschfensters.', + confidenceLevel: 0.96, + riskLevel: RiskLevel.LOW, + uncertaintyIndicators: ['Verfügbarkeit Oktober 2026', 'Mieterin hat noch aktiven Vertrag'], + organizationId: 'org-wincasa', + createdAt: '2026-05-20T08:20:00Z', + updatedAt: '2026-05-20T08:20:00Z', + }, ] diff --git a/src/mock-data/properties.ts b/src/mock-data/properties.ts index c676ddd..abe077b 100644 --- a/src/mock-data/properties.ts +++ b/src/mock-data/properties.ts @@ -1216,4 +1216,55 @@ export const mockProperties: Property[] = [ updatedAt: '2025-05-02T10:00:00Z', }, + { + id: 'prop-037', + title: 'Retailfläche Spitalgasse 18', + assetType: AssetType.RETAIL, + resultType: ResultType.VERIFIED_PORTFOLIO, + location: { city: 'Bern', district: 'Innenstadt', canton: 'BE', country: 'CH', coordinates: { lat: 46.9487, lng: 7.4451 } }, + address: { street: 'Spitalgasse', houseNumber: '18', postalCode: '3011', city: 'Bern', country: 'CH' }, + areaSqm: 270, + rentPricePerSqm: 1080, + totalRentMonthly: 291600, + availabilityDate: '2026-10-31', + availabilityStatus: AvailabilityStatus.AVAILABLE_SOON, + sourceType: 'ERP_IMPORT', + confidenceScore: 0.96, + dataQuality: { + score: 0.91, + missingCriticalFields: [], + missingOptionalFields: ['expansionPotentialSqm'], + lastVerifiedAt: '2026-04-15', + freshness: DataFreshness.FRESH, + warnings: [], + }, + softFactors: { + prestige: 92, + accessibility: 95, + visibilityScore: 96, + talentAccess: 80, + parkingSpots: 0, + publicTransportMinutes: 3, + }, + floorLevel: 0, + contractDurationMonths: 48, + ancillaryCosts: 4.0, + riskLevel: RiskLevel.LOW, + images: ['https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=800&h=400&fit=crop'], + mapImageUrl: 'https://images.unsplash.com/photo-1524661135-423995f22d0b?w=600&h=300&fit=crop', + propertyNumber: 'BE-2024-037', + importedFrom: 'SAP RE-FX', + importedAt: '2025-03-01T08:00:00Z', + lastUpdatedAt: '2026-04-15T10:00:00Z', + currentTenant: 'Modehaus Bern AG', + leaseTerm: '5 Jahre', + leaseStartDate: '2021-11-01', + leaseEndDate: '2026-10-31', + breakoutOption: false, + schattenmarktRelease: { enabled: true, leadTimeMonths: 6 }, + organizationId: 'org-wincasa', + createdAt: '2025-03-01T08:00:00Z', + updatedAt: '2026-04-15T10:30:00Z', + }, + ]