@fiado/type-kit 3.465.0 → 3.467.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.
- package/bin/credit/dtos/BannerStateResponse.d.ts +6 -0
- package/bin/credit/dtos/CreditOfferOptionItem.d.ts +6 -0
- package/bin/creditEngine/dtos/AnticipatedPaymentQuote.d.ts +7 -0
- package/bin/creditEngine/dtos/CreditDetailResponse.d.ts +13 -0
- package/bin/creditEngine/dtos/FxQuote.d.ts +33 -0
- package/bin/creditEngine/dtos/FxQuote.js +22 -0
- package/bin/creditEngine/dtos/OfferResult.d.ts +3 -0
- package/bin/creditEngine/dtos/PaymentScheduleItemResponse.d.ts +4 -0
- package/bin/creditEngine/dtos/SettlementQuote.d.ts +3 -0
- package/bin/creditEngine/index.d.ts +1 -0
- package/bin/creditEngine/index.js +1 -0
- package/bin/remittance/enums/RemittanceCorridor.d.ts +6 -5
- package/bin/remittance/enums/RemittanceCorridor.js +6 -4
- package/package.json +1 -1
- package/src/credit/dtos/BannerStateResponse.ts +6 -0
- package/src/credit/dtos/CreditOfferOptionItem.ts +6 -0
- package/src/creditEngine/dtos/AnticipatedPaymentQuote.ts +9 -0
- package/src/creditEngine/dtos/CreditDetailResponse.ts +13 -0
- package/src/creditEngine/dtos/FxQuote.ts +34 -0
- package/src/creditEngine/dtos/OfferResult.ts +4 -0
- package/src/creditEngine/dtos/PaymentScheduleItemResponse.ts +4 -0
- package/src/creditEngine/dtos/SettlementQuote.ts +4 -0
- package/src/creditEngine/index.ts +1 -0
- package/src/remittance/enums/RemittanceCorridor.ts +6 -4
|
@@ -24,13 +24,19 @@ export declare class BannerStateResponse {
|
|
|
24
24
|
credit_id?: string | null;
|
|
25
25
|
/** Pago del proximo cupon pendiente. */
|
|
26
26
|
next_payment_amount_mxn?: number | null;
|
|
27
|
+
/** USD real que cobrará el collector por next_payment_amount_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
28
|
+
next_payment_amount_usd_charge?: number;
|
|
27
29
|
next_payment_date?: string | null;
|
|
28
30
|
next_coupon_number?: number | null;
|
|
29
31
|
/** Montos de cupones vencidos (solo DELINQUENT). */
|
|
30
32
|
overdue_amount_mxn?: number | null;
|
|
33
|
+
/** USD real que cobrará el collector por overdue_amount_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
34
|
+
overdue_amount_usd_charge?: number;
|
|
31
35
|
overdue_count?: number | null;
|
|
32
36
|
/** Saldo insoluto del credito activo. */
|
|
33
37
|
outstanding_balance_mxn?: number | null;
|
|
38
|
+
/** USD real que cobrará el collector por outstanding_balance_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
39
|
+
outstanding_balance_usd_charge?: number;
|
|
34
40
|
/**
|
|
35
41
|
* Cantidad total de creditos que el directoryId ha tenido en Credits_GT
|
|
36
42
|
* (incluye ACTIVE, PAID_OFF, DEFAULTED — todos los estados historicos).
|
|
@@ -5,7 +5,11 @@ export declare class CreditOfferOptionItem {
|
|
|
5
5
|
term_weeks: number;
|
|
6
6
|
annual_rate: number;
|
|
7
7
|
weekly_payment_mxn: number;
|
|
8
|
+
/** USD real que cobrará el collector por weekly_payment_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
9
|
+
weekly_payment_usd_charge?: number;
|
|
8
10
|
total_to_pay_mxn: number;
|
|
11
|
+
/** USD real que cobrará el collector por total_to_pay_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
12
|
+
total_to_pay_usd_charge?: number;
|
|
9
13
|
total_interest_mxn: number;
|
|
10
14
|
savings_vs_longest: number;
|
|
11
15
|
is_recommended: boolean;
|
|
@@ -17,6 +21,8 @@ export declare class CreditOfferOptionItem {
|
|
|
17
21
|
first_payment_date?: string;
|
|
18
22
|
/** Monto solicitado por el cliente (lo que recibe). */
|
|
19
23
|
requested_amount_mxn?: number;
|
|
24
|
+
/** USD real que cobrará el collector por requested_amount_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
25
|
+
requested_amount_usd_charge?: number;
|
|
20
26
|
/** Principal financiado (amount + fee + fee_iva si financed). */
|
|
21
27
|
financed_amount_mxn?: number;
|
|
22
28
|
/** Comision por apertura como fraccion (ej. 0.05 = 5%). */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PaymentScheduleItemResponse } from "./PaymentScheduleItemResponse";
|
|
2
|
+
import { FxQuote } from "./FxQuote";
|
|
2
3
|
/**
|
|
3
4
|
* Preview / cotizacion de un abono a capital (ANTICIPATED) antes de ejecutarlo.
|
|
4
5
|
*
|
|
@@ -13,6 +14,8 @@ export declare class AnticipatedPaymentQuote {
|
|
|
13
14
|
creditId: string;
|
|
14
15
|
/** Monto que el usuario propuso, capeado al outstanding real del credito. */
|
|
15
16
|
amountMxn: number;
|
|
17
|
+
/** USD real que cobrará el collector por amountMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
18
|
+
amountUsdCharge?: number;
|
|
16
19
|
/** Estado actual (as-is) del credito, antes de aplicar el abono. */
|
|
17
20
|
current: AnticipatedPaymentSummary;
|
|
18
21
|
/** Estado proyectado (as-if) despues de aplicar el abono. */
|
|
@@ -28,10 +31,14 @@ export declare class AnticipatedPaymentQuote {
|
|
|
28
31
|
newSchedule: PaymentScheduleItemResponse[];
|
|
29
32
|
/** ISO timestamp de la cotizacion. */
|
|
30
33
|
quoteDate: string;
|
|
34
|
+
/** Cotizacion FX usada para los campos `*UsdCharge` (incluye los de `newSchedule`). Ausente si el collector no estuvo disponible. */
|
|
35
|
+
fxQuote?: FxQuote;
|
|
31
36
|
}
|
|
32
37
|
export declare class AnticipatedPaymentSummary {
|
|
33
38
|
/** Cuota semanal vigente. */
|
|
34
39
|
weeklyPaymentMxn: number;
|
|
40
|
+
/** USD real que cobrará el collector por weeklyPaymentMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
41
|
+
weeklyPaymentUsdCharge?: number;
|
|
35
42
|
/** Saldo insoluto (capital pendiente). */
|
|
36
43
|
outstandingMxn: number;
|
|
37
44
|
/** Cupones que aun no estan PAID (incluye PARTIAL). */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FxQuote } from "./FxQuote";
|
|
1
2
|
/**
|
|
2
3
|
* Response con el detalle completo de un credito LOAN.
|
|
3
4
|
*/
|
|
@@ -9,11 +10,15 @@ export declare class CreditDetailResponse {
|
|
|
9
10
|
termWeeks?: number;
|
|
10
11
|
annualRate?: number;
|
|
11
12
|
weeklyPaymentMxn?: number;
|
|
13
|
+
/** USD real que cobrará el collector por weeklyPaymentMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
14
|
+
weeklyPaymentUsdCharge?: number;
|
|
12
15
|
status?: string;
|
|
13
16
|
nextPaymentDate?: string;
|
|
14
17
|
paidCoupons?: number;
|
|
15
18
|
totalCoupons?: number;
|
|
16
19
|
remainingBalanceMxn?: number;
|
|
20
|
+
/** USD real que cobrará el collector por remainingBalanceMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
21
|
+
remainingBalanceUsdCharge?: number;
|
|
17
22
|
cat?: number | null;
|
|
18
23
|
totalInterestMxn?: number;
|
|
19
24
|
totalIvaMxn?: number;
|
|
@@ -24,8 +29,16 @@ export declare class CreditDetailResponse {
|
|
|
24
29
|
firstPaymentDate?: string | null;
|
|
25
30
|
lastPaymentDate?: string | null;
|
|
26
31
|
nextPaymentAmountMxn?: number | null;
|
|
32
|
+
/** USD real que cobrará el collector por nextPaymentAmountMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
33
|
+
nextPaymentAmountUsdCharge?: number;
|
|
27
34
|
nextCouponNumber?: number | null;
|
|
28
35
|
totalPaidMxn?: number;
|
|
36
|
+
/** USD real que cobrará el collector por totalPaidMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
37
|
+
totalPaidUsdCharge?: number;
|
|
29
38
|
overdueCount?: number;
|
|
30
39
|
overdueAmountMxn?: number;
|
|
40
|
+
/** USD real que cobrará el collector por overdueAmountMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
41
|
+
overdueAmountUsdCharge?: number;
|
|
42
|
+
/** Cotizacion FX usada para los campos `*UsdCharge`. Ausente si el collector no estuvo disponible. */
|
|
43
|
+
fxQuote?: FxQuote;
|
|
31
44
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipo de cambio y factor que el collector aplicara al cobro en USD.
|
|
3
|
+
*
|
|
4
|
+
* Es la cotizacion vigente al momento de armar la respuesta: con ella el
|
|
5
|
+
* collector convierte cada monto MXN al USD real que descuenta del pocket
|
|
6
|
+
* (comision + IVA + TC ajustado). Viaja junto a los campos `<x>UsdCharge`
|
|
7
|
+
* para que el frontend pueda explicar el numero, no para recalcularlo.
|
|
8
|
+
* Ausente si el collector no estuvo disponible.
|
|
9
|
+
*/
|
|
10
|
+
export declare class FxQuote {
|
|
11
|
+
/** TC MXN por USD publicado, sin ajuste. */
|
|
12
|
+
exchangeRate: number;
|
|
13
|
+
/** TC MXN por USD ajustado con el colchon del collector; es el divisor real del cobro. */
|
|
14
|
+
adjustmentRate: number;
|
|
15
|
+
/** Factor multiplicativo sobre el MXN nocional (comision + IVA). */
|
|
16
|
+
totalFactor: number;
|
|
17
|
+
/** Momento de la cotizacion, ISO 8601. */
|
|
18
|
+
quotedAt: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gemelo snake_case de `FxQuote` para los DTOs contenedores que ya son
|
|
22
|
+
* snake_case (`SettlementQuote`, `OfferResult`). Misma semantica campo a campo.
|
|
23
|
+
*/
|
|
24
|
+
export declare class FxQuoteSnake {
|
|
25
|
+
/** TC MXN por USD publicado, sin ajuste. */
|
|
26
|
+
exchange_rate: number;
|
|
27
|
+
/** TC MXN por USD ajustado con el colchon del collector; es el divisor real del cobro. */
|
|
28
|
+
adjustment_rate: number;
|
|
29
|
+
/** Factor multiplicativo sobre el MXN nocional (comision + IVA). */
|
|
30
|
+
total_factor: number;
|
|
31
|
+
/** Momento de la cotizacion, ISO 8601. */
|
|
32
|
+
quoted_at: string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FxQuoteSnake = exports.FxQuote = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tipo de cambio y factor que el collector aplicara al cobro en USD.
|
|
6
|
+
*
|
|
7
|
+
* Es la cotizacion vigente al momento de armar la respuesta: con ella el
|
|
8
|
+
* collector convierte cada monto MXN al USD real que descuenta del pocket
|
|
9
|
+
* (comision + IVA + TC ajustado). Viaja junto a los campos `<x>UsdCharge`
|
|
10
|
+
* para que el frontend pueda explicar el numero, no para recalcularlo.
|
|
11
|
+
* Ausente si el collector no estuvo disponible.
|
|
12
|
+
*/
|
|
13
|
+
class FxQuote {
|
|
14
|
+
}
|
|
15
|
+
exports.FxQuote = FxQuote;
|
|
16
|
+
/**
|
|
17
|
+
* Gemelo snake_case de `FxQuote` para los DTOs contenedores que ya son
|
|
18
|
+
* snake_case (`SettlementQuote`, `OfferResult`). Misma semantica campo a campo.
|
|
19
|
+
*/
|
|
20
|
+
class FxQuoteSnake {
|
|
21
|
+
}
|
|
22
|
+
exports.FxQuoteSnake = FxQuoteSnake;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FxQuoteSnake } from "./FxQuote";
|
|
1
2
|
/**
|
|
2
3
|
* Respuesta del endpoint de generación de oferta: lista de tasas disponibles
|
|
3
4
|
* para el usuario, plus los parámetros de la comisión por apertura.
|
|
@@ -18,4 +19,6 @@ export declare class OfferResult {
|
|
|
18
19
|
opening_fee_pct?: number;
|
|
19
20
|
/** True si la comisión se financia (se suma al principal y se amortiza); false si se cobra al desembolso. */
|
|
20
21
|
opening_fee_financed?: boolean;
|
|
22
|
+
/** Cotizacion FX vigente al generar la oferta, para los `*_usd_charge` que el frontend proyecte sobre ella. Ausente si el collector no estuvo disponible. */
|
|
23
|
+
fx_quote?: FxQuoteSnake;
|
|
21
24
|
}
|
|
@@ -8,6 +8,10 @@ export declare class PaymentScheduleItemResponse {
|
|
|
8
8
|
interestMxn?: number;
|
|
9
9
|
ivaMxn?: number;
|
|
10
10
|
totalMxn?: number;
|
|
11
|
+
/** USD real que cobrará el collector por totalMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
12
|
+
totalUsdCharge?: number;
|
|
13
|
+
/** True si totalUsdCharge queda por debajo del minimo cobrable del collector. Solo viene cuando aplica. */
|
|
14
|
+
totalBelowMinimum?: boolean;
|
|
11
15
|
status?: string;
|
|
12
16
|
paidAmountMxn: number;
|
|
13
17
|
remainingBalanceMxn?: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FxQuoteSnake } from "./FxQuote";
|
|
1
2
|
/**
|
|
2
3
|
* Cotizacion para liquidacion anticipada de un credito.
|
|
3
4
|
*
|
|
@@ -22,4 +23,6 @@ export declare class SettlementQuote {
|
|
|
22
23
|
* omite el campo y la UI debe caer a "solo MXN".
|
|
23
24
|
*/
|
|
24
25
|
total_settlement_usd_charge?: number;
|
|
26
|
+
/** Cotizacion FX usada para `total_settlement_usd_charge`. Ausente si el collector no estuvo disponible. */
|
|
27
|
+
fx_quote?: FxQuoteSnake;
|
|
25
28
|
}
|
|
@@ -33,3 +33,4 @@ __exportStar(require("./dtos/EarlyPaymentResult"), exports);
|
|
|
33
33
|
__exportStar(require("./dtos/OfferResult"), exports);
|
|
34
34
|
__exportStar(require("./dtos/SettlementQuote"), exports);
|
|
35
35
|
__exportStar(require("./dtos/AnticipatedPaymentQuote"), exports);
|
|
36
|
+
__exportStar(require("./dtos/FxQuote"), exports);
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Corredores de remesa soportados (Dashboard Ops · Variables Operativas).
|
|
3
3
|
*
|
|
4
|
-
* D-PB-3: nomenclatura por MONEDA ISO-4217 (`USD-<destino>`). `USD_SVC`
|
|
5
|
-
*
|
|
6
|
-
* como "USD-USD"
|
|
7
|
-
* transacciones usa countryISO (no ambiguo).
|
|
4
|
+
* D-PB-3: nomenclatura por MONEDA ISO-4217 (`USD-<destino>`). `USD_SVC` (El Salvador)
|
|
5
|
+
* y `USD_NIC` (Nicaragua) son símbolos: su payout real es USD y usar la moneda
|
|
6
|
+
* colisionaría como "USD-USD". Por eso el destino real vive en CORRIDOR_INFO y el
|
|
7
|
+
* filtro de transacciones usa countryISO (no ambiguo).
|
|
8
8
|
*/
|
|
9
9
|
export declare enum RemittanceCorridor {
|
|
10
10
|
USD_GTQ = "USD-GTQ",
|
|
11
11
|
USD_MXN = "USD-MXN",
|
|
12
12
|
USD_HNL = "USD-HNL",
|
|
13
|
-
USD_SVC = "USD-SVC"
|
|
13
|
+
USD_SVC = "USD-SVC",
|
|
14
|
+
USD_NIC = "USD-NIC"
|
|
14
15
|
}
|
|
15
16
|
/** Destino real del corredor. El filtro de tx usa countryISO; currencyISO es el payout. */
|
|
16
17
|
export declare const CORRIDOR_INFO: Record<RemittanceCorridor, {
|
|
@@ -4,10 +4,10 @@ exports.CORRIDOR_INFO = exports.RemittanceCorridor = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Corredores de remesa soportados (Dashboard Ops · Variables Operativas).
|
|
6
6
|
*
|
|
7
|
-
* D-PB-3: nomenclatura por MONEDA ISO-4217 (`USD-<destino>`). `USD_SVC`
|
|
8
|
-
*
|
|
9
|
-
* como "USD-USD"
|
|
10
|
-
* transacciones usa countryISO (no ambiguo).
|
|
7
|
+
* D-PB-3: nomenclatura por MONEDA ISO-4217 (`USD-<destino>`). `USD_SVC` (El Salvador)
|
|
8
|
+
* y `USD_NIC` (Nicaragua) son símbolos: su payout real es USD y usar la moneda
|
|
9
|
+
* colisionaría como "USD-USD". Por eso el destino real vive en CORRIDOR_INFO y el
|
|
10
|
+
* filtro de transacciones usa countryISO (no ambiguo).
|
|
11
11
|
*/
|
|
12
12
|
var RemittanceCorridor;
|
|
13
13
|
(function (RemittanceCorridor) {
|
|
@@ -15,6 +15,7 @@ var RemittanceCorridor;
|
|
|
15
15
|
RemittanceCorridor["USD_MXN"] = "USD-MXN";
|
|
16
16
|
RemittanceCorridor["USD_HNL"] = "USD-HNL";
|
|
17
17
|
RemittanceCorridor["USD_SVC"] = "USD-SVC";
|
|
18
|
+
RemittanceCorridor["USD_NIC"] = "USD-NIC";
|
|
18
19
|
})(RemittanceCorridor || (exports.RemittanceCorridor = RemittanceCorridor = {}));
|
|
19
20
|
/** Destino real del corredor. El filtro de tx usa countryISO; currencyISO es el payout. */
|
|
20
21
|
exports.CORRIDOR_INFO = {
|
|
@@ -22,4 +23,5 @@ exports.CORRIDOR_INFO = {
|
|
|
22
23
|
[RemittanceCorridor.USD_MXN]: { countryISO: "MX", currencyISO: "MXN" },
|
|
23
24
|
[RemittanceCorridor.USD_HNL]: { countryISO: "HN", currencyISO: "HNL" },
|
|
24
25
|
[RemittanceCorridor.USD_SVC]: { countryISO: "SV", currencyISO: "USD" },
|
|
26
|
+
[RemittanceCorridor.USD_NIC]: { countryISO: "NI", currencyISO: "USD" },
|
|
25
27
|
};
|
package/package.json
CHANGED
|
@@ -25,13 +25,19 @@ export class BannerStateResponse {
|
|
|
25
25
|
credit_id?: string | null;
|
|
26
26
|
/** Pago del proximo cupon pendiente. */
|
|
27
27
|
next_payment_amount_mxn?: number | null;
|
|
28
|
+
/** USD real que cobrará el collector por next_payment_amount_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
29
|
+
next_payment_amount_usd_charge?: number;
|
|
28
30
|
next_payment_date?: string | null;
|
|
29
31
|
next_coupon_number?: number | null;
|
|
30
32
|
/** Montos de cupones vencidos (solo DELINQUENT). */
|
|
31
33
|
overdue_amount_mxn?: number | null;
|
|
34
|
+
/** USD real que cobrará el collector por overdue_amount_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
35
|
+
overdue_amount_usd_charge?: number;
|
|
32
36
|
overdue_count?: number | null;
|
|
33
37
|
/** Saldo insoluto del credito activo. */
|
|
34
38
|
outstanding_balance_mxn?: number | null;
|
|
39
|
+
/** USD real que cobrará el collector por outstanding_balance_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
40
|
+
outstanding_balance_usd_charge?: number;
|
|
35
41
|
/**
|
|
36
42
|
* Cantidad total de creditos que el directoryId ha tenido en Credits_GT
|
|
37
43
|
* (incluye ACTIVE, PAID_OFF, DEFAULTED — todos los estados historicos).
|
|
@@ -5,7 +5,11 @@ export class CreditOfferOptionItem {
|
|
|
5
5
|
term_weeks: number;
|
|
6
6
|
annual_rate: number;
|
|
7
7
|
weekly_payment_mxn: number;
|
|
8
|
+
/** USD real que cobrará el collector por weekly_payment_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
9
|
+
weekly_payment_usd_charge?: number;
|
|
8
10
|
total_to_pay_mxn: number;
|
|
11
|
+
/** USD real que cobrará el collector por total_to_pay_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
12
|
+
total_to_pay_usd_charge?: number;
|
|
9
13
|
total_interest_mxn: number;
|
|
10
14
|
savings_vs_longest: number;
|
|
11
15
|
is_recommended: boolean;
|
|
@@ -17,6 +21,8 @@ export class CreditOfferOptionItem {
|
|
|
17
21
|
first_payment_date?: string;
|
|
18
22
|
/** Monto solicitado por el cliente (lo que recibe). */
|
|
19
23
|
requested_amount_mxn?: number;
|
|
24
|
+
/** USD real que cobrará el collector por requested_amount_mxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
25
|
+
requested_amount_usd_charge?: number;
|
|
20
26
|
/** Principal financiado (amount + fee + fee_iva si financed). */
|
|
21
27
|
financed_amount_mxn?: number;
|
|
22
28
|
/** Comision por apertura como fraccion (ej. 0.05 = 5%). */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PaymentScheduleItemResponse } from "./PaymentScheduleItemResponse";
|
|
2
|
+
import { FxQuote } from "./FxQuote";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Preview / cotizacion de un abono a capital (ANTICIPATED) antes de ejecutarlo.
|
|
@@ -16,6 +17,9 @@ export class AnticipatedPaymentQuote {
|
|
|
16
17
|
/** Monto que el usuario propuso, capeado al outstanding real del credito. */
|
|
17
18
|
amountMxn!: number;
|
|
18
19
|
|
|
20
|
+
/** USD real que cobrará el collector por amountMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
21
|
+
amountUsdCharge?: number;
|
|
22
|
+
|
|
19
23
|
/** Estado actual (as-is) del credito, antes de aplicar el abono. */
|
|
20
24
|
current!: AnticipatedPaymentSummary;
|
|
21
25
|
|
|
@@ -35,11 +39,16 @@ export class AnticipatedPaymentQuote {
|
|
|
35
39
|
|
|
36
40
|
/** ISO timestamp de la cotizacion. */
|
|
37
41
|
quoteDate!: string;
|
|
42
|
+
|
|
43
|
+
/** Cotizacion FX usada para los campos `*UsdCharge` (incluye los de `newSchedule`). Ausente si el collector no estuvo disponible. */
|
|
44
|
+
fxQuote?: FxQuote;
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
export class AnticipatedPaymentSummary {
|
|
41
48
|
/** Cuota semanal vigente. */
|
|
42
49
|
weeklyPaymentMxn!: number;
|
|
50
|
+
/** USD real que cobrará el collector por weeklyPaymentMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
51
|
+
weeklyPaymentUsdCharge?: number;
|
|
43
52
|
/** Saldo insoluto (capital pendiente). */
|
|
44
53
|
outstandingMxn!: number;
|
|
45
54
|
/** Cupones que aun no estan PAID (incluye PARTIAL). */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FxQuote } from "./FxQuote";
|
|
1
2
|
|
|
2
3
|
/**
|
|
3
4
|
* Response con el detalle completo de un credito LOAN.
|
|
@@ -10,11 +11,15 @@ export class CreditDetailResponse {
|
|
|
10
11
|
termWeeks?: number;
|
|
11
12
|
annualRate?: number;
|
|
12
13
|
weeklyPaymentMxn?: number;
|
|
14
|
+
/** USD real que cobrará el collector por weeklyPaymentMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
15
|
+
weeklyPaymentUsdCharge?: number;
|
|
13
16
|
status?: string;
|
|
14
17
|
nextPaymentDate?: string;
|
|
15
18
|
paidCoupons?: number;
|
|
16
19
|
totalCoupons?: number;
|
|
17
20
|
remainingBalanceMxn?: number;
|
|
21
|
+
/** USD real que cobrará el collector por remainingBalanceMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
22
|
+
remainingBalanceUsdCharge?: number;
|
|
18
23
|
cat?: number | null;
|
|
19
24
|
totalInterestMxn?: number;
|
|
20
25
|
totalIvaMxn?: number;
|
|
@@ -25,8 +30,16 @@ export class CreditDetailResponse {
|
|
|
25
30
|
firstPaymentDate?: string | null;
|
|
26
31
|
lastPaymentDate?: string | null;
|
|
27
32
|
nextPaymentAmountMxn?: number | null;
|
|
33
|
+
/** USD real que cobrará el collector por nextPaymentAmountMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
34
|
+
nextPaymentAmountUsdCharge?: number;
|
|
28
35
|
nextCouponNumber?: number | null;
|
|
29
36
|
totalPaidMxn?: number;
|
|
37
|
+
/** USD real que cobrará el collector por totalPaidMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
38
|
+
totalPaidUsdCharge?: number;
|
|
30
39
|
overdueCount?: number;
|
|
31
40
|
overdueAmountMxn?: number;
|
|
41
|
+
/** USD real que cobrará el collector por overdueAmountMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
42
|
+
overdueAmountUsdCharge?: number;
|
|
43
|
+
/** Cotizacion FX usada para los campos `*UsdCharge`. Ausente si el collector no estuvo disponible. */
|
|
44
|
+
fxQuote?: FxQuote;
|
|
32
45
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipo de cambio y factor que el collector aplicara al cobro en USD.
|
|
3
|
+
*
|
|
4
|
+
* Es la cotizacion vigente al momento de armar la respuesta: con ella el
|
|
5
|
+
* collector convierte cada monto MXN al USD real que descuenta del pocket
|
|
6
|
+
* (comision + IVA + TC ajustado). Viaja junto a los campos `<x>UsdCharge`
|
|
7
|
+
* para que el frontend pueda explicar el numero, no para recalcularlo.
|
|
8
|
+
* Ausente si el collector no estuvo disponible.
|
|
9
|
+
*/
|
|
10
|
+
export class FxQuote {
|
|
11
|
+
/** TC MXN por USD publicado, sin ajuste. */
|
|
12
|
+
exchangeRate!: number;
|
|
13
|
+
/** TC MXN por USD ajustado con el colchon del collector; es el divisor real del cobro. */
|
|
14
|
+
adjustmentRate!: number;
|
|
15
|
+
/** Factor multiplicativo sobre el MXN nocional (comision + IVA). */
|
|
16
|
+
totalFactor!: number;
|
|
17
|
+
/** Momento de la cotizacion, ISO 8601. */
|
|
18
|
+
quotedAt!: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Gemelo snake_case de `FxQuote` para los DTOs contenedores que ya son
|
|
23
|
+
* snake_case (`SettlementQuote`, `OfferResult`). Misma semantica campo a campo.
|
|
24
|
+
*/
|
|
25
|
+
export class FxQuoteSnake {
|
|
26
|
+
/** TC MXN por USD publicado, sin ajuste. */
|
|
27
|
+
exchange_rate!: number;
|
|
28
|
+
/** TC MXN por USD ajustado con el colchon del collector; es el divisor real del cobro. */
|
|
29
|
+
adjustment_rate!: number;
|
|
30
|
+
/** Factor multiplicativo sobre el MXN nocional (comision + IVA). */
|
|
31
|
+
total_factor!: number;
|
|
32
|
+
/** Momento de la cotizacion, ISO 8601. */
|
|
33
|
+
quoted_at!: string;
|
|
34
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { FxQuoteSnake } from "./FxQuote";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Respuesta del endpoint de generación de oferta: lista de tasas disponibles
|
|
3
5
|
* para el usuario, plus los parámetros de la comisión por apertura.
|
|
@@ -19,4 +21,6 @@ export class OfferResult {
|
|
|
19
21
|
opening_fee_pct?: number;
|
|
20
22
|
/** True si la comisión se financia (se suma al principal y se amortiza); false si se cobra al desembolso. */
|
|
21
23
|
opening_fee_financed?: boolean;
|
|
24
|
+
/** Cotizacion FX vigente al generar la oferta, para los `*_usd_charge` que el frontend proyecte sobre ella. Ausente si el collector no estuvo disponible. */
|
|
25
|
+
fx_quote?: FxQuoteSnake;
|
|
22
26
|
}
|
|
@@ -9,6 +9,10 @@ export class PaymentScheduleItemResponse {
|
|
|
9
9
|
interestMxn?: number;
|
|
10
10
|
ivaMxn?: number;
|
|
11
11
|
totalMxn?: number;
|
|
12
|
+
/** USD real que cobrará el collector por totalMxn (comisión + IVA + TC ajustado). Ausente si el collector no estuvo disponible. */
|
|
13
|
+
totalUsdCharge?: number;
|
|
14
|
+
/** True si totalUsdCharge queda por debajo del minimo cobrable del collector. Solo viene cuando aplica. */
|
|
15
|
+
totalBelowMinimum?: boolean;
|
|
12
16
|
status?: string;
|
|
13
17
|
paidAmountMxn!: number;
|
|
14
18
|
remainingBalanceMxn?: number;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { FxQuoteSnake } from "./FxQuote";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Cotizacion para liquidacion anticipada de un credito.
|
|
3
5
|
*
|
|
@@ -22,4 +24,6 @@ export class SettlementQuote {
|
|
|
22
24
|
* omite el campo y la UI debe caer a "solo MXN".
|
|
23
25
|
*/
|
|
24
26
|
total_settlement_usd_charge?: number;
|
|
27
|
+
/** Cotizacion FX usada para `total_settlement_usd_charge`. Ausente si el collector no estuvo disponible. */
|
|
28
|
+
fx_quote?: FxQuoteSnake;
|
|
25
29
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Corredores de remesa soportados (Dashboard Ops · Variables Operativas).
|
|
3
3
|
*
|
|
4
|
-
* D-PB-3: nomenclatura por MONEDA ISO-4217 (`USD-<destino>`). `USD_SVC`
|
|
5
|
-
*
|
|
6
|
-
* como "USD-USD"
|
|
7
|
-
* transacciones usa countryISO (no ambiguo).
|
|
4
|
+
* D-PB-3: nomenclatura por MONEDA ISO-4217 (`USD-<destino>`). `USD_SVC` (El Salvador)
|
|
5
|
+
* y `USD_NIC` (Nicaragua) son símbolos: su payout real es USD y usar la moneda
|
|
6
|
+
* colisionaría como "USD-USD". Por eso el destino real vive en CORRIDOR_INFO y el
|
|
7
|
+
* filtro de transacciones usa countryISO (no ambiguo).
|
|
8
8
|
*/
|
|
9
9
|
export enum RemittanceCorridor {
|
|
10
10
|
USD_GTQ = "USD-GTQ",
|
|
11
11
|
USD_MXN = "USD-MXN",
|
|
12
12
|
USD_HNL = "USD-HNL",
|
|
13
13
|
USD_SVC = "USD-SVC",
|
|
14
|
+
USD_NIC = "USD-NIC",
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
/** Destino real del corredor. El filtro de tx usa countryISO; currencyISO es el payout. */
|
|
@@ -19,4 +20,5 @@ export const CORRIDOR_INFO: Record<RemittanceCorridor, { countryISO: string; cur
|
|
|
19
20
|
[RemittanceCorridor.USD_MXN]: { countryISO: "MX", currencyISO: "MXN" },
|
|
20
21
|
[RemittanceCorridor.USD_HNL]: { countryISO: "HN", currencyISO: "HNL" },
|
|
21
22
|
[RemittanceCorridor.USD_SVC]: { countryISO: "SV", currencyISO: "USD" },
|
|
23
|
+
[RemittanceCorridor.USD_NIC]: { countryISO: "NI", currencyISO: "USD" },
|
|
22
24
|
};
|