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

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

commit f620a469e85f39eae88f32d1438bb4e069a76ab7
Author: Arnold Galovics <[email protected]>
AuthorDate: Tue Aug 30 11:17:36 2022 +0200

    FINERACT-1694: Fixed Deposit event Avro schemas
---
 .../src/main/avro/{generic/v1 => }/MessageV1.avsc  |   0
 .../v1/ClientCollateralManagementV1.avsc           |   2 +-
 .../avro/{loan => client}/v1/ClientDataV1.avsc     |  20 +-
 .../src/main/avro/client/v1/ClientEventV1.avsc     |  63 ----
 .../main/avro/client/v1/ClientEventV1Status.avsc   |  28 --
 .../{loan => client}/v1/ClientTimelineDataV1.avsc  |   2 +-
 .../fixeddeposit/v1/FixedDepositAccountDataV1.avsc | 356 +++++++++++++++++++++
 .../v1/FixedDepositAccountEventV1Currency.avsc     |  56 ----
 ...epositAccountEventV1DepositPeriodFrequency.avsc |  28 --
 ...ntEventV1InterestCalculationDaysInYearType.avsc |  21 --
 ...positAccountEventV1InterestCalculationType.avsc |  28 --
 ...ccountEventV1InterestCompoundingPeriodType.avsc |  28 --
 ...sitAccountEventV1InterestPostingPeriodType.avsc |  28 --
 ...xedDepositAccountEventV1MaxDepositTermType.avsc |  28 --
 ...xedDepositAccountEventV1MinDepositTermType.avsc |  28 --
 .../v1/FixedDepositAccountEventV1Summary.avsc      |  28 --
 .../v1/FixedDepositAccountEventV1Timeline.avsc     |  35 --
 .../avro/{loan => generic}/v1/CalendarDataV1.avsc  |  14 +-
 .../avro/{loan => generic}/v1/CodeValueDataV1.avsc |   2 +-
 .../avro/{loan => generic}/v1/CurrencyDataV1.avsc  |   2 +-
 .../{loan => generic}/v1/EnumOptionDataV1.avsc     |   2 +-
 .../main/avro/{loan => gl}/v1/GLAccountDataV1.avsc |   8 +-
 .../{loan => group}/v1/GroupGeneralDataV1.avsc     |  10 +-
 .../avro/{loan => group}/v1/GroupRoleDataV1.avsc   |   4 +-
 .../{LoanEventV1.avsc => LoanAccountDataV1.avsc}   |  36 +--
 .../avro/loan/v1/LoanAccountSummaryDataV1.avsc     |   2 +-
 .../src/main/avro/loan/v1/LoanChargeDataV1.avsc    |  10 +-
 .../loan/v1/LoanInterestRecalculationDataV1.avsc   |  20 +-
 .../src/main/avro/loan/v1/LoanScheduleDataV1.avsc  |   6 +-
 ...odDataV1.avsc => LoanSchedulePeriodDataV1.avsc} |   2 +-
 .../src/main/avro/loan/v1/LoanSummaryDataV1.avsc   |   2 +-
 .../avro/loan/v1/LoanTermVariationsDataV1.avsc     |   2 +-
 .../main/avro/loan/v1/LoanTransactionDataV1.avsc   |   6 +-
 .../avro/{loan => office}/v1/OfficeDataV1.avsc     |   4 +-
 .../{loan => payment}/v1/PaymentDetailDataV1.avsc  |   4 +-
 .../{loan => payment}/v1/PaymentTypeDataV1.avsc    |   2 +-
 .../avro/{loan => portfolio}/v1/ChargeDataV1.avsc  |  18 +-
 .../v1/PortfolioAccountDataV1.avsc                 |   4 +-
 .../v1/AccountTransferDataV1.avsc                  |  20 +-
 .../SavingsAccountApplicationTimelineDataV1.avsc}  |  96 +++---
 .../v1/SavingsAccountChargeDataV1.avsc}            | 102 +++---
 .../v1/SavingsAccountChargesPaidByDataV1.avsc      |  28 ++
 .../v1/SavingsAccountStatusEnumDataV1.avsc}        |  13 +-
 .../v1/SavingsAccountSummaryDataV1.avsc}           |  46 +--
 .../v1/SavingsAccountTransactionDataV1.avsc}       |  72 ++---
 .../v1/SavingsAccountTransactionEnumDataV1.avsc}   |  79 ++---
 46 files changed, 696 insertions(+), 699 deletions(-)

diff --git a/fineract-avro-schemas/src/main/avro/generic/v1/MessageV1.avsc 
b/fineract-avro-schemas/src/main/avro/MessageV1.avsc
similarity index 100%
rename from fineract-avro-schemas/src/main/avro/generic/v1/MessageV1.avsc
rename to fineract-avro-schemas/src/main/avro/MessageV1.avsc
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/ClientCollateralManagementV1.avsc 
b/fineract-avro-schemas/src/main/avro/client/v1/ClientCollateralManagementV1.avsc
similarity index 95%
rename from 
fineract-avro-schemas/src/main/avro/loan/v1/ClientCollateralManagementV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/client/v1/ClientCollateralManagementV1.avsc
index c0b7813e9..acd66ac7d 100644
--- 
a/fineract-avro-schemas/src/main/avro/loan/v1/ClientCollateralManagementV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/client/v1/ClientCollateralManagementV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "ClientCollateralManagementDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.client.v1",
     "type": "record",
     "fields": [
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/ClientDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/client/v1/ClientDataV1.avsc
similarity index 86%
rename from fineract-avro-schemas/src/main/avro/loan/v1/ClientDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/client/v1/ClientDataV1.avsc
index 5c942a146..f9e6c3378 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/ClientDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/client/v1/ClientDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "ClientDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.client.v1",
     "type": "record",
     "fields": [
         {
@@ -28,14 +28,14 @@
             "name": "status",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "subStatus",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CodeValueDataV1"
+                "org.apache.fineract.avro.generic.v1.CodeValueDataV1"
             ]
         },
         {
@@ -112,21 +112,21 @@
             "name": "gender",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CodeValueDataV1"
+                "org.apache.fineract.avro.generic.v1.CodeValueDataV1"
             ]
         },
         {
             "name": "clientType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CodeValueDataV1"
+                "org.apache.fineract.avro.generic.v1.CodeValueDataV1"
             ]
         },
         {
             "name": "clientClassification",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CodeValueDataV1"
+                "org.apache.fineract.avro.generic.v1.CodeValueDataV1"
             ]
         },
         {
@@ -196,7 +196,7 @@
             "name": "timeline",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.ClientTimelineDataV1"
+                "org.apache.fineract.avro.client.v1.ClientTimelineDataV1"
             ]
         },
         {
@@ -224,7 +224,7 @@
             "name": "legalForm",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -233,7 +233,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": 
"org.apache.fineract.avro.loan.v1.ClientCollateralManagementDataV1"
+                    "items": 
"org.apache.fineract.avro.client.v1.ClientCollateralManagementDataV1"
                 }
             ]
         },
