Files
FRASA-CAS/apps/alta-clientes/src/data/constantes.ts
Consult AS Technology 27ba9ea8fa feat: Interesado en leads, lada MX/USA, orígenes FRASA y subcategoría de descarte
- Mis leads: botón Interesado (label sembrado en Monday, mueve a Leads
  Progreso); el botón Agenda cita ahora solo vive en Mis oportunidades
- Descarte: además de la categoría, subcategoría del catálogo de Monday
  (workspace de referencia CRM FRASA); se guarda en la columna
  Subcategoria del tablero Motivos No Compra y el item queda en el grupo
  de su categoría
- Teléfonos con selector de lada 🇲🇽 +52 / 🇺🇸 +1 en captura rápida (Mi
  día), Alta Afluencia y Alta de Cliente (tel. casa y celular); Monday
  escribe countryShortName MX/US y el número compacto (rechaza espacios);
  el dedup sigue comparando por los últimos 10 dígitos
- Origen nuevo en captura rápida y afluencia: PASE, PROSPECCION ASESOR,
  ACTIVACION, FACEBOOK FRASA, REFERIDO, OTRO (sembrados en Leads.Origen y
  Oportunidades.Origen del Lead)
- Tests: 461 API + 16 mi-dia + 116 alta-clientes, verde
2026-09-04 23:28:56 +00:00

107 lines
4.0 KiB
TypeScript

import type {
EstadoCivil,
RegimenBienes,
TipoVivienda,
TipoCompra,
TipoEmpleo,
TipoEconomia,
TipoProducto,
TipoCredito,
SlotDocumento,
} from '../types'
export const PROYECTOS = [
'RESIDENCIAL MONTEBELLO',
'SENDA',
'DIAGONAL',
'ATELIER',
'ESTANZA',
'SOLANA',
'OTRO',
] as const
// Modelos por proyecto (inventario real, ago-2026). Los proyectos sin lista
// (RESIDENCIAL MONTEBELLO histórico, OTRO) capturan el modelo en texto libre.
export const MODELOS_POR_PROYECTO: Partial<Record<(typeof PROYECTOS)[number], string[]>> = {
DIAGONAL: ['1R', '2RA', '2RB', '2RC'],
SENDA: ['HIMALAYA', 'SANTIAGO', 'ESMERALDA PA', 'ESMERALDA PB', 'SANTA CRUZ'],
ATELIER: ['TRIBECA', 'SOHO'],
ESTANZA: ['DUPLO A', 'DUPLO B'],
SOLANA: ['MIRADOR', 'PANORAMA'],
}
export const ESTADOS_CIVILES: { valor: EstadoCivil; etiqueta: string }[] = [
{ valor: 'SOLTERO', etiqueta: 'Soltero(a)' },
{ valor: 'CASADO', etiqueta: 'Casado(a)' },
{ valor: 'UNION_LIBRE', etiqueta: 'Unión libre' },
{ valor: 'DIVORCIADO', etiqueta: 'Divorciado(a)' },
{ valor: 'VIUDO', etiqueta: 'Viudo(a)' },
]
export const REGIMENES_BIENES: { valor: RegimenBienes; etiqueta: string }[] = [
{ valor: 'SOCIEDAD_CONYUGAL', etiqueta: 'Sociedad conyugal' },
{ valor: 'SEPARACION_BIENES', etiqueta: 'Separación de bienes' },
]
export const TIPOS_VIVIENDA: { valor: TipoVivienda; etiqueta: string }[] = [
{ valor: 'PRESTADA', etiqueta: 'Prestada' },
{ valor: 'RENTADA', etiqueta: 'Rentada' },
{ valor: 'FAMILIAR', etiqueta: 'Familiar' },
{ valor: 'PROPIA', etiqueta: 'Propia' },
]
export const TIPOS_COMPRA: { valor: TipoCompra; etiqueta: string }[] = [
{ valor: 'INVERSION', etiqueta: 'Inversión' },
{ valor: 'VIVIR_AHI', etiqueta: 'Vivir ahí' },
]
export const TIPOS_EMPLEO: { valor: TipoEmpleo; etiqueta: string }[] = [
{ valor: 'ASALARIADO', etiqueta: 'Asalariado' },
{ valor: 'INDEPENDIENTE', etiqueta: 'Independiente' },
]
export const TIPOS_ECONOMIA: { valor: TipoEconomia; etiqueta: string }[] = [
{ valor: 'E_MEXICANA', etiqueta: 'Economía mexicana' },
{ valor: 'E_AMERICANA', etiqueta: 'Economía americana' },
{ valor: 'MIXTO', etiqueta: 'Mixta' },
]
export const TIPOS_PRODUCTO: { valor: TipoProducto; etiqueta: string }[] = [
{ valor: 'PESOS_FIJOS', etiqueta: 'Pesos fijos' },
{ valor: 'PESOS_CRECIENTES', etiqueta: 'Pesos crecientes' },
{ valor: 'VSM', etiqueta: 'VSM' },
]
export const TIPOS_CREDITO: { valor: TipoCredito; etiqueta: string }[] = [
{ valor: 'INFONAVIT', etiqueta: 'Infonavit' },
{ valor: 'APOYO_INFONAVIT', etiqueta: 'Apoyo Infonavit' },
{ valor: 'COFINAVIT', etiqueta: 'Cofinavit' },
{ valor: 'SEGUNDO_CREDITO', etiqueta: 'Segundo crédito' },
{ valor: 'CONTADO', etiqueta: 'Contado' },
{ valor: 'FOVISSSTE', etiqueta: 'Fovissste' },
{ valor: 'COFI_FOVISSSTE', etiqueta: 'Cofi-Fovissste' },
{ valor: 'BANCARIO', etiqueta: 'Bancario' },
]
export const SLOTS_DOCUMENTOS: { slot: SlotDocumento; etiqueta: string }[] = [
{ slot: 'INE', etiqueta: 'Identificación oficial (INE)' },
{ slot: 'CONSTANCIA_RFC', etiqueta: 'Constancia RFC / CSF' },
{ slot: 'CURP', etiqueta: 'CURP' },
{ slot: 'COMPROBANTE_DOMICILIO', etiqueta: 'Comprobante de domicilio' },
{ slot: 'ACTA_NACIMIENTO', etiqueta: 'Acta de nacimiento' },
]
export const TAMANO_MAX_DOCUMENTO = 10 * 1024 * 1024 // 10 MB
// Catálogos de Monday (labels exactos). Origen: vocabulario FRASA sembrado en
// los tableros Leads y Oportunidades el 2026-09-04 (reemplaza al set anterior)
export const ORIGENES_LEAD = ['PASE', 'PROSPECCION ASESOR', 'ACTIVACION', 'FACEBOOK FRASA', 'REFERIDO', 'OTRO'] as const
export const DESARROLLOS_LEAD = ['ATELIER', 'DIAGONAL', 'ESTANZA', 'SENDA', 'SOLANA'] as const
// Label de la columna status 'Califica' del tablero Leads (captura de afluencia).
// El modelo de interés sale de MODELOS_POR_PROYECTO según el desarrollo elegido.
export const OPCIONES_CALIFICA = ['Sí', 'No', 'Por confirmar'] as const
export const ASESOR_DEFAULT = 'ESMERALDA BECERRA DOMINGUEZ'
export const AUTORIDAD_ID_DEFAULT = 'INSTITUTO NACIONAL ELECTORAL'