import { AssetType, ResultType, AvailabilityStatus, DataFreshness, RiskLevel } from '../domain/enums'
import type { Property } from '../domain/property'

export const mockProperties: Property[] = [

  // ─────────────────────────────────────────────────────────────────────────────
  // VERIFIED_PORTFOLIO (10)
  // ─────────────────────────────────────────────────────────────────────────────

  {
    id: 'prop-001',
    title: 'Bürofläche Zollstrasse 12',
    assetType: AssetType.OFFICE,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Zürich', district: 'Zürich-West', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3882, lng: 8.5132 } },
    address: { street: 'Zollstrasse', houseNumber: '12', postalCode: '8005', city: 'Zürich', country: 'CH' },
    areaSqm: 850,
    rentPricePerSqm: 38,
    totalRentMonthly: 32300,
    availabilityDate: '2025-09-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.97,
    dataQuality: {
      score: 0.92,
      missingCriticalFields: [],
      missingOptionalFields: ['expansionPotentialSqm'],
      lastVerifiedAt: '2025-04-28',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 78,
      accessibility: 90,
      visibilityScore: 65,
      talentAccess: 85,
      parkingSpots: 12,
      publicTransportMinutes: 4,
    },
    floorLevel: 3,
    contractDurationMonths: 60,
    ancillaryCosts: 5.5,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2025-01-10T08:00:00Z',
    updatedAt: '2025-04-28T10:30:00Z',
  },

  {
    id: 'prop-002',
    title: 'Lagerfläche Hardstrasse 44',
    assetType: AssetType.LOGISTICS,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Basel', district: 'Kleinhüningen', canton: 'BS', country: 'CH', coordinates: { lat: 47.5736, lng: 7.5946 } },
    address: { street: 'Hardstrasse', houseNumber: '44', postalCode: '4057', city: 'Basel', country: 'CH' },
    areaSqm: 2400,
    rentPricePerSqm: 14,
    totalRentMonthly: 33600,
    availabilityDate: '2025-07-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_NOW,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.99,
    dataQuality: {
      score: 0.96,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-05-05',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 40,
      accessibility: 88,
      parkingSpots: 30,
      publicTransportMinutes: 12,
    },
    floorLevel: 0,
    expansionPotentialSqm: 800,
    contractDurationMonths: 36,
    ancillaryCosts: 3.0,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2024-11-20T09:00:00Z',
    updatedAt: '2025-05-05T11:00:00Z',
  },

  {
    id: 'prop-007',
    title: 'Bürofläche Thurgauerstrasse 40',
    assetType: AssetType.OFFICE,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Zürich', district: 'Oerlikon', canton: 'ZH', country: 'CH', coordinates: { lat: 47.4115, lng: 8.5502 } },
    address: { street: 'Thurgauerstrasse', houseNumber: '40', postalCode: '8050', city: 'Zürich', country: 'CH' },
    areaSqm: 720,
    rentPricePerSqm: 36,
    totalRentMonthly: 25920,
    availabilityDate: '2025-10-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.98,
    dataQuality: {
      score: 0.94,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-05-01',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 72,
      accessibility: 88,
      visibilityScore: 60,
      talentAccess: 80,
      parkingSpots: 8,
      publicTransportMinutes: 5,
    },
    floorLevel: 2,
    expansionPotentialSqm: 200,
    contractDurationMonths: 48,
    ancillaryCosts: 5.0,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2025-02-01T09:00:00Z',
    updatedAt: '2025-05-01T08:00:00Z',
  },

  {
    id: 'prop-008',
    title: 'Bürofläche Dreispitz Areal 9',
    assetType: AssetType.OFFICE,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Basel', district: 'Dreispitz', canton: 'BS', country: 'CH', coordinates: { lat: 47.5398, lng: 7.5812 } },
    address: { street: 'Hochbergerstrasse', houseNumber: '9', postalCode: '4057', city: 'Basel', country: 'CH' },
    areaSqm: 900,
    rentPricePerSqm: 32,
    totalRentMonthly: 28800,
    availabilityDate: '2025-09-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.97,
    dataQuality: {
      score: 0.93,
      missingCriticalFields: [],
      missingOptionalFields: ['expansionPotentialSqm'],
      lastVerifiedAt: '2025-04-30',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 70,
      accessibility: 82,
      visibilityScore: 58,
      talentAccess: 72,
      parkingSpots: 14,
      publicTransportMinutes: 8,
    },
    floorLevel: 4,
    contractDurationMonths: 48,
    ancillaryCosts: 4.5,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2025-01-20T10:00:00Z',
    updatedAt: '2025-04-30T09:00:00Z',
  },

  {
    id: 'prop-009',
    title: 'Logistikzentrum Tössfeldstrasse 18',
    assetType: AssetType.LOGISTICS,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Winterthur', district: 'Töss', canton: 'ZH', country: 'CH', coordinates: { lat: 47.4952, lng: 8.7082 } },
    address: { street: 'Tössfeldstrasse', houseNumber: '18', postalCode: '8406', city: 'Winterthur', country: 'CH' },
    areaSqm: 1800,
    rentPricePerSqm: 13,
    totalRentMonthly: 23400,
    availabilityDate: '2025-07-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_NOW,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.98,
    dataQuality: {
      score: 0.95,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-05-02',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 38,
      accessibility: 85,
      parkingSpots: 25,
      publicTransportMinutes: 14,
    },
    floorLevel: 0,
    expansionPotentialSqm: 600,
    contractDurationMonths: 60,
    ancillaryCosts: 2.8,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2024-12-10T08:00:00Z',
    updatedAt: '2025-05-02T10:00:00Z',
  },

  {
    id: 'prop-010',
    title: 'Retailfläche Löwenplatz 3',
    assetType: AssetType.RETAIL,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Zürich', district: 'Innenstadt', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3758, lng: 8.5352 } },
    address: { street: 'Löwenplatz', houseNumber: '3', postalCode: '8001', city: 'Zürich', country: 'CH' },
    areaSqm: 285,
    rentPricePerSqm: 88,
    totalRentMonthly: 25080,
    availabilityDate: '2025-08-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.99,
    dataQuality: {
      score: 0.96,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-05-06',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 95,
      visibilityScore: 98,
      passerbyFrequency: 'VERY_HIGH',
      accessibility: 96,
      publicTransportMinutes: 2,
    },
    floorLevel: 0,
    contractDurationMonths: 60,
    ancillaryCosts: 8.0,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2025-01-05T10:00:00Z',
    updatedAt: '2025-05-06T11:00:00Z',
  },

  {
    id: 'prop-011',
    title: 'Produktionshalle Brünnen West 22',
    assetType: AssetType.PRODUCTION,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Bern', district: 'Brünnen', canton: 'BE', country: 'CH', coordinates: { lat: 46.9562, lng: 7.3818 } },
    address: { street: 'Brünnenstrasse', houseNumber: '22', postalCode: '3018', city: 'Bern', country: 'CH' },
    areaSqm: 2800,
    rentPricePerSqm: 12,
    totalRentMonthly: 33600,
    availabilityDate: '2025-07-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_NOW,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.98,
    dataQuality: {
      score: 0.95,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-05-03',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 35,
      accessibility: 80,
      parkingSpots: 40,
      publicTransportMinutes: 18,
    },
    floorLevel: 0,
    expansionPotentialSqm: 1200,
    contractDurationMonths: 120,
    ancillaryCosts: 2.5,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2024-10-15T09:00:00Z',
    updatedAt: '2025-05-03T10:00:00Z',
  },

  {
    id: 'prop-012',
    title: 'Bürofläche Stadtturm Zug',
    assetType: AssetType.OFFICE,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Zug', district: 'Zentrum', canton: 'ZG', country: 'CH', coordinates: { lat: 47.1712, lng: 8.5150 } },
    address: { street: 'Industriestrasse', houseNumber: '2', postalCode: '6300', city: 'Zug', country: 'CH' },
    areaSqm: 550,
    rentPricePerSqm: 42,
    totalRentMonthly: 23100,
    availabilityDate: '2025-10-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.97,
    dataQuality: {
      score: 0.93,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-04-29',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 82,
      accessibility: 88,
      visibilityScore: 70,
      talentAccess: 78,
      parkingSpots: 6,
      publicTransportMinutes: 6,
    },
    floorLevel: 5,
    contractDurationMonths: 36,
    ancillaryCosts: 6.0,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2025-02-10T11:00:00Z',
    updatedAt: '2025-04-29T08:00:00Z',
  },

  {
    id: 'prop-013',
    title: 'Gewerbe-/Bürofläche Altstetten Park',
    assetType: AssetType.MIXED,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Zürich', district: 'Altstetten', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3908, lng: 8.4888 } },
    address: { street: 'Badenerstrasse', houseNumber: '810', postalCode: '8048', city: 'Zürich', country: 'CH' },
    areaSqm: 1300,
    rentPricePerSqm: 45,
    totalRentMonthly: 58500,
    availabilityDate: '2025-11-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.96,
    dataQuality: {
      score: 0.92,
      missingCriticalFields: [],
      missingOptionalFields: ['expansionPotentialSqm'],
      lastVerifiedAt: '2025-04-25',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 62,
      accessibility: 84,
      visibilityScore: 55,
      talentAccess: 72,
      parkingSpots: 18,
      publicTransportMinutes: 7,
    },
    floorLevel: 1,
    contractDurationMonths: 48,
    ancillaryCosts: 5.0,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2025-01-15T09:00:00Z',
    updatedAt: '2025-04-25T10:00:00Z',
  },

  {
    id: 'prop-014',
    title: 'Logistikhalle Pratteln Nord',
    assetType: AssetType.LOGISTICS,
    resultType: ResultType.VERIFIED_PORTFOLIO,
    location: { city: 'Pratteln', district: 'Industriezone', canton: 'BL', country: 'CH', coordinates: { lat: 47.5228, lng: 7.6958 } },
    address: { street: 'Industriestrasse', houseNumber: '55', postalCode: '4133', city: 'Pratteln', country: 'CH' },
    areaSqm: 3100,
    rentPricePerSqm: 15,
    totalRentMonthly: 46500,
    availabilityDate: '2025-07-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_NOW,
    sourceType: 'ERP_IMPORT',
    confidenceScore: 0.98,
    dataQuality: {
      score: 0.94,
      missingCriticalFields: [],
      missingOptionalFields: [],
      lastVerifiedAt: '2025-05-04',
      freshness: DataFreshness.FRESH,
      warnings: [],
    },
    softFactors: {
      prestige: 42,
      accessibility: 90,
      parkingSpots: 45,
      publicTransportMinutes: 16,
    },
    floorLevel: 0,
    expansionPotentialSqm: 1500,
    contractDurationMonths: 60,
    ancillaryCosts: 2.8,
    riskLevel: RiskLevel.LOW,
    organizationId: 'org-wincasa',
    createdAt: '2024-12-01T08:00:00Z',
    updatedAt: '2025-05-04T09:00:00Z',
  },

  // ─────────────────────────────────────────────────────────────────────────────
  // EXTERNAL_MARKET (10)
  // ─────────────────────────────────────────────────────────────────────────────

  {
    id: 'prop-003',
    title: 'Retail-Fläche Bahnhofstrasse 88',
    assetType: AssetType.RETAIL,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Bern', district: 'Innenstadt', canton: 'BE', country: 'CH', coordinates: { lat: 46.9483, lng: 7.4474 } },
    address: { street: 'Bahnhofstrasse', houseNumber: '88', postalCode: '3011', city: 'Bern', country: 'CH' },
    areaSqm: 320,
    rentPricePerSqm: 95,
    totalRentMonthly: 30400,
    availabilityDate: '2025-08-15',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'MATCHOFFICE_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-003',
    confidenceScore: 0.71,
    dataQuality: {
      score: 0.62,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel'],
      lastVerifiedAt: '2025-04-10',
      freshness: DataFreshness.STALE,
      warnings: ['Mietpreis nicht bestätigt', 'Verfügbarkeit nicht verifiziert'],
    },
    softFactors: {
      prestige: 92,
      visibilityScore: 98,
      passerbyFrequency: 'VERY_HIGH',
      publicTransportMinutes: 2,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-02-15T14:00:00Z',
    updatedAt: '2025-04-10T09:00:00Z',
  },

  {
    id: 'prop-004',
    title: 'Gemischte Gewerbeeinheit Europaallee',
    assetType: AssetType.MIXED,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Zürich', district: 'Kreis 4', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3775, lng: 8.5398 } },
    address: { street: 'Europaallee', houseNumber: '21', postalCode: '8004', city: 'Zürich', country: 'CH' },
    areaSqm: 1150,
    rentPricePerSqm: 52,
    totalRentMonthly: 59800,
    availabilityDate: '2025-10-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'IMMOSCOUT_SCRAPE',
    confidenceScore: 0.68,
    dataQuality: {
      score: 0.55,
      missingCriticalFields: ['contractDurationMonths', 'ancillaryCosts'],
      missingOptionalFields: ['softFactors'],
      lastVerifiedAt: '2025-03-20',
      freshness: DataFreshness.STALE,
      warnings: ['Daten aus Drittquelle – nicht verifiziert'],
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-03-01T10:00:00Z',
    updatedAt: '2025-03-20T15:00:00Z',
  },

  {
    id: 'prop-015',
    title: 'Bürofläche Kasernenplatz Luzern',
    assetType: AssetType.OFFICE,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Luzern', district: 'Innenstadt', canton: 'LU', country: 'CH', coordinates: { lat: 47.0502, lng: 8.3093 } },
    address: { street: 'Kasernenplatz', houseNumber: '3', postalCode: '6003', city: 'Luzern', country: 'CH' },
    areaSqm: 650,
    rentPricePerSqm: 38,
    totalRentMonthly: 24700,
    availabilityDate: '2025-10-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'HOMEGATE_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-015',
    confidenceScore: 0.70,
    dataQuality: {
      score: 0.60,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'expansionPotentialSqm'],
      lastVerifiedAt: '2025-04-05',
      freshness: DataFreshness.STALE,
      warnings: ['Verfügbarkeit aus Drittquelle – nicht bestätigt'],
    },
    softFactors: {
      prestige: 74,
      accessibility: 86,
      publicTransportMinutes: 5,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-03-12T11:00:00Z',
    updatedAt: '2025-04-05T10:00:00Z',
  },

  {
    id: 'prop-016',
    title: 'Logistikhalle Muttenz Rheinfelderstrasse',
    assetType: AssetType.LOGISTICS,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Muttenz', district: 'Industriezone', canton: 'BL', country: 'CH', coordinates: { lat: 47.5202, lng: 7.6422 } },
    address: { street: 'Rheinfelderstrasse', houseNumber: '80', postalCode: '4132', city: 'Muttenz', country: 'CH' },
    areaSqm: 2200,
    rentPricePerSqm: 16,
    totalRentMonthly: 35200,
    availabilityDate: '2025-09-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'IMMOSCOUT_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-016',
    confidenceScore: 0.69,
    dataQuality: {
      score: 0.58,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts'],
      lastVerifiedAt: '2025-03-28',
      freshness: DataFreshness.STALE,
      warnings: ['Hallenhöhe nicht angegeben', 'Daten nicht verifiziert'],
    },
    softFactors: {
      prestige: 42,
      accessibility: 88,
      parkingSpots: 35,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-02-20T09:00:00Z',
    updatedAt: '2025-03-28T12:00:00Z',
  },

  {
    id: 'prop-017',
    title: 'Ladenfläche Löwenstrasse 28',
    assetType: AssetType.RETAIL,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Zürich', district: 'Innenstadt', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3766, lng: 8.5385 } },
    address: { street: 'Löwenstrasse', houseNumber: '28', postalCode: '8001', city: 'Zürich', country: 'CH' },
    areaSqm: 350,
    rentPricePerSqm: 95,
    totalRentMonthly: 33250,
    availabilityDate: '2025-09-15',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'MATCHOFFICE_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-017',
    confidenceScore: 0.71,
    dataQuality: {
      score: 0.61,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['floorLevel', 'ancillaryCosts'],
      lastVerifiedAt: '2025-04-18',
      freshness: DataFreshness.STALE,
      warnings: ['Mietpreis nicht final bestätigt'],
    },
    softFactors: {
      prestige: 90,
      visibilityScore: 94,
      passerbyFrequency: 'VERY_HIGH',
      publicTransportMinutes: 3,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-03-05T13:00:00Z',
    updatedAt: '2025-04-18T11:00:00Z',
  },

  {
    id: 'prop-018',
    title: 'Bürofläche Breitenrain 14',
    assetType: AssetType.OFFICE,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Bern', district: 'Breitenrain', canton: 'BE', country: 'CH', coordinates: { lat: 46.9598, lng: 7.4522 } },
    address: { street: 'Breitenrainstrasse', houseNumber: '14', postalCode: '3014', city: 'Bern', country: 'CH' },
    areaSqm: 780,
    rentPricePerSqm: 31,
    totalRentMonthly: 24180,
    availabilityDate: '2025-10-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'NEWHOME_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-018',
    confidenceScore: 0.68,
    dataQuality: {
      score: 0.57,
      missingCriticalFields: ['contractDurationMonths', 'ancillaryCosts'],
      missingOptionalFields: ['floorLevel'],
      lastVerifiedAt: '2025-04-02',
      freshness: DataFreshness.STALE,
      warnings: ['Daten aus Drittquelle', 'Renovierungsstand unklar'],
    },
    softFactors: {
      prestige: 62,
      accessibility: 78,
      publicTransportMinutes: 8,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-02-28T10:00:00Z',
    updatedAt: '2025-04-02T09:00:00Z',
  },

  {
    id: 'prop-019',
    title: 'Produktionsfläche Voltastrasse Basel',
    assetType: AssetType.PRODUCTION,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Basel', district: 'Kleinhüningen', canton: 'BS', country: 'CH', coordinates: { lat: 47.5720, lng: 7.5882 } },
    address: { street: 'Voltastrasse', houseNumber: '62', postalCode: '4056', city: 'Basel', country: 'CH' },
    areaSqm: 1900,
    rentPricePerSqm: 13,
    totalRentMonthly: 24700,
    availabilityDate: '2025-11-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'IMMOSCOUT_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-019',
    confidenceScore: 0.68,
    dataQuality: {
      score: 0.56,
      missingCriticalFields: ['contractDurationMonths', 'ancillaryCosts'],
      missingOptionalFields: ['softFactors'],
      lastVerifiedAt: '2025-03-25',
      freshness: DataFreshness.STALE,
      warnings: ['Hallenhöhe nicht verifiziert', 'Kranbahn Status unklar'],
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-03-10T08:00:00Z',
    updatedAt: '2025-03-25T14:00:00Z',
  },

  {
    id: 'prop-020',
    title: 'Bürofläche Industriestrasse Zug',
    assetType: AssetType.OFFICE,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Zug', district: 'Industrie', canton: 'ZG', country: 'CH', coordinates: { lat: 47.1688, lng: 8.5228 } },
    address: { street: 'Industriestrasse', houseNumber: '45', postalCode: '6300', city: 'Zug', country: 'CH' },
    areaSqm: 820,
    rentPricePerSqm: 44,
    totalRentMonthly: 36080,
    availabilityDate: '2025-11-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'HOMEGATE_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-020',
    confidenceScore: 0.70,
    dataQuality: {
      score: 0.60,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'expansionPotentialSqm'],
      lastVerifiedAt: '2025-04-12',
      freshness: DataFreshness.STALE,
      warnings: ['Ausbaustandard nicht bestätigt'],
    },
    softFactors: {
      prestige: 68,
      accessibility: 82,
      publicTransportMinutes: 9,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-03-18T09:00:00Z',
    updatedAt: '2025-04-12T11:00:00Z',
  },

  {
    id: 'prop-021',
    title: 'Surface commerciale Rue du Rhône',
    assetType: AssetType.RETAIL,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'Genf', district: 'Centre', canton: 'GE', country: 'CH', coordinates: { lat: 46.2044, lng: 6.1432 } },
    address: { street: 'Rue du Rhône', houseNumber: '48', postalCode: '1204', city: 'Genf', country: 'CH' },
    areaSqm: 250,
    rentPricePerSqm: 112,
    totalRentMonthly: 28000,
    availabilityDate: '2026-01-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'MATCHOFFICE_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-021',
    confidenceScore: 0.70,
    dataQuality: {
      score: 0.59,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel'],
      lastVerifiedAt: '2025-04-08',
      freshness: DataFreshness.STALE,
      warnings: ['Prix non confirmé', 'Disponibilité à vérifier'],
    },
    softFactors: {
      prestige: 94,
      visibilityScore: 96,
      passerbyFrequency: 'VERY_HIGH',
      publicTransportMinutes: 3,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-02-10T10:00:00Z',
    updatedAt: '2025-04-08T09:00:00Z',
  },

  {
    id: 'prop-022',
    title: 'Bürofläche St.Gallen Centrum 7',
    assetType: AssetType.OFFICE,
    resultType: ResultType.EXTERNAL_MARKET,
    location: { city: 'St. Gallen', district: 'Centrum', canton: 'SG', country: 'CH', coordinates: { lat: 47.4245, lng: 9.3767 } },
    address: { street: 'Marktgasse', houseNumber: '7', postalCode: '9000', city: 'St. Gallen', country: 'CH' },
    areaSqm: 700,
    rentPricePerSqm: 28,
    totalRentMonthly: 19600,
    availabilityDate: '2025-11-01',
    availabilityStatus: AvailabilityStatus.AVAILABLE_SOON,
    sourceType: 'NEWHOME_SCRAPE',
    sourceUrl: 'https://example.com/listing/prop-022',
    confidenceScore: 0.69,
    dataQuality: {
      score: 0.58,
      missingCriticalFields: ['contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel'],
      lastVerifiedAt: '2025-04-14',
      freshness: DataFreshness.STALE,
      warnings: ['Daten aus Drittquelle', 'Ausbauqualität nicht bestätigt'],
    },
    softFactors: {
      prestige: 66,
      accessibility: 80,
      publicTransportMinutes: 6,
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-03-08T08:00:00Z',
    updatedAt: '2025-04-14T10:00:00Z',
  },

  // ─────────────────────────────────────────────────────────────────────────────
  // FUTURE_AVAILABILITY (10)
  // ─────────────────────────────────────────────────────────────────────────────

  {
    id: 'prop-005',
    title: 'Bürofläche Technoparkstrasse (Signal: Expansion)',
    assetType: AssetType.OFFICE,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Zürich', district: 'Technopark', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3923, lng: 8.5142 } },
    address: { street: 'Technoparkstrasse', houseNumber: '1', postalCode: '8005', city: 'Zürich', country: 'CH' },
    areaSqm: 600,
    rentPricePerSqm: 42,
    availabilityDate: '2026-03-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.55,
    dataQuality: {
      score: 0.38,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel', 'parkingSpots'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Daten nicht verifiziert'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-05-01T07:00:00Z',
    updatedAt: '2025-05-10T07:00:00Z',
  },

  {
    id: 'prop-006',
    title: 'Produktionsfläche Reinach (Signal: möglicher Auszug)',
    assetType: AssetType.PRODUCTION,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Reinach', district: 'Industriezone Nord', canton: 'BL', country: 'CH', coordinates: { lat: 47.4978, lng: 7.5933 } },
    address: { street: 'Industriestrasse', houseNumber: '18', postalCode: '4153', city: 'Reinach', country: 'CH' },
    areaSqm: 3200,
    rentPricePerSqm: 11,
    availabilityDate: '2026-06-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.48,
    dataQuality: {
      score: 0.30,
      missingCriticalFields: ['totalRentMonthly', 'rentPricePerSqm', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Mietpreis geschätzt'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-05-03T08:00:00Z',
    updatedAt: '2025-05-10T08:00:00Z',
  },

  {
    id: 'prop-023',
    title: 'Bürofläche Zürich-Nord Seebach (Signal: Auszug)',
    assetType: AssetType.OFFICE,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Zürich', district: 'Seebach', canton: 'ZH', country: 'CH', coordinates: { lat: 47.4298, lng: 8.5362 } },
    address: { street: 'Binzmühlestrasse', houseNumber: '95', postalCode: '8050', city: 'Zürich', country: 'CH' },
    areaSqm: 850,
    rentPricePerSqm: 38,
    availabilityDate: '2026-02-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.54,
    dataQuality: {
      score: 0.36,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Mietpreis geschätzt'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-04-14T08:00:00Z',
    updatedAt: '2025-05-10T08:00:00Z',
  },

  {
    id: 'prop-024',
    title: 'Logistikneubau Basel Hafen Klybeck (Signal: Neubau)',
    assetType: AssetType.LOGISTICS,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Basel', district: 'Klybeck', canton: 'BS', country: 'CH', coordinates: { lat: 47.5762, lng: 7.5918 } },
    address: { street: 'Klybeckstrasse', houseNumber: '180', postalCode: '4057', city: 'Basel', country: 'CH' },
    areaSqm: 2600,
    rentPricePerSqm: 14,
    availabilityDate: '2026-07-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.52,
    dataQuality: {
      score: 0.35,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Baubewilligung erteilt, Mieter noch nicht bekannt', 'Konditionen geschätzt'],
    },
    riskLevel: RiskLevel.MEDIUM,
    createdAt: '2025-01-20T09:00:00Z',
    updatedAt: '2025-05-10T09:00:00Z',
  },

  {
    id: 'prop-025',
    title: 'Retailfläche Zürich Niederdorf (Signal: Auszug)',
    assetType: AssetType.RETAIL,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Zürich', district: 'Niederdorf', canton: 'ZH', country: 'CH', coordinates: { lat: 47.3748, lng: 8.5418 } },
    address: { street: 'Münstergasse', houseNumber: '14', postalCode: '8001', city: 'Zürich', country: 'CH' },
    areaSqm: 280,
    rentPricePerSqm: 92,
    availabilityDate: '2026-09-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.50,
    dataQuality: {
      score: 0.33,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Preis geschätzt'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-04-02T08:00:00Z',
    updatedAt: '2025-05-10T08:00:00Z',
  },

  {
    id: 'prop-026',
    title: 'Bürofläche Zug Industriestrasse (Signal: Expansion)',
    assetType: AssetType.OFFICE,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Zug', district: 'Industrie', canton: 'ZG', country: 'CH', coordinates: { lat: 47.1672, lng: 8.5198 } },
    address: { street: 'Industriestrasse', houseNumber: '60', postalCode: '6300', city: 'Zug', country: 'CH' },
    areaSqm: 580,
    rentPricePerSqm: 43,
    availabilityDate: '2026-04-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.52,
    dataQuality: {
      score: 0.34,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Lage approximiert'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-04-22T07:00:00Z',
    updatedAt: '2025-05-10T08:00:00Z',
  },

  {
    id: 'prop-027',
    title: 'Produktionsfläche Münchenbuchsee BE (Signal: Auszug)',
    assetType: AssetType.PRODUCTION,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Münchenbuchsee', district: 'Industriezone', canton: 'BE', country: 'CH', coordinates: { lat: 47.0038, lng: 7.4542 } },
    address: { street: 'Bernstrasse', houseNumber: '42', postalCode: '3053', city: 'Münchenbuchsee', country: 'CH' },
    areaSqm: 2200,
    rentPricePerSqm: 12,
    availabilityDate: '2026-08-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.48,
    dataQuality: {
      score: 0.32,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Daten nicht verifiziert'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-03-14T08:00:00Z',
    updatedAt: '2025-05-09T09:00:00Z',
  },

  {
    id: 'prop-028',
    title: 'Bürofläche Genf La Praille (Signal: Expansion)',
    assetType: AssetType.OFFICE,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Genf', district: 'La Praille', canton: 'GE', country: 'CH', coordinates: { lat: 46.1912, lng: 6.1285 } },
    address: { street: 'Route de la Praille', houseNumber: '30', postalCode: '1227', city: 'Genf', country: 'CH' },
    areaSqm: 520,
    rentPricePerSqm: 36,
    availabilityDate: '2027-01-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.53,
    dataQuality: {
      score: 0.35,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – Standort approximiert', 'Mietzins geschätzt'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-03-10T09:00:00Z',
    updatedAt: '2025-05-09T10:00:00Z',
  },

  {
    id: 'prop-029',
    title: 'Logistiklager Frenkendorf BL (Signal: Auszug)',
    assetType: AssetType.LOGISTICS,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'Frenkendorf', district: 'Industriezone', canton: 'BL', country: 'CH', coordinates: { lat: 47.5098, lng: 7.7182 } },
    address: { street: 'Frenkenstrasse', houseNumber: '28', postalCode: '4402', city: 'Frenkendorf', country: 'CH' },
    areaSqm: 3500,
    rentPricePerSqm: 13,
    availabilityDate: '2026-10-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.46,
    dataQuality: {
      score: 0.31,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Konditionen unbekannt'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-04-08T08:00:00Z',
    updatedAt: '2025-05-10T08:00:00Z',
  },

  {
    id: 'prop-030',
    title: 'Bürofläche St.Gallen Riethüsli (Signal: Expansion)',
    assetType: AssetType.OFFICE,
    resultType: ResultType.FUTURE_AVAILABILITY,
    location: { city: 'St. Gallen', district: 'Riethüsli', canton: 'SG', country: 'CH', coordinates: { lat: 47.4182, lng: 9.3888 } },
    address: { street: 'Riethüslistrasse', houseNumber: '40', postalCode: '9000', city: 'St. Gallen', country: 'CH' },
    areaSqm: 480,
    rentPricePerSqm: 27,
    availabilityDate: '2026-05-01',
    availabilityStatus: AvailabilityStatus.FUTURE_SIGNAL,
    sourceType: 'AI_SIGNAL',
    confidenceScore: 0.55,
    dataQuality: {
      score: 0.36,
      missingCriticalFields: ['totalRentMonthly', 'contractDurationMonths'],
      missingOptionalFields: ['ancillaryCosts', 'floorLevel', 'softFactors'],
      freshness: DataFreshness.FRESH,
      warnings: ['Probabilistisches Signal – kein bestätigtes Objekt', 'Lage und Preis approximiert'],
    },
    riskLevel: RiskLevel.HIGH,
    createdAt: '2025-04-26T07:00:00Z',
    updatedAt: '2025-05-10T08:00:00Z',
  },
]
