Files
property-match/src/mock-data/marketSignals.ts
T
Benjamin Sutter cb18f3c381 feat: F021 market intelligence & signal discovery
Signal domain types, mock data (8 signals), provider interface + MockupMarketIntelligenceProvider, marketIntelligenceService, TanStack Query hooks, 10 ops components (SignalInbox, MarketSignalCard, MarketSignalFilterBar, MarketSignalSkeleton, MarketSignalEmptyState, SignalConfidenceBadge, SourceReliabilityBadge, SensitivityWarningPanel, SignalConversionPanel, SignalEvidenceList), MarketIntelligence page wired into AppShell nav and App router.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:07:58 +02:00

282 lines
14 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import {
MarketSignalSourceCategory,
SignalProcessingStatus,
EvidenceType,
ExtractedEntityType,
} from '../domain/marketSignal'
import type { MarketSignal } from '../domain/marketSignal'
import { AssetType, SignalType, SensitivityLevel, FreshnessStatus } from '../domain/enums'
export const MOCK_MARKET_SIGNALS: MarketSignal[] = [
{
id: 'sig-001',
title: 'UBS plant 200 neue Stellen Büroflächenbedarf Zürich Innenstadt',
summary: 'UBS AG plant laut Medienbericht die Einstellung von 200 Spezialisten im Bereich Digital Banking bis Ende 2025. Standort ist primär Zürich. Der abgeleitete Flächenbedarf beträgt ca. 2\'500 m² zusätzlicher Bürofläche.',
sourceCategory: MarketSignalSourceCategory.COMPANY_NEWS,
sourceLabel: 'Neue Zürcher Zeitung',
sourceUrl: 'https://www.nzz.ch/',
detectedAt: '2025-05-10T09:23:00Z',
location: 'Zürich, ZH',
affectedAssetTypes: [AssetType.OFFICE],
signalType: SignalType.EXPANSION,
rawEvidenceSummary: '"UBS plant signifikante Aufstockung der digitalen Teams" NZZ 10.05.2025',
extractedEntities: [
{ type: ExtractedEntityType.COMPANY, value: 'UBS AG', confidence: 0.98 },
{ type: ExtractedEntityType.LOCATION, value: 'Zürich', confidence: 0.95 },
{ type: ExtractedEntityType.DATE, value: 'Ende 2025', confidence: 0.87 },
],
evidence: [
{
id: 'ev-001-1', signalId: 'sig-001',
evidenceType: EvidenceType.TEXT_EXCERPT,
content: '"UBS plant signifikante Aufstockung der digitalen Teams in Zürich" NZZ, 10.05.2025',
sourceUrl: 'https://www.nzz.ch/',
retrievedAt: '2025-05-10T09:23:00Z', confidence: 0.92,
},
],
sourceReliabilityScore: 0.85,
confidenceScore: 0.72,
sensitivityLevel: SensitivityLevel.INTERNAL,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.NEEDS_REVIEW,
analystNotes: 'Flächenbedarf abgeleitet, nicht direkt kommuniziert. Bestätigung durch Quellenanfrage empfohlen.',
createdAt: '2025-05-10T10:00:00Z',
updatedAt: '2025-05-11T08:00:00Z',
},
{
id: 'sig-002',
title: 'Baugesuch für neues Gewerbepark-Areal in Basel-Nord',
summary: 'Im Handelsregister Basel-Stadt wurde ein Baugesuch für ein gemischt genutztes Gewerbeareal mit ca. 8\'000 m² Nutzfläche eingereicht. Projekt umfasst Büro, Logistik und Retail. Baubeginn geplant für Q1 2026.',
sourceCategory: MarketSignalSourceCategory.BUILDING_PERMIT_REGISTER,
sourceLabel: 'Bau- und Gastgewerbeinspektorat Basel-Stadt',
detectedAt: '2025-05-08T14:00:00Z',
location: 'Basel, BS',
affectedAssetTypes: [AssetType.OFFICE, AssetType.LOGISTICS, AssetType.RETAIL],
signalType: SignalType.CONSTRUCTION_PROJECT,
rawEvidenceSummary: 'Baugesuch Nr. BS-2025-0312 gemischte Gewerbefläche, 8\'000 m², Basel-Nord',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Basel-Nord', confidence: 0.97 },
{ type: ExtractedEntityType.ASSET, value: 'Gewerbeareal 8\'000 m²', confidence: 0.88 },
{ type: ExtractedEntityType.DATE, value: 'Q1 2026', confidence: 0.83 },
],
evidence: [
{
id: 'ev-002-1', signalId: 'sig-002',
evidenceType: EvidenceType.URL_REFERENCE,
content: 'Baugesuch Nr. BS-2025-0312, Bau- und Gastgewerbeinspektorat Basel-Stadt',
retrievedAt: '2025-05-08T14:00:00Z', confidence: 0.95,
},
],
sourceReliabilityScore: 0.92,
confidenceScore: 0.88,
sensitivityLevel: SensitivityLevel.PUBLIC,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.APPROVED_AS_SIGNAL,
analystNotes: 'Öffentliches Register. Hohe Verlässlichkeit. Eigentümerstruktur noch nicht ermittelt.',
createdAt: '2025-05-08T15:00:00Z',
updatedAt: '2025-05-12T09:30:00Z',
},
{
id: 'sig-003',
title: 'Crypto-Unternehmen in Zug verdreifacht Belegschaft Expansionsbedarf',
summary: 'Ein in Zug ansässiges Blockchain-Unternehmen hat laut LinkedIn-Auswertung innerhalb von 6 Monaten 80 neue Stellen ausgeschrieben. Bisherige Bürofläche reicht nicht mehr aus. Umzug oder Erweiterung erwartet.',
sourceCategory: MarketSignalSourceCategory.JOB_GROWTH_SIGNAL,
sourceLabel: 'LinkedIn Hiring Data',
detectedAt: '2025-05-09T11:30:00Z',
location: 'Zug, ZG',
affectedAssetTypes: [AssetType.OFFICE],
signalType: SignalType.EXPANSION,
rawEvidenceSummary: '80 offene Stellen in 6 Monaten (LinkedIn), Mitarbeiterzahl +210% YoY',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Zug', confidence: 0.91 },
{ type: ExtractedEntityType.DATE, value: '6 Monate', confidence: 0.78 },
],
evidence: [
{
id: 'ev-003-1', signalId: 'sig-003',
evidenceType: EvidenceType.TEXT_EXCERPT,
content: '80 offene Stellen in den letzten 6 Monaten. Mitarbeiterwachstum +210% gegenüber Vorjahr.',
retrievedAt: '2025-05-09T11:30:00Z', confidence: 0.78,
},
],
sourceReliabilityScore: 0.67,
confidenceScore: 0.61,
sensitivityLevel: SensitivityLevel.PUBLIC,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.ENRICHED,
analystNotes: 'Unternehmensname nicht öffentlich kommuniziert. Weitere Verifizierung über HR-Netzwerke empfohlen.',
createdAt: '2025-05-09T12:00:00Z',
updatedAt: '2025-05-11T14:00:00Z',
},
{
id: 'sig-004',
title: 'Vertragslaufdaten: Grossmieter Hardturmstrasse 201 läuft 03/2026 aus',
summary: 'Laut internen Vertragsdaten läuft der Mietvertrag eines Grossmieters an der Hardturmstrasse 201, Zürich, im März 2026 aus. Kontakt für Verlängerung wurde noch nicht aufgenommen. Mietfläche: ca. 3\'200 m².',
sourceCategory: MarketSignalSourceCategory.LEASE_EXPIRY_DATA,
sourceLabel: 'Internes ERP Vertragsverwaltung',
detectedAt: '2025-05-05T08:00:00Z',
location: 'Zürich-West, ZH',
affectedAssetTypes: [AssetType.OFFICE],
signalType: SignalType.POSSIBLE_MOVE_OUT,
rawEvidenceSummary: 'Vertrag ID V-2019-0481, Ablauf 31.03.2026, keine Verlängerungsoption',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Hardturmstrasse 201, Zürich', confidence: 0.99 },
{ type: ExtractedEntityType.DATE, value: '31.03.2026', confidence: 0.99 },
{ type: ExtractedEntityType.ASSET, value: '3\'200 m² Bürofläche', confidence: 0.97 },
],
evidence: [
{
id: 'ev-004-1', signalId: 'sig-004',
evidenceType: EvidenceType.DOCUMENT,
content: 'Mietvertrag V-2019-0481, Laufzeit bis 31.03.2026, keine Option auf Verlängerung.',
retrievedAt: '2025-05-05T08:00:00Z', confidence: 0.99,
},
],
sourceReliabilityScore: 0.99,
confidenceScore: 0.97,
sensitivityLevel: SensitivityLevel.CONFIDENTIAL,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.NEEDS_REVIEW,
analystNotes: 'VERTRAULICH Nur intern. Mieteridentität darf nicht in Demand Feed erscheinen. Property Manager informieren.',
createdAt: '2025-05-05T08:30:00Z',
updatedAt: '2025-05-10T10:00:00Z',
},
{
id: 'sig-005',
title: 'Sitzverlegung: Logistikunternehmen wechselt von Bern nach Zürich-Flughafen',
summary: 'Laut Handelsregistermutation hat ein mittelgrosses Logistikunternehmen seinen Hauptsitz von Bern nach Kloten verlegt. Aktiver Suchprozess nach Lagerfläche am Flughafen Zürich wahrscheinlich.',
sourceCategory: MarketSignalSourceCategory.COMMERCIAL_REGISTER,
sourceLabel: 'Handelsregister Schweiz Zefix',
sourceUrl: 'https://www.zefix.ch/',
detectedAt: '2025-05-07T16:20:00Z',
location: 'Kloten, ZH',
affectedAssetTypes: [AssetType.LOGISTICS],
signalType: SignalType.POSSIBLE_MOVE_OUT,
rawEvidenceSummary: 'HR-Mutation: Sitzverlegung von 3014 Bern nach 8302 Kloten, eingetragen 07.05.2025',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Kloten', confidence: 0.97 },
{ type: ExtractedEntityType.LOCATION, value: 'Bern', confidence: 0.97 },
{ type: ExtractedEntityType.DATE, value: '07.05.2025', confidence: 0.99 },
],
evidence: [
{
id: 'ev-005-1', signalId: 'sig-005',
evidenceType: EvidenceType.URL_REFERENCE,
content: 'Handelsregistermutation: Sitzverlegung von 3014 Bern nach 8302 Kloten, eingetragen 07.05.2025',
sourceUrl: 'https://www.zefix.ch/',
retrievedAt: '2025-05-07T16:20:00Z', confidence: 0.97,
},
],
sourceReliabilityScore: 0.91,
confidenceScore: 0.63,
sensitivityLevel: SensitivityLevel.PUBLIC,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.NORMALIZED,
analystNotes: 'Sitzverlegung bestätigt. Flächenbedarf am Zielort noch zu validieren.',
createdAt: '2025-05-07T17:00:00Z',
updatedAt: '2025-05-08T09:00:00Z',
},
{
id: 'sig-006',
title: 'Neue Ausschreibung: 800 m² Lager-/Logistik in Winterthur',
summary: 'Auf Immoscout24 wurde eine neue Ausschreibung für 800 m² Lagerfläche in Winterthur publiziert. Suche aktiv, Einzug ab September 2025 gewünscht.',
sourceCategory: MarketSignalSourceCategory.PUBLIC_LISTING_PLATFORM,
sourceLabel: 'Immoscout24',
sourceUrl: 'https://www.immoscout24.ch/',
detectedAt: '2025-05-12T08:15:00Z',
location: 'Winterthur, ZH',
affectedAssetTypes: [AssetType.LOGISTICS],
signalType: SignalType.EXPANSION,
rawEvidenceSummary: 'Inseratstitel: "800m² Lager gesucht Winterthur sofort" Immoscout24, 12.05.2025',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Winterthur', confidence: 0.99 },
{ type: ExtractedEntityType.ASSET, value: '800 m² Lagerfläche', confidence: 0.96 },
{ type: ExtractedEntityType.DATE, value: 'September 2025', confidence: 0.88 },
],
evidence: [
{
id: 'ev-006-1', signalId: 'sig-006',
evidenceType: EvidenceType.URL_REFERENCE,
content: '"800m² Lager gesucht Winterthur sofort" Immoscout24, 12.05.2025',
sourceUrl: 'https://www.immoscout24.ch/',
retrievedAt: '2025-05-12T08:15:00Z', confidence: 0.96,
},
],
sourceReliabilityScore: 0.78,
confidenceScore: 0.83,
sensitivityLevel: SensitivityLevel.PUBLIC,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.DETECTED,
analystNotes: '',
createdAt: '2025-05-12T08:30:00Z',
updatedAt: '2025-05-12T08:30:00Z',
},
{
id: 'sig-007',
title: 'Neue S-Bahn-Station Schlieren 2027 Aufwertung für Gewerbeflächen',
summary: 'Die SBB hat die neue Haltestelle Schlieren-West für 2027 bestätigt. Das umliegende Gewerbegebiet wird deutlich aufgewertet. Frühzeitige Positionierung im Büro- und Produktionssegment empfohlen.',
sourceCategory: MarketSignalSourceCategory.INFRASTRUCTURE_PROJECT,
sourceLabel: 'SBB Medienmitteilung',
sourceUrl: 'https://www.sbb.ch/de/medien.html',
detectedAt: '2025-05-06T10:00:00Z',
location: 'Schlieren, ZH',
affectedAssetTypes: [AssetType.OFFICE, AssetType.PRODUCTION],
signalType: SignalType.PROJECT_DEVELOPMENT,
rawEvidenceSummary: 'SBB bestätigt neue Haltestelle Schlieren-West, Inbetriebnahme Dezember 2027',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Schlieren-West', confidence: 0.98 },
{ type: ExtractedEntityType.DATE, value: 'Dezember 2027', confidence: 0.95 },
],
evidence: [
{
id: 'ev-007-1', signalId: 'sig-007',
evidenceType: EvidenceType.URL_REFERENCE,
content: 'SBB Medienmitteilung: Neue Haltestelle Schlieren-West, Inbetriebnahme Dezember 2027',
sourceUrl: 'https://www.sbb.ch/de/medien.html',
retrievedAt: '2025-05-06T10:00:00Z', confidence: 0.95,
},
],
sourceReliabilityScore: 0.96,
confidenceScore: 0.79,
sensitivityLevel: SensitivityLevel.PUBLIC,
freshnessStatus: FreshnessStatus.FRESH,
processingStatus: SignalProcessingStatus.ENRICHED,
analystNotes: 'Infrastrukturverbesserung. Kein direktes Verfügbarkeitssignal, aber relevanter Standortfaktor.',
createdAt: '2025-05-06T11:00:00Z',
updatedAt: '2025-05-10T15:00:00Z',
},
{
id: 'sig-008',
title: 'Analyst-Beobachtung: Leerstehende Etage Tour de Berne, Lausanne',
summary: 'Eigene Marktbeobachtung: Die 4. Etage im Bürogebäude "Tour de Berne" in Lausanne steht seit mindestens 3 Monaten leer. Kein offizielles Inserat gefunden. Mögliche Vermarktung oder Leerstand durch Eigentümer.',
sourceCategory: MarketSignalSourceCategory.MANUAL_ANALYST_SIGNAL,
sourceLabel: 'Eigene Beobachtung Marktanalyse Mai 2025',
detectedAt: '2025-05-03T14:30:00Z',
location: 'Lausanne, VD',
affectedAssetTypes: [AssetType.OFFICE],
signalType: SignalType.POSSIBLE_MOVE_OUT,
rawEvidenceSummary: 'Begehung 03.05.2025: 4. OG leer, keine Beschilderung, kein Inserat gefunden.',
extractedEntities: [
{ type: ExtractedEntityType.LOCATION, value: 'Tour de Berne, Lausanne', confidence: 0.94 },
{ type: ExtractedEntityType.ASSET, value: '4. Obergeschoss', confidence: 0.92 },
],
evidence: [
{
id: 'ev-008-1', signalId: 'sig-008',
evidenceType: EvidenceType.ANALYST_NOTE,
content: 'Vor-Ort-Begehung am 03.05.2025: 4. OG im Tour de Berne leer stehend, keine aktive Vermarktung erkennbar.',
retrievedAt: '2025-05-03T14:30:00Z', confidence: 0.82,
},
],
sourceReliabilityScore: 0.72,
confidenceScore: 0.68,
sensitivityLevel: SensitivityLevel.INTERNAL,
freshnessStatus: FreshnessStatus.STALE,
processingStatus: SignalProcessingStatus.CONVERTED_TO_FUTURE_AVAILABILITY,
possibleFutureSignalId: 'fs-lausanne-001',
analystNotes: 'Zu Future Availability überführt. Eigentümer Kontaktaufnahme ausstehend.',
createdAt: '2025-05-03T15:00:00Z',
updatedAt: '2025-05-13T11:00:00Z',
},
]