One state to rule them all
[aquarium] / src / main / java / gr / grnet / aquarium / message / avro / gen / UserStateMsg.java
index 00d2f5e..6263225 100644 (file)
@@ -6,7 +6,7 @@
 package gr.grnet.aquarium.message.avro.gen;  
 @SuppressWarnings("all")
 public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
-  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"UserStateMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"originalID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"inStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"parentOriginalID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"parentInStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"isFirst\",\"type\":\"boolean\",\"default\":false},{\"name\":\"stateOfResources\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"ResourcesChargingStateMsg\",\"fields\":[{\"name\":\"resource\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",{\"type\":\"string\",\"avro.java.string\":\"String\"},{\"type\":\"array\",\"items\":\"AnyValueMsg\"},{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}]}]},\"avro.java.string\":\"String\"}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"ResourceInstanceChargingStateMsg\",\"fields\":[{\"name\":\"clientID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"resource\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"instanceID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"originalID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"inStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"clientID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"eventVersion\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"instanceID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"value\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"accumulatingAmount\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"oldAccumulatingAmount\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"previousValue\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"currentValue\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},\"avro.java.string\":\"String\"}}]},\"avro.java.string\":\"String\"}},{\"name\":\"totalCredits\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"0\"},{\"name\":\"latestUpdateMillis\",\"type\":\"long\"},{\"name\":\"latestResourceEventOccurredMillis\",\"type\":\"long\"},{\"name\":\"billingPeriodOutOfSyncResourceEventsCounter\",\"type\":\"long\",\"default\":0},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingMonthDay\",\"type\":\"int\"},{\"name\":\"isFullBillingMonth\",\"type\":\"boolean\",\"default\":false},{\"name\":\"walletEntries\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"WalletEntryMsg\",\"fields\":[{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"sumOfCreditsToSubtract\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"oldTotalCredits\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"newTotalCredits\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingMonthDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeslotMsg\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"explanation\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":0.0}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"resourceType\",\"type\":{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"unit\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"chargingBehaviorClass\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]}}}]}");
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"UserStateMsg\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"originalID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"inStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"parentOriginalID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"parentInStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"isFirst\",\"type\":\"boolean\",\"default\":false},{\"name\":\"isForFullMonth\",\"type\":\"boolean\",\"default\":false},{\"name\":\"stateOfResources\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"ResourcesChargingStateMsg\",\"fields\":[{\"name\":\"resource\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"AnyValueMsg\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",{\"type\":\"string\",\"avro.java.string\":\"String\"},{\"type\":\"array\",\"items\":\"AnyValueMsg\"},{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}]}]},\"avro.java.string\":\"String\"}},{\"name\":\"stateOfResourceInstance\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"ResourceInstanceChargingStateMsg\",\"fields\":[{\"name\":\"clientID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"resource\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"instanceID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}},{\"name\":\"previousEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ResourceEventMsg\",\"fields\":[{\"name\":\"originalID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"inStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"clientID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"eventVersion\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"instanceID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"value\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}}]}}},{\"name\":\"implicitlyIssuedStartEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"accumulatingAmount\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"oldAccumulatingAmount\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"previousValue\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"currentValue\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},\"avro.java.string\":\"String\"}}]},\"avro.java.string\":\"String\"}},{\"name\":\"totalCredits\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"0\"},{\"name\":\"latestUpdateMillis\",\"type\":\"long\"},{\"name\":\"latestResourceEventOccurredMillis\",\"type\":\"long\"},{\"name\":\"billingPeriodOutOfSyncResourceEventsCounter\",\"type\":\"long\",\"default\":0},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingMonthDay\",\"type\":\"int\"},{\"name\":\"userAgreementHistory\",\"type\":{\"type\":\"record\",\"name\":\"UserAgreementHistoryMsg\",\"fields\":[{\"name\":\"originalID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"inStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"latestOccurredMillis\",\"type\":\"long\"},{\"name\":\"latestValidFromMillis\",\"type\":\"long\"},{\"name\":\"userCreationTimeMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"agreements\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"UserAgreementMsg\",\"fields\":[{\"name\":\"id\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"relatedIMEventOriginalID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"occurredMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"validFromMillis\",\"type\":\"long\"},{\"name\":\"validToMillis\",\"type\":\"long\"},{\"name\":\"role\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"fullPriceTableRef\",\"type\":[{\"type\":\"record\",\"name\":\"FullPriceTableMsg\",\"fields\":[{\"name\":\"perResource\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"SelectorValueMsg\",\"fields\":[{\"name\":\"selectorValue\",\"type\":[{\"type\":\"record\",\"name\":\"EffectivePriceTableMsg\",\"fields\":[{\"name\":\"priceOverrides\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"EffectiveUnitPriceMsg\",\"fields\":[{\"name\":\"unitPrice\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"when\",\"type\":[{\"type\":\"record\",\"name\":\"CronSpecTupleMsg\",\"fields\":[{\"name\":\"a\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"b\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]},\"null\"]}]}}}]},{\"type\":\"map\",\"values\":\"SelectorValueMsg\",\"avro.java.string\":\"String\"}]}]},\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}}]},\"null\"]},{\"name\":\"relatedIMEventMsg\",\"type\":[{\"type\":\"record\",\"name\":\"IMEventMsg\",\"fields\":[{\"name\":\"originalID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"inStoreID\",\"type\":[{\"type\":\"string\",\"avro.java.string\":\"String\"},\"null\"]},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"clientID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"eventVersion\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"1.0\"},{\"name\":\"eventType\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"isActive\",\"type\":\"boolean\"},{\"name\":\"role\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":\"AnyValueMsg\",\"avro.java.string\":\"String\"}}]},\"null\"]}]}}}]}},{\"name\":\"walletEntries\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"WalletEntryMsg\",\"fields\":[{\"name\":\"userID\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"sumOfCreditsToSubtract\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"oldTotalCredits\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"newTotalCredits\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingMonthDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChargeslotMsg\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"explanation\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"default\":0.0}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":\"ResourceEventMsg\"}},{\"name\":\"resourceType\",\"type\":{\"type\":\"record\",\"name\":\"ResourceTypeMsg\",\"fields\":[{\"name\":\"name\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"unit\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},{\"name\":\"chargingBehaviorClass\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false},{\"name\":\"isForRealtimeCalc\",\"type\":\"boolean\",\"default\":false}]}}}]}");
   @Deprecated public java.lang.String originalID;
   @Deprecated public java.lang.String inStoreID;
   @Deprecated public java.lang.String userID;
