blob: d222ff72de449d859f8ab36bbb1c8febc1398005 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.fineract.portfolio.loanaccount.api;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDate;
import java.util.Set;
/**
* Created by Chirag Gupta on 12/02/17.
*/
final class LoanChargesApiResourceSwagger {
private LoanChargesApiResourceSwagger() {}
@Schema(description = "GetLoansLoanIdChargesChargeIdResponse")
public static final class GetLoansLoanIdChargesChargeIdResponse {
private GetLoansLoanIdChargesChargeIdResponse() {}
static final class GetLoanChargeTimeType {
private GetLoanChargeTimeType() {}
@Schema(example = "1")
public Long id;
@Schema(example = "chargeTimeType.disbursement")
public String code;
@Schema(example = "Disbursement")
public String description;
}
static final class GetLoanChargeCalculationType {
private GetLoanChargeCalculationType() {}
@Schema(example = "1")
public Long id;
@Schema(example = "chargeCalculationType.flat")
public String code;
@Schema(example = "Flat")
public String description;
}
static final class GetLoanChargeCurrency {
private GetLoanChargeCurrency() {}
@Schema(example = "USD")
public String code;
@Schema(example = "US Dollar")
public String name;
@Schema(example = "2")
public Integer decimalPlaces;
@Schema(example = "$")
public String displaySymbol;
@Schema(example = "currency.USD")
public String nameCode;
@Schema(example = "US Dollar ($)")
public String displayLabel;
}
@Schema(example = "1")
public Long id;
@Schema(example = "1")
public Long chargeId;
@Schema(example = "Loan Processing fee")
public String name;
public GetLoanChargeTimeType chargeTimeType;
public GetLoanChargeCalculationType chargeCalculationType;
@Schema(example = "0")
public Double percentage;
@Schema(example = "0")
public Double amountPercentageAppliedTo;
public GetLoanChargeCurrency currency;
@Schema(example = "100.00")
public Double amount;
@Schema(example = "0.00")
public Double amountPaid;
@Schema(example = "0.00")
public Double amountWaived;
@Schema(example = "0.00")
public Double amountWrittenOff;
@Schema(example = "100.00")
public Double amountOutstanding;
@Schema(example = "100.00")
public Double amountOrPercentage;
@Schema(example = "false")
public Boolean penalty;
@Schema(example = "27 March 2013")
public LocalDate submittedOnDate;
@Schema(example = "95174ff9-1a75-4d72-a413-6f9b1cb988b7")
public String externalId;
@Schema(example = "26 March 2013")
public LocalDate dueDate;
}
@Schema(description = "GetLoansLoanIdChargesTemplateResponse")
public static final class GetLoansLoanIdChargesTemplateResponse {
private GetLoansLoanIdChargesTemplateResponse() {}
static final class GetLoanChargeTemplateChargeOptions {
private GetLoanChargeTemplateChargeOptions() {}
static final class GetLoanChargeTemplateChargeTimeType {
private GetLoanChargeTemplateChargeTimeType() {}
@Schema(example = "2")
public Long id;
@Schema(example = "chargeTimeType.specifiedDueDate")
public String code;
@Schema(example = "Specified due date")
public String description;
}
static final class GetLoanChargeTemplateChargeAppliesTo {
private GetLoanChargeTemplateChargeAppliesTo() {}
@Schema(example = "1 ")
public Long id;
@Schema(example = "chargeAppliesTo.loan")
public String code;
@Schema(example = "Loan")
public String description;
}
@Schema(example = "1")
public Long id;
@Schema(example = "Collection fee")
public String name;
@Schema(example = "true")
public Boolean active;
@Schema(example = "false")
public Boolean penalty;
public GetLoansLoanIdChargesChargeIdResponse.GetLoanChargeCurrency currency;
@Schema(example = "100.00")
public Double amount;
public GetLoanChargeTemplateChargeTimeType chargeTimeType;
public GetLoanChargeTemplateChargeAppliesTo chargeAppliesTo;
public GetLoansLoanIdChargesChargeIdResponse.GetLoanChargeCalculationType chargeCalculationType;
}
@Schema(example = "0.00")
public Double amountPaid;
@Schema(example = "0.00")
public Double amountWaived;
@Schema(example = "0.00")
public Double amountWrittenOff;
public Set<GetLoanChargeTemplateChargeOptions> chargeOptions;
@Schema(example = "false")
public Boolean penalty;
}
@Schema(description = " PostLoansLoanIdChargesRequest")
public static final class PostLoansLoanIdChargesRequest {
private PostLoansLoanIdChargesRequest() {}
@Schema(example = "2")
public Long chargeId;
@Schema(example = "en")
public String locale;
@Schema(example = "100.00")
public Double amount;
@Schema(example = "dd MMMM yyyy")
public String dateFormat;
@Schema(example = "29 April 2013")
public String dueDate;
@Schema(example = "786444UUUYYH7")
public String externalId;
}
@Schema(description = " PostLoansLoanIdChargesResponse")
public static final class PostLoansLoanIdChargesResponse {
private PostLoansLoanIdChargesResponse() {}
@Schema(example = "1")
public Long officeId;
@Schema(example = "1")
public Long clientId;
@Schema(example = "1")
public Long loanId;
@Schema(example = "31")
public Long resourceId;
@Schema(example = "95174ff9-1a75-4d72-a413-6f9b1cb988b7")
public String resourceExternalId;
}
@Schema(description = " PutLoansLoanIdChargesChargeIdRequest")
public static final class PutLoansLoanIdChargesChargeIdRequest {
private PutLoansLoanIdChargesChargeIdRequest() {}
@Schema(example = "dd MMMM yyyy")
public String dateFormat;
@Schema(example = "en")
public String locale;
@Schema(example = "60.00")
public Double amount;
@Schema(example = "27 March 2013")
public String dueDate;
}
@Schema(description = "PutLoansLoanIdChargesChargeIdResponse")
public static final class PutLoansLoanIdChargesChargeIdResponse {
private PutLoansLoanIdChargesChargeIdResponse() {}
@Schema(example = "1")
public Long officeId;
@Schema(example = "1")
public Long clientId;
@Schema(example = "1")
public Long loanId;
@Schema(example = "6")
public Long resourceId;
@Schema(example = "95174ff9-1a75-4d72-a413-6f9b1cb988b7")
public String resourceExternalId;
public PutLoansLoanIdChargesChargeIdRequest changes;
}
@Schema(description = "PostLoansLoanIdChargesChargeIdRequest")
public static final class PostLoansLoanIdChargesChargeIdRequest {
private PostLoansLoanIdChargesChargeIdRequest() {}
@Schema(example = "dd MMMM yyyy")
public String dateFormat;
@Schema(example = "en")
public String locale;
@Schema(example = "19 September 2013")
public String transactionDate;
@Schema(example = "1")
public Long chargeId;
@Schema(example = "19 September 2013")
public String dueDate;
@Schema(example = "1")
public Long installmentNumber;
@Schema(example = "100.00")
public Double amount;
@Schema(example = "786444UUUYYH7")
public String externalId;
@Schema(example = "An optional note")
public String note;
@Schema(example = "3")
public Long paymentTypeId;
@Schema(example = "acc123")
public String accountNumber;
@Schema(example = "che123")
public String checkNumber;
@Schema(example = "rou123")
public String routingCode;
@Schema(example = "rec123")
public String receiptNumber;
@Schema(example = "ban123")
public String bankNumber;
}
@Schema(description = "PostLoansLoanIdChargesChargeIdResponse")
public static final class PostLoansLoanIdChargesChargeIdResponse {
private PostLoansLoanIdChargesChargeIdResponse() {}
@Schema(example = "1")
public Long officeId;
@Schema(example = "1")
public Long clientId;
@Schema(example = "6")
public Long loanId;
@Schema(example = "1")
public Long savingsId;
@Schema(example = "12")
public Long resourceId;
@Schema(example = "12")
public Long subResourceId;
@Schema(example = "786444UUUYYH7")
public String resourceExternalId;
@Schema(example = "786444UUUYYH7")
public String subResourceExternalId;
public PostLoansLoanIdChargesChargeIdChanges changes;
static final class PostLoansLoanIdChargesChargeIdChanges {
@Schema(example = "en")
public String locale;
@Schema(example = "19 September 2013")
public LocalDate transactionDate;
@Schema(example = "1")
public Long chargeId;
@Schema(example = "19 September 2013")
public LocalDate dueDate;
@Schema(example = "1")
public Long installmentNumber;
@Schema(example = "100.00")
public Double amount;
@Schema(example = "786444UUUYYH7")
public String externalId;
@Schema(example = "100.00")
public Double principalPortion;
@Schema(example = "100.00")
public Double interestPortion;
@Schema(example = "100.00")
public Double feeChargesPortion;
@Schema(example = "100.00")
public Double penaltyChargesPortion;
@Schema(example = "100.00")
public Double outstandingLoanBalance;
@Schema(example = "19 September 2013")
public Double date;
@Schema(example = "1")
public Long id;
}
}
@Schema(description = "DeleteLoansLoanIdChargesChargeIdResponse")
public static final class DeleteLoansLoanIdChargesChargeIdResponse {
private DeleteLoansLoanIdChargesChargeIdResponse() {}
@Schema(example = "1")
public Long officeId;
@Schema(example = "1")
public Long clientId;
@Schema(example = "1")
public Long loanId;
@Schema(example = "2")
public Long resourceId;
@Schema(example = "95174ff9-1a75-4d72-a413-6f9b1cb988b7")
public String resourceExternalId;
}
}