@@ -243,7 +243,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": 
"org.apache.fineract.avro.loan.v1.GroupGeneralDataV1"
+                    "items": 
"org.apache.fineract.avro.group.v1.GroupGeneralDataV1"
                 }
             ]
         }
diff --git a/fineract-avro-schemas/src/main/avro/client/v1/ClientEventV1.avsc 
b/fineract-avro-schemas/src/main/avro/client/v1/ClientEventV1.avsc
deleted file mode 100644
index 4366ad599..000000000
--- a/fineract-avro-schemas/src/main/avro/client/v1/ClientEventV1.avsc
+++ /dev/null
@@ -1,63 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/client/v1/ClientEventV1Status.avsc 
b/fineract-avro-schemas/src/main/avro/client/v1/ClientEventV1Status.avsc
deleted file mode 100644
index 2b443cf56..000000000
--- a/fineract-avro-schemas/src/main/avro/client/v1/ClientEventV1Status.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/ClientTimelineDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/client/v1/ClientTimelineDataV1.avsc
similarity index 97%
rename from 
fineract-avro-schemas/src/main/avro/loan/v1/ClientTimelineDataV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/client/v1/ClientTimelineDataV1.avsc
index 263c76d4b..96961cce1 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/ClientTimelineDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/client/v1/ClientTimelineDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "ClientTimelineDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.client.v1",
     "type": "record",
     "fields": [
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountDataV1.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountDataV1.avsc
new file mode 100644
index 000000000..453c267c8
--- /dev/null
+++ 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountDataV1.avsc
@@ -0,0 +1,356 @@
+{
+    "name": "FixedDepositAccountDataV1",
+    "namespace": "org.apache.fineract.avro.fixeddeposit.v1",
+    "type": "record",
+    "fields": [
+        {
+            "name": "id",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "accountNo",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
+        {
+            "name": "externalId",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
+        {
+            "name": "groupId",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "groupName",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
+        {
+            "name": "clientId",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "clientName",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
+        {
+            "name": "depositProductId",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "depositProductName",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
+        {
+            "name": "fieldOfficerId",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "fieldOfficerName",
+            "type": [
+                "null",
+                "string"
+            ]
+        },
+        {
+            "name": "status",
+            "type": [
+                "null",
+                
"org.apache.fineract.avro.savings.v1.SavingsAccountStatusEnumDataV1"
+            ]
+        },
+        {
+            "name": "timeline",
+            "type": [
+                "null",
+                
"org.apache.fineract.avro.savings.v1.SavingsAccountApplicationTimelineDataV1"
+            ]
+        },
+        {
+            "name": "currency",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
+            ]
+        },
+        {
+            "name": "nominalAnnualInterestRate",
+            "type": [
+                "null",
+                "bigdecimal"
+            ]
+        },
+        {
+            "name": "interestCompoundingPeriodType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "interestPostingPeriodType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "interestCalculationType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "interestCalculationDaysInYearType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "minRequiredOpeningBalance",
+            "type": [
+                "null",
+                "bigdecimal"
+            ]
+        },
+        {
+            "name": "lockinPeriodFrequency",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "lockinPeriodFrequencyType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "withdrawalFeeForTransfers",
+            "type": [
+                "null",
+                "boolean"
+            ]
+        },
+        {
+            "name": "depositType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "minBalanceForInterestCalculation",
+            "type": [
+                "null",
+                "bigdecimal"
+            ]
+        },
+        {
+            "name": "withHoldTax",
+            "type": [
+                "null",
+                "boolean"
+            ]
+        },
+        {
+            "name": "summary",
+            "type": [
+                "null",
+                
"org.apache.fineract.avro.savings.v1.SavingsAccountSummaryDataV1"
+            ]
+        },
+        {
+            "name": "transactions",
+            "type": [
+                "null",
+                {
+                    "type": "array",
+                    "items": 
"org.apache.fineract.avro.savings.v1.SavingsAccountTransactionDataV1"
+                }
+            ]
+        },
+        {
+            "name": "charges",
+            "type": [
+                "null",
+                {
+                    "type": "array",
+                    "items": 
"org.apache.fineract.avro.savings.v1.SavingsAccountChargeDataV1"
+                }
+            ]
+        },
+        {
+            "name": "preClosurePenalApplicable",
+            "type": [
+                "null",
+                "boolean"
+            ]
+        },
+        {
+            "name": "preClosurePenalInterest",
+            "type": [
+                "null",
+                "bigdecimal"
+            ]
+        },
+        {
+            "name": "preClosurePenalInterestOnType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "minDepositTerm",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "maxDepositTerm",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "minDepositTermType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "maxDepositTermType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "inMultiplesOfDepositTerm",
+            "type": [
+                "null",
+                "int"
+            ]
+        },
+        {
+            "name": "inMultiplesOfDepositTermType",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "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.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "activationCharge",
+            "type": [
+                "null",
+                "bigdecimal"
+            ]
+        },
+        {
+            "name": "transferToSavingsId",
+            "type": [
+                "null",
+                "long"
+            ]
+        },
+        {
+            "name": "onAccountClosure",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
+            ]
+        },
+        {
+            "name": "linkedAccount",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.portfolio.v1.PortfolioAccountDataV1"
+            ]
+        },
+        {
+            "name": "transferInterestToSavings",
+            "type": [
+                "null",
+                "boolean"
+            ]
+        },
+        {
+            "name": "transferToSavingsAccount",
+            "type": [
+                "null",
+                "org.apache.fineract.avro.portfolio.v1.PortfolioAccountDataV1"
+            ]
+        }
+    ]
+}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Currency.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Currency.avsc
deleted file mode 100644
index 5803ecaa4..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Currency.avsc
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1DepositPeriodFrequency.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1DepositPeriodFrequency.avsc
deleted file mode 100644
index f77a86d96..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1DepositPeriodFrequency.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCalculationDaysInYearType.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCalculationDaysInYearType.avsc
deleted file mode 100644
index bf3d29227..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCalculationDaysInYearType.avsc
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCalculationType.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCalculationType.avsc
deleted file mode 100644
index 49e5e885b..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCalculationType.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCompoundingPeriodType.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCompoundingPeriodType.avsc
deleted file mode 100644
index 094410019..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestCompoundingPeriodType.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestPostingPeriodType.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestPostingPeriodType.avsc
deleted file mode 100644
index 548356bd5..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1InterestPostingPeriodType.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1MaxDepositTermType.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1MaxDepositTermType.avsc
deleted file mode 100644
index 9a815a0cd..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1MaxDepositTermType.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1MinDepositTermType.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1MinDepositTermType.avsc
deleted file mode 100644
index c6a172207..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1MinDepositTermType.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Summary.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Summary.avsc
deleted file mode 100644
index 65700e43f..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Summary.avsc
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Timeline.avsc
 
b/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Timeline.avsc
deleted file mode 100644
index 626baed86..000000000
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Timeline.avsc
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "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"
-            ]
-        }
-    ]
-}
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/CalendarDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/generic/v1/CalendarDataV1.avsc
similarity index 90%
rename from fineract-avro-schemas/src/main/avro/loan/v1/CalendarDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/generic/v1/CalendarDataV1.avsc
index f47b9bc5a..6bf5d4bac 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/CalendarDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/generic/v1/CalendarDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "CalendarDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.generic.v1",
     "type": "record",
     "fields": [
         {
@@ -28,7 +28,7 @@
             "name": "entityType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -84,7 +84,7 @@
             "name": "type",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -105,7 +105,7 @@
             "name": "frequency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -119,21 +119,21 @@
             "name": "repeatsOnDay",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "repeatsOnNthDayOfMonth",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "remindBy",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/CodeValueDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/generic/v1/CodeValueDataV1.avsc
similarity index 94%
rename from fineract-avro-schemas/src/main/avro/loan/v1/CodeValueDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/generic/v1/CodeValueDataV1.avsc
index d04246f34..71bc7e28d 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/CodeValueDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/generic/v1/CodeValueDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "CodeValueDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.generic.v1",
     "type": "record",
     "fields": [
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/CurrencyDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/generic/v1/CurrencyDataV1.avsc
similarity index 94%
rename from fineract-avro-schemas/src/main/avro/loan/v1/CurrencyDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/generic/v1/CurrencyDataV1.avsc
index 3371048ac..a9e53d2d3 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/CurrencyDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/generic/v1/CurrencyDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "CurrencyDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.generic.v1",
     "type": "record",
     "fields": [
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/EnumOptionDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/generic/v1/EnumOptionDataV1.avsc
similarity index 89%
rename from fineract-avro-schemas/src/main/avro/loan/v1/EnumOptionDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/generic/v1/EnumOptionDataV1.avsc
index 8186d0eb7..d12035753 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/EnumOptionDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/generic/v1/EnumOptionDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "EnumOptionDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.generic.v1",
     "type": "record",
     "fields": [
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/GLAccountDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/gl/v1/GLAccountDataV1.avsc
similarity index 86%
rename from fineract-avro-schemas/src/main/avro/loan/v1/GLAccountDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/gl/v1/GLAccountDataV1.avsc
index b9f6e86d6..737ebf257 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/GLAccountDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/gl/v1/GLAccountDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "GLAccountDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.gl.v1",
     "type": "record",
     "fields": [
         {
@@ -49,14 +49,14 @@
             "name": "type",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "usage",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -77,7 +77,7 @@
             "name": "tagId",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CodeValueDataV1"
+                "org.apache.fineract.avro.generic.v1.CodeValueDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/GroupGeneralDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/group/v1/GroupGeneralDataV1.avsc
similarity index 88%
copy from fineract-avro-schemas/src/main/avro/loan/v1/GroupGeneralDataV1.avsc
copy to fineract-avro-schemas/src/main/avro/group/v1/GroupGeneralDataV1.avsc
index ae6713264..bd2d3a6be 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/GroupGeneralDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/group/v1/GroupGeneralDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "GroupGeneralDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.group.v1",
     "type": "record",
     "fields": [
         {
@@ -35,7 +35,7 @@
             "name": "status",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -114,7 +114,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.GroupRoleDataV1"
+                    "items": 
"org.apache.fineract.avro.group.v1.GroupRoleDataV1"
                 }
             ]
         },
@@ -124,7 +124,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.CalendarDataV1"
+                    "items": 
"org.apache.fineract.avro.generic.v1.CalendarDataV1"
                 }
             ]
         },
@@ -132,7 +132,7 @@
             "name": "collectionMeetingCalendar",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CalendarDataV1"
+                "org.apache.fineract.avro.generic.v1.CalendarDataV1"
             ]
         }
     ]
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/GroupRoleDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/group/v1/GroupRoleDataV1.avsc
similarity index 82%
rename from fineract-avro-schemas/src/main/avro/loan/v1/GroupRoleDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/group/v1/GroupRoleDataV1.avsc
index fbaabe466..3e5756f3a 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/GroupRoleDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/group/v1/GroupRoleDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "GroupRoleDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.group.v1",
     "type": "record",
     "fields": [
         {
@@ -14,7 +14,7 @@
             "name": "code",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CodeValueDataV1"
+                "org.apache.fineract.avro.generic.v1.CodeValueDataV1"
             ]
         },
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanEventV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountDataV1.avsc
similarity index 91%
rename from fineract-avro-schemas/src/main/avro/loan/v1/LoanEventV1.avsc
rename to fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountDataV1.avsc
index 0b6e33068..2dcc6a49e 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanEventV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountDataV1.avsc
@@ -1,5 +1,5 @@
 {
-    "name": "LoanEventV1",
+    "name": "LoanAccountDataV1",
     "namespace": "org.apache.fineract.avro.loan.v1",
     "type": "record",
     "fields": [
@@ -35,7 +35,7 @@
             "name": "subStatus",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -140,7 +140,7 @@
             "name": "loanType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -182,7 +182,7 @@
             "name": "termPeriodFrequencyType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -203,21 +203,21 @@
             "name": "repaymentFrequencyType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "repaymentFrequencyNthDayType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "repaymentFrequencyDayOfWeekType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -231,7 +231,7 @@
             "name": "interestRateFrequencyType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -259,21 +259,21 @@
             "name": "amortizationType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "interestType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "interestCalculationPeriodType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -364,7 +364,7 @@
             "name": "timeline",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -405,7 +405,7 @@
             "name": "meeting",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CalendarDataV1"
+                "org.apache.fineract.avro.generic.v1.CalendarDataV1"
             ]
         },
         {
@@ -450,7 +450,7 @@
             "name": "linkedAccount",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
+                "org.apache.fineract.avro.portfolio.v1.PortfolioAccountDataV1"
             ]
         },
         {
@@ -459,7 +459,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": 
"org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
+                    "items": 
"org.apache.fineract.avro.portfolio.v1.PortfolioAccountDataV1"
                 }
             ]
         },
