# Retrieve Loan Product Details Template

`GET /lokta-lms/api/v1/loanproducts/template`

This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:

Field Defaults
Allowed description Lists
Example Request:

loanproducts/template

## Parameters
- `isProductMixTemplate` (query, boolean): isProductMixTemplate

## Responses
- `200`: OK

## Response fields
- `accountingMappingOptions` (GetLoanProductsAccountingMappingOptions)
- `accountingRule` (GetLoanProductsAccountingRule)
- `accountingRuleOptions` (array of GetLoanProductsAccountingRule)
- `advancedPaymentAllocationFutureInstallmentAllocationRules` (array of EnumOptionData)
- `advancedPaymentAllocationTransactionTypes` (array of EnumOptionData)
- `advancedPaymentAllocationTypes` (array of EnumOptionData)
- `amortizationType` (GetLoanProductsAmortizationType)
- `amortizationTypeOptions` (array of GetLoanProductsAmortizationType)
- `buyDownFeeCalculationType` (StringEnumOptionData)
- `buyDownFeeCalculationTypeOptions` (array of StringEnumOptionData)
- `buyDownFeeIncomeType` (StringEnumOptionData)
- `buyDownFeeIncomeTypeOptions` (array of StringEnumOptionData)
- `buyDownFeeStrategy` (StringEnumOptionData)
- `buyDownFeeStrategyOptions` (array of StringEnumOptionData)
- `buydownFeeClassificationOptions` (array of GetCodeValuesDataResponse)
- `capitalizedIncomeCalculationType` (StringEnumOptionData)
- `capitalizedIncomeCalculationTypeOptions` (array of StringEnumOptionData)
- `capitalizedIncomeClassificationOptions` (array of GetCodeValuesDataResponse)
- `capitalizedIncomeStrategy` (StringEnumOptionData)
- `capitalizedIncomeStrategyOptions` (array of StringEnumOptionData)
- `capitalizedIncomeType` (StringEnumOptionData)
- `capitalizedIncomeTypeOptions` (array of StringEnumOptionData)
- `chargeOffBehaviour` (StringEnumOptionData)
- `chargeOffBehaviourOptions` (array of StringEnumOptionData)
- `chargeOffReasonOptions` (array of GetLoanProductsChargeOffReasonOptions)
- `chargeOptions` (array of GetLoanProductsChargeOptions)
- `creditAllocationAllocationTypes` (array of EnumOptionData)
- `creditAllocationTransactionTypes` (array of EnumOptionData)
- `currency` (GetLoanProductsTemplateCurrency)
- `currencyOptions` (array of GetLoanProductsCurrencyOptions)
- `daysInMonthType` (GetLoanProductsDaysInMonthType)
- `daysInMonthTypeOptions` (array of StringEnumOptionData)
- `daysInYearCustomStrategy` (StringEnumOptionData)
- `daysInYearType` (GetLoanProductsDaysInYearType)
- `daysInYearTypeCustomStrategyOptions` (array of StringEnumOptionData)
- `daysInYearTypeOptions` (array of GetLoanProductsInterestTemplateType)
- `enableBuyDownFee` (boolean)
- `enableIncomeCapitalization` (boolean)
- `includeInBorrowerCycle` (boolean)
- `interestCalculationPeriodType` (GetLoansProductsInterestCalculationPeriodType)
- `interestCalculationPeriodTypeOptions` (array of GetLoansProductsInterestCalculationPeriodType)
- `interestRateFrequencyType` (GetLoanProductsInterestRateTemplateFrequencyType)
- `interestRateFrequencyTypeOptions` (array of GetLoanProductsInterestRateTemplateFrequencyType)
- `interestRateVariationsForBorrowerCycle` (array)
- `interestRecalculationCompoundingTypeOptions` (array of GetLoanProductsInterestRecalculationCompoundingType)
- `interestRecalculationData` (GetLoanProductsInterestRecalculationTemplateData)
- `interestRecalculationFrequencyTypeOptions` (array of GetLoanProductsInterestRecalculationCompoundingFrequencyType)
- `interestType` (GetLoanProductsInterestTemplateType)
- `interestTypeOptions` (array of GetLoanProductsInterestTemplateType)
- `isInterestRecalculationEnabled` (boolean)
- `loanScheduleProcessingTypeOptions` (array of EnumOptionData)
- `loanScheduleTypeOptions` (array of EnumOptionData)
- `merchantBuyDownFee` (boolean)
- `numberOfRepaymentVariationsForBorrowerCycle` (array)
- `paymentTypeOptions` (array of GetLoanProductsPaymentTypeOptions)
- `preClosureInterestCalculationStrategyOptions` (array of GetLoanProductsPreClosureInterestCalculationStrategy)
- `principalVariationsForBorrowerCycle` (array)
- `repaymentFrequencyType` (GetLoanProductsRepaymentTemplateFrequencyType)
- `repaymentFrequencyTypeOptions` (array of GetLoanProductsRepaymentTemplateFrequencyType)
- `repaymentStartDateTypeOptions` (array of GetLoanProductsRepaymentStartDateType)
- `rescheduleStrategyTypeOptions` (array of GetLoanProductsRescheduleStrategyType)
- `supportedInterestRefundTypes` (array of StringEnumOptionData)
- `supportedInterestRefundTypesOptions` (array of StringEnumOptionData)
- `transactionProcessingStrategyOptions` (array of GetLoanProductsTransactionProcessingStrategyOptions)
- `useBorrowerCycle` (boolean)
- `valueConditionTypeOptions` (array of GetLoanProductsValueConditionTypeOptions)
- `writeOffReasonOptions` (array of GetLoanProductsWriteOffReasonOptions)

## Example request (cURL)
```bash
curl -X GET \
  'http://localhost:8080/lokta-lms/api/v1/loanproducts/template' \
  -u '{username}:{password}' \
  -H 'Tenant-Identifier: default'
```

## Example response
```json
{
  "accountingMappingOptions": {
    "assetAccountOptions": [],
    "expenseAccountOptions": [],
    "incomeAccountOptions": [],
    "liabilityAccountOptions": []
  },
  "accountingRule": {
    "code": "accountingRuleType.cash",
    "description": "CASH BASED",
    "id": 2
  },
  "accountingRuleOptions": [
    {}
  ],
  "advancedPaymentAllocationFutureInstallmentAllocationRules": [
    {}
  ]
}
```

Interactive: https://developer.lokta.ai/reference.html#operation/retrieveTemplateLoanProduct
