Loan product created

Event generated when a loan is created.

Type: object
Domain: lending
Event: loan_product_creation
Version: 1

|
org_id required

Title: The org identifier
Description: This field identifies the organization of the product.
Type: string
Example:
89e56522-726a-453e-ba6d-796b03245128

product_id required

Title: The product identifier
Description: This field identifies the id of the product.
Type: string
Example:
89e56522-726a-453e-ba6d-796b03245128
BNPL_PRODUCT_2022

product_name required

Title: The product name
Description: This field identifies the product name.
Type: string
Example:
Personal loan 2022

product_type required

Title: The product type
Description: This field identifies the type of the product.
Type: string
Example:
PERSONAL
BNPL

version required

Title: The product version
Description: This field identifies the version of the product.
Type: string
Example:
1
2
3

created_at required

Title: The product creation date
Description: This field identifies the creation date of the product.
Type: string
Example:
2022-09-22T19:33:34

status required

Title: The product status
Description: This field identifies the status of the product.
Type: string
Example:
ACTIVE
INACTIVE

currency required

Title: The product currency
Description: Numerical code of the currency based on the pattern ISO 4217.
Type: number
Example:
986

collateral required

Title: The type of collateral
Description: This field identifies the type of colateral on the product.
Type: string
Example:
NONE
SINGLE
COLLATERAL_MULTIPLE

loan_type required

Title: The type of loan
Description: This field identifies the type of loan that this product represents.
Type: string
Example:
FIXED_RATE
FLOATING_RATE
HYBRID

repayment_calculation_method required

Title: The calculation method that the generated loan will use
Description: This field identifies the repayment calculation method of the loan that will be generated with this product.
Type: string
Example:
EI_REDUCING_BALANCE
FLAT_BASIS

repayment_frequency required

Title: The frequency of the repayment
Description: This field identifies the repayment frequency of the product.
Type: object

method required

Title: The method of frequency
Description: This field identifies the method frequency.
Type: string
Example:
DAILY
FORTNIGHTLY
MONTHLY
QUARTERLY
ANNUALLY
WEEKLY

interest_type required

Title: The product interest type
Description: This field identifies the interest type of the product.
Type: string
Example:
SIMPLE
COMPOUND

days_in_year_method required

Title: The product days in year calculation method
Description: This field identifies the days in year calculation method of the product.
Type: string
Example:
ACTUAL_ACTUAL

disbursement required

Title: The disbursement rules for the product
Description: This field identifies the disbursement rules of the product.
Type: object

method required

Title: The method of disbursement
Description: This field identifies the disbursement method.
Type: string
Example:
SINGLE
MULTIPLE

charge_plan_codes

Title: The product charge plans
Type: array
Example:

[
    "TAC1",
    "IOF"
]
rules

Title: The product rules
Description: This field identifies the rules of the product.
Type: object

installment_amount

Title: Simple rule
Type: object

min

Title: Minimum value
Type: number

max

Title: Maximum value
Type: number

installment_number

Title: Simple rule
Type: object

min

Title: Minimum value
Type: number

max

Title: Maximum value
Type: number

interest_rate

Title: Complex rule
Type: object

min required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

max required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

loan_amount

Title: Simple rule
Type: object

min

Title: Minimum value
Type: number

max

Title: Maximum value
Type: number

loan_term

Title: Complex rule
Type: object

min required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

max required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

moratorium_interest_rate

Title: Complex rule
Type: object

min required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

max required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

moratorium_term

Title: Complex rule
Type: object

min required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

max required

Title: Minimum value
Type: object

value required

Title: Value
Type: number

unit required

Title: Rule unit
Type: string
Example:
YEAR
MONTH

early_final_settlement

Title: The early final settlement rules for the product
Type: object

penalty_rate

Title: Penalty rate
Type: number

number_of_periods

Title: Number of periods
Type: number

blackout_period

Title: Blackout period
Type: number

interest_collection