@@ -573,7 +573,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.ChargeDataV1"
+                    "items": 
"org.apache.fineract.avro.portfolio.v1.ChargeDataV1"
                 }
             ]
         },
@@ -581,14 +581,14 @@
             "name": "daysInMonthType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "daysInYearType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountSummaryDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountSummaryDataV1.avsc
index 016fc5327..746fc5dba 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountSummaryDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanAccountSummaryDataV1.avsc
@@ -63,7 +63,7 @@
             "name": "loanType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanChargeDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanChargeDataV1.avsc
index 5e24b9883..092eeef70 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanChargeDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanChargeDataV1.avsc
@@ -28,7 +28,7 @@
             "name": "chargeTimeType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -42,7 +42,7 @@
             "name": "chargeCalculationType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -63,7 +63,7 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
@@ -114,7 +114,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.ChargeDataV1"
+                    "items": 
"org.apache.fineract.avro.portfolio.v1.ChargeDataV1"
                 }
             ]
         },
@@ -129,7 +129,7 @@
             "name": "chargePaymentMode",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanInterestRecalculationDataV1.avsc
 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanInterestRecalculationDataV1.avsc
index ee4373fd4..1747c4526 100644
--- 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanInterestRecalculationDataV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanInterestRecalculationDataV1.avsc
@@ -21,28 +21,28 @@
             "name": "interestRecalculationCompoundingType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "rescheduleStrategyType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "calendarData",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CalendarDataV1"
