This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new e4c857d6f FINERACT-2081: Add missing fields to Loan product swagger
e4c857d6f is described below

commit e4c857d6fabdbf5ce8baa7bd892abace714f6ef8
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Jul 18 10:32:17 2024 +0200

    FINERACT-2081: Add missing fields to Loan product swagger
---
 .../api/LoanProductsApiResourceSwagger.java        | 65 +++++++++++++++++++++-
 1 file changed, 63 insertions(+), 2 deletions(-)

diff --git 
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/api/LoanProductsApiResourceSwagger.java
 
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/api/LoanProductsApiResourceSwagger.java
index 0682e866b..8bfcbd1b5 100644
--- 
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/api/LoanProductsApiResourceSwagger.java
+++ 
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/api/LoanProductsApiResourceSwagger.java
@@ -191,6 +191,12 @@ final class LoanProductsApiResourceSwagger {
         public Integer recalculationCompoundingFrequencyInterval;
         @Schema(example = "1")
         public Integer recalculationCompoundingFrequencyOnDayType;
+        @Schema(example = "false")
+        public Boolean isArrearsBasedOnOriginalSchedule;
+        @Schema(example = "false")
+        public Boolean isCompoundingToBePostedAsTransaction;
+        @Schema(example = "false")
+        public Boolean allowCompoundingOnEod;
 
         // Accounting
         @Schema(example = "3")
@@ -509,6 +515,10 @@ final class LoanProductsApiResourceSwagger {
             public GetLoanProductsPreClosureInterestCalculationStrategy 
preClosureInterestCalculationStrategy;
             @Schema(example = "true")
             public Boolean isArrearsBasedOnOriginalSchedule;
+            @Schema(example = "true")
+            public Boolean isCompoundingToBePostedAsTransaction;
+            @Schema(example = "true")
+            public Boolean allowCompoundingOnEod;
             @Schema(example = "1")
             public Integer recalculationCompoundingFrequencyInterval;
             @Schema(example = "1")
@@ -1146,13 +1156,22 @@ final class LoanProductsApiResourceSwagger {
             public GetGlAccountMapping loanPortfolioAccount;
             public GetGlAccountMapping transfersInSuspenseAccount;
             public GetGlAccountMapping receivableInterestAccount;
+            public GetGlAccountMapping receivableFeeAccount;
             public GetGlAccountMapping receivablePenaltyAccount;
             public GetGlAccountMapping interestOnLoanAccount;
             public GetGlAccountMapping incomeFromFeeAccount;
             public GetGlAccountMapping incomeFromPenaltyAccount;
             public GetGlAccountMapping incomeFromRecoveryAccount;
+            public GetGlAccountMapping incomeFromChargeOffFeesAccount;
+            public GetGlAccountMapping incomeFromChargeOffInterestAccount;
+            public GetGlAccountMapping incomeFromChargeOffPenaltyAccount;
+            public GetGlAccountMapping incomeFromGoodwillCreditInterestAccount;
+            public GetGlAccountMapping incomeFromGoodwillCreditFeesAccount;
+            public GetGlAccountMapping incomeFromGoodwillCreditPenaltyAccount;
             public GetGlAccountMapping writeOffAccount;
             public GetGlAccountMapping goodwillCreditAccount;
+            public GetGlAccountMapping chargeOffExpenseAccount;
+            public GetGlAccountMapping chargeOffFraudExpenseAccount;
             public GetGlAccountMapping overpaymentLiabilityAccount;
         }
 
@@ -1198,6 +1217,8 @@ final class LoanProductsApiResourceSwagger {
         public String name;
         @Schema(example = "ad11")
         public String shortName;
+        @Schema(example = "sample description")
+        public String description;
         @Schema(example = "true")
         public Boolean includeInBorrowerCycle;
         @Schema(example = "true")
@@ -1213,6 +1234,10 @@ final class LoanProductsApiResourceSwagger {
         public Double maxPrincipal;
         @Schema(example = "7")
         public Integer numberOfRepayments;
+        @Schema(example = "5")
+        public Integer minNumberOfRepayments;
+        @Schema(example = "10")
+        public Integer maxNumberOfRepayments;
         @Schema(example = "7")
         public Integer repaymentEvery;
         public GetLoanProductsResponse.GetLoanProductsRepaymentFrequencyType 
repaymentFrequencyType;
@@ -1220,14 +1245,30 @@ final class LoanProductsApiResourceSwagger {
         public Integer fixedLength;
         @Schema(example = "5.000000")
         public Double interestRatePerPeriod;
+        @Schema(example = "0.000000")
+        public Double minInterestRatePerPeriod;
+        @Schema(example = "10.000000")
+        public Double maxInterestRatePerPeriod;
         public 
GetLoanProductsProductIdResponse.GetLoanProductsInterestRateFrequencyType 
interestRateFrequencyType;
         @Schema(example = "60.000000")
         public Double annualInterestRate;
+        @Schema(example = "false")
+        public Boolean isLinkedToFloatingInterestRates;
+        @Schema(example = "false")
+        public Boolean isFloatingInterestRateCalculationAllowed;
+        @Schema(example = "false")
+        public Boolean allowVariableInstallments;
+        @Schema(example = "0")
+        public Integer minimumGap;
+        @Schema(example = "1")
+        public Integer maximumGap;
         public GetLoanProductsResponse.GetLoanProductsAmortizationType 
amortizationType;
         @Schema(example = "5.5")
         public BigDecimal fixedPrincipalPercentagePerInstallment;
         public 
GetLoanProductsTemplateResponse.GetLoanProductsInterestTemplateType 
interestType;
         public 
GetLoanProductsResponse.GetLoansProductsInterestCalculationPeriodType 
interestCalculationPeriodType;
+        @Schema(example = "false")
+        public Boolean allowPartialPeriodInterestCalculation;
         @Schema(example = "mifos-standard-strategy")
         public String transactionProcessingStrategyCode;
         @Schema(example = "Mifos style")
@@ -1236,6 +1277,11 @@ final class LoanProductsApiResourceSwagger {
         public List<AdvancedPaymentData> paymentAllocation;
         @Schema(example = "[]")
         public List<CreditAllocationData> creditAllocation;
+        @Schema(example = "false")
+        public Boolean isInterestRecalculationEnabled;
+        public 
GetLoanProductsResponse.GetLoanProductsInterestRecalculationData 
interestRecalculationData;
+        @Schema(example = "false")
+        public Boolean canDefineInstallmentAmount;
         @Schema(example = "[]")
         public List<Integer> charges;
         public Set<GetLoanProductsPrincipalVariationsForBorrowerCycle> 
productsPrincipalVariationsForBorrowerCycle;
@@ -1244,24 +1290,33 @@ final class LoanProductsApiResourceSwagger {
         @Schema(example = "[]")
         public List<Integer> numberOfRepaymentVariationsForBorrowerCycle;
         public GetLoanProductsResponse.GetLoanProductsAccountingRule 
accountingRule;
+        @Schema(example = "false")
+        public Boolean canUseForTopup;
         public GetLoanAccountingMappings accountingMappings;
         public Set<GetLoanPaymentChannelToFundSourceMappings> 
paymentChannelToFundSourceMappings;
         public Set<GetLoanFeeToIncomeAccountMappings> 
feeToIncomeAccountMappings;
+        @Schema(example = "false")
+        public Boolean isRatesEnabled;
         @Schema(example = "true")
         public Boolean multiDisburseLoan;
         @Schema(example = "3")
         public Integer maxTrancheCount;
         @Schema(example = "36000.000000")
         public Double outstandingLoanBalance;
+        @Schema(example = "true")
+        public Boolean disallowExpectedDisbursements;
+        @Schema(example = "true")
+        public Boolean allowApprovedDisbursedAmountsOverApplied;
+        @Schema(example = "flat")
+        public String overAppliedCalculationType;
         @Schema(example = "2")
         public Integer overdueDaysForNPA;
         @Schema(example = "50")
         public Integer principalThresholdForLastInstalment;
         public GetDelinquencyBucketsResponse delinquencyBucket;
+        public List<GetDelinquencyBucketsResponse> delinquencyBucketOptions;
         @Schema(example = "false")
         public Boolean enableInstallmentLevelDelinquency;
-        @Schema(example = "true")
-        public Boolean disallowExpectedDisbursements;
         @Schema(example = "3")
         public Integer dueDaysForRepaymentEvent;
         @Schema(example = "3")
@@ -1438,6 +1493,12 @@ final class LoanProductsApiResourceSwagger {
         public Integer recalculationCompoundingFrequencyInterval;
         @Schema(example = "1")
         public Integer recalculationCompoundingFrequencyOnDayType;
+        @Schema(example = "false")
+        public Boolean isArrearsBasedOnOriginalSchedule;
+        @Schema(example = "false")
+        public Boolean isCompoundingToBePostedAsTransaction;
+        @Schema(example = "false")
+        public Boolean allowCompoundingOnEod;
 
         // Accounting
         @Schema(example = "3")

Reply via email to