Acerca el cálculo a tarifas de mercado sin rehacer el modelo lineal €/m²: - Impermeabilización como partida propia en zonas húmedas (cocina/baño/integral) - Extras fijos que no escalan con m²: boletín (siempre), tuberías (piso anterior a 2000) y cambio de distribución (mover inodoro/ducha/bañera) - Intensidad por tipo en fontanería/electricidad (baseline cocina) para que un integral no escale como un baño - Factor de zona por provincia en tramos (Madrid/BCN 1.40, islas 1.30, capitales 1.20, rural 0.85, resto 1.00) - 2 preguntas nuevas en el formulario del cliente para disparar los extras - Panel de precios: campo de impermeabilización + sección de extras fijos - Seed recalibrado (mano de obra, extras, catálogo suelo/pared) - Migración 0009 (leads.anterior_a_2000, leads.cambio_distribucion, pricing_config.extras) - Tests del motor ampliados (impermeabilización, extras, intensidad por tipo) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 lines
706 B
TypeScript
28 lines
706 B
TypeScript
import type { PartidaKey } from './types';
|
|
|
|
export const PARTIDA_ORDER: PartidaKey[] = [
|
|
'demolicion',
|
|
'impermeabilizacion',
|
|
'alicatado',
|
|
'fontaneria',
|
|
'electricidad',
|
|
'carpinteria',
|
|
'mano_de_obra',
|
|
'extras',
|
|
'extras_fijos',
|
|
'licencia',
|
|
];
|
|
|
|
export const PARTIDA_LABEL: Record<PartidaKey, string> = {
|
|
demolicion: 'Demolición',
|
|
impermeabilizacion: 'Impermeabilización',
|
|
alicatado: 'Alicatado y solado',
|
|
fontaneria: 'Fontanería',
|
|
electricidad: 'Electricidad',
|
|
carpinteria: 'Carpintería y mobiliario',
|
|
mano_de_obra: 'Mano de obra',
|
|
extras: 'Pintura y extras',
|
|
extras_fijos: 'Extras (tuberías, boletín, distribución)',
|
|
licencia: 'Licencia + Proyecto técnico',
|
|
};
|