+                "org.apache.fineract.avro.generic.v1.CalendarDataV1"
             ]
         },
         {
             "name": "recalculationRestFrequencyType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -56,14 +56,14 @@
             "name": "recalculationRestFrequencyNthDay",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "recalculationRestFrequencyWeekday",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -77,7 +77,7 @@
             "name": "recalculationCompoundingFrequencyType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -91,14 +91,14 @@
             "name": "recalculationCompoundingFrequencyNthDay",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "recalculationCompoundingFrequencyWeekday",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -119,7 +119,7 @@
             "name": "compoundingCalendarData",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CalendarDataV1"
+                "org.apache.fineract.avro.generic.v1.CalendarDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc
index 8346a95bc..73d4766a7 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc
@@ -7,7 +7,7 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
@@ -112,14 +112,14 @@
             "name": "periods",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.SchedulePeriodDataV1"
+                "org.apache.fineract.avro.loan.v1.LoanSchedulePeriodDataV1"
             ]
         },
         {
             "name": "futurePeriods",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.SchedulePeriodDataV1"
+                "org.apache.fineract.avro.loan.v1.LoanSchedulePeriodDataV1"
             ]
         }
     ]
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/SchedulePeriodDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanSchedulePeriodDataV1.avsc
similarity index 99%
rename from 
fineract-avro-schemas/src/main/avro/loan/v1/SchedulePeriodDataV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/loan/v1/LoanSchedulePeriodDataV1.avsc
index b391a6267..919d96272 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/SchedulePeriodDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanSchedulePeriodDataV1.avsc
@@ -1,5 +1,5 @@
 {
-    "name": "SchedulePeriodDataV1",
+    "name": "LoanSchedulePeriodDataV1",
     "namespace": "org.apache.fineract.avro.loan.v1",
     "type": "record",
     "fields": [
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/LoanSummaryDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanSummaryDataV1.avsc
index a2ba0822a..ac0330717 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanSummaryDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanSummaryDataV1.avsc
@@ -7,7 +7,7 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTermVariationsDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTermVariationsDataV1.avsc
index 867063c60..257ee05e4 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTermVariationsDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTermVariationsDataV1.avsc
@@ -14,7 +14,7 @@
             "name": "termType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
index 683837da6..316c3b7a4 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
@@ -42,14 +42,14 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
             "name": "paymentDetailData",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PaymentDetailDataV1"
+                "org.apache.fineract.avro.payment.v1.PaymentDetailDataV1"
             ]
         },
         {
@@ -119,7 +119,7 @@
             "name": "transfer",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.AccountTransferDataV1"
+                "org.apache.fineract.avro.savings.v1.AccountTransferDataV1"
             ]
         },
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/OfficeDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/office/v1/OfficeDataV1.avsc
similarity index 91%
rename from fineract-avro-schemas/src/main/avro/loan/v1/OfficeDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/office/v1/OfficeDataV1.avsc
index 350056d9c..064c1db44 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/OfficeDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/office/v1/OfficeDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "OfficeDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.office.v1",
     "type": "record",
     "fields": [
         {
@@ -65,7 +65,7 @@
                 "null",
                 {
                     "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.OfficeDataV1"
+                    "items": "org.apache.fineract.avro.office.v1.OfficeDataV1"
                 }
             ]
         }
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/PaymentDetailDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/payment/v1/PaymentDetailDataV1.avsc
similarity index 89%
rename from fineract-avro-schemas/src/main/avro/loan/v1/PaymentDetailDataV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/payment/v1/PaymentDetailDataV1.avsc
index ddabc8ea8..f4c8ae6df 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/PaymentDetailDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/payment/v1/PaymentDetailDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "PaymentDetailDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.payment.v1",
     "type": "record",
     "fields": [
         {
@@ -14,7 +14,7 @@
             "name": "paymentType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PaymentTypeDataV1"
+                "org.apache.fineract.avro.payment.v1.PaymentTypeDataV1"
             ]
         },
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/PaymentTypeDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/payment/v1/PaymentTypeDataV1.avsc
similarity index 93%
rename from fineract-avro-schemas/src/main/avro/loan/v1/PaymentTypeDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/payment/v1/PaymentTypeDataV1.avsc
index 3387f36f8..54f76f302 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/PaymentTypeDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/payment/v1/PaymentTypeDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "PaymentTypeDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.payment.v1",
     "type": "record",
     "fields": [
         {
diff --git a/fineract-avro-schemas/src/main/avro/loan/v1/ChargeDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/portfolio/v1/ChargeDataV1.avsc
similarity index 83%
rename from fineract-avro-schemas/src/main/avro/loan/v1/ChargeDataV1.avsc
rename to fineract-avro-schemas/src/main/avro/portfolio/v1/ChargeDataV1.avsc
index 715ad3090..7b280b597 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/ChargeDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/portfolio/v1/ChargeDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "ChargeDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.portfolio.v1",
     "type": "record",
     "fields": [
         {
@@ -70,14 +70,14 @@
             "name": "paymentTypeOptions",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PaymentTypeDataV1"
+                "org.apache.fineract.avro.payment.v1.PaymentTypeDataV1"
             ]
         },
         {
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
@@ -91,28 +91,28 @@
             "name": "chargeTimeType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "chargeAppliesTo",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "chargeCalculationType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "chargePaymentMode",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
@@ -147,14 +147,14 @@
             "name": "feeFrequency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "incomeOrLiabilityAccount",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.GLAccountDataV1"
+                "org.apache.fineract.avro.gl.v1.GLAccountDataV1"
             ]
         }
     ]
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/PortfolioAccountDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/portfolio/v1/PortfolioAccountDataV1.avsc
similarity index 93%
rename from 
fineract-avro-schemas/src/main/avro/loan/v1/PortfolioAccountDataV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/portfolio/v1/PortfolioAccountDataV1.avsc
index adfa8c07e..d93348d1f 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/PortfolioAccountDataV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/portfolio/v1/PortfolioAccountDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "PortfolioAccountDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.portfolio.v1",
     "type": "record",
     "fields": [
         {
@@ -84,7 +84,7 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/AccountTransferDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/savings/v1/AccountTransferDataV1.avsc
similarity index 72%
rename from 
fineract-avro-schemas/src/main/avro/loan/v1/AccountTransferDataV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/savings/v1/AccountTransferDataV1.avsc
index 38f577042..748199306 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/AccountTransferDataV1.avsc
+++ b/fineract-avro-schemas/src/main/avro/savings/v1/AccountTransferDataV1.avsc
@@ -1,6 +1,6 @@
 {
     "name": "AccountTransferDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
@@ -21,7 +21,7 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
@@ -49,56 +49,56 @@
             "name": "fromOffice",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.OfficeDataV1"
+                "org.apache.fineract.avro.office.v1.OfficeDataV1"
             ]
         },
         {
             "name": "fromClient",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.ClientDataV1"
+                "org.apache.fineract.avro.client.v1.ClientDataV1"
             ]
         },
         {
             "name": "fromAccountType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "fromAccount",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
+                "org.apache.fineract.avro.portfolio.v1.PortfolioAccountDataV1"
             ]
         },
         {
             "name": "toOffice",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.OfficeDataV1"
+                "org.apache.fineract.avro.office.v1.OfficeDataV1"
             ]
         },
         {
             "name": "toClient",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.ClientDataV1"
+                "org.apache.fineract.avro.client.v1.ClientDataV1"
             ]
         },
         {
             "name": "toAccountType",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
             "name": "toAccount",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PortfolioAccountDataV1"
+                "org.apache.fineract.avro.portfolio.v1.PortfolioAccountDataV1"
             ]
         }
     ]
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountApplicationTimelineDataV1.avsc
similarity index 54%
copy from fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
copy to 
fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountApplicationTimelineDataV1.avsc
index 683837da6..8cf070280 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountApplicationTimelineDataV1.avsc
@@ -1,170 +1,174 @@
 {
-    "name": "LoanTransactionDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "name": "SavingsAccountApplicationTimelineDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
-            "name": "id",
+            "name": "submittedOnDate",
             "type": [
                 "null",
-                "long"
+                "string"
             ]
         },
         {
-            "name": "officeId",
+            "name": "submittedByUsername",
             "type": [
                 "null",
-                "long"
+                "string"
             ]
         },
         {
-            "name": "officeName",
+            "name": "submittedByFirstname",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "type",
+            "name": "submittedByLastname",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.LoanTransactionEnumDataV1"
+                "string"
             ]
         },
         {
-            "name": "date",
+            "name": "rejectedOnDate",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "currency",
+            "name": "rejectedByUsername",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "string"
             ]
         },
         {
-            "name": "paymentDetailData",
+            "name": "rejectedByFirstname",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PaymentDetailDataV1"
+                "string"
             ]
         },
         {
-            "name": "amount",
+            "name": "rejectedByLastname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
+            ]
+        },
+        {
+            "name": "withdrawnOnDate",
+            "type": [
+                "null",
+                "string"
             ]
         },
         {
-            "name": "netDisbursalAmount",
+            "name": "withdrawnByUsername",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "principalPortion",
+            "name": "withdrawnByFirstname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "interestPortion",
+            "name": "withdrawnByLastname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "feeChargesPortion",
+            "name": "approvedOnDate",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "penaltyChargesPortion",
+            "name": "approvedByUsername",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "overpaymentPortion",
+            "name": "approvedByFirstname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "unrecognizedIncomePortion",
+            "name": "approvedByLastname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "externalId",
+            "name": "activatedOnDate",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "transfer",
+            "name": "activatedByUsername",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.AccountTransferDataV1"
+                "string"
             ]
         },
         {
-            "name": "fixedEmiAmount",
+            "name": "activatedByFirstname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "outstandingLoanBalance",
+            "name": "activatedByLastname",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "submittedOnDate",
+            "name": "closedOnDate",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "manuallyReversed",
+            "name": "closedByUsername",
             "type": [
                 "null",
-                "boolean"
+                "string"
             ]
         },
         {
-            "name": "possibleNextRepaymentDate",
+            "name": "closedByFirstname",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "loanChargePaidByList",
+            "name": "closedByLastname",
             "type": [
                 "null",
-                {
-                    "type": "array",
-                    "items": 
"org.apache.fineract.avro.loan.v1.LoanChargePaidByDataV1"
-                }
+                "string"
             ]
         }
     ]
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1.avsc
 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountChargeDataV1.avsc