@@ -14,6 +14,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
   @Deprecated public java.lang.String parentOriginalID;
   @Deprecated public java.lang.String parentInStoreID;
   @Deprecated public boolean isFirst;
+  @Deprecated public boolean isForFullMonth;
   @Deprecated public java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> stateOfResources;
   @Deprecated public java.lang.String totalCredits;
   @Deprecated public long latestUpdateMillis;
@@ -22,7 +23,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
   @Deprecated public int billingYear;
   @Deprecated public int billingMonth;
   @Deprecated public int billingMonthDay;
-  @Deprecated public boolean isFullBillingMonth;
+  @Deprecated public gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg userAgreementHistory;
   @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> walletEntries;
 
   /**
@@ -33,7 +34,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
   /**
    * All-args constructor.
    */
-  public UserStateMsg(java.lang.String originalID, java.lang.String inStoreID, java.lang.String userID, java.lang.Long occurredMillis, java.lang.String parentOriginalID, java.lang.String parentInStoreID, java.lang.Boolean isFirst, java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> stateOfResources, java.lang.String totalCredits, java.lang.Long latestUpdateMillis, java.lang.Long latestResourceEventOccurredMillis, java.lang.Long billingPeriodOutOfSyncResourceEventsCounter, java.lang.Integer billingYear, java.lang.Integer billingMonth, java.lang.Integer billingMonthDay, java.lang.Boolean isFullBillingMonth, java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> walletEntries) {
+  public UserStateMsg(java.lang.String originalID, java.lang.String inStoreID, java.lang.String userID, java.lang.Long occurredMillis, java.lang.String parentOriginalID, java.lang.String parentInStoreID, java.lang.Boolean isFirst, java.lang.Boolean isForFullMonth, java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> stateOfResources, java.lang.String totalCredits, java.lang.Long latestUpdateMillis, java.lang.Long latestResourceEventOccurredMillis, java.lang.Long billingPeriodOutOfSyncResourceEventsCounter, java.lang.Integer billingYear, java.lang.Integer billingMonth, java.lang.Integer billingMonthDay, gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg userAgreementHistory, java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> walletEntries) {
     this.originalID = originalID;
     this.inStoreID = inStoreID;
     this.userID = userID;
@@ -41,6 +42,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     this.parentOriginalID = parentOriginalID;
     this.parentInStoreID = parentInStoreID;
     this.isFirst = isFirst;
+    this.isForFullMonth = isForFullMonth;
     this.stateOfResources = stateOfResources;
     this.totalCredits = totalCredits;
     this.latestUpdateMillis = latestUpdateMillis;
@@ -49,7 +51,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     this.billingYear = billingYear;
     this.billingMonth = billingMonth;
     this.billingMonthDay = billingMonthDay;
-    this.isFullBillingMonth = isFullBillingMonth;
+    this.userAgreementHistory = userAgreementHistory;
     this.walletEntries = walletEntries;
   }
 
@@ -64,16 +66,17 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     case 4: return parentOriginalID;
     case 5: return parentInStoreID;
     case 6: return isFirst;
-    case 7: return stateOfResources;
-    case 8: return totalCredits;
-    case 9: return latestUpdateMillis;
-    case 10: return latestResourceEventOccurredMillis;
-    case 11: return billingPeriodOutOfSyncResourceEventsCounter;
-    case 12: return billingYear;
-    case 13: return billingMonth;
-    case 14: return billingMonthDay;
-    case 15: return isFullBillingMonth;
-    case 16: return walletEntries;
+    case 7: return isForFullMonth;
+    case 8: return stateOfResources;
+    case 9: return totalCredits;
+    case 10: return latestUpdateMillis;
+    case 11: return latestResourceEventOccurredMillis;
+    case 12: return billingPeriodOutOfSyncResourceEventsCounter;
+    case 13: return billingYear;
+    case 14: return billingMonth;
+    case 15: return billingMonthDay;
+    case 16: return userAgreementHistory;
+    case 17: return walletEntries;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -88,16 +91,17 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     case 4: parentOriginalID = (java.lang.String)value$; break;
     case 5: parentInStoreID = (java.lang.String)value$; break;
     case 6: isFirst = (java.lang.Boolean)value$; break;
-    case 7: stateOfResources = (java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg>)value$; break;
-    case 8: totalCredits = (java.lang.String)value$; break;
-    case 9: latestUpdateMillis = (java.lang.Long)value$; break;
-    case 10: latestResourceEventOccurredMillis = (java.lang.Long)value$; break;
-    case 11: billingPeriodOutOfSyncResourceEventsCounter = (java.lang.Long)value$; break;
-    case 12: billingYear = (java.lang.Integer)value$; break;
-    case 13: billingMonth = (java.lang.Integer)value$; break;
-    case 14: billingMonthDay = (java.lang.Integer)value$; break;
-    case 15: isFullBillingMonth = (java.lang.Boolean)value$; break;
-    case 16: walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>)value$; break;
+    case 7: isForFullMonth = (java.lang.Boolean)value$; break;
+    case 8: stateOfResources = (java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg>)value$; break;
+    case 9: totalCredits = (java.lang.String)value$; break;
+    case 10: latestUpdateMillis = (java.lang.Long)value$; break;
+    case 11: latestResourceEventOccurredMillis = (java.lang.Long)value$; break;
+    case 12: billingPeriodOutOfSyncResourceEventsCounter = (java.lang.Long)value$; break;
+    case 13: billingYear = (java.lang.Integer)value$; break;
+    case 14: billingMonth = (java.lang.Integer)value$; break;
+    case 15: billingMonthDay = (java.lang.Integer)value$; break;
+    case 16: userAgreementHistory = (gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg)value$; break;
+    case 17: walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>)value$; break;
     default: throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