Title: The interest collection strategy
Description: This field identifies the strategy used to collect interest.
Type: string
Must be one of the following:
REPAYMENT
DEDUCTED
Example:
DEDUCTED

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "title": "Loan product created",
    "description": "Event generated when a loan is created.",
    "required": [
        "org_id",
        "product_id",
        "product_name",
        "product_type",
        "version",
        "created_at",
        "status",
        "currency",
        "collateral",
        "loan_type",
        "repayment_calculation_method",
        "repayment_frequency",
        "interest_type",
        "days_in_year_method",
        "disbursement"
    ],
    "properties": {
        "org_id": {
            "$id": "#/properties/org_id",
            "type": "string",
            "title": "The org identifier",
            "description": "This field identifies the organization of the product.",
            "examples": [
                "89e56522-726a-453e-ba6d-796b03245128"
            ]
        },
        "product_id": {
            "$id": "#/properties/product_id",
            "type": "string",
            "title": "The product identifier",
            "description": "This field identifies the id of the product.",
            "examples": [
                "89e56522-726a-453e-ba6d-796b03245128",
                "BNPL_PRODUCT_2022"
            ]
        },
        "product_name": {
            "$id": "#/properties/product_name",
            "type": "string",
            "title": "The product name",
            "description": "This field identifies the product name.",
            "examples": [
                "Personal loan 2022"
            ]
        },
        "product_type": {
            "$id": "#/properties/product_type",
            "type": "string",
            "title": "The product type",
            "description": "This field identifies the type of the product.",
            "examples": [
                "PERSONAL",
                "BNPL"
            ]
        },
        "version": {
            "$id": "#/properties/version",
            "type": "string",
            "title": "The product version",
            "description": "This field identifies the version of the product.",
            "examples": [
                "1",
                "2",
                "3"
            ]
        },
        "created_at": {
            "$id": "#/properties/created_at",
            "type": "string",
            "title": "The product creation date",
            "description": "This field identifies the creation date of the product.",
            "examples": [
                "2022-09-22T19:33:34"
            ]
        },
        "status": {
            "$id": "#/properties/status",
            "type": "string",
            "title": "The product status",
            "description": "This field identifies the status of the product.",
            "examples": [
                "ACTIVE",
                "INACTIVE"
            ]
        },
        "currency": {
            "$id": "#/properties/currency",
            "type": "number",
            "title": "The product currency",
            "description": "Numerical code of the currency based on the pattern ISO 4217.",
            "examples": [
                "986"
            ]
        },
        "collateral": {
            "$id": "#/properties/collateral",
            "type": "string",
            "title": "The type of collateral",
            "description": "This field identifies the type of colateral on the product.",
            "examples": [
                "NONE",
                "SINGLE",
                "COLLATERAL_MULTIPLE"
            ]
        },
        "loan_type": {
            "$id": "#/properties/loan_type",
            "type": "string",
            "title": "The type of loan",
            "description": "This field identifies the type of loan that this product represents.",
            "examples": [
                "FIXED_RATE",
                "FLOATING_RATE",
                "HYBRID"
            ]
        },
        "repayment_calculation_method": {
            "$id": "#/properties/repayment_calculation_method",
            "type": "string",
            "title": "The calculation method that the generated loan will use",
            "description": "This field identifies the repayment calculation method of the loan that will be generated with this product.",
            "examples": [
                "EI_REDUCING_BALANCE",
                "FLAT_BASIS"
            ]
        },
        "repayment_frequency": {
            "$id": "#/properties/repayment_frequency",
            "type": "object",
            "title": "The frequency of the repayment",
            "description": "This field identifies the repayment frequency of the product.",
            "required": [
                "method"
            ],
            "properties": {
                "method": {
                    "$id": "#/properties/frequencyMethod",
                    "type": "string",
                    "title": "The method of frequency",
                    "description": "This field identifies the method frequency.",
                    "examples": [
                        "DAILY",
                        "FORTNIGHTLY",
                        "MONTHLY",
                        "QUARTERLY",
                        "ANNUALLY",
                        "WEEKLY"
                    ]
                }
            }
        },
        "interest_type": {
            "$id": "#/properties/interest_type",
            "type": "string",
            "title": "The product interest type",
            "description": "This field identifies the interest type of the product.",
            "examples": [
                "SIMPLE",
                "COMPOUND"
            ]
        },
        "days_in_year_method": {
            "$id": "#/properties/days_in_year_method",
            "type": "string",
            "title": "The product days in year calculation method",
            "description": "This field identifies the days in year calculation method of the product.",
            "examples": [
                "ACTUAL_ACTUAL"
            ]
        },
        "disbursement": {
            "$id": "#/properties/disbursement",
            "type": "object",
            "title": "The disbursement rules for the product",
            "description": "This field identifies the disbursement rules of the product.",
            "required": [
                "method"
            ],
            "properties": {
                "method": {
                    "$id": "#/properties/disbursementMethod",
                    "type": "string",
                    "title": "The method of disbursement",
                    "description": "This field identifies the disbursement method.",
                    "examples": [
                        "SINGLE",
                        "MULTIPLE"
                    ]
                }
            }
        },
        "charge_plan_codes": {
            "$id": "#/properties/charge_plan_codes",
            "type": "array",
            "title": "The product charge plans",
            "description": "This field identifies the charge plans of the product.",
            "items": {
                "type": "string",
                "title": "Plans",
                "examples": [
                    "TAC1",
                    "IOF"
                ]
            }
        },
        "rules": {
            "$id": "#/properties/rules",
            "type": "object",
            "title": "The product rules",
            "description": "This field identifies the rules of the product.",
            "properties": {
                "installment_amount": {
                    "$ref": "#/$defs/simpleRule"
                },
                "installment_number": {
                    "$ref": "#/$defs/simpleRule"
                },
                "interest_rate": {
                    "$ref": "#/$defs/complexRule"
                },
                "loan_amount": {
                    "$ref": "#/$defs/simpleRule"
                },
                "loan_term": {
                    "$ref": "#/$defs/complexRule"
                },
                "moratorium_interest_rate": {
                    "$ref": "#/$defs/complexRule"
                },
                "moratorium_term": {
                    "$ref": "#/$defs/complexRule"
                }
            }
        },
        "early_final_settlement": {
            "$id": "#/properties/early_final_settlement",
            "type": "object",
            "title": "The early final settlement rules for the product",
            "properties": {
                "penalty_rate": {
                    "type": "number",
                    "title": "Penalty rate",
                    "default": 0
                },
                "number_of_periods": {
                    "type": "number",
                    "title": "Number of periods",
                    "default": 0
                },
                "blackout_period": {
                    "type": "number",
                    "title": "Blackout period",
                    "default": 0
                }
            }
        },
        "interest_collection": {
            "$id": "#/properties/interest_collection",
            "type": "string",
            "title": "The interest collection strategy",
            "description": "This field identifies the strategy used to collect interest.",
            "default": "REPAYMENT",
            "enum": [
                "REPAYMENT",
                "DEDUCTED"
            ],
            "examples": [
                "DEDUCTED"
            ]
        }
    },
    "$defs": {
        "simpleRule": {
            "type": "object",
            "title": "Simple rule",
            "properties": {
                "min": {
                    "$id": "#/properties/min",
                    "type": "number",
                    "title": "Minimum value"
                },
                "max": {
                    "$id": "#/properties/max",
                    "type": "number",
                    "title": "Maximum value"
                }
            }
        },
        "complexRule": {
            "type": "object",
            "title": "Complex rule",
            "properties": {
                "min": {
                    "$id": "#/properties/complexMin",
                    "type": "object",
                    "title": "Minimum value",
                    "required": [
                        "value",
                        "unit"
                    ],
                    "properties": {
                        "value": {
                            "$id": "#/properties/value",
                            "type": "number",
                            "title": "Value"
                        },
                        "unit": {
                            "$id": "#/properties/minUnit",
                            "type": "string",
                            "title": "Rule unit",
                            "examples": [
                                "YEAR",
                                "MONTH"
                            ]
                        }
                    }
                },
                "max": {
                    "$id": "#/properties/complexMax",
                    "type": "object",
                    "title": "Minimum value",
                    "required": [
                        "value",
                        "unit"
                    ],
                    "properties": {
                        "value": {
                            "$id": "#/properties/maxValue",
                            "type": "number",
                            "title": "Value"
                        },
                        "unit": {
                            "$id": "#/properties/maxUnit",
                            "type": "string",
                            "title": "Rule unit",
                            "examples": [
                                "YEAR",
                                "MONTH"
                            ]
                        }
                    }
                }
            }
        }
    }
}