Skip to main content

Loan Action : Rescheduling

Rescheduling

Screenshot 2023-04-22 at 3.39.54 AM.png

The Synofin API's Loan Rescheduling Action is linked to various rescheduling that a user may initiate in accordance with their requirements. This feature involves different step which are :

  1. Retrieving Cancellation (Rescheduling)
  2. Retrieving Data for Loan Action (Rescheduling)
  3. Retrieving Charges for Loan Action (Rescheduling)
  4. Saving / Initiation Request for Loan Action (Rescheduling)
  5. Approving / Rejection Service Request for Loan Action (Rescheduling)




GET Rescheduling

This API is used for retrieving all the Rescheduling details for the specified Loan Id. 

URL: {{base_url}}/loan-management/v1/service-request/status

Request
Request Type: GET
Authorization: Bearer Token
Query Parameter
Key Data Type Value
request* String Fixed = rescheduling
loanId* Integer -
* required Param

Response: 200

{
    "response": true,
    "data": true,
    "error": null
}



Fetch Data for Rescheduling

Upon fetching the SynoFin Rescheduling API. The user can choose the Rescheduling they must carry out in order to fulfil their demand at this point. 
Consequently, we use following APIs to retrieve the Data for the selected Rescheduling for the specified Loan Id.

  1. Data for Loan Action Rescheduling
  2. Master data for Rescheduling

POST Data For Loan Action

To obtain data for Rescheduling, utilise this API.

URL: {{base_url}}/loan-modification/v1/service-request/getDataForLoanActions

Request Type: POST
Authorization: Bearer Token

Query Parameter
No parameter

Loan Actions - Rescheduling

Request Body

Response: 200

Installment Change

{
    "loan_id": "integer",
    "request_id": "installment_change"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2024-02-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}


Part Payment

{
    "loan_id": "integer",
    "request_id": "part_payment"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2023-05-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}

Loan Down Sizing

{
    "loan_id": "integer",
    "request_id": "loan_downsizing"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "payables": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2023-05-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}

Rate Change

{
    "loan_id": "integer",
    "request_id": "rate_change"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2023-05-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}

Tenure Change

{
    "loan_id": "integer",
    "request_id": "tenure_change"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2023-05-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}

Due Date Change

{
    "loan_id": "integer",
    "request_id": "due_date_change"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2023-05-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}

Moratorium

{
    "loan_id": "integer",
    "request_id": "moratorium"
}

{
   "response": true,
   "data": {
      "installment_plan": "Installment",
      "frequency": "string",
      "anchor_type": " ",
      "anchor_rate": 0,
      "spread": 0,
      "excess_amount": 0,
      "adjusted_charges": [],
      "adjusted_installments": [],
      "effective_date": "2024-02-14",
      "current_due_day": 0,
      "installment_amount": 0,
      "balance_installment_amount": 0,
      "total_tenure": 0,
      "tenure_remaining": 0,
      "repayment_start_date": "2023-05-03",
      "capitalize_overdue_installment": 0,
      "capitalize_overdue_charges": 0,
      "total_capitalize_amount": 0
   },
   "error": null
}


POST Master Data for Rescheduling

To obtain Master data for Rescheduling, utilise this API.

URL: {{base_url}}/loan-management/v1/getMasterType

Request Type: POST
Authorization: Bearer Token

Query Parameter
No parameter

Loan Actions - Rescheduling

Request -

Request Body

Response: 200

Installment Change

[
    {
        "type": "reason",
        "parent": "service_request_id",
        "parent_id": "installment_change"
    }
]

{
   "response": true,
   "data": [
      {
         "reason": {}
      }
   ],
   "error": null
}


Part Payment

[
    {
        "type": "source_of_fund"
    },
    {
        "type": "treatment_type"
    },
    {
        "type": "reason",
        "parent": "service_request_id",
        "parent_id": "part_payment"
    }
]

{
   "response": true,
   "data": [
      {
         "reason": {},
         "source_of_fund": {},
         "treatment_type": {}
      }
   ],
   "error": null
}

Rate Change

[
    {
        "type": "rate_change_treatment_type"
    },
    {
        "type": "reason",
        "parent": "service_request_id",
        "parent_id": "rate_change"
    }
]

