Initial commit

This commit is contained in:
Benjamin Sutter
2026-05-15 00:48:18 +02:00
commit 9e827c50f9
72 changed files with 10477 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
import type { AssetType, ResultType, AvailabilityStatus, DataFreshness, RiskLevel } from './enums'
export interface Location {
city: string
district?: string
canton?: string
country: string
coordinates?: {
lat: number
lng: number
}
}
export interface Address {
street: string
houseNumber: string
postalCode: string
city: string
country: string
}
export interface SoftFactors {
prestige?: number
accessibility?: number
visibilityScore?: number
talentAccess?: number
esgRating?: string
passerbyFrequency?: 'LOW' | 'MEDIUM' | 'HIGH' | 'VERY_HIGH'
parkingSpots?: number
publicTransportMinutes?: number
infrastructureNotes?: string
}
export interface DataQuality {
score: number
missingCriticalFields: string[]
missingOptionalFields: string[]
lastVerifiedAt?: string
freshness: DataFreshness
warnings: string[]
}
export interface Property {
id: string
title: string
assetType: AssetType
resultType: ResultType
location: Location
address: Address
areaSqm: number
rentPricePerSqm: number
totalRentMonthly?: number
availabilityDate: string
availabilityStatus: AvailabilityStatus
sourceType: string
sourceUrl?: string
confidenceScore: number
dataQuality: DataQuality
softFactors?: SoftFactors
floorLevel?: number
expansionPotentialSqm?: number
contractDurationMonths?: number
ancillaryCosts?: number
riskLevel?: RiskLevel
description?: string
images?: string[]
organizationId?: string
createdAt: string
updatedAt: string
}
export type CreatePropertyInput = Omit<Property, 'id' | 'createdAt' | 'updatedAt'>
export type UpdatePropertyInput = Partial<CreatePropertyInput>