7a0909e36a
- 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>
754 lines
28 KiB
TypeScript
754 lines
28 KiB
TypeScript
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. 700–900m², 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, 500–800m², 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, 250–450m², 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, 350–600m², 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, 900–1400m², 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, 200–350m², 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, 200–400m², 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, 450–750m², 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 120–150m² 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 140–200m², 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 450–700m² 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 200–300m² 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 160–230m² 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 400–550m² 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',
|
||
},
|
||
]
|