API de cálculos extrajudiciales
ts
function calculateHonorariosExtrajudiciales(
inputs: HonorarioExtrajudicialInputs,
): HonorarioExtrajudicialResultLa función selecciona la regla mediante serviceType. También acepta un ID ext-XXX cuando se recibe desde el catálogo y lo normaliza con el mapper.
Campos de entrada
| Campo | Servicios que lo utilizan |
|---|---|
serviceType | Todos |
jornalMinimo | Conversión de jornales y aplicación de pisos |
horas | Consulta verbal |
valorAsunto | Consulta escrita cuantificable y arreglo extrajudicial |
valorOperacion | Redacción de contratos y arbitrajes |
capitalIntegrado | Estatutos de sociedades mercantiles |
prestacionesPrometidas | Estatutos de cooperativas |
capitalEfectivo | Fusión de sociedades |
alquilerMensual | Contrato de alquiler |
valorInmueble | Boleto de compraventa |
cuantificable | Reservado para compatibilidad del dominio |
Servicios admitidos
Sin base monetaria adicional
gestion-registro-librosgestion-registro-estatutosgestion-registro-prendariosgestion-registro-comerciantesgestion-registro-copias-titulosconsulta-escrita-sin-valorestudio-procesosestatutos-asociaciones-fundacionesasesoria-acto-juridicoexamen-documentos-tramitacion
Con un campo específico
| Servicio | Campo requerido |
|---|---|
consulta-verbal | horas |
consulta-escrita-valor | valorAsunto |
estatutos-sa-srl-simple-comandita | capitalIntegrado |
estatutos-cooperativas | prestacionesPrometidas |
fusiones-sociedades | capitalEfectivo |
contratos-alquiler | alquilerMensual |
boleto-inmuebles | valorInmueble |
redaccion-contrato | valorOperacion |
arreglos-extrajudiciales | valorAsunto |
arbitrajes-amigables-componedores | valorOperacion o valorAsunto |
Ejemplo porcentual
ts
const result = calculateHonorariosExtrajudiciales({
serviceType: 'redaccion-contrato',
valorOperacion: 50_000_000,
jornalMinimo: 103_786,
});
if (result.isValid) {
const tramo = result.breakdowns?.[0];
console.log(tramo?.percentMin); // 1
console.log(tramo?.percentMax); // 5
}Ejemplo mediante ID del catálogo
ts
const result = calculateHonorariosExtrajudiciales({
serviceType: 'ext-006' as HonorarioExtrajudicialServiceType,
horas: 1,
jornalMinimo: 103_786,
});El tipo público enumera los nombres legibles, no los IDs. Si la aplicación parte de un string del catálogo, es preferible normalizarlo primero:
ts
import {
calculateHonorariosExtrajudiciales,
resolveExtrajudicialServiceType,
} from '@dikaia-io/honorarios';
const serviceType = resolveExtrajudicialServiceType('ext-006');
if (serviceType) {
calculateHonorariosExtrajudiciales({
serviceType,
horas: 1,
jornalMinimo: 103_786,
});
}Resultado
Un resultado válido contiene breakdowns y alerts. Un tramo puede tener solo mínimo cuando la ley establece “como mínimo” y no fija máximo. La interfaz no debe convertir un amountMax ausente en cero ni presentarlo como tope legal.
Cuando la regla está expresada en jornales y no se suministra jornalMinimo, los jornales siguen disponibles, pero el monto puede ser undefined.