FINERACT-1694: Additional schemas

This commit is contained in:
Arnold Galovics
2022-08-30 14:39:12 +02:00
committed by Aleksandar Vidakovic
parent 264022be4d
commit b327e710f7
54 changed files with 5162 additions and 1121 deletions
+1
View File
@@ -249,6 +249,7 @@ allprojects {
"**/git.properties",
".mailmap",
'**/images/diag-*.svg',
'**/*.avsc'
]
}
}
+23 -3
View File
@@ -19,20 +19,40 @@
import com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask
// TODO: @vidakovic we should publish this lib to Maven Central; do in separate PR
description = 'Fineract Avro Schemas'
apply plugin: 'com.github.davidmc24.gradle.plugin.avro-base'
apply from: 'dependencies.gradle'
// TODO: @vidakovic we should publish this lib to Maven Central; do in separate PR
task preprocessAvroSchemas() {
doLast {
copy {
from "$projectDir/src/main/avro"
into "$buildDir/generated/avro/src/main/avro"
filter { line ->
line.replaceAll("\"bigdecimal\"", new File("$projectDir/src/main/resources/avro-templates/bigdecimal.avsc").getText("UTF-8"))
}
}
}
}
task buildJavaSdk(type: GenerateAvroJavaTask) {
source("$projectDir/src/main/avro")
source("$buildDir/generated/avro/src/main/avro")
outputDir = file("$buildDir/generated/java/src/main/java")
}
spotless {
json {
target '**/*.avsc' // TODO: include generated AVSCs as well
targetExclude ''
simple()
}
}
compileJava.dependsOn(buildJavaSdk, licenseFormatMain, spotlessMiscApply)
buildJavaSdk.dependsOn(preprocessAvroSchemas, spotlessJsonApply)
compileJava.dependsOn(buildJavaSdk, licenseFormatMain)
java {
// keep this at Java 8, not 17
@@ -1,71 +0,0 @@
/**
* 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.
*/
{
"name": "MessageV1",
"namespace": "org.apache.fineract.avro",
"type": "record",
"fields": [
{
"name": "id",
"type": "int",
"doc": "The ID of the message to be sent"
},
{
"name": "source",
"type": "string",
"doc": "A unique identifier of the source service"
},
{
"name": "type",
"type": "string",
"doc": "The type of event the payload refers to. For example LOAN_APPROVED"
},
{
"name": "version",
"type": "string",
"doc": "The version of the type of event. For example 1, 2, 3, etc"
},
{
"name": "category",
"type": "string",
"doc": "The category of event the payload refers to. For example LOAN"
},
{
"name": "createdAt",
"type": "string",
"doc": "The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30"
},
{
"name": "tenantId",
"type": "string",
"doc": "The tenantId that the event has been sent from. For example default"
},
{
"name": "idempotencyKey",
"type": "string",
"doc": "The idempotency key for this particular event for consumer de-duplication"
},
{
"name": "payload",
"type": "bytes",
"doc": "The payload serialized into Avro bytes"
}
]
}
@@ -1,82 +1,63 @@
/**
* 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.
*/
{
"name": "ClientEventV1",
"namespace": "org.apache.fineract.avro.client.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.client.v1.ClientEventV1Status"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "fullName",
"type": [
"null",
"string"
]
},
{
"name": "displayName",
"type": [
"null",
"string"
]
},
{
"name": "officeId",
"type": [
"null",
"int"
]
},
{
"name": "officeName",
"type": [
"null",
"string"
]
}
]
}
"name": "ClientEventV1",
"namespace": "org.apache.fineract.avro.client.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.client.v1.ClientEventV1Status"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "fullName",
"type": [
"null",
"string"
]
},
{
"name": "displayName",
"type": [
"null",
"string"
]
},
{
"name": "officeId",
"type": [
"null",
"int"
]
},
{
"name": "officeName",
"type": [
"null",
"string"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "ClientEventV1Status",
"namespace": "org.apache.fineract.avro.client.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "ClientEventV1Status",
"namespace": "org.apache.fineract.avro.client.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,208 +1,189 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "clientId",
"type": [
"null",
"int"
]
},
{
"name": "clientName",
"type": [
"null",
"string"
]
},
{
"name": "savingsProductId",
"type": [
"null",
"int"
]
},
{
"name": "savingsProductName",
"type": [
"null",
"string"
]
},
{
"name": "fieldOfficerId",
"type": [
"null",
"int"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Status"
]
},
{
"name": "timeline",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Timeline"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
]
},
{
"name": "interestCompoundingPeriodType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCompoundingPeriodType"
]
},
{
"name": "interestPostingPeriodType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestPostingPeriodType"
]
},
{
"name": "interestCalculationType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationType"
]
},
{
"name": "interestCalculationDaysInYearType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationDaysInYearType"
]
},
{
"name": "summary",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Summary"
]
},
{
"name": "interestFreePeriodApplicable",
"type": [
"null",
"boolean"
]
},
{
"name": "preClosurePenalApplicable",
"type": [
"null",
"boolean"
]
},
{
"name": "minDepositTerm",
"type": [
"null",
"int"
]
},
{
"name": "maxDepositTerm",
"type": [
"null",
"int"
]
},
{
"name": "minDepositTermType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MinDepositTermType"
]
},
{
"name": "maxDepositTermType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MaxDepositTermType"
]
},
{
"name": "depositAmount",
"type": [
"null",
"float"
]
},
{
"name": "maturityAmount",
"type": [
"null",
"float"
]
},
{
"name": "maturityDate",
"type": [
"null",
"string"
]
},
{
"name": "depositPeriod",
"type": [
"null",
"int"
]
},
{
"name": "depositPeriodFrequency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1DepositPeriodFrequency"
]
}
]
}
"name": "FixedDepositAccountEventV1",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "clientId",
"type": [
"null",
"int"
]
},
{
"name": "clientName",
"type": [
"null",
"string"
]
},
{
"name": "savingsProductId",
"type": [
"null",
"int"
]
},
{
"name": "savingsProductName",
"type": [
"null",
"string"
]
},
{
"name": "fieldOfficerId",
"type": [
"null",
"int"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Status"
]
},
{
"name": "timeline",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Timeline"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
]
},
{
"name": "interestCompoundingPeriodType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCompoundingPeriodType"
]
},
{
"name": "interestPostingPeriodType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestPostingPeriodType"
]
},
{
"name": "interestCalculationType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationType"
]
},
{
"name": "interestCalculationDaysInYearType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationDaysInYearType"
]
},
{
"name": "summary",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Summary"
]
},
{
"name": "interestFreePeriodApplicable",
"type": [
"null",
"boolean"
]
},
{
"name": "preClosurePenalApplicable",
"type": [
"null",
"boolean"
]
},
{
"name": "minDepositTerm",
"type": [
"null",
"int"
]
},
{
"name": "maxDepositTerm",
"type": [
"null",
"int"
]
},
{
"name": "minDepositTermType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MinDepositTermType"
]
},
{
"name": "maxDepositTermType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MaxDepositTermType"
]
},
{
"name": "depositAmount",
"type": [
"null",
"float"
]
},
{
"name": "maturityAmount",
"type": [
"null",
"float"
]
},
{
"name": "maturityDate",
"type": [
"null",
"string"
]
},
{
"name": "depositPeriod",
"type": [
"null",
"int"
]
},
{
"name": "depositPeriodFrequency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1DepositPeriodFrequency"
]
}
]
}
@@ -1,75 +1,56 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1Currency",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "decimalPlaces",
"type": [
"null",
"int"
]
},
{
"name": "inMultiplesOf",
"type": [
"null",
"int"
]
},
{
"name": "displaySymbol",
"type": [
"null",
"string"
]
},
{
"name": "nameCode",
"type": [
"null",
"string"
]
},
{
"name": "displayLabel",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1Currency",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "decimalPlaces",
"type": [
"null",
"int"
]
},
{
"name": "inMultiplesOf",
"type": [
"null",
"int"
]
},
{
"name": "displaySymbol",
"type": [
"null",
"string"
]
},
{
"name": "nameCode",
"type": [
"null",
"string"
]
},
{
"name": "displayLabel",
"type": [
"null",
"string"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1DepositPeriodFrequency",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1DepositPeriodFrequency",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,41 +1,21 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1InterestCalculationDaysInYearType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "accountBalance",
"type": [
"null",
"float"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
]
}
]
"name": "FixedDepositAccountEventV1InterestCalculationDaysInYearType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "accountBalance",
"type": [
"null",
"float"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
]
}
]
}
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1InterestCalculationType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1InterestCalculationType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1InterestCompoundingPeriodType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1InterestCompoundingPeriodType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1InterestPostingPeriodType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1InterestPostingPeriodType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1MaxDepositTermType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1MaxDepositTermType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1MinDepositTermType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1MinDepositTermType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,110 +1,91 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1Status",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "submittedAndPendingApproval",
"type": [
"null",
"boolean"
]
},
{
"name": "approved",
"type": [
"null",
"boolean"
]
},
{
"name": "rejected",
"type": [
"null",
"boolean"
]
},
{
"name": "withdrawnByApplicant",
"type": [
"null",
"boolean"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "closed",
"type": [
"null",
"boolean"
]
},
{
"name": "prematureClosed",
"type": [
"null",
"boolean"
]
},
{
"name": "transferInProgress",
"type": [
"null",
"boolean"
]
},
{
"name": "transferOnHold",
"type": [
"null",
"boolean"
]
}
]
}
"name": "FixedDepositAccountEventV1Status",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "submittedAndPendingApproval",
"type": [
"null",
"boolean"
]
},
{
"name": "approved",
"type": [
"null",
"boolean"
]
},
{
"name": "rejected",
"type": [
"null",
"boolean"
]
},
{
"name": "withdrawnByApplicant",
"type": [
"null",
"boolean"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "closed",
"type": [
"null",
"boolean"
]
},
{
"name": "prematureClosed",
"type": [
"null",
"boolean"
]
},
{
"name": "transferInProgress",
"type": [
"null",
"boolean"
]
},
{
"name": "transferOnHold",
"type": [
"null",
"boolean"
]
}
]
}
@@ -1,47 +1,28 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1Summary",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1Summary",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -1,54 +1,35 @@
/**
* 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.
*/
{
"name": "FixedDepositAccountEventV1Timeline",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "submittedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "submittedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "submittedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "submittedByLastname",
"type": [
"null",
"string"
]
}
]
}
"name": "FixedDepositAccountEventV1Timeline",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "submittedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "submittedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "submittedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "submittedByLastname",
"type": [
"null",
"string"
]
}
]
}
@@ -1,117 +1,98 @@
/**
* 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.
*/
{
"name": "CommandProcessingResultEventV1",
"namespace": "org.apache.fineract.avro.generic.v1",
"type": "record",
"fields": [
{
"name": "commandId",
"type": [
"null",
"long"
]
},
{
"name": "officeId",
"type": [
"null",
"long"
]
},
{
"name": "groupId",
"type": [
"null",
"long"
]
},
{
"name": "clientId",
"type": [
"null",
"long"
]
},
{
"name": "loanId",
"type": [
"null",
"long"
]
},
{
"name": "savingsId",
"type": [
"null",
"long"
]
},
{
"name": "resourceId",
"type": [
"null",
"long"
]
},
{
"name": "subResourceId",
"type": [
"null",
"long"
]
},
{
"name": "transactionId",
"type": [
"null",
"long"
]
},
{
"name": "resourceIdentifier",
"type": [
"null",
"string"
]
},
{
"name": "productId",
"type": [
"null",
"long"
]
},
{
"name": "gsimId",
"type": [
"null",
"long"
]
},
{
"name": "glimId",
"type": [
"null",
"long"
]
}
]
}
"name": "CommandProcessingResultEventV1",
"namespace": "org.apache.fineract.avro.generic.v1",
"type": "record",
"fields": [
{
"name": "commandId",
"type": [
"null",
"long"
]
},
{
"name": "officeId",
"type": [
"null",
"long"
]
},
{
"name": "groupId",
"type": [
"null",
"long"
]
},
{
"name": "clientId",
"type": [
"null",
"long"
]
},
{
"name": "loanId",
"type": [
"null",
"long"
]
},
{
"name": "savingsId",
"type": [
"null",
"long"
]
},
{
"name": "resourceId",
"type": [
"null",
"long"
]
},
{
"name": "subResourceId",
"type": [
"null",
"long"
]
},
{
"name": "transactionId",
"type": [
"null",
"long"
]
},
{
"name": "resourceIdentifier",
"type": [
"null",
"string"
]
},
{
"name": "productId",
"type": [
"null",
"long"
]
},
{
"name": "gsimId",
"type": [
"null",
"long"
]
},
{
"name": "glimId",
"type": [
"null",
"long"
]
}
]
}
@@ -0,0 +1,52 @@
{
"name": "MessageV1",
"namespace": "org.apache.fineract.avro",
"type": "record",
"fields": [
{
"name": "id",
"doc": "The ID of the message to be sent",
"type": "int"
},
{
"name": "source",
"doc": "A unique identifier of the source service",
"type": "string"
},
{
"name": "type",
"doc": "The type of event the payload refers to. For example LOAN_APPROVED",
"type": "string"
},
{
"name": "version",
"doc": "The version of the type of event. For example 1, 2, 3, etc",
"type": "string"
},
{
"name": "category",
"doc": "The category of event the payload refers to. For example LOAN",
"type": "string"
},
{
"name": "createdAt",
"doc": "The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30",
"type": "string"
},
{
"name": "tenantId",
"doc": "The tenantId that the event has been sent from. For example default",
"type": "string"
},
{
"name": "idempotencyKey",
"doc": "The idempotency key for this particular event for consumer de-duplication",
"type": "string"
},
{
"name": "payload",
"doc": "The payload serialized into Avro bytes",
"type": "bytes"
}
]
}
@@ -0,0 +1,105 @@
{
"name": "AccountTransferDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "reversed",
"type": [
"null",
"boolean"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "transferAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "transferDate",
"type": [
"null",
"string"
]
},
{
"name": "transferDescription",
"type": [
"null",
"string"
]
},
{
"name": "fromOffice",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.OfficeDataV1"
]
},
{
"name": "fromClient",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.ClientDataV1"
]
},
{
"name": "fromAccountType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "fromAccount",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
]
},
{
"name": "toOffice",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.OfficeDataV1"
]
},
{
"name": "toClient",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.ClientDataV1"
]
},
{
"name": "toAccountType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "toAccount",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
]
}
]
}
@@ -0,0 +1,237 @@
{
"name": "CalendarDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "calendarInstanceId",
"type": [
"null",
"long"
]
},
{
"name": "entityId",
"type": [
"null",
"long"
]
},
{
"name": "entityType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "title",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "location",
"type": [
"null",
"string"
]
},
{
"name": "startDate",
"type": [
"null",
"string"
]
},
{
"name": "endDate",
"type": [
"null",
"string"
]
},
{
"name": "meetingTime",
"type": [
"null",
"string"
]
},
{
"name": "duration",
"type": [
"null",
"int"
]
},
{
"name": "type",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "repeating",
"type": [
"null",
"boolean"
]
},
{
"name": "recurrence",
"type": [
"null",
"string"
]
},
{
"name": "frequency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "interval",
"type": [
"null",
"int"
]
},
{
"name": "repeatsOnDay",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "repeatsOnNthDayOfMonth",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "remindBy",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "firstReminder",
"type": [
"null",
"int"
]
},
{
"name": "secondReminder",
"type": [
"null",
"int"
]
},
{
"name": "recurringDates",
"type": [
"null",
{
"type": "array",
"items": "string"
}
]
},
{
"name": "nextTenRecurringDates",
"type": [
"null",
{
"type": "array",
"items": "string"
}
]
},
{
"name": "humanReadable",
"type": [
"null",
"string"
]
},
{
"name": "recentEligibleMeetingDate",
"type": [
"null",
"string"
]
},
{
"name": "createdDate",
"type": [
"null",
"string"
]
},
{
"name": "lastUpdatedDate",
"type": [
"null",
"string"
]
},
{
"name": "createdByUserId",
"type": [
"null",
"long"
]
},
{
"name": "createdByUsername",
"type": [
"null",
"string"
]
},
{
"name": "lastUpdatedByUserId",
"type": [
"null",
"long"
]
},
{
"name": "lastUpdatedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "repeatsOnDayOfMonth",
"type": [
"null",
"int"
]
}
]
}
@@ -0,0 +1,161 @@
{
"name": "ChargeDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "penalty",
"type": [
"null",
"boolean"
]
},
{
"name": "freeWithdrawal",
"type": [
"null",
"boolean"
]
},
{
"name": "freeWithdrawalChargeFrequency",
"type": [
"null",
"int"
]
},
{
"name": "restartFrequency",
"type": [
"null",
"int"
]
},
{
"name": "restartFrequencyEnum",
"type": [
"null",
"int"
]
},
{
"name": "isPaymentType",
"type": [
"null",
"boolean"
]
},
{
"name": "paymentTypeOptions",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.PaymentTypeDataV1"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "amount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "chargeTimeType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "chargeAppliesTo",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "chargeCalculationType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "chargePaymentMode",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "feeOnMonthDay",
"type": [
"null",
"string"
]
},
{
"name": "feeInterval",
"type": [
"null",
"int"
]
},
{
"name": "minCap",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "maxCap",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeFrequency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "incomeOrLiabilityAccount",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.GLAccountDataV1"
]
}
]
}
@@ -0,0 +1,56 @@
{
"name": "ClientCollateralManagementDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "quantity",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "pctToBase",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "unitPrice",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "total",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalCollateral",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,251 @@
{
"name": "ClientDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "subStatus",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CodeValueDataV1"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "activationDate",
"type": [
"null",
"string"
]
},
{
"name": "firstname",
"type": [
"null",
"string"
]
},
{
"name": "middlename",
"type": [
"null",
"string"
]
},
{
"name": "lastname",
"type": [
"null",
"string"
]
},
{
"name": "fullname",
"type": [
"null",
"string"
]
},
{
"name": "displayName",
"type": [
"null",
"string"
]
},
{
"name": "mobileNo",
"type": [
"null",
"string"
]
},
{
"name": "emailAddress",
"type": [
"null",
"string"
]
},
{
"name": "dateOfBirth",
"type": [
"null",
"string"
]
},
{
"name": "gender",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CodeValueDataV1"
]
},
{
"name": "clientType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CodeValueDataV1"
]
},
{
"name": "clientClassification",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CodeValueDataV1"
]
},
{
"name": "isStaff",
"type": [
"null",
"boolean"
]
},
{
"name": "officeId",
"type": [
"null",
"long"
]
},
{
"name": "officeName",
"type": [
"null",
"string"
]
},
{
"name": "transferToOfficeId",
"type": [
"null",
"long"
]
},
{
"name": "transferToOfficeName",
"type": [
"null",
"string"
]
},
{
"name": "imageId",
"type": [
"null",
"long"
]
},
{
"name": "imagePresent",
"type": [
"null",
"boolean"
]
},
{
"name": "staffId",
"type": [
"null",
"long"
]
},
{
"name": "staffName",
"type": [
"null",
"string"
]
},
{
"name": "timeline",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.ClientTimelineDataV1"
]
},
{
"name": "savingsProductId",
"type": [
"null",
"long"
]
},
{
"name": "savingsProductName",
"type": [
"null",
"string"
]
},
{
"name": "savingsAccountId",
"type": [
"null",
"long"
]
},
{
"name": "legalForm",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "clientCollateralManagements",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.ClientCollateralManagementDataV1"
}
]
},
{
"name": "groups",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.GroupGeneralDataV1"
}
]
}
]
}
@@ -0,0 +1,91 @@
{
"name": "ClientTimelineDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "submittedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "submittedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "submittedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "submittedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "activatedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "activatedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "activatedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "activatedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "closedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "closedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "closedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "closedByLastname",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,49 @@
{
"name": "CodeValueDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "position",
"type": [
"null",
"int"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "mandatory",
"type": [
"null",
"boolean"
]
}
]
}
@@ -0,0 +1,63 @@
{
"name": "CollectionDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "availableDisbursementAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "pastDueDays",
"type": [
"null",
"int"
]
},
{
"name": "nextPaymentDueDate",
"type": [
"null",
"string"
]
},
{
"name": "delinquentDays",
"type": [
"null",
"int"
]
},
{
"name": "delinquentDate",
"type": [
"null",
"string"
]
},
{
"name": "delinquentAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "lastPaymentDate",
"type": [
"null",
"string"
]
},
{
"name": "lastPaymentAmount",
"type": [
"null",
"bigdecimal"
]
}
]
}
@@ -0,0 +1,56 @@
{
"name": "CurrencyDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "decimalPlaces",
"type": [
"null",
"int"
]
},
{
"name": "inMultiplesOf",
"type": [
"null",
"int"
]
},
{
"name": "displaySymbol",
"type": [
"null",
"string"
]
},
{
"name": "nameCode",
"type": [
"null",
"string"
]
},
{
"name": "displayLabel",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,35 @@
{
"name": "DelinquencyRangeDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "classification",
"type": [
"null",
"string"
]
},
{
"name": "minimumAgeDays",
"type": [
"null",
"int"
]
},
{
"name": "maximumAgeDays",
"type": [
"null",
"int"
]
}
]
}
@@ -0,0 +1,63 @@
{
"name": "DisbursementDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "expectedDisbursementDate",
"type": [
"null",
"string"
]
},
{
"name": "actualDisbursementDate",
"type": [
"null",
"string"
]
},
{
"name": "principal",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "netDisbursalAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "loanChargeId",
"type": [
"null",
"string"
]
},
{
"name": "chargeAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "waivedChargeAmount",
"type": [
"null",
"bigdecimal"
]
}
]
}
@@ -0,0 +1,28 @@
{
"name": "EnumOptionDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "value",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,91 @@
{
"name": "GLAccountDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "parentId",
"type": [
"null",
"long"
]
},
{
"name": "glCode",
"type": [
"null",
"string"
]
},
{
"name": "disabled",
"type": [
"null",
"boolean"
]
},
{
"name": "manualEntriesAllowed",
"type": [
"null",
"boolean"
]
},
{
"name": "type",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "usage",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "nameDecorated",
"type": [
"null",
"string"
]
},
{
"name": "tagId",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CodeValueDataV1"
]
},
{
"name": "organizationRunningBalance",
"type": [
"null",
"long"
]
}
]
}
@@ -0,0 +1,139 @@
{
"name": "GroupGeneralDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "activationDate",
"type": [
"null",
"string"
]
},
{
"name": "officeId",
"type": [
"null",
"long"
]
},
{
"name": "officeName",
"type": [
"null",
"string"
]
},
{
"name": "centerId",
"type": [
"null",
"long"
]
},
{
"name": "centerName",
"type": [
"null",
"string"
]
},
{
"name": "staffId",
"type": [
"null",
"long"
]
},
{
"name": "staffName",
"type": [
"null",
"string"
]
},
{
"name": "hierarchy",
"type": [
"null",
"string"
]
},
{
"name": "groupLevel",
"type": [
"null",
"string"
]
},
{
"name": "groupRoles",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.GroupRoleDataV1"
}
]
},
{
"name": "calendarsData",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.CalendarDataV1"
}
]
},
{
"name": "collectionMeetingCalendar",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CalendarDataV1"
]
}
]
}
@@ -0,0 +1,35 @@
{
"name": "GroupRoleDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "code",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CodeValueDataV1"
]
},
{
"name": "clientId",
"type": [
"null",
"long"
]
},
{
"name": "clientName",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,112 @@
{
"name": "LoanAccountSummaryDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "parentAccountNumber",
"type": [
"null",
"string"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "productId",
"type": [
"null",
"long"
]
},
{
"name": "productName",
"type": [
"null",
"string"
]
},
{
"name": "shortProductName",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanStatusEnumDataV1"
]
},
{
"name": "loanType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "loanCycle",
"type": [
"null",
"int"
]
},
{
"name": "timeline",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanApplicationTimelineV1"
]
},
{
"name": "inArrears",
"type": [
"null",
"boolean"
]
},
{
"name": "originalLoan",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "loanBalance",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountPaid",
"type": [
"null",
"bigdecimal"
]
}
]
}
@@ -0,0 +1,217 @@
{
"name": "LoanApplicationTimelineV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "submittedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "submittedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "submittedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "submittedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "rejectedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "rejectedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "rejectedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "rejectedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "withdrawnOnDate",
"type": [
"null",
"string"
]
},
{
"name": "withdrawnByUsername",
"type": [
"null",
"string"
]
},
{
"name": "withdrawnByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "withdrawnByLastname",
"type": [
"null",
"string"
]
},
{
"name": "approvedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "approvedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "approvedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "approvedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "expectedDisbursementDate",
"type": [
"null",
"string"
]
},
{
"name": "actualDisbursementDate",
"type": [
"null",
"string"
]
},
{
"name": "disbursedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "disbursedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "disbursedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "closedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "closedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "closedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "closedByLastname",
"type": [
"null",
"string"
]
},
{
"name": "expectedMaturityDate",
"type": [
"null",
"string"
]
},
{
"name": "writeOffOnDate",
"type": [
"null",
"string"
]
},
{
"name": "writeOffByUsername",
"type": [
"null",
"string"
]
},
{
"name": "writeOffByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "writeOffByLastname",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,206 @@
{
"name": "LoanChargeDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "chargeId",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "chargeTimeType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "dueDate",
"type": [
"null",
"string"
]
},
{
"name": "chargeCalculationType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "percentage",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountPercentageAppliedTo",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "amount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountOrPercentage",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "chargeOptions",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.ChargeDataV1"
}
]
},
{
"name": "penalty",
"type": [
"null",
"boolean"
]
},
{
"name": "chargePaymentMode",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "paid",
"type": [
"null",
"boolean"
]
},
{
"name": "waived",
"type": [
"null",
"boolean"
]
},
{
"name": "chargePayable",
"type": [
"null",
"boolean"
]
},
{
"name": "loanId",
"type": [
"null",
"long"
]
},
{
"name": "minCap",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "maxCap",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "installmentChargeData",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanInstallmentChargeDataV1"
]
},
{
"name": "amountAccrued",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountUnrecognized",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,49 @@
{
"name": "LoanChargePaidByDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "amount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "installmentNumber",
"type": [
"null",
"int"
]
},
{
"name": "chargeId",
"type": [
"null",
"long"
]
},
{
"name": "transactionId",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,630 @@
{
"name": "LoanEventV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanStatusEnumDataV1"
]
},
{
"name": "subStatus",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "clientId",
"type": [
"null",
"long"
]
},
{
"name": "clientAccountNo",
"type": [
"null",
"string"
]
},
{
"name": "clientName",
"type": [
"null",
"string"
]
},
{
"name": "clientOfficeId",
"type": [
"null",
"long"
]
},
{
"name": "loanProductId",
"type": [
"null",
"long"
]
},
{
"name": "loanProductName",
"type": [
"null",
"string"
]
},
{
"name": "loanProductDescription",
"type": [
"null",
"string"
]
},
{
"name": "isLoanProductLinkedToFloatingRate",
"type": [
"null",
"boolean"
]
},
{
"name": "fundId",
"type": [
"null",
"long"
]
},
{
"name": "fundName",
"type": [
"null",
"string"
]
},
{
"name": "loanPurposeId",
"type": [
"null",
"long"
]
},
{
"name": "loanPurposeName",
"type": [
"null",
"string"
]
},
{
"name": "loanOfficerId",
"type": [
"null",
"long"
]
},
{
"name": "loanOfficerName",
"type": [
"null",
"string"
]
},
{
"name": "loanType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "principal",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "approvedPrincipal",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "proposedPrincipal",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "netDisbursalAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "termFrequency",
"type": [
"null",
"int"
]
},
{
"name": "termPeriodFrequencyType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "numberOfRepayments",
"type": [
"null",
"int"
]
},
{
"name": "repaymentEvery",
"type": [
"null",
"int"
]
},
{
"name": "repaymentFrequencyType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "repaymentFrequencyNthDayType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "repaymentFrequencyDayOfWeekType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "interestRatePerPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestRateFrequencyType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "annualInterestRate",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "isFloatingInterestRate",
"type": [
"null",
"boolean"
]
},
{
"name": "interestRateDifferential",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amortizationType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "interestType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "interestCalculationPeriodType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "allowPartialPeriodInterestCalculation",
"type": [
"null",
"boolean"
]
},
{
"name": "inArrearsTolerance",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "transactionProcessingStrategyId",
"type": [
"null",
"long"
]
},
{
"name": "transactionProcessingStrategyName",
"type": [
"null",
"string"
]
},
{
"name": "graceOnPrincipalPayment",
"type": [
"null",
"int"
]
},
{
"name": "recurringMoratoriumOnPrincipalPeriods",
"type": [
"null",
"int"
]
},
{
"name": "graceOnInterestPayment",
"type": [
"null",
"int"
]
},
{
"name": "graceOnInterestCharged",
"type": [
"null",
"int"
]
},
{
"name": "graceOnArrearsAgeing",
"type": [
"null",
"int"
]
},
{
"name": "interestChargedFromDate",
"type": [
"null",
"string"
]
},
{
"name": "expectedFirstRepaymentOnDate",
"type": [
"null",
"string"
]
},
{
"name": "syncDisbursementWithMeeting",
"type": [
"null",
"boolean"
]
},
{
"name": "timeline",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "summary",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanSummaryDataV1"
]
},
{
"name": "repaymentSchedule",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanScheduleDataV1"
]
},
{
"name": "transactions",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.LoanTransactionDataV1"
}
]
},
{
"name": "charges",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.LoanChargeDataV1"
}
]
},
{
"name": "meeting",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CalendarDataV1"
]
},
{
"name": "disbursementDetails",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.DisbursementDataV1"
}
]
},
{
"name": "originalSchedule",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanScheduleDataV1"
]
},
{
"name": "totalOverpaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "loanCounter",
"type": [
"null",
"int"
]
},
{
"name": "loanProductCounter",
"type": [
"null",
"int"
]
},
{
"name": "linkedAccount",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
]
},
{
"name": "accountLinkingOptions",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
}
]
},
{
"name": "multiDisburseLoan",
"type": [
"null",
"boolean"
]
},
{
"name": "canDefineInstallmentAmount",
"type": [
"null",
"boolean"
]
},
{
"name": "fixedEmiAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "maxOutstandingLoanBalance",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "canDisburse",
"type": [
"null",
"boolean"
]
},
{
"name": "emiAmountVariations",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.LoanTermVariationsDataV1"
}
]
},
{
"name": "clientActiveLoanOptions",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.LoanAccountSummaryDataV1"
}
]
},
{
"name": "canUseForTopup",
"type": [
"null",
"boolean"
]
},
{
"name": "isTopup",
"type": [
"null",
"boolean"
]
},
{
"name": "closureLoanId",
"type": [
"null",
"long"
]
},
{
"name": "closureLoanAccountNo",
"type": [
"null",
"string"
]
},
{
"name": "topupAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "inArrears",
"type": [
"null",
"boolean"
]
},
{
"name": "isNPA",
"type": [
"null",
"boolean"
]
},
{
"name": "overdueCharges",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.ChargeDataV1"
}
]
},
{
"name": "daysInMonthType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "daysInYearType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "isInterestRecalculationEnabled",
"type": [
"null",
"boolean"
]
},
{
"name": "interestRecalculationData",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanInterestRecalculationDataV1"
]
},
{
"name": "createStandingInstructionAtDisbursement",
"type": [
"null",
"boolean"
]
},
{
"name": "delinquent",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CollectionDataV1"
]
},
{
"name": "delinquencyRange",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.DelinquencyRangeDataV1"
]
}
]
}
@@ -0,0 +1,70 @@
{
"name": "LoanInstallmentChargeDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "installmentNumber",
"type": [
"null",
"int"
]
},
{
"name": "dueDate",
"type": [
"null",
"string"
]
},
{
"name": "amount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "paid",
"type": [
"null",
"boolean"
]
},
{
"name": "waived",
"type": [
"null",
"boolean"
]
},
{
"name": "amountAccrued",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "amountUnrecognized",
"type": [
"null",
"bigdecimal"
]
}
]
}
@@ -0,0 +1,133 @@
{
"name": "LoanInterestRecalculationDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "loanId",
"type": [
"null",
"long"
]
},
{
"name": "interestRecalculationCompoundingType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "rescheduleStrategyType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "calendarData",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CalendarDataV1"
]
},
{
"name": "recalculationRestFrequencyType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "recalculationRestFrequencyInterval",
"type": [
"null",
"int"
]
},
{
"name": "recalculationRestFrequencyNthDay",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "recalculationRestFrequencyWeekday",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "recalculationRestFrequencyOnDay",
"type": [
"null",
"int"
]
},
{
"name": "recalculationCompoundingFrequencyType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "recalculationCompoundingFrequencyInterval",
"type": [
"null",
"int"
]
},
{
"name": "recalculationCompoundingFrequencyNthDay",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "recalculationCompoundingFrequencyWeekday",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "recalculationCompoundingFrequencyOnDay",
"type": [
"null",
"int"
]
},
{
"name": "isCompoundingToBePostedAsTransaction",
"type": [
"null",
"boolean"
]
},
{
"name": "compoundingCalendarData",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CalendarDataV1"
]
},
{
"name": "allowCompoundingOnEod",
"type": [
"null",
"boolean"
]
}
]
}
@@ -0,0 +1,126 @@
{
"name": "LoanScheduleDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "loanTermInDays",
"type": [
"null",
"int"
]
},
{
"name": "totalPrincipalDisbursed",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPrincipalExpected",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPrincipalPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalInterestCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalFeeChargesCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPenaltyChargesCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalRepaymentExpected",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalRepayment",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPaidInAdvance",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPaidLate",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "periods",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.SchedulePeriodDataV1"
]
},
{
"name": "futurePeriods",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.SchedulePeriodDataV1"
]
}
]
}
@@ -0,0 +1,84 @@
{
"name": "LoanStatusEnumDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "pendingApproval",
"type": [
"null",
"boolean"
]
},
{
"name": "waitingForDisbursal",
"type": [
"null",
"boolean"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "closedObligationsMet",
"type": [
"null",
"boolean"
]
},
{
"name": "closedWrittenOff",
"type": [
"null",
"boolean"
]
},
{
"name": "closedRescheduled",
"type": [
"null",
"boolean"
]
},
{
"name": "closed",
"type": [
"null",
"boolean"
]
},
{
"name": "overpaid",
"type": [
"null",
"boolean"
]
}
]
}
@@ -0,0 +1,266 @@
{
"name": "LoanSummaryDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "principalDisbursed",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalOverdue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestOverdue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesDueAtDisbursementCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesOverdue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesCharged",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesOverdue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalExpectedRepayment",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalRepayment",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalExpectedCostOfLoan",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalCostOfLoan",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalOverdue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalRecovered",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "overdueSinceDate",
"type": [
"null",
"string"
]
},
{
"name": "writeoffReasonId",
"type": [
"null",
"long"
]
},
{
"name": "writeoffReason",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,56 @@
{
"name": "LoanTermVariationsDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "termType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
]
},
{
"name": "termVariationApplicableFrom",
"type": [
"null",
"string"
]
},
{
"name": "decimalValue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "dateValue",
"type": [
"null",
"string"
]
},
{
"name": "isSpecificToInstallment",
"type": [
"null",
"boolean"
]
},
{
"name": "isProcessed",
"type": [
"null",
"boolean"
]
}
]
}
@@ -0,0 +1,171 @@
{
"name": "LoanTransactionDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "officeId",
"type": [
"null",
"long"
]
},
{
"name": "officeName",
"type": [
"null",
"string"
]
},
{
"name": "type",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.LoanTransactionEnumDataV1"
]
},
{
"name": "date",
"type": [
"null",
"string"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "paymentDetailData",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.PaymentDetailDataV1"
]
},
{
"name": "amount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "netDisbursalAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalPortion",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestPortion",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesPortion",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesPortion",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "overpaymentPortion",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "unrecognizedIncomePortion",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "transfer",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.AccountTransferDataV1"
]
},
{
"name": "fixedEmiAmount",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "outstandingLoanBalance",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "submittedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "manuallyReversed",
"type": [
"null",
"boolean"
]
},
{
"name": "possibleNextRepaymentDate",
"type": [
"null",
"string"
]
},
{
"name": "loanChargePaidByList",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.LoanChargePaidByDataV1"
}
]
}
]
}
@@ -0,0 +1,182 @@
{
"name": "LoanTransactionEnumDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "value",
"type": [
"null",
"string"
]
},
{
"name": "disbursement",
"type": [
"null",
"boolean"
]
},
{
"name": "repaymentAtDisbursement",
"type": [
"null",
"boolean"
]
},
{
"name": "repayment",
"type": [
"null",
"boolean"
]
},
{
"name": "merchantIssuedRefund",
"type": [
"null",
"boolean"
]
},
{
"name": "payoutRefund",
"type": [
"null",
"boolean"
]
},
{
"name": "goodwillCredit",
"type": [
"null",
"boolean"
]
},
{
"name": "chargeRefund",
"type": [
"null",
"boolean"
]
},
{
"name": "contra",
"type": [
"null",
"boolean"
]
},
{
"name": "waiveInterest",
"type": [
"null",
"boolean"
]
},
{
"name": "waiveCharges",
"type": [
"null",
"boolean"
]
},
{
"name": "accrual",
"type": [
"null",
"boolean"
]
},
{
"name": "writeOff",
"type": [
"null",
"boolean"
]
},
{
"name": "recoveryRepayment",
"type": [
"null",
"boolean"
]
},
{
"name": "initiateTransfer",
"type": [
"null",
"boolean"
]
},
{
"name": "approveTransfer",
"type": [
"null",
"boolean"
]
},
{
"name": "withdrawTransfer",
"type": [
"null",
"boolean"
]
},
{
"name": "rejectTransfer",
"type": [
"null",
"boolean"
]
},
{
"name": "chargePayment",
"type": [
"null",
"boolean"
]
},
{
"name": "refund",
"type": [
"null",
"boolean"
]
},
{
"name": "refundForActiveLoans",
"type": [
"null",
"boolean"
]
},
{
"name": "creditBalanceRefund",
"type": [
"null",
"boolean"
]
},
{
"name": "chargeback",
"type": [
"null",
"boolean"
]
}
]
}
@@ -0,0 +1,73 @@
{
"name": "OfficeDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "nameDecorated",
"type": [
"null",
"string"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "openingDate",
"type": [
"null",
"string"
]
},
{
"name": "hierarchy",
"type": [
"null",
"string"
]
},
{
"name": "parentId",
"type": [
"null",
"long"
]
},
{
"name": "parentName",
"type": [
"null",
"string"
]
},
{
"name": "allowedParents",
"type": [
"null",
{
"type": "array",
"items": "org.apache.fineract.avro.loan.v1.OfficeDataV1"
}
]
}
]
}
@@ -0,0 +1,56 @@
{
"name": "PaymentDetailDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "paymentType",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.PaymentTypeDataV1"
]
},
{
"name": "accountNumber",
"type": [
"null",
"string"
]
},
{
"name": "checkNumber",
"type": [
"null",
"string"
]
},
{
"name": "routingCode",
"type": [
"null",
"string"
]
},
{
"name": "receiptNumber",
"type": [
"null",
"string"
]
},
{
"name": "bankNumber",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,42 @@
{
"name": "PaymentTypeDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "isCashPayment",
"type": [
"null",
"boolean"
]
},
{
"name": "position",
"type": [
"null",
"long"
]
}
]
}
@@ -0,0 +1,98 @@
{
"name": "PortfolioAccountDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"long"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "externalId",
"type": [
"null",
"string"
]
},
{
"name": "groupId",
"type": [
"null",
"long"
]
},
{
"name": "groupName",
"type": [
"null",
"string"
]
},
{
"name": "clientId",
"type": [
"null",
"long"
]
},
{
"name": "clientName",
"type": [
"null",
"string"
]
},
{
"name": "productId",
"type": [
"null",
"long"
]
},
{
"name": "productName",
"type": [
"null",
"string"
]
},
{
"name": "fieldOfficerId",
"type": [
"null",
"long"
]
},
{
"name": "fieldOfficerName",
"type": [
"null",
"string"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.loan.v1.CurrencyDataV1"
]
},
{
"name": "amtForTransfer",
"type": [
"null",
"bigdecimal"
]
}
]
}
@@ -0,0 +1,287 @@
{
"name": "SchedulePeriodDataV1",
"namespace": "org.apache.fineract.avro.loan.v1",
"type": "record",
"fields": [
{
"name": "period",
"type": [
"null",
"int"
]
},
{
"name": "fromDate",
"type": [
"null",
"string"
]
},
{
"name": "dueDate",
"type": [
"null",
"string"
]
},
{
"name": "obligationsMetOnDate",
"type": [
"null",
"string"
]
},
{
"name": "complete",
"type": [
"null",
"boolean"
]
},
{
"name": "daysInPeriod",
"type": [
"null",
"int"
]
},
{
"name": "principalDisbursed",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalOriginalDue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalDue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "principalLoanBalanceOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestOriginalDue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestDue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "interestOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesDue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "feeChargesOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesDue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesPaid",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesWaived",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesWrittenOff",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "penaltyChargesOutstanding",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalOriginalDueForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalDueForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPaidForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPaidInAdvanceForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalPaidLateForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalWaivedForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalWrittenOffForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalOutstandingForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalOverdue",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalActualCostOfLoanForPeriod",
"type": [
"null",
"bigdecimal"
]
},
{
"name": "totalInstallmentAmountForPeriod",
"type": [
"null",
"bigdecimal"
]
}
]
}
@@ -0,0 +1,6 @@
{
"logicalType": "decimal",
"precision": 20,
"scale": 8,
"type": "bytes"
}
@@ -64,6 +64,7 @@ public final class ChargeData implements Comparable<ChargeData>, Serializable {
private final GLAccountData incomeOrLiabilityAccount;
private final TaxGroupData taxGroup;
// template attributes
private final Collection<CurrencyData> currencyOptions;
private final List<EnumOptionData> chargeCalculationTypeOptions;//
private final List<EnumOptionData> chargeAppliesToOptions;//