diff --git a/mvp/b2c/src/lib/voice/preferences.ts b/mvp/b2c/src/lib/voice/preferences.ts new file mode 100644 index 0000000..3d41d81 --- /dev/null +++ b/mvp/b2c/src/lib/voice/preferences.ts @@ -0,0 +1,40 @@ +import type { Calidad, CategoriaMaterial, TipoReforma } from '@/budget/types'; + +export type Urgencia = 'alta' | 'media' | 'baja'; + +export interface RawCallData { + tipoReforma: TipoReforma; + m2Suelo: number | null; + calidad: Calidad | null; + estructural: boolean | null; + urgencia: Urgencia | null; + presupuestoTarget: number | null; // céntimos + tasteText: string; +} + +export interface PreferenceExtra { + key: string; + label: string; + importe: number; // céntimos (base, antes de factor zona) +} + +export interface PreferenceAjuste { + label: string; + tipo: 'factor' | 'fijo'; + valor: number; // factor (p.ej. 1.1) o céntimos + motivo: string; +} + +export interface AbstractedPreferences { + calidadGlobal: Calidad; + materialSelections: Partial>; + estructural: boolean; + urgencia: Urgencia | null; + presupuestoTarget: number | null; + elementos: PreferenceExtra[]; + estiloRender: string[]; + ajustes: PreferenceAjuste[]; + confianza: 'baja' | 'media' | 'alta'; + resumen: string; + camposFaltantes: string[]; +}