Files
property-match/src/mock-data/needs.ts
T
Benjamin Sutter 7a0909e36a feat: saved profiles — per-profile notifications, real match scores, action buttons
- Add per-profile notification config (toggle, score threshold, email) with Accordion UI in SavedNeedDetail
- NotificationButton: badge only lights up for unseen matches, dismisses on open (localStorage), uses per-profile minScore
- SavedNeedDetail: replace deterministicMatchScore with real match data (useMatchesByNeed), sort by score desc, deduplicate by property
- SavedProfilesTab & SavedNeedCard: top score bar now shows best real match score instead of criteria confidence
- "Treffer" count uses per-profile notificationConfig.minScore (≥80 default) consistently across card, panel, and notification badge
- Extract PropertyMatchRow to own file with Anfrage/Merken/Vergleichen/Details→/Zur Einheit→ action buttons
- Details → navigates to /demand/results/:matchId using real match ID format (m__propId__prop__needId)
- Add InquiryQuickDialog + AddToPipelineDialog to AISearch.tsx so dialogs work from SavedProfilesTab
- Org-isolation: useNeeds filters by organizationId, org-mobimo gets 4 own search profiles
- Mock data: all 18 org-wincasa need names changed to descriptive profile names; 4 new org-mobimo needs added
- useUpdateNeed mutation hook for updating need fields (notificationConfig etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 20:53:49 +02:00

754 lines
28 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 { AssetType } from '../domain/enums'
import type { Need } from '../domain/need'
export const mockNeeds: Need[] = [
// --- need-001: OFFICE Zürich-West ---
{
id: 'need-001',
companyName: 'Bürofläche Zürich-West',
contactName: 'Sandra Meier',
assetType: AssetType.OFFICE,
requiredArea: { min: 600, max: 1000 },
preferredLocations: ['Zürich', 'Zürich-West', 'Zürich Kreis 5'],
excludedLocations: [],
budgetRange: { maxPerSqm: 540, maxMonthlyTotal: 40000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-08-01',
latestMoveIn: '2026-01-01',
contractDurationMonths: 60,
flexibleTiming: true,
},
mustCriteriaText: ['ÖV-Anbindung < 5 Min', 'Mindestfläche 600m²', 'Ausbaugrad modern'],
softFactors: {
minPrestige: 70,
minAccessibility: 80,
requireParking: false,
maxPublicTransportMinutes: 6,
},
weightingProfile: {
area: 0.18, location: 0.18, budget: 0.14, timing: 0.13,
prestige: 0.08, accessibility: 0.10, expansionPotential: 0.04, flexibility: 0.05,
visibility: 0.02, footfall: 0.01, talentAccess: 0.06, esg: 0.02, taxEnvironment: 0.00,
},
searchRadius: 30,
confidenceInCriteria: 0.88,
extractedFromText: 'Wir suchen moderne Büroflächen in Zürich-West, ca. 700900m², Budget max CHF 42/m², Bezug Herbst 2025.',
organizationId: 'org-wincasa',
createdAt: '2025-04-15T10:00:00Z',
updatedAt: '2025-05-01T09:00:00Z',
},
// --- need-002: LOGISTICS Basel ---
{
id: 'need-002',
companyName: 'Logistikfläche Basel',
contactName: 'Thomas Brun',
assetType: AssetType.LOGISTICS,
requiredArea: { min: 1500, max: 4000 },
preferredLocations: ['Basel', 'Muttenz', 'Pratteln', 'Reinach BL'],
budgetRange: { maxPerSqm: 216, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-09-01',
latestMoveIn: '2026-06-01',
contractDurationMonths: 36,
flexibleTiming: false,
},
mustCriteriaText: ['Autobahnanschluss < 5 Min', 'Rampe / Andienung', 'Hallenhöhe min 6m'],
softFactors: {
requireParking: true,
},
weightingProfile: {
area: 0.23, location: 0.18, budget: 0.18, timing: 0.13,
prestige: 0.02, accessibility: 0.10, expansionPotential: 0.05, flexibility: 0.03,
visibility: 0.01, footfall: 0.00, talentAccess: 0.02, esg: 0.02, taxEnvironment: 0.03,
},
searchRadius: 50,
requiresDivisibility: true,
minDivisibleUnit: 500,
fitOutBudgetMaxPerSqm: 120,
confidenceInCriteria: 0.94,
organizationId: 'org-wincasa',
createdAt: '2025-03-20T14:00:00Z',
updatedAt: '2025-04-10T11:00:00Z',
},
// --- need-003: OFFICE Basel ---
{
id: 'need-003',
companyName: 'Bürofläche Basel Repräsentanz',
contactName: 'Ursula Schmid',
assetType: AssetType.OFFICE,
requiredArea: { min: 500, max: 800 },
preferredLocations: ['Basel', 'Allschwil', 'Binningen', 'Dreispitz'],
excludedLocations: [],
budgetRange: { maxPerSqm: 480, maxMonthlyTotal: 32000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-10-01',
latestMoveIn: '2026-04-01',
contractDurationMonths: 48,
flexibleTiming: true,
},
mustCriteriaText: ['Repräsentative Lage', 'Ausbaugrad gehoben', 'Konferenzräume vorhanden'],
softFactors: {
minPrestige: 75,
minAccessibility: 75,
requireParking: true,
maxPublicTransportMinutes: 10,
},
weightingProfile: {
area: 0.18, location: 0.22, budget: 0.17, timing: 0.09,
prestige: 0.10, accessibility: 0.08, expansionPotential: 0.03, flexibility: 0.02,
visibility: 0.02, footfall: 0.01, talentAccess: 0.08, esg: 0.05, taxEnvironment: 0.00,
},
searchRadius: 20,
isAnonymous: true,
fitOutBudgetMaxPerSqm: 250,
confidenceInCriteria: 0.91,
extractedFromText: 'Suche repräsentative Büroflächen im Raum Basel/Allschwil, 500800m², max. CHF 38/m², Bezug Q4 2025.',
organizationId: 'org-wincasa',
createdAt: '2025-04-20T09:00:00Z',
updatedAt: '2025-05-05T14:00:00Z',
},
// --- need-004: RETAIL Zürich ---
{
id: 'need-004',
companyName: 'Ladenlokal Zürich Innenstadt',
contactName: 'Marco Colombo',
assetType: AssetType.RETAIL,
requiredArea: { min: 200, max: 500 },
preferredLocations: ['Zürich Innenstadt', 'Zürich Bahnhofstrasse', 'Zürich Niederdorf', 'Zürich City'],
excludedLocations: [],
budgetRange: { maxPerSqm: 1200, maxMonthlyTotal: 50000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-09-01',
latestMoveIn: '2026-03-01',
contractDurationMonths: 60,
flexibleTiming: false,
},
mustCriteriaText: ['Laufkundschaft', 'Schaufensterfront', 'Erdgeschoss', 'Hohe Passantenfrequenz'],
softFactors: {
minPrestige: 85,
requireParking: false,
maxPublicTransportMinutes: 5,
},
weightingProfile: {
area: 0.10, location: 0.20, budget: 0.12, timing: 0.08,
prestige: 0.06, accessibility: 0.04, expansionPotential: 0.02, flexibility: 0.04,
visibility: 0.12, footfall: 0.15, talentAccess: 0.01, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.96,
extractedFromText: 'Exklusive Retailfläche in Zürich Innenstadt gesucht, 250450m², Schaufenster, max. CHF 95/m².',
organizationId: 'org-wincasa',
createdAt: '2025-03-10T11:00:00Z',
updatedAt: '2025-04-22T08:00:00Z',
},
// --- need-005: OFFICE Zug/Zürich ---
{
id: 'need-005',
companyName: 'Bürofläche Zug / Zürich',
contactName: 'Florian Keller',
assetType: AssetType.OFFICE,
requiredArea: { min: 300, max: 700 },
preferredLocations: ['Zug', 'Zürich', 'Baar', 'Steinhausen'],
excludedLocations: [],
budgetRange: { maxPerSqm: 576, maxMonthlyTotal: 33000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-10-01',
latestMoveIn: '2026-06-01',
contractDurationMonths: 36,
flexibleTiming: true,
},
mustCriteriaText: ['Moderner Ausbau', 'Schnelles Internet', 'Fahrradabstellplätze'],
softFactors: {
minPrestige: 65,
minAccessibility: 75,
requireParking: false,
maxPublicTransportMinutes: 10,
},
weightingProfile: {
area: 0.17, location: 0.22, budget: 0.17, timing: 0.12,
prestige: 0.05, accessibility: 0.10, expansionPotential: 0.03, flexibility: 0.02,
visibility: 0.02, footfall: 0.01, talentAccess: 0.08, esg: 0.02, taxEnvironment: 0.04,
},
confidenceInCriteria: 0.85,
extractedFromText: 'Junges Tech-Unternehmen sucht Büro in Zug oder Zürich, 350600m², moderner Ausbau, max. CHF 45/m².',
organizationId: 'org-wincasa',
createdAt: '2025-04-28T13:00:00Z',
updatedAt: '2025-05-08T10:00:00Z',
},
// --- need-006: LOGISTICS Winterthur ---
{
id: 'need-006',
companyName: 'Lagerfläche Winterthur',
contactName: 'Beat Zimmermann',
assetType: AssetType.LOGISTICS,
requiredArea: { min: 1200, max: 3000 },
preferredLocations: ['Winterthur', 'Wülflingen', 'Oberwinterthur', 'Töss'],
budgetRange: { maxPerSqm: 192, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-11-01',
latestMoveIn: '2026-05-01',
contractDurationMonths: 60,
flexibleTiming: false,
},
mustCriteriaText: ['Autobahn A1 < 10 Min', 'Ebenerdig', 'Lkw-Zufahrt', 'Sprinkleranlage'],
softFactors: {
requireParking: true,
},
weightingProfile: {
area: 0.27, location: 0.22, budget: 0.18, timing: 0.10,
prestige: 0.01, accessibility: 0.10, expansionPotential: 0.02, flexibility: 0.02,
visibility: 0.01, footfall: 0.00, talentAccess: 0.02, esg: 0.02, taxEnvironment: 0.02,
},
confidenceInCriteria: 0.92,
organizationId: 'org-wincasa',
createdAt: '2025-05-02T08:30:00Z',
updatedAt: '2025-05-09T16:00:00Z',
},
// --- need-007: MIXED Zürich-West ---
{
id: 'need-007',
companyName: 'Gewerbefläche Zürich-West',
contactName: 'Nora Hauser',
assetType: AssetType.MIXED,
requiredArea: { min: 800, max: 1500 },
preferredLocations: ['Zürich', 'Zürich-West', 'Zürich Altstetten', 'Bern'],
excludedLocations: [],
budgetRange: { maxPerSqm: 660, maxMonthlyTotal: 75000, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-01-01',
latestMoveIn: '2026-07-01',
contractDurationMonths: 48,
flexibleTiming: true,
},
mustCriteriaText: ['Gemischte Nutzung möglich', 'Hohe Decken', 'Kreative Atmosphäre'],
softFactors: {
minPrestige: 55,
minAccessibility: 70,
requireParking: false,
maxPublicTransportMinutes: 12,
},
weightingProfile: {
area: 0.17, location: 0.15, budget: 0.13, timing: 0.12,
prestige: 0.07, accessibility: 0.09, expansionPotential: 0.04, flexibility: 0.06,
visibility: 0.07, footfall: 0.05, talentAccess: 0.06, esg: 0.03, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.82,
extractedFromText: 'Kreativagentur sucht Gewerbe-/Bürofläche in Zürich oder Bern, 9001400m², gemischte Nutzung, Budget max. CHF 50/m².',
organizationId: 'org-wincasa',
createdAt: '2025-04-05T10:00:00Z',
updatedAt: '2025-05-03T11:00:00Z',
},
// --- need-008: PRODUCTION Bern ---
{
id: 'need-008',
companyName: 'Produktionshalle Bern',
contactName: 'Hans Lüthi',
assetType: AssetType.PRODUCTION,
requiredArea: { min: 2000, max: 4000 },
preferredLocations: ['Bern', 'Brünnen', 'Münchenbuchsee', 'Bern West'],
budgetRange: { maxPerSqm: 168, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-12-01',
latestMoveIn: '2026-09-01',
contractDurationMonths: 120,
flexibleTiming: false,
},
mustCriteriaText: ['Kranbahn möglich', 'Hallenhöhe min 8m', 'Drehstrom 400V', 'Lkw-Andienung'],
softFactors: {
requireParking: true,
},
weightingProfile: {
area: 0.26, location: 0.18, budget: 0.18, timing: 0.10,
prestige: 0.01, accessibility: 0.12, expansionPotential: 0.07, flexibility: 0.02,
visibility: 0.01, footfall: 0.00, talentAccess: 0.03, esg: 0.03, taxEnvironment: 0.02,
},
confidenceInCriteria: 0.95,
organizationId: 'org-wincasa',
createdAt: '2025-03-15T09:00:00Z',
updatedAt: '2025-04-20T12:00:00Z',
},
// --- need-009: RETAIL Genf ---
{
id: 'need-009',
companyName: 'Commerce Genève Centre',
contactName: 'Pierre Dupont',
assetType: AssetType.RETAIL,
requiredArea: { min: 150, max: 400 },
preferredLocations: ['Genf', 'Genf Rive', 'Genf Centre'],
excludedLocations: [],
budgetRange: { maxPerSqm: 1440, maxMonthlyTotal: 48000, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-01-01',
latestMoveIn: '2026-06-01',
contractDurationMonths: 60,
flexibleTiming: false,
},
mustCriteriaText: ['Centre-ville Genève', 'Vitrine', 'Rez-de-chaussée', 'Passage piétonnier'],
softFactors: {
minPrestige: 88,
requireParking: false,
maxPublicTransportMinutes: 5,
},
weightingProfile: {
area: 0.10, location: 0.22, budget: 0.12, timing: 0.08,
prestige: 0.07, accessibility: 0.04, expansionPotential: 0.01, flexibility: 0.04,
visibility: 0.12, footfall: 0.14, talentAccess: 0.01, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.93,
extractedFromText: 'Recherche surface commerciale en centre-ville de Genève, 200350m², vitrine obligatoire, budget max CHF 115/m².',
organizationId: 'org-wincasa',
createdAt: '2025-02-28T15:00:00Z',
updatedAt: '2025-04-18T09:00:00Z',
},
// --- need-011: RETAIL Bern Innenstadt ---
{
id: 'need-011',
companyName: 'Ladenlokal Bern Altstadt',
contactName: 'Katrin Müller',
assetType: AssetType.RETAIL,
requiredArea: { min: 200, max: 400 },
preferredLocations: ['Bern Innenstadt', 'Bern Altstadt', 'Bern Marktgasse'],
excludedLocations: [],
budgetRange: { maxPerSqm: 1800, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-09-01',
latestMoveIn: '2026-03-01',
contractDurationMonths: 48,
flexibleTiming: false,
},
mustCriteriaText: ['Fussgängerzone', 'Schaufensterfront', 'Erdgeschoss', 'Laufkundschaft'],
softFactors: {
minPrestige: 80,
requireParking: false,
maxPublicTransportMinutes: 5,
},
weightingProfile: {
area: 0.10, location: 0.22, budget: 0.12, timing: 0.08,
prestige: 0.06, accessibility: 0.04, expansionPotential: 0.01, flexibility: 0.04,
visibility: 0.12, footfall: 0.15, talentAccess: 0.01, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.92,
extractedFromText: 'Suche Retailfläche in Bern Innenstadt, 200400m², Schaufensterfront, Fussgängerzone, max. CHF 150/m².',
organizationId: 'org-wincasa',
createdAt: '2025-05-18T10:00:00Z',
updatedAt: '2025-05-18T10:00:00Z',
},
// --- need-010: OFFICE St.Gallen ---
{
id: 'need-010',
companyName: 'Bürofläche St. Gallen',
contactName: 'Brigitte Fässler',
assetType: AssetType.OFFICE,
requiredArea: { min: 400, max: 800 },
preferredLocations: ['St. Gallen', 'St. Gallen Centrum', 'Riethüsli', 'Ostschweiz'],
excludedLocations: [],
budgetRange: { maxPerSqm: 420, maxMonthlyTotal: 28000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-11-01',
latestMoveIn: '2026-04-01',
contractDurationMonths: 48,
flexibleTiming: true,
},
mustCriteriaText: ['Stadtzentrumsnähe', 'ÖV < 8 Min', 'Helligkeit und Ausbauqualität'],
softFactors: {
minPrestige: 60,
minAccessibility: 70,
requireParking: true,
maxPublicTransportMinutes: 8,
},
weightingProfile: {
area: 0.20, location: 0.25, budget: 0.18, timing: 0.11,
prestige: 0.07, accessibility: 0.06, expansionPotential: 0.02, flexibility: 0.02,
visibility: 0.02, footfall: 0.01, talentAccess: 0.05, esg: 0.02, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.87,
extractedFromText: 'Büroflächen in St. Gallen oder Umgebung gesucht, 450750m², max. CHF 32/m², Bezug Anfang 2026.',
organizationId: 'org-wincasa',
createdAt: '2025-04-10T08:00:00Z',
updatedAt: '2025-05-06T13:00:00Z',
},
// --- need-uc-a: RETAIL Zürich EG ---
{
id: 'need-uc-a',
companyName: 'Ladenlokal Zürich EG Schaufenster',
contactName: 'Renato Marchetti',
assetType: AssetType.RETAIL,
requiredArea: { min: 120, max: 160 },
preferredLocations: ['Zürich Kreis 3', 'Zürich Kreis 4', 'Zürich Kreis 5', 'Zürich Kreis 8', 'Wädenswil', 'Thalwil', 'Uster'],
budgetRange: { maxPerSqm: 620, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-10-01',
latestMoveIn: '2027-03-31',
contractDurationMonths: 60,
flexibleTiming: true,
},
mustCriteriaText: ['Schaufenster', 'Erdgeschoss', 'Werkstatt möglich'],
requireGroundFloor: true,
requiredFitOut: 'FULL',
notes: 'Wunsch: 3.5-Zi-Wohnung im Haus oder in der Nähe, max. CHF 2\'200/Mt. inkl. NK',
softFactors: {
requireHighVisibility: true,
},
weightingProfile: {
area: 0.13, location: 0.20, budget: 0.14, timing: 0.12,
prestige: 0.04, accessibility: 0.07, expansionPotential: 0.02, flexibility: 0.04,
visibility: 0.12, footfall: 0.12, talentAccess: 0.01, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.90,
extractedFromText: 'Fahrradhändler sucht Verkaufslokal 120150m² EG mit Schaufenster und Werkstatt in Zürich Kreis 3/4/5/8 oder Wädenswil/Thalwil/Uster, bezugsfertig Q4/2026 oder Q1/2027.',
organizationId: 'org-wincasa',
createdAt: '2025-05-20T10:00:00Z',
updatedAt: '2025-05-22T10:00:00Z',
},
// --- need-uc-b: OFFICE Zürich-West klein ---
{
id: 'need-uc-b',
companyName: 'Bürofläche Zürich-West klein',
contactName: 'Renato Marchetti',
assetType: AssetType.OFFICE,
requiredArea: { min: 140, max: 200 },
preferredLocations: ['Zürich', 'Zürich-West', 'Zürich Kreis 5', 'Zürich Kreis 4'],
budgetRange: { maxPerSqm: 300, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-10-01',
latestMoveIn: '2026-06-01',
contractDurationMonths: 84,
flexibleTiming: false,
},
mustCriteriaText: ['3-5 Parkplätze', 'Verpflegungsmöglichkeit', 'Startup-Umfeld', 'Erweiterungsoption vorhanden', 'Repräsentativer Charakter'],
requiredParkingMin: 3,
requiredFitOut: 'BASIC',
minContractDurationMonths: 84,
softFactors: {
requireParking: true,
},
weightingProfile: {
area: 0.14, location: 0.17, budget: 0.22, timing: 0.11,
prestige: 0.04, accessibility: 0.08, expansionPotential: 0.07, flexibility: 0.07,
visibility: 0.02, footfall: 0.01, talentAccess: 0.07, esg: 0.02, taxEnvironment: 0.01,
},
confidenceInCriteria: 0.88,
extractedFromText: 'Büro 140200m², Zürich-West, max. CHF 300/m²/a, einfacher Ausbau, 3-5 Parkplätze, 7 Jahre Mietvertrag, Startup-Umfeld, Erweiterungsoption.',
organizationId: 'org-wincasa',
createdAt: '2025-05-22T10:00:00Z',
updatedAt: '2025-05-22T10:00:00Z',
},
// --- need-012: LIGHT_INDUSTRIAL Pratteln ---
{
id: 'need-012',
companyName: 'Gewerbefläche Pratteln',
contactName: 'Andreas Weber',
assetType: AssetType.LIGHT_INDUSTRIAL,
requiredArea: { min: 400, max: 750 },
preferredLocations: ['Pratteln', 'Muttenz', 'Schweizerhalle', 'Liestal'],
excludedLocations: [],
budgetRange: { maxPerSqm: 168, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-04-01',
latestMoveIn: '2026-10-01',
contractDurationMonths: 48,
flexibleTiming: true,
},
mustCriteriaText: ['Lkw-Zufahrt', 'Hallenhöhe min 5m', 'Drehstrom vorhanden'],
softFactors: {
requireParking: true,
},
weightingProfile: {
area: 0.22, location: 0.20, budget: 0.18, timing: 0.12,
prestige: 0.02, accessibility: 0.10, expansionPotential: 0.06, flexibility: 0.03,
visibility: 0.01, footfall: 0.00, talentAccess: 0.03, esg: 0.02, taxEnvironment: 0.01,
},
confidenceInCriteria: 0.90,
extractedFromText: 'Gewerbe-/Lagerfläche 450700m² in Pratteln oder Muttenz, Lkw-Zufahrt, max. CHF 168/m²/J.',
organizationId: 'org-wincasa',
createdAt: '2026-03-01T09:00:00Z',
updatedAt: '2026-03-01T09:00:00Z',
},
// --- need-013: OFFICE Bern ---
{
id: 'need-013',
companyName: 'Bürofläche Bern Bahnhof',
contactName: 'Sabine Gerber',
assetType: AssetType.OFFICE,
requiredArea: { min: 180, max: 320 },
preferredLocations: ['Bern', 'Bern Bollwerk', 'Bern Bahnhof', 'Bern Innenstadt'],
excludedLocations: [],
budgetRange: { maxPerSqm: 360, maxMonthlyTotal: 8500, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-05-01',
latestMoveIn: '2026-11-01',
contractDurationMonths: 48,
flexibleTiming: true,
},
mustCriteriaText: ['ÖV-Anbindung < 5 Min', 'Repräsentative Lage', 'Konferenzraum vorhanden'],
softFactors: {
minPrestige: 65,
minAccessibility: 80,
requireParking: false,
maxPublicTransportMinutes: 5,
},
weightingProfile: {
area: 0.18, location: 0.25, budget: 0.18, timing: 0.11,
prestige: 0.08, accessibility: 0.09, expansionPotential: 0.02, flexibility: 0.03,
visibility: 0.02, footfall: 0.01, talentAccess: 0.05, esg: 0.02, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.88,
extractedFromText: 'Beratungsunternehmen sucht Bürofläche 200300m² in Bern Zentrum nahe Bahnhof, max. CHF 360/m²/J.',
organizationId: 'org-wincasa',
createdAt: '2026-04-05T10:00:00Z',
updatedAt: '2026-04-05T10:00:00Z',
},
// --- need-014: RETAIL Winterthur ---
{
id: 'need-014',
companyName: 'Retailfläche Winterthur',
contactName: 'Pascal Brunner',
assetType: AssetType.RETAIL,
requiredArea: { min: 150, max: 250 },
preferredLocations: ['Winterthur', 'Winterthur Zentrum', 'Winterthur Stadthausstrasse', 'Winterthur Altstadt'],
excludedLocations: [],
budgetRange: { maxPerSqm: 480, maxMonthlyTotal: 8000, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-06-01',
latestMoveIn: '2026-12-01',
contractDurationMonths: 36,
flexibleTiming: false,
},
mustCriteriaText: ['Schaufensterfront', 'Erdgeschoss', 'Gute Fussgängerfrequenz'],
softFactors: {
minPrestige: 70,
requireParking: false,
maxPublicTransportMinutes: 8,
},
weightingProfile: {
area: 0.12, location: 0.22, budget: 0.14, timing: 0.10,
prestige: 0.06, accessibility: 0.05, expansionPotential: 0.02, flexibility: 0.03,
visibility: 0.12, footfall: 0.12, talentAccess: 0.01, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.87,
extractedFromText: 'Handelsbetrieb sucht Verkaufsfläche 160230m² in Winterthur Zentrum, Schaufenster, max. CHF 480/m²/J.',
organizationId: 'org-wincasa',
createdAt: '2026-03-20T11:00:00Z',
updatedAt: '2026-03-20T11:00:00Z',
},
// --- need-015: OFFICE Luzern ---
{
id: 'need-015',
companyName: 'Bürofläche Luzern',
contactName: 'Markus Bucher',
assetType: AssetType.OFFICE,
requiredArea: { min: 350, max: 600 },
preferredLocations: ['Luzern', 'Luzern Zentrum', 'Luzern-West', 'Emmen'],
excludedLocations: [],
budgetRange: { maxPerSqm: 312, maxMonthlyTotal: 14000, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-06-01',
latestMoveIn: '2027-01-01',
contractDurationMonths: 60,
flexibleTiming: true,
},
mustCriteriaText: ['ÖV < 10 Min', 'Moderner Ausbau', 'Parkplätze vorhanden'],
softFactors: {
minPrestige: 60,
minAccessibility: 70,
requireParking: true,
maxPublicTransportMinutes: 10,
},
weightingProfile: {
area: 0.19, location: 0.22, budget: 0.18, timing: 0.11,
prestige: 0.07, accessibility: 0.08, expansionPotential: 0.03, flexibility: 0.04,
visibility: 0.02, footfall: 0.01, talentAccess: 0.04, esg: 0.02, taxEnvironment: 0.01,
},
confidenceInCriteria: 0.86,
extractedFromText: 'Beratungsgesellschaft sucht moderne Bürofläche 400550m² in Luzern, max. CHF 312/m²/J, Parkplätze nötig.',
organizationId: 'org-wincasa',
createdAt: '2026-04-10T14:00:00Z',
updatedAt: '2026-04-10T14:00:00Z',
},
// --- need-uc-c: OFFICE Zürich Premium ---
{
id: 'need-uc-c',
companyName: 'Repräsentanzbüro Zürich Premium',
contactName: 'Renato Marchetti',
assetType: AssetType.OFFICE,
requiredArea: { min: 450, max: 560 },
preferredLocations: ['Zürich', 'Zürich Kreis 1', 'Zürich Seefeld', 'Zürich Innenstadt'],
budgetRange: { maxPerSqm: 900, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-01-01',
latestMoveIn: '2027-06-01',
contractDurationMonths: 120,
flexibleTiming: false,
},
mustCriteriaText: ['Klimaanlage', 'Tageslicht', 'Prestige-Adresse', 'Repräsentativer Eingang', '2×5-Jahre-Mietoption'],
notes: 'Mietvertrag min. 10 Jahre + 2×5 Jahre echte Optionen gefordert',
requireAirConditioning: true,
requiredFitOut: 'PREMIUM',
minContractDurationMonths: 120,
softFactors: {
minPrestige: 85,
minAccessibility: 80,
},
weightingProfile: {
area: 0.10, location: 0.25, budget: 0.09, timing: 0.08,
prestige: 0.20, accessibility: 0.10, expansionPotential: 0.02, flexibility: 0.02,
visibility: 0.04, footfall: 0.01, talentAccess: 0.06, esg: 0.03, taxEnvironment: 0.05,
},
confidenceInCriteria: 0.95,
extractedFromText: 'Vermögensverwalter sucht repräsentative Bürofläche 500m² in Zürich Kreis 1 oder Seefeld/Bellevue, Klimaanlage, PREMIUM-Ausbau, 10-Jahres-Mietvertrag.',
organizationId: 'org-wincasa',
createdAt: '2025-05-20T10:00:00Z',
updatedAt: '2025-05-22T10:00:00Z',
},
// --- org-mobimo: eigene Suchprofile der Mobimo Management AG ---
{
id: 'need-mob-001',
companyName: 'Bürofläche Zürich City',
contactName: 'Sandra Koch',
assetType: AssetType.OFFICE,
requiredArea: { min: 300, max: 600 },
preferredLocations: ['Zürich', 'Zürich City', 'Zürich Kreis 1', 'Zürich Kreis 4'],
excludedLocations: [],
budgetRange: { maxPerSqm: 480, maxMonthlyTotal: 20000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-10-01',
latestMoveIn: '2026-03-01',
contractDurationMonths: 60,
flexibleTiming: true,
},
mustCriteriaText: ['Gute ÖV-Anbindung', 'Repräsentative Lage', 'Klimaanlage'],
softFactors: {
minPrestige: 70,
minAccessibility: 80,
requireParking: false,
maxPublicTransportMinutes: 8,
},
weightingProfile: {
area: 0.18, location: 0.24, budget: 0.16, timing: 0.12,
prestige: 0.10, accessibility: 0.08, expansionPotential: 0.03, flexibility: 0.04,
visibility: 0.02, footfall: 0.01, talentAccess: 0.01, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.91,
notificationConfig: { enabled: true, minScore: 80, emailAddress: 'sandra.koch@mobimo.ch' },
organizationId: 'org-mobimo',
createdAt: '2025-05-10T09:00:00Z',
updatedAt: '2025-06-01T10:00:00Z',
},
{
id: 'need-mob-002',
companyName: 'Showroom Bern Innenstadt',
contactName: 'Sandra Koch',
assetType: AssetType.RETAIL,
requiredArea: { min: 150, max: 300 },
preferredLocations: ['Bern', 'Bern Innenstadt', 'Bern Gurtengasse', 'Bern Marktgasse'],
excludedLocations: [],
budgetRange: { maxPerSqm: 380, maxMonthlyTotal: 8000, currency: 'CHF' },
timing: {
earliestMoveIn: '2025-11-01',
latestMoveIn: '2026-06-01',
contractDurationMonths: 36,
flexibleTiming: false,
},
mustCriteriaText: ['Schaufenster Erdgeschoss', 'Hoher Publikumsverkehr', 'Liefermöglichkeit'],
softFactors: {
minPrestige: 65,
minAccessibility: 75,
requireParking: false,
maxPublicTransportMinutes: 5,
},
weightingProfile: {
area: 0.14, location: 0.28, budget: 0.15, timing: 0.10,
prestige: 0.08, accessibility: 0.07, expansionPotential: 0.02, flexibility: 0.03,
visibility: 0.08, footfall: 0.04, talentAccess: 0.00, esg: 0.01, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.87,
notificationConfig: { enabled: false, minScore: 75 },
organizationId: 'org-mobimo',
createdAt: '2025-04-20T11:00:00Z',
updatedAt: '2025-05-15T09:00:00Z',
},
{
id: 'need-mob-003',
companyName: 'Lager & Service Schaffhausen',
contactName: 'Sandra Koch',
assetType: AssetType.LOGISTICS,
requiredArea: { min: 800, max: 1500 },
preferredLocations: ['Schaffhausen', 'Neuhausen am Rheinfall', 'Thayngen'],
excludedLocations: [],
budgetRange: { maxPerSqm: 160, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-01-01',
latestMoveIn: '2026-09-01',
contractDurationMonths: 48,
flexibleTiming: true,
},
mustCriteriaText: ['Autobahnanschluss < 10 Min', 'Rampe / Ladetor', 'Büroanteil mind. 80 m²'],
softFactors: {
requireParking: true,
},
weightingProfile: {
area: 0.22, location: 0.20, budget: 0.20, timing: 0.12,
prestige: 0.01, accessibility: 0.12, expansionPotential: 0.05, flexibility: 0.03,
visibility: 0.01, footfall: 0.00, talentAccess: 0.01, esg: 0.02, taxEnvironment: 0.01,
},
confidenceInCriteria: 0.83,
notificationConfig: { enabled: true, minScore: 85 },
organizationId: 'org-mobimo',
createdAt: '2025-06-01T08:00:00Z',
updatedAt: '2025-06-10T14:00:00Z',
},
{
id: 'need-mob-004',
companyName: 'Repräsentanzfläche Zürich-West',
contactName: 'Sandra Koch',
assetType: AssetType.OFFICE,
requiredArea: { min: 500, max: 900 },
preferredLocations: ['Zürich-West', 'Zürich Kreis 5', 'Zürich Kreis 4', 'Zürich Hardbrücke'],
excludedLocations: [],
budgetRange: { maxPerSqm: 520, maxMonthlyTotal: 35000, currency: 'CHF' },
timing: {
earliestMoveIn: '2026-03-01',
latestMoveIn: '2026-12-01',
contractDurationMonths: 84,
flexibleTiming: false,
},
mustCriteriaText: ['Moderner Neubau oder Kernsanierung', 'Kollaborative Fläche', 'Fahrradabstellplätze', 'Minergie oder LEED-zertifiziert'],
softFactors: {
minPrestige: 75,
minAccessibility: 85,
requireParking: false,
maxPublicTransportMinutes: 6,
},
weightingProfile: {
area: 0.16, location: 0.22, budget: 0.14, timing: 0.10,
prestige: 0.12, accessibility: 0.09, expansionPotential: 0.05, flexibility: 0.04,
visibility: 0.02, footfall: 0.01, talentAccess: 0.03, esg: 0.02, taxEnvironment: 0.00,
},
confidenceInCriteria: 0.93,
organizationId: 'org-mobimo',
createdAt: '2025-03-15T13:00:00Z',
updatedAt: '2025-06-05T11:00:00Z',
},
]