Published on : June 01, 2020

What is Insurance Fees?
Sets the Range for the Processing Fees and Validates whether the Provided Processing Fees is Valid or Not 

Service Used: sublan_eligibility.insurance_fees

Keys used in this section are :

CollectShould Insurance Fees be collected
If yes then Insurance fees must be collected though it may be set to 0
Varchar Values
min
outer_min
max
outer_max
The range in which the insurance Fees has to be. Outside the boundaries results in an error.
For minimum:
maximum of (min,outer_min)
For Maximum:
minimum of (max, outer_max)
Integer Values
default Default  Insurance Fees for this scheme Integer Values
fixed The fixed Insurance Fees for this loan. Cannot be changed Integer Values
skipTo skip this attribute we would add skip in productvarchar

Logic: Calculation of Insurance fees

Product Settings 
----------------
Product Settings is Not Mandatory (na if no settings)

Skip
----------------
Allowed

Collect
----------------
If yes then insurance fees is collect
If no then insurance fees is not collect (na if no)

Required
----------------
Required - Defaults to Calc.
Can be over written by rtsettings
Can be overwritten by Product Settings

Max
----------------
Max is compulsory
Minimum of max,outer_max

Min
----------------
Min is compulsory
Max of 0,min,outer_min

Calc Insurance Fees
--------------------
In the Order below:
loan.loan_details.insurance_fees
settings.fixed
settings.default
dealer_codes (get the dealer.codes using sublan manage)
Calculated Max

Check
--------------------
Compare that insurance fees is between range

Build the insurance array with 6months of inc
Output: 
"insurance_fees"       =>  array(11) 
                [
                    "min"               => int(0)
                    "max"               => int(0)
                    "debug"             =>  array(3) 
                    "collect"           => string(3) "yes"
                    "insurance_fees"    => float(0)
                    "insurance_code"    => NULL
                    "dealer_codes"      =>  array(1) 
                    "insurance_tenure"  => NULL
                    "insurance_tenures" =>  array(11) 
                    "status"            => string(7) "success"
                    "message"           => string(25) "insurance fees calculated"
                ]

Visual Output