@fiado/type-kit 3.377.0 → 3.379.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,4 +29,17 @@ export interface InfoSelfVerifiedFields {
29
29
  * documental y el estadounidense se captura a mano.
30
30
  */
31
31
  verifyAddressMEX?: boolean;
32
+ /**
33
+ * Fecha de nacimiento. NO TIENE PASO QUE REABRIR — a diferencia de los domicilios, el usuario no
34
+ * puede corregirla solo.
35
+ *
36
+ * `dateOfBirth` es WRITE-ONCE: `PeopleService.setDateOfBirth` sólo escribe si está vacía, así que
37
+ * un documento nuevo con la fecha correcta NO pisa una fecha mal leída por OCR. Y la fecha
38
+ * alimenta `older18`, que es dato regulatorio.
39
+ *
40
+ * Por eso `false` acá DETIENE LA EMISIÓN y abre un ticket de Zendesk: la corrige customer service
41
+ * desde el backoffice. `DATA_CONFIRMATION` queda LOCKED mientras tanto — el usuario no tiene nada
42
+ * que hacer y dejarlo abierto le permitiría re-confirmar el dato malo.
43
+ */
44
+ verifyDateOfBirth?: boolean;
32
45
  }
@@ -27,6 +27,21 @@ export interface AppliedPromotionResponse {
27
27
  /** Palancas del plan que la promoción pisó. */
28
28
  appliedEffects: PromotionEffectKindEnum[];
29
29
  }
30
+ /**
31
+ * Cotas con las que se cotizó de verdad, ya pisadas por la promoción y las políticas. NO son las
32
+ * del plan: una promoción puede bajar el enganche mínimo o subir el techo de monto.
33
+ *
34
+ * El wizard dibuja el control del enganche con estas, no con las del plan. Sin ellas el vendedor
35
+ * ve un mínimo que el motor ya no exige, y la palanca de enganche queda inalcanzable.
36
+ */
37
+ export interface EffectiveTermsResponse {
38
+ /** Enganche mínimo exigible, en decimal sobre 1 (`0.10` = 10%). */
39
+ minDownPaymentPct: number;
40
+ /** Tope de enganche, o `null` si el plan no lo acota. */
41
+ maxDownPaymentPct: number | null;
42
+ /** Techo de capital financiable. */
43
+ maxFinancedAmountCents: number;
44
+ }
30
45
  /**
31
46
  * Resultado del simulador de cuota (POST /private/credit-plans/:planId/simulate,
32
47
  * GET /credit-plans/:planId/simulator). Amortización francesa + IVA 16% + comisión de apertura + CAT.
@@ -65,4 +80,8 @@ export interface SimulationResultResponse {
65
80
  * alcanzó la venta, y ausente si el lambda todavía no lo emite.
66
81
  */
67
82
  provenance?: PlanTermProvenance;
83
+ /**
84
+ * Las cotas efectivas de ESTA cotización. Ausente si el lambda todavía no las emite.
85
+ */
86
+ effectiveTerms?: EffectiveTermsResponse;
68
87
  }
@@ -6,6 +6,9 @@ export type PlanTermLayer = 'PLAN' | 'EASING' | 'PROMOTION' | 'HARDENING';
6
6
  /**
7
7
  * Cadena de capas que tocaron cada término, no una capa única: una palanca puede registrarse como
8
8
  * aplicada y quedar pisada después. Va vacío (`{}`) si ninguna política alcanzó la venta.
9
+ *
10
+ * NO es la auditoría completa del cálculo: con una promoción aplicada y cero políticas va vacío
11
+ * igual. Una promoción se audita por `appliedPromotion`, que es su canal propio.
9
12
  */
10
13
  export type PlanTermProvenance = Record<string, PlanTermLayer[]>;
11
14
  /** Palancas que ENDURECEN. Se pliegan con `max` sobre pisos y `min` sobre techos. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.377.0",
3
+ "version": "3.379.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -29,4 +29,17 @@ export interface InfoSelfVerifiedFields {
29
29
  * documental y el estadounidense se captura a mano.
30
30
  */
31
31
  verifyAddressMEX?: boolean;
32
+ /**
33
+ * Fecha de nacimiento. NO TIENE PASO QUE REABRIR — a diferencia de los domicilios, el usuario no
34
+ * puede corregirla solo.
35
+ *
36
+ * `dateOfBirth` es WRITE-ONCE: `PeopleService.setDateOfBirth` sólo escribe si está vacía, así que
37
+ * un documento nuevo con la fecha correcta NO pisa una fecha mal leída por OCR. Y la fecha
38
+ * alimenta `older18`, que es dato regulatorio.
39
+ *
40
+ * Por eso `false` acá DETIENE LA EMISIÓN y abre un ticket de Zendesk: la corrige customer service
41
+ * desde el backoffice. `DATA_CONFIRMATION` queda LOCKED mientras tanto — el usuario no tiene nada
42
+ * que hacer y dejarlo abierto le permitiría re-confirmar el dato malo.
43
+ */
44
+ verifyDateOfBirth?: boolean;
32
45
  }
@@ -30,6 +30,22 @@ export interface AppliedPromotionResponse {
30
30
  appliedEffects: PromotionEffectKindEnum[];
31
31
  }
32
32
 
33
+ /**
34
+ * Cotas con las que se cotizó de verdad, ya pisadas por la promoción y las políticas. NO son las
35
+ * del plan: una promoción puede bajar el enganche mínimo o subir el techo de monto.
36
+ *
37
+ * El wizard dibuja el control del enganche con estas, no con las del plan. Sin ellas el vendedor
38
+ * ve un mínimo que el motor ya no exige, y la palanca de enganche queda inalcanzable.
39
+ */
40
+ export interface EffectiveTermsResponse {
41
+ /** Enganche mínimo exigible, en decimal sobre 1 (`0.10` = 10%). */
42
+ minDownPaymentPct: number;
43
+ /** Tope de enganche, o `null` si el plan no lo acota. */
44
+ maxDownPaymentPct: number | null;
45
+ /** Techo de capital financiable. */
46
+ maxFinancedAmountCents: number;
47
+ }
48
+
33
49
  /**
34
50
  * Resultado del simulador de cuota (POST /private/credit-plans/:planId/simulate,
35
51
  * GET /credit-plans/:planId/simulator). Amortización francesa + IVA 16% + comisión de apertura + CAT.
@@ -68,4 +84,8 @@ export interface SimulationResultResponse {
68
84
  * alcanzó la venta, y ausente si el lambda todavía no lo emite.
69
85
  */
70
86
  provenance?: PlanTermProvenance;
87
+ /**
88
+ * Las cotas efectivas de ESTA cotización. Ausente si el lambda todavía no las emite.
89
+ */
90
+ effectiveTerms?: EffectiveTermsResponse;
71
91
  }
@@ -8,6 +8,9 @@ export type PlanTermLayer = 'PLAN' | 'EASING' | 'PROMOTION' | 'HARDENING';
8
8
  /**
9
9
  * Cadena de capas que tocaron cada término, no una capa única: una palanca puede registrarse como
10
10
  * aplicada y quedar pisada después. Va vacío (`{}`) si ninguna política alcanzó la venta.
11
+ *
12
+ * NO es la auditoría completa del cálculo: con una promoción aplicada y cero políticas va vacío
13
+ * igual. Una promoción se audita por `appliedPromotion`, que es su canal propio.
11
14
  */
12
15
  export type PlanTermProvenance = Record<string, PlanTermLayer[]>;
13
16