feat: Steuerlast-Kriterium, ImmoScout-Layout, Gold/Silver/Bronze-Trennung

- Flächensuche: Flexibilität durch Steuerlast (taxEnvironment) ersetzt
- MatchDetail: Bild als Hero-Banner oben, Karte eingebettet im Inhalt darunter
- Ergebnisliste: Gold/Silber/Bronze-Abschnitte mit farbigen Trennlinien
- ScoreBreakdown: KI-Steuerlast-Link zur kantonalen Steuerrechner-Seite
- Beispieldaten: alle Objekte mit passenden Bildern versehen
- locationIntelligence: taxCalculatorUrl pro Kanton ergänzt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Sutter
2026-05-18 14:14:10 +02:00
parent 5b917bd619
commit 05ac0083b2
13 changed files with 495 additions and 91 deletions
+8
View File
@@ -12,6 +12,7 @@ export interface CityIntelligence {
avgDaysOnMarket: number // Durchschnittliche Tage bis Vermietung
demandStrength: 'LOW' | 'MEDIUM' | 'HIGH' | 'VERY_HIGH'
taxIndexCanton: number // Steuerindex 100 = CH-Mittel
taxCalculatorUrl?: string // Kantonaler Steuerrechner
}
export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
@@ -30,6 +31,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 38,
demandStrength: 'VERY_HIGH',
taxIndexCanton: 100,
taxCalculatorUrl: 'https://www.zh.ch/de/steuern-finanzen/steuerrechner.html',
},
'Basel': {
vacancyRatePct: 4.1,
@@ -46,6 +48,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 52,
demandStrength: 'HIGH',
taxIndexCanton: 98,
taxCalculatorUrl: 'https://www.steuern.bs.ch/steuerrechner',
},
'Bern': {
vacancyRatePct: 3.5,
@@ -61,6 +64,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 61,
demandStrength: 'MEDIUM',
taxIndexCanton: 112,
taxCalculatorUrl: 'https://www.taxme.ch',
},
'Zug': {
vacancyRatePct: 1.9,
@@ -76,6 +80,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 24,
demandStrength: 'VERY_HIGH',
taxIndexCanton: 60,
taxCalculatorUrl: 'https://www.zg.ch/behoerden/finanzdirektion/steuerverwaltung/steuerrechner',
},
'Winterthur': {
vacancyRatePct: 5.8,
@@ -91,6 +96,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 74,
demandStrength: 'MEDIUM',
taxIndexCanton: 119,
taxCalculatorUrl: 'https://www.zh.ch/de/steuern-finanzen/steuerrechner.html',
},
'Geneva': {
vacancyRatePct: 2.2,
@@ -106,6 +112,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 31,
demandStrength: 'HIGH',
taxIndexCanton: 125,
taxCalculatorUrl: 'https://www.ge.ch/calculer-impots',
},
'St.Gallen': {
vacancyRatePct: 6.2,
@@ -119,6 +126,7 @@ export const CITY_INTELLIGENCE: Record<string, CityIntelligence> = {
avgDaysOnMarket: 88,
demandStrength: 'LOW',
taxIndexCanton: 107,
taxCalculatorUrl: 'https://www.steuern.sg.ch/home/steuerrechner.html',
},
}