similarity index 51%
rename from 
fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountChargeDataV1.avsc
index b8dab6fbe..8639f57a1 100644
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountChargeDataV1.avsc
@@ -1,188 +1,188 @@
 {
-    "name": "FixedDepositAccountEventV1",
-    "namespace": "org.apache.fineract.avro.fixeddeposit.v1",
+    "name": "SavingsAccountChargeDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
             "name": "id",
             "type": [
                 "null",
-                "int"
+                "long"
             ]
         },
         {
-            "name": "accountNo",
+            "name": "chargeId",
             "type": [
                 "null",
-                "string"
+                "long"
             ]
         },
         {
-            "name": "clientId",
+            "name": "accountId",
             "type": [
                 "null",
-                "int"
+                "long"
             ]
         },
         {
-            "name": "clientName",
+            "name": "name",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "savingsProductId",
+            "name": "chargeTimeType",
             "type": [
                 "null",
-                "int"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
-            "name": "savingsProductName",
+            "name": "dueDate",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "fieldOfficerId",
+            "name": "feeOnMonthDay",
             "type": [
                 "null",
-                "int"
+                "string"
             ]
         },
         {
-            "name": "status",
+            "name": "feeInterval",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Status"
+                "int"
             ]
         },
         {
-            "name": "timeline",
+            "name": "chargeCalculationType",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Timeline"
+                "org.apache.fineract.avro.generic.v1.EnumOptionDataV1"
             ]
         },
         {
-            "name": "currency",
+            "name": "percentage",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
+                "bigdecimal"
             ]
         },
         {
-            "name": "interestCompoundingPeriodType",
+            "name": "amountPercentageAppliedTo",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCompoundingPeriodType"
+                "bigdecimal"
             ]
         },
         {
-            "name": "interestPostingPeriodType",
+            "name": "currency",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestPostingPeriodType"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
-            "name": "interestCalculationType",
+            "name": "amount",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationType"
+                "bigdecimal"
             ]
         },
         {
-            "name": "interestCalculationDaysInYearType",
+            "name": "amountPaid",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationDaysInYearType"
+                "bigdecimal"
             ]
         },
         {
-            "name": "summary",
+            "name": "amountWaived",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Summary"
+                "bigdecimal"
             ]
         },
         {
-            "name": "interestFreePeriodApplicable",
+            "name": "amountWrittenOff",
             "type": [
                 "null",
-                "boolean"
+                "bigdecimal"
             ]
         },
         {
-            "name": "preClosurePenalApplicable",
+            "name": "amountOutstanding",
             "type": [
                 "null",
-                "boolean"
+                "bigdecimal"
             ]
         },
         {
-            "name": "minDepositTerm",
+            "name": "amountOrPercentage",
             "type": [
                 "null",
-                "int"
+                "bigdecimal"
             ]
         },
         {
-            "name": "maxDepositTerm",
+            "name": "penalty",
             "type": [
                 "null",
-                "int"
+                "boolean"
             ]
         },
         {
-            "name": "minDepositTermType",
+            "name": "isActive",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MinDepositTermType"
+                "boolean"
             ]
         },
         {
-            "name": "maxDepositTermType",
+            "name": "isFreeWithdrawal",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MaxDepositTermType"
+                "boolean"
             ]
         },
         {
-            "name": "depositAmount",
+            "name": "freeWithdrawalChargeFrequency",
             "type": [
                 "null",
-                "float"
+                "int"
             ]
         },
         {
-            "name": "maturityAmount",
+            "name": "restartFrequency",
             "type": [
                 "null",
-                "float"
+                "int"
             ]
         },
         {
-            "name": "maturityDate",
+            "name": "restartFrequencyEnum",
             "type": [
                 "null",
-                "string"
+                "int"
             ]
         },
         {
-            "name": "depositPeriod",
+            "name": "inactivationDate",
             "type": [
                 "null",
-                "int"
+                "string"
             ]
         },
         {
-            "name": "depositPeriodFrequency",
+            "name": "chargeData",
             "type": [
                 "null",
-                
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1DepositPeriodFrequency"
+                "org.apache.fineract.avro.portfolio.v1.ChargeDataV1"
             ]
         }
     ]
