diff --git a/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileCodec.java b/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileCodec.java
index 8bd38f1..277246d 100644
--- a/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileCodec.java
+++ b/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileCodec.java
@@ -23,13 +23,23 @@
 public class BandwidthProfileCodec extends JsonCodec<BandwidthProfileInformation> {
     @Override
     public ObjectNode encode(BandwidthProfileInformation entry, CodecContext context) {
-        return context.mapper().createObjectNode()
+
+        ObjectNode node = context.mapper().createObjectNode()
                 .put("id", entry.id())
                 .put("cir", (entry.committedInformationRate()))
                 .put("cbs", (entry.committedBurstSize() == null) ? "" : entry.committedBurstSize().toString())
-                .put("eir", entry.exceededInformationRate())
-                .put("ebs", (entry.exceededBurstSize() == null) ? "" : entry.exceededBurstSize().toString())
-                .put("air", entry.assuredInformationRate());
+                .put("air", entry.assuredInformationRate())
+                .put("gir", entry.guaranteedInformationRate());
+
+        if (entry.peakInformationRate() == 0 && entry.peakBurstSize() == null) {
+            node.put("eir", entry.exceededInformationRate());
+            node.put("ebs", (entry.exceededBurstSize() == null) ? "" : entry.exceededBurstSize().toString());
+        } else {
+            node.put("pir", entry.peakInformationRate());
+            node.put("pbs", (entry.peakBurstSize() == null) ? "" : entry.peakBurstSize().toString());
+        }
+
+        return node;
     }
 
 }
diff --git a/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileConfig.java b/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileConfig.java
index b899f56..abd4751 100644
--- a/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileConfig.java
+++ b/app/src/main/java/org/opencord/sadis/impl/BandwidthProfileConfig.java
@@ -47,9 +47,23 @@
  *             "cbs"                         : Long,
  *             "eir"                         : long,
  *             "ebs"                         : Long,
- *             "air"                         : long,
+ *             "gir"                         : long,
  *         }, ...
  *     ]
+ *
+ *     OR
+ *
+ *     "entries" : [
+ *          {
+ *             "name"                        : string,
+ *             "pir"                         : long,
+ *             "pbs"                         : Long,
+ *             "cir"                         : long,
+ *             "cbs"                         : Long,
+ *             "gir"                         : long,
+ *          },
+ *
+ *     ]
  * }
  * </pre>
  */