{
   "response": true,
   "data": [
      {
         "reason": {},
         "rate_change_treatment_type": {}
      }
   ],
   "error": null
}

Tenure Change

[
    {
        "type": "reason",
        "parent": "service_request_id",
        "parent_id": "tenure_change"
    }
]

{
   "response": true,
   "data": [
      {
         "reason": {}
      }
   ],
   "error": null
}

Due Date Change

[
    {
        "type": "new_due_day"
    },
    {
        "type": "new_due_date"
    },
    {
        "type": "due_date_change_treatment_type"
    },
    {
        "type": "gap_days_interest_treatment"
    }
] }
]

{
   "response": true,
   "data": [
      {
         "new_due_date": {},
         "due_date_change_treatment_type": {},
         "gap_days_interest_treatment": {},
         "new_due_day": {}
      }
   ],
   "error": null
}

Moratorium

[
    {
        "type": "moratorium_treatment"
    },
    {
        "type": "moratorium_treatment_type"
    },
    {
        "type": "reason",
        "parent": "service_request_id",
        "parent_id": "moratorium"
    }
]

{
   "response": true,
   "data": [
      {
         "moratorium_treatment": {},
         "reason": {},
         "moratorium_treatment_type": {}
      }
   ],
   "error": null
}




Fetch Charges for Rescheduling

Whenever charges are required to be fetched or charges are applicable for certain loan actions, these APIs are utilised to get Rescheduling costs.

GET Charge for Rescheduling

To obtain data for Rescheduling charges, utilise this API.

URL: {{base_url}}/charges/v1/getChargeForServiceRequest

Request Type: GET
Authorization: Bearer Token


Loan Action - Rescheduling

Request -

Query Parameter


Response : 200

Key Data Type Value

Installment Change

serviceReqId* String Fixed :installment_change {
    "response": true,
    "data": {
        "charges": []
    },
    "error": null
}
loanId* Integer -

Part Payment



serviceReqId* String Fixed :part_payment {
    "response": true,
    "data": {
        "charges": []
    },
    "error": null
}
loanId* Integer -

Rate Change



serviceReqId* String Fixed :rate_change {
    "response": true,
    "data": {
        "charges": []
    },
    "error": null
}
loanId* Integer -

Tenure Change

serviceReqId* String Fixed :tenure_change
    "response": true,
    "data": {
        "charges": []
    },
   
loanId* Integer -

Due Date Change

serviceReqId* String Fixed :due_date_change
    "response": true,
    "data": {
        "charges": []
    },
   
loanId* Integer -
*required parameter



Saving / Initiation Request for Loan Action (Rescheduling)

These are the APIs that are used to save loan rescheduling or initiate service requests initiated by maker so that the checker can review them and then determine what they want to accomplish and either Approve or Reject the Request.

Consequently, we use following APIs to save or intiated the Loan Rescheduling for the selected rescheduling for the specified Loan Id.

POST Save Service Request

To save data for Rescheduling, utilise this API.

URL: {{base_url}}/loan-modification/v1/service-request/save

Request Type: POST
Authorization: Bearer Token

Query Parameter
No parameter

Loan Actions - Rescheduling

Request Body

Response: 200

Installment Change

{
    "service_request_type": "installment_change",
    "service_request_subtype": "0",
    "loan_id": "0",
    "request_data": {
        "effective_date": "2023-04-15",
        "specify_installment_amount": "0",
        "reason": "0",
        "uploadFile": "",
        "keep_tenure_same": "No",
        "charges": [],
        "repayment_schedule_table": "",
        "remarks": "",
        "transaction_date": "2023-04-15"
    },
    "service_request_id": ""
}

{
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}


Part Payment

{
   "service_request_type": "part_payment",
   "service_request_subtype": "0",
   "loan_id": "0",
   "request_data": {
      "effective_date": "2023-04-15",
      "gross_pre_pay_amount": "0",
      "excess_amount": "0",
      "eligible_pre_pay_amount": "0",
      "source_of_fund": "string",
      "treatment_type": "string",
      "balance_installment": "",
      "installment_amount": 0,
      "reason": "0",
      "uploadFile": "",
      "adjusted_charges": [],
      "adjusted_installments": [],
      "charges": [],
      "repayment_schedule_table": "",
      "remarks": "",
      "chargeRate": "0",
      "transaction_date": "2023-04-15"
   },
   "service_request_id": ""
}