diff --git 
a/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountChargesPaidByDataV1.avsc
 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountChargesPaidByDataV1.avsc
new file mode 100644
index 000000000..c3943aa17
--- /dev/null
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountChargesPaidByDataV1.avsc
@@ -0,0 +1,28 @@
+{
+    "name": "SavingsAccountChargesPaidByDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
+    "type": "record",
+    "fields": [
+        {
+            "name": "chargeId",
+            "type": [
+                "null",
+                "long"
+            ]
+        },
+        {
+            "name": "amount",
+            "type": [
+                "null",
+                "bigdecimal"
+            ]
+        },
+        {
+            "name": "savingsAccountChargeData",
+            "type": [
+                "null",
+                
"org.apache.fineract.avro.savings.v1.SavingsAccountChargeDataV1"
+            ]
+        }
+    ]
+}
diff --git 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Status.avsc
 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountStatusEnumDataV1.avsc
similarity index 86%
rename from 
fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Status.avsc
rename to 
fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountStatusEnumDataV1.avsc
index cb9fc98c2..666a00c53 100644
--- 
a/fineract-avro-schemas/src/main/avro/fixeddeposit/v1/FixedDepositAccountEventV1Status.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountStatusEnumDataV1.avsc
@@ -1,6 +1,6 @@
 {
-    "name": "FixedDepositAccountEventV1Status",
-    "namespace": "org.apache.fineract.avro.fixeddeposit.v1",
+    "name": "SavingsAccountStatusEnumDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
@@ -18,7 +18,7 @@
             ]
         },
         {
-            "name": "description",
+            "name": "value",
             "type": [
                 "null",
                 "string"
@@ -86,6 +86,13 @@
                 "null",
                 "boolean"
             ]
+        },
+        {
+            "name": "matured",
+            "type": [
+                "null",
+                "boolean"
+            ]
         }
     ]
 }
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountSummaryDataV1.avsc
similarity index 65%
copy from fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc
copy to 
fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountSummaryDataV1.avsc
index 8346a95bc..1a495f580 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanScheduleDataV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountSummaryDataV1.avsc
@@ -1,125 +1,125 @@
 {
-    "name": "LoanScheduleDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "name": "SavingsAccountSummaryDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
-            "name": "loanTermInDays",
+            "name": "totalDeposits",
             "type": [
                 "null",
-                "int"
+                "bigdecimal"
             ]
         },
         {
-            "name": "totalPrincipalDisbursed",
+            "name": "totalWithdrawals",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalPrincipalExpected",
+            "name": "totalWithdrawalFees",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalPrincipalPaid",
+            "name": "totalAnnualFees",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalInterestCharged",
+            "name": "totalInterestEarned",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalFeeChargesCharged",
+            "name": "totalInterestPosted",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalPenaltyChargesCharged",
+            "name": "accountBalance",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalWaived",
+            "name": "totalFeeCharge",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalWrittenOff",
+            "name": "totalPenaltyCharge",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalRepaymentExpected",
+            "name": "totalOverdraftInterestDerived",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalRepayment",
+            "name": "totalWithholdTax",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalPaidInAdvance",
+            "name": "interestNotPosted",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "totalPaidLate",
+            "name": "lastInterestCalculationDate",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "totalOutstanding",
+            "name": "availableBalance",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "periods",
+            "name": "interestPostedTillDate",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.SchedulePeriodDataV1"
+                "string"
             ]
         },
         {
-            "name": "futurePeriods",
+            "name": "prevInterestPostedTillDate",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.SchedulePeriodDataV1"
+                "string"
             ]
         }
     ]
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountTransactionDataV1.avsc
similarity index 65%
copy from fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
copy to 
fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountTransactionDataV1.avsc
index 683837da6..6c4c673c4 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/LoanTransactionDataV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountTransactionDataV1.avsc
@@ -1,6 +1,6 @@
 {
-    "name": "LoanTransactionDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "name": "SavingsAccountTransactionDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
@@ -11,24 +11,24 @@
             ]
         },
         {
-            "name": "officeId",
+            "name": "transactionType",
             "type": [
                 "null",
-                "long"
+                
"org.apache.fineract.avro.savings.v1.SavingsAccountTransactionEnumDataV1"
             ]
         },
         {
-            "name": "officeName",
+            "name": "accountId",
             "type": [
                 "null",
-                "string"
+                "long"
             ]
         },
         {
-            "name": "type",
+            "name": "accountNo",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.LoanTransactionEnumDataV1"
+                "string"
             ]
         },
         {
@@ -42,14 +42,14 @@
             "name": "currency",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CurrencyDataV1"
+                "org.apache.fineract.avro.generic.v1.CurrencyDataV1"
             ]
         },
         {
             "name": "paymentDetailData",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.PaymentDetailDataV1"
+                "org.apache.fineract.avro.payment.v1.PaymentDetailDataV1"
             ]
         },
         {
@@ -60,110 +60,110 @@
             ]
         },
         {
-            "name": "netDisbursalAmount",
+            "name": "outstandingChargeAmount",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "principalPortion",
+            "name": "runningBalance",
             "type": [
                 "null",
                 "bigdecimal"
             ]
         },
         {
-            "name": "interestPortion",
+            "name": "reversed",
             "type": [
                 "null",
-                "bigdecimal"
+                "boolean"
             ]
         },
         {
-            "name": "feeChargesPortion",
+            "name": "transfer",
             "type": [
                 "null",
-                "bigdecimal"
+                "org.apache.fineract.avro.savings.v1.AccountTransferDataV1"
             ]
         },
         {
-            "name": "penaltyChargesPortion",
+            "name": "submittedOnDate",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "overpaymentPortion",
+            "name": "interestedPostedAsOn",
             "type": [
                 "null",
-                "bigdecimal"
+                "boolean"
             ]
         },
         {
-            "name": "unrecognizedIncomePortion",
+            "name": "submittedByUsername",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "externalId",
+            "name": "note",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "transfer",
+            "name": "isManualTransaction",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.AccountTransferDataV1"
+                "boolean"
             ]
         },
         {
-            "name": "fixedEmiAmount",
+            "name": "isReversal",
             "type": [
                 "null",
-                "bigdecimal"
+                "boolean"
             ]
         },
         {
-            "name": "outstandingLoanBalance",
+            "name": "originalTransactionId",
             "type": [
                 "null",
-                "bigdecimal"
+                "string"
             ]
         },
         {
-            "name": "submittedOnDate",
+            "name": "lienTransaction",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "manuallyReversed",
+            "name": "releaseTransactionId",
             "type": [
                 "null",
-                "boolean"
+                "long"
             ]
         },
         {
-            "name": "possibleNextRepaymentDate",
+            "name": "reasonForBlock",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "loanChargePaidByList",
+            "name": "chargesPaidByData",
             "type": [
                 "null",
                 {
                     "type": "array",
-                    "items": 
"org.apache.fineract.avro.loan.v1.LoanChargePaidByDataV1"
+                    "items": 
"org.apache.fineract.avro.savings.v1.SavingsAccountChargesPaidByDataV1"
                 }
             ]
         }