@@ -208,6 +212,21 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
   }
 
   /**
+   * Gets the value of the 'isForFullMonth' field.
+   */
+  public java.lang.Boolean getIsForFullMonth() {
+    return isForFullMonth;
+  }
+
+  /**
+   * Sets the value of the 'isForFullMonth' field.
+   * @param value the value to set.
+   */
+  public void setIsForFullMonth(java.lang.Boolean value) {
+    this.isForFullMonth = value;
+  }
+
+  /**
    * Gets the value of the 'stateOfResources' field.
    */
   public java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> getStateOfResources() {
@@ -328,18 +347,18 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
   }
 
   /**
-   * Gets the value of the 'isFullBillingMonth' field.
+   * Gets the value of the 'userAgreementHistory' field.
    */
-  public java.lang.Boolean getIsFullBillingMonth() {
-    return isFullBillingMonth;
+  public gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg getUserAgreementHistory() {
+    return userAgreementHistory;
   }
 
   /**
-   * Sets the value of the 'isFullBillingMonth' field.
+   * Sets the value of the 'userAgreementHistory' field.
    * @param value the value to set.
    */
-  public void setIsFullBillingMonth(java.lang.Boolean value) {
-    this.isFullBillingMonth = value;
+  public void setUserAgreementHistory(gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg value) {
+    this.userAgreementHistory = value;
   }
 
   /**
@@ -385,6 +404,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     private java.lang.String parentOriginalID;
     private java.lang.String parentInStoreID;
     private boolean isFirst;
+    private boolean isForFullMonth;
     private java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> stateOfResources;
     private java.lang.String totalCredits;
     private long latestUpdateMillis;
@@ -393,7 +413,7 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     private int billingYear;
     private int billingMonth;
     private int billingMonthDay;
-    private boolean isFullBillingMonth;
+    private gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg userAgreementHistory;
     private java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> walletEntries;
 
     /** Creates a new Builder */
@@ -437,46 +457,50 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
         this.isFirst = (java.lang.Boolean) data().deepCopy(fields()[6].schema(), other.isFirst);
         fieldSetFlags()[6] = true;
       }
-      if (isValidValue(fields()[7], other.stateOfResources)) {
-        this.stateOfResources = (java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg>) data().deepCopy(fields()[7].schema(), other.stateOfResources);
+      if (isValidValue(fields()[7], other.isForFullMonth)) {
+        this.isForFullMonth = (java.lang.Boolean) data().deepCopy(fields()[7].schema(), other.isForFullMonth);
         fieldSetFlags()[7] = true;
       }
-      if (isValidValue(fields()[8], other.totalCredits)) {
-        this.totalCredits = (java.lang.String) data().deepCopy(fields()[8].schema(), other.totalCredits);
+      if (isValidValue(fields()[8], other.stateOfResources)) {
+        this.stateOfResources = (java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg>) data().deepCopy(fields()[8].schema(), other.stateOfResources);
         fieldSetFlags()[8] = true;
       }
-      if (isValidValue(fields()[9], other.latestUpdateMillis)) {
-        this.latestUpdateMillis = (java.lang.Long) data().deepCopy(fields()[9].schema(), other.latestUpdateMillis);
+      if (isValidValue(fields()[9], other.totalCredits)) {
+        this.totalCredits = (java.lang.String) data().deepCopy(fields()[9].schema(), other.totalCredits);
         fieldSetFlags()[9] = true;
       }
-      if (isValidValue(fields()[10], other.latestResourceEventOccurredMillis)) {
-        this.latestResourceEventOccurredMillis = (java.lang.Long) data().deepCopy(fields()[10].schema(), other.latestResourceEventOccurredMillis);
+      if (isValidValue(fields()[10], other.latestUpdateMillis)) {
+        this.latestUpdateMillis = (java.lang.Long) data().deepCopy(fields()[10].schema(), other.latestUpdateMillis);
         fieldSetFlags()[10] = true;
       }
-      if (isValidValue(fields()[11], other.billingPeriodOutOfSyncResourceEventsCounter)) {
-        this.billingPeriodOutOfSyncResourceEventsCounter = (java.lang.Long) data().deepCopy(fields()[11].schema(), other.billingPeriodOutOfSyncResourceEventsCounter);
+      if (isValidValue(fields()[11], other.latestResourceEventOccurredMillis)) {
+        this.latestResourceEventOccurredMillis = (java.lang.Long) data().deepCopy(fields()[11].schema(), other.latestResourceEventOccurredMillis);
         fieldSetFlags()[11] = true;
       }
-      if (isValidValue(fields()[12], other.billingYear)) {
-        this.billingYear = (java.lang.Integer) data().deepCopy(fields()[12].schema(), other.billingYear);
+      if (isValidValue(fields()[12], other.billingPeriodOutOfSyncResourceEventsCounter)) {
+        this.billingPeriodOutOfSyncResourceEventsCounter = (java.lang.Long) data().deepCopy(fields()[12].schema(), other.billingPeriodOutOfSyncResourceEventsCounter);
         fieldSetFlags()[12] = true;
       }
-      if (isValidValue(fields()[13], other.billingMonth)) {
-        this.billingMonth = (java.lang.Integer) data().deepCopy(fields()[13].schema(), other.billingMonth);
+      if (isValidValue(fields()[13], other.billingYear)) {
+        this.billingYear = (java.lang.Integer) data().deepCopy(fields()[13].schema(), other.billingYear);
         fieldSetFlags()[13] = true;
       }
-      if (isValidValue(fields()[14], other.billingMonthDay)) {
-        this.billingMonthDay = (java.lang.Integer) data().deepCopy(fields()[14].schema(), other.billingMonthDay);
+      if (isValidValue(fields()[14], other.billingMonth)) {
+        this.billingMonth = (java.lang.Integer) data().deepCopy(fields()[14].schema(), other.billingMonth);
         fieldSetFlags()[14] = true;
       }
-      if (isValidValue(fields()[15], other.isFullBillingMonth)) {
-        this.isFullBillingMonth = (java.lang.Boolean) data().deepCopy(fields()[15].schema(), other.isFullBillingMonth);
+      if (isValidValue(fields()[15], other.billingMonthDay)) {
+        this.billingMonthDay = (java.lang.Integer) data().deepCopy(fields()[15].schema(), other.billingMonthDay);
         fieldSetFlags()[15] = true;
       }
-      if (isValidValue(fields()[16], other.walletEntries)) {
-        this.walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>) data().deepCopy(fields()[16].schema(), other.walletEntries);
+      if (isValidValue(fields()[16], other.userAgreementHistory)) {
+        this.userAgreementHistory = (gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg) data().deepCopy(fields()[16].schema(), other.userAgreementHistory);
         fieldSetFlags()[16] = true;
       }
+      if (isValidValue(fields()[17], other.walletEntries)) {
+        this.walletEntries = (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>) data().deepCopy(fields()[17].schema(), other.walletEntries);
+        fieldSetFlags()[17] = true;
+      }
     }
 
     /** Gets the value of the 'originalID' field */
@@ -652,6 +676,30 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
       return this;
     }
 
+    /** Gets the value of the 'isForFullMonth' field */
+    public java.lang.Boolean getIsForFullMonth() {
+      return isForFullMonth;
+    }
+    
+    /** Sets the value of the 'isForFullMonth' field */
+    public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setIsForFullMonth(boolean value) {
+      validate(fields()[7], value);
+      this.isForFullMonth = value;
+      fieldSetFlags()[7] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'isForFullMonth' field has been set */
+    public boolean hasIsForFullMonth() {
+      return fieldSetFlags()[7];
+    }
+    
+    /** Clears the value of the 'isForFullMonth' field */
+    public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearIsForFullMonth() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
     /** Gets the value of the 'stateOfResources' field */
     public java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> getStateOfResources() {
       return stateOfResources;
@@ -659,21 +707,21 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'stateOfResources' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setStateOfResources(java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg> value) {
-      validate(fields()[7], value);
+      validate(fields()[8], value);
       this.stateOfResources = value;
-      fieldSetFlags()[7] = true;
+      fieldSetFlags()[8] = true;
       return this; 
     }
     
     /** Checks whether the 'stateOfResources' field has been set */
     public boolean hasStateOfResources() {
-      return fieldSetFlags()[7];
+      return fieldSetFlags()[8];
     }
     
     /** Clears the value of the 'stateOfResources' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearStateOfResources() {
       stateOfResources = null;
-      fieldSetFlags()[7] = false;
+      fieldSetFlags()[8] = false;
       return this;
     }
 
@@ -684,21 +732,21 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'totalCredits' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setTotalCredits(java.lang.String value) {
-      validate(fields()[8], value);
+      validate(fields()[9], value);
       this.totalCredits = value;
-      fieldSetFlags()[8] = true;
+      fieldSetFlags()[9] = true;
       return this; 
     }
     
     /** Checks whether the 'totalCredits' field has been set */
     public boolean hasTotalCredits() {
-      return fieldSetFlags()[8];
+      return fieldSetFlags()[9];
     }
     
     /** Clears the value of the 'totalCredits' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearTotalCredits() {
       totalCredits = null;
-      fieldSetFlags()[8] = false;
+      fieldSetFlags()[9] = false;
       return this;
     }
 
@@ -709,20 +757,20 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'latestUpdateMillis' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setLatestUpdateMillis(long value) {
-      validate(fields()[9], value);
+      validate(fields()[10], value);
       this.latestUpdateMillis = value;
-      fieldSetFlags()[9] = true;
+      fieldSetFlags()[10] = true;
       return this; 
     }
     
     /** Checks whether the 'latestUpdateMillis' field has been set */
     public boolean hasLatestUpdateMillis() {
-      return fieldSetFlags()[9];
+      return fieldSetFlags()[10];
     }
     
     /** Clears the value of the 'latestUpdateMillis' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearLatestUpdateMillis() {
-      fieldSetFlags()[9] = false;
+      fieldSetFlags()[10] = false;
       return this;
     }
 
@@ -733,20 +781,20 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'latestResourceEventOccurredMillis' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setLatestResourceEventOccurredMillis(long value) {
-      validate(fields()[10], value);
+      validate(fields()[11], value);
       this.latestResourceEventOccurredMillis = value;
-      fieldSetFlags()[10] = true;
+      fieldSetFlags()[11] = true;
       return this; 
     }
     
     /** Checks whether the 'latestResourceEventOccurredMillis' field has been set */
     public boolean hasLatestResourceEventOccurredMillis() {
-      return fieldSetFlags()[10];
+      return fieldSetFlags()[11];
     }
     
     /** Clears the value of the 'latestResourceEventOccurredMillis' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearLatestResourceEventOccurredMillis() {
-      fieldSetFlags()[10] = false;
+      fieldSetFlags()[11] = false;
       return this;
     }
 
@@ -757,20 +805,20 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'billingPeriodOutOfSyncResourceEventsCounter' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setBillingPeriodOutOfSyncResourceEventsCounter(long value) {
-      validate(fields()[11], value);
+      validate(fields()[12], value);
       this.billingPeriodOutOfSyncResourceEventsCounter = value;
-      fieldSetFlags()[11] = true;
+      fieldSetFlags()[12] = true;
       return this; 
     }
     
     /** Checks whether the 'billingPeriodOutOfSyncResourceEventsCounter' field has been set */
     public boolean hasBillingPeriodOutOfSyncResourceEventsCounter() {
-      return fieldSetFlags()[11];
+      return fieldSetFlags()[12];
     }
     
     /** Clears the value of the 'billingPeriodOutOfSyncResourceEventsCounter' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearBillingPeriodOutOfSyncResourceEventsCounter() {
-      fieldSetFlags()[11] = false;
+      fieldSetFlags()[12] = false;
       return this;
     }
 
@@ -781,20 +829,20 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'billingYear' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setBillingYear(int value) {
-      validate(fields()[12], value);
+      validate(fields()[13], value);
       this.billingYear = value;
-      fieldSetFlags()[12] = true;
+      fieldSetFlags()[13] = true;
       return this; 
     }
     
     /** Checks whether the 'billingYear' field has been set */
     public boolean hasBillingYear() {
-      return fieldSetFlags()[12];
+      return fieldSetFlags()[13];
     }
     
     /** Clears the value of the 'billingYear' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearBillingYear() {
-      fieldSetFlags()[12] = false;
+      fieldSetFlags()[13] = false;
       return this;
     }
 
@@ -805,20 +853,20 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'billingMonth' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setBillingMonth(int value) {
-      validate(fields()[13], value);
+      validate(fields()[14], value);
       this.billingMonth = value;
-      fieldSetFlags()[13] = true;
+      fieldSetFlags()[14] = true;
       return this; 
     }
     
     /** Checks whether the 'billingMonth' field has been set */
     public boolean hasBillingMonth() {
-      return fieldSetFlags()[13];
+      return fieldSetFlags()[14];
     }
     
     /** Clears the value of the 'billingMonth' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearBillingMonth() {
-      fieldSetFlags()[13] = false;
+      fieldSetFlags()[14] = false;
       return this;
     }
 
@@ -829,44 +877,45 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'billingMonthDay' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setBillingMonthDay(int value) {
-      validate(fields()[14], value);
+      validate(fields()[15], value);
       this.billingMonthDay = value;
-      fieldSetFlags()[14] = true;
+      fieldSetFlags()[15] = true;
       return this; 
     }
     
     /** Checks whether the 'billingMonthDay' field has been set */
     public boolean hasBillingMonthDay() {
-      return fieldSetFlags()[14];
+      return fieldSetFlags()[15];
     }
     
     /** Clears the value of the 'billingMonthDay' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearBillingMonthDay() {
-      fieldSetFlags()[14] = false;
+      fieldSetFlags()[15] = false;
       return this;
     }
 
-    /** Gets the value of the 'isFullBillingMonth' field */
-    public java.lang.Boolean getIsFullBillingMonth() {
-      return isFullBillingMonth;
+    /** Gets the value of the 'userAgreementHistory' field */
+    public gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg getUserAgreementHistory() {
+      return userAgreementHistory;
     }
     
-    /** Sets the value of the 'isFullBillingMonth' field */
-    public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setIsFullBillingMonth(boolean value) {
-      validate(fields()[15], value);
-      this.isFullBillingMonth = value;
-      fieldSetFlags()[15] = true;
+    /** Sets the value of the 'userAgreementHistory' field */
+    public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setUserAgreementHistory(gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg value) {
+      validate(fields()[16], value);
+      this.userAgreementHistory = value;
+      fieldSetFlags()[16] = true;
       return this; 
     }
     
-    /** Checks whether the 'isFullBillingMonth' field has been set */
-    public boolean hasIsFullBillingMonth() {
-      return fieldSetFlags()[15];
+    /** Checks whether the 'userAgreementHistory' field has been set */
+    public boolean hasUserAgreementHistory() {
+      return fieldSetFlags()[16];
     }
     
-    /** Clears the value of the 'isFullBillingMonth' field */
-    public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearIsFullBillingMonth() {
-      fieldSetFlags()[15] = false;
+    /** Clears the value of the 'userAgreementHistory' field */
+    public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearUserAgreementHistory() {
+      userAgreementHistory = null;
+      fieldSetFlags()[16] = false;
       return this;
     }
 
@@ -877,21 +926,21 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
     
     /** Sets the value of the 'walletEntries' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder setWalletEntries(java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg> value) {
-      validate(fields()[16], value);
+      validate(fields()[17], value);
       this.walletEntries = value;
-      fieldSetFlags()[16] = true;
+      fieldSetFlags()[17] = true;
       return this; 
     }
     
     /** Checks whether the 'walletEntries' field has been set */
     public boolean hasWalletEntries() {
-      return fieldSetFlags()[16];
+      return fieldSetFlags()[17];
     }
     
     /** Clears the value of the 'walletEntries' field */
     public gr.grnet.aquarium.message.avro.gen.UserStateMsg.Builder clearWalletEntries() {
       walletEntries = null;
-      fieldSetFlags()[16] = false;
+      fieldSetFlags()[17] = false;
       return this;
     }
 
@@ -906,16 +955,17 @@ public class UserStateMsg extends org.apache.avro.specific.SpecificRecordBase im
         record.parentOriginalID = fieldSetFlags()[4] ? this.parentOriginalID : (java.lang.String) defaultValue(fields()[4]);
         record.parentInStoreID = fieldSetFlags()[5] ? this.parentInStoreID : (java.lang.String) defaultValue(fields()[5]);
         record.isFirst = fieldSetFlags()[6] ? this.isFirst : (java.lang.Boolean) defaultValue(fields()[6]);
-        record.stateOfResources = fieldSetFlags()[7] ? this.stateOfResources : (java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg>) defaultValue(fields()[7]);
-        record.totalCredits = fieldSetFlags()[8] ? this.totalCredits : (java.lang.String) defaultValue(fields()[8]);
-        record.latestUpdateMillis = fieldSetFlags()[9] ? this.latestUpdateMillis : (java.lang.Long) defaultValue(fields()[9]);
-        record.latestResourceEventOccurredMillis = fieldSetFlags()[10] ? this.latestResourceEventOccurredMillis : (java.lang.Long) defaultValue(fields()[10]);
-        record.billingPeriodOutOfSyncResourceEventsCounter = fieldSetFlags()[11] ? this.billingPeriodOutOfSyncResourceEventsCounter : (java.lang.Long) defaultValue(fields()[11]);
-        record.billingYear = fieldSetFlags()[12] ? this.billingYear : (java.lang.Integer) defaultValue(fields()[12]);
-        record.billingMonth = fieldSetFlags()[13] ? this.billingMonth : (java.lang.Integer) defaultValue(fields()[13]);
-        record.billingMonthDay = fieldSetFlags()[14] ? this.billingMonthDay : (java.lang.Integer) defaultValue(fields()[14]);
-        record.isFullBillingMonth = fieldSetFlags()[15] ? this.isFullBillingMonth : (java.lang.Boolean) defaultValue(fields()[15]);
-        record.walletEntries = fieldSetFlags()[16] ? this.walletEntries : (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>) defaultValue(fields()[16]);
+        record.isForFullMonth = fieldSetFlags()[7] ? this.isForFullMonth : (java.lang.Boolean) defaultValue(fields()[7]);
+        record.stateOfResources = fieldSetFlags()[8] ? this.stateOfResources : (java.util.Map<java.lang.String,gr.grnet.aquarium.message.avro.gen.ResourcesChargingStateMsg>) defaultValue(fields()[8]);
+        record.totalCredits = fieldSetFlags()[9] ? this.totalCredits : (java.lang.String) defaultValue(fields()[9]);
+        record.latestUpdateMillis = fieldSetFlags()[10] ? this.latestUpdateMillis : (java.lang.Long) defaultValue(fields()[10]);
+        record.latestResourceEventOccurredMillis = fieldSetFlags()[11] ? this.latestResourceEventOccurredMillis : (java.lang.Long) defaultValue(fields()[11]);
+        record.billingPeriodOutOfSyncResourceEventsCounter = fieldSetFlags()[12] ? this.billingPeriodOutOfSyncResourceEventsCounter : (java.lang.Long) defaultValue(fields()[12]);
+        record.billingYear = fieldSetFlags()[13] ? this.billingYear : (java.lang.Integer) defaultValue(fields()[13]);
+        record.billingMonth = fieldSetFlags()[14] ? this.billingMonth : (java.lang.Integer) defaultValue(fields()[14]);
+        record.billingMonthDay = fieldSetFlags()[15] ? this.billingMonthDay : (java.lang.Integer) defaultValue(fields()[15]);
+        record.userAgreementHistory = fieldSetFlags()[16] ? this.userAgreementHistory : (gr.grnet.aquarium.message.avro.gen.UserAgreementHistoryMsg) defaultValue(fields()[16]);
+        record.walletEntries = fieldSetFlags()[17] ? this.walletEntries : (java.util.List<gr.grnet.aquarium.message.avro.gen.WalletEntryMsg>) defaultValue(fields()[17]);
         return record;
       } catch (Exception e) {
         throw new org.apache.avro.AvroRuntimeException(e);