{
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}

Loan Down Sizing

{
   "service_request_type": "loan_downsizing",
   "service_request_subtype": "0",
   "loan_id": "0",
   "request_data": {
      "effective_date": "2023-04-15",
      "net_amount": "10000",

      "treatment_type": "string",
      "reason": "0",
      "uploadFile": "",
      "adjusted_charges": [],
      "adjusted_installments": [],
      "charges": [],

      "payables": [

           {
                "charge_id": 453801,
                "charge_label": "",
                "total_outstanding_amount": 20000.0,
                "type": "disbursal_amount",
                "original_amount": 20000.0,
                "charge_definition_id": null,
                "excess_money_id": null,
                "loan_id": null,
                "disbursal_schedule_id": 512985,
                "charge_code": null,
                "outstanding_amount": 20000.0,
                "amount_in_process": 0.0,
                "payment_status": null,
                "paid_amount": null,
                "total_paid_amount": null,
                "total_paid_amount_in_process": null,
                "paid_amount_in_process": null,
                "allocated_amount": 10000,
                "reason": null,
                "payment_date": "2027-04-25",
                "repayment_id": null10000
            }

       ],
      "remarks": "",
      "chargeRate": "0"
   },
   "service_request_id": ""
}

  {
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}

Rate Change

{
   "service_request_type": "rate_change",
   "service_request_subtype": "0",
   "loan_id": "0",
   "request_data": {
      "effective_date": "2023-04-15",
      "interest_rate": "0",
      "anchor_rate": "0",
      "spread": "0",
      "rate_change_treatment_type": "string",
      "uploadFile": "",
      "reason": "0",
      "charges": [],
      "repayment_schedule_table": "",
      "remarks": "",
      "transaction_date": "2023-04-15"
   },
   "service_request_id": ""
}

{
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}

Tenure Change

{
   "service_request_type": "tenure_change",
   "service_request_subtype": "0",
   "loan_id": "0",
   "request_data": {
      "effective_date": "2023-04-15",
      "installment_plan": "string",
      "frequency": "string",
      "specify_no_of_balance_installments": "0",
      "reason": "0",
      "uploadFile": "",
      "repayment_schedule_table": "",
      "charges": [],
      "remarks": "",
      "transaction_date": "2023-04-15"
   },
   "service_request_id": ""
}

{
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}

Due Date Change

{
   "service_request_type": "due_date_change",
   "service_request_subtype": "2",
   "loan_id": "0",
   "request_data": {
      "transaction_date": "2023-04-15",
      "effective_date": "2023-04-15",
      "current_due_day": 0,
      "new_due_day": "0",
      "new_due_date": "2023-05-05",
      "gap_interest_days": 0,
      "additional_charges": "",
      "gap_interest_amount": 0,
      "due_date_change_treatment_type": "string",
      "gap_days_interest_treatment": "",
      "uploadFile": "",
      "repayment_schedule_table": "",
      "charges": [],
      "remarks": "",
      "next_due_date": "2023-05-05",
      "interest_start_date": "2023-05-03",
      "is_gap": "no"
   },
   "service_request_id": ""
}

{
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}

Moratorium

{
   "service_request_type": "moratorium",
   "service_request_subtype": "0",
   "loan_id": "0",
   "request_data": {
      "transaction_date": "2023-04-15",
      "effective_date": "2023-04-15",
      "installment_plan": "string",
      "frequency": "string",
      "moratorium_treatment": "string",
      "moratorium_installments": 0,
      "additional_charges": "",
      "moratorium_treatment_type": "string",
      "installment_amount": 0,
      "reason": "0",
      "uploadFile": "",
      "repayment_schedule_table": "",
      "remarks": ""
   },
   "service_request_id": ""
}

{
    "response": true,
    "data": {
        "result": null,
        "service_request_id": 0
    },
    "error": null
}


Request Approval / Rejection 

The request must now be approved at the Request page, where users may examine requests and take action.

SynoFin - Request