diff --git 
a/fineract-avro-schemas/src/main/avro/loan/v1/GroupGeneralDataV1.avsc 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountTransactionEnumDataV1.avsc
similarity index 54%
rename from fineract-avro-schemas/src/main/avro/loan/v1/GroupGeneralDataV1.avsc
rename to 
fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountTransactionEnumDataV1.avsc
index ae6713264..a34f173cb 100644
--- a/fineract-avro-schemas/src/main/avro/loan/v1/GroupGeneralDataV1.avsc
+++ 
b/fineract-avro-schemas/src/main/avro/savings/v1/SavingsAccountTransactionEnumDataV1.avsc
@@ -1,6 +1,6 @@
 {
-    "name": "GroupGeneralDataV1",
-    "namespace": "org.apache.fineract.avro.loan.v1",
+    "name": "SavingsAccountTransactionEnumDataV1",
+    "namespace": "org.apache.fineract.avro.savings.v1",
     "type": "record",
     "fields": [
         {
@@ -11,128 +11,129 @@
             ]
         },
         {
-            "name": "accountNo",
+            "name": "code",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "name",
+            "name": "value",
             "type": [
                 "null",
                 "string"
             ]
         },
         {
-            "name": "externalId",
+            "name": "deposit",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "status",
+            "name": "dividendPayout",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.EnumOptionDataV1"
+                "boolean"
             ]
         },
         {
-            "name": "active",
+            "name": "withdrawal",
             "type": [
                 "null",
                 "boolean"
             ]
         },
         {
-            "name": "activationDate",
+            "name": "interestPosting",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "officeId",
+            "name": "feeDeduction",
             "type": [
                 "null",
-                "long"
+                "boolean"
             ]
         },
         {
-            "name": "officeName",
+            "name": "initiateTransfer",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "centerId",
+            "name": "approveTransfer",
             "type": [
                 "null",
-                "long"
+                "boolean"
             ]
         },
         {
-            "name": "centerName",
+            "name": "withdrawTransfer",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "staffId",
+            "name": "rejectTransfer",
             "type": [
                 "null",
-                "long"
+                "boolean"
             ]
         },
         {
-            "name": "staffName",
+            "name": "overdraftInterest",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "hierarchy",
+            "name": "writtenoff",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "groupLevel",
+            "name": "overdraftFee",
             "type": [
                 "null",
-                "string"
+                "boolean"
             ]
         },
         {
-            "name": "groupRoles",
+            "name": "withholdTax",
             "type": [
                 "null",
-                {
-                    "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.GroupRoleDataV1"
-                }
+                "boolean"
             ]
         },
         {
-            "name": "calendarsData",
+            "name": "escheat",
             "type": [
                 "null",
-                {
-                    "type": "array",
-                    "items": "org.apache.fineract.avro.loan.v1.CalendarDataV1"
-                }
+                "boolean"
             ]
         },
         {
-            "name": "collectionMeetingCalendar",
+            "name": "amountHold",
             "type": [
                 "null",
-                "org.apache.fineract.avro.loan.v1.CalendarDataV1"
+                "boolean"
+            ]
+        },
+        {
+            "name": "amountRelease",
+            "type": [
+                "null",
+                "boolean"
             ]
         }
     ]

Reply via email to