diff --git a/8/ecolyo.083c460749da3b2bb728.js b/8/ecolyo.9d653a39115f814a9cd2.js
similarity index 99%
rename from 8/ecolyo.083c460749da3b2bb728.js
rename to 8/ecolyo.9d653a39115f814a9cd2.js
index d9331f1682c6f9d165dfa975fd2515ab2c09c6fd..1a68fac700fd655b7631d94864ea00943ac22610 100644
--- a/8/ecolyo.083c460749da3b2bb728.js
+++ b/8/ecolyo.9d653a39115f814a9cd2.js
@@ -660,7 +660,8 @@ var FluidPricesService = /*#__PURE__*/function () {
                     fluidType: config.fluidTypeId,
                     price: config.coefficient,
                     startDate: config.startDate,
-                    endDate: ''
+                    endDate: '',
+                    UpdatedAt: '2000-01-01T00:00:00Z'
                   });
                 }); // Replacing default prices if available
 
diff --git a/app/ecolyo.1071e7cd8793a8c4863a.js b/app/ecolyo.58898efd36bf7a6f49fb.js
similarity index 99%
rename from app/ecolyo.1071e7cd8793a8c4863a.js
rename to app/ecolyo.58898efd36bf7a6f49fb.js
index c76d83759bdf8db5099e9365dfb1358adc468eca..22918c601711f2b27890c85a1b5a2a0640b5c682 100644
--- a/app/ecolyo.1071e7cd8793a8c4863a.js
+++ b/app/ecolyo.58898efd36bf7a6f49fb.js
@@ -64,7 +64,7 @@
 /******/
 /******/ 	// script path function
 /******/ 	function jsonpScriptSrc(chunkId) {
-/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"3b76072fe58ad33540bb","2":"62e5292a592368584bc8","4":"e44f681829f74b9ff80d","5":"41a3c918854f721cafd9","6":"95dfb23bc54787c93a79","7":"9376e18b72a7a8ccfe8c","8":"083c460749da3b2bb728","9":"559d36d928c393428876","10":"2946952809565809b75b"}[chunkId] + ".js"
+/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"3b76072fe58ad33540bb","2":"62e5292a592368584bc8","4":"e44f681829f74b9ff80d","5":"41a3c918854f721cafd9","6":"95dfb23bc54787c93a79","7":"9376e18b72a7a8ccfe8c","8":"9d653a39115f814a9cd2","9":"559d36d928c393428876","10":"2946952809565809b75b"}[chunkId] + ".js"
 /******/ 	}
 /******/
 /******/ 	// The require function
@@ -16483,84 +16483,10 @@ var QueryRunner = /*#__PURE__*/function () {
   }, {
     key: "getRelevantDoctype",
     value: function getRelevantDoctype(fluidType, timeStep) {
-      var doctype = '';
-
-      switch (fluidType) {
-        case _enums.FluidType.ELECTRICITY:
-          {
-            switch (timeStep) {
-              case _enums.TimeStep.HALF_AN_HOUR:
-                doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.WEEK:
-              case _enums.TimeStep.DAY:
-                doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.MONTH:
-                doctype = _doctypes.ENEDIS_MONTH_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.YEAR:
-                doctype = _doctypes.ENEDIS_YEAR_DOCTYPE;
-                break;
-
-              default:
-                doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-            }
-          }
-          break;
-
-        case _enums.FluidType.WATER:
-          {
-            switch (timeStep) {
-              case _enums.TimeStep.WEEK:
-              case _enums.TimeStep.DAY:
-                doctype = _doctypes.EGL_DAY_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.MONTH:
-                doctype = _doctypes.EGL_MONTH_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.YEAR:
-                doctype = _doctypes.EGL_YEAR_DOCTYPE;
-                break;
-
-              default:
-                doctype = _doctypes.EGL_DAY_DOCTYPE;
-            }
-          }
-          break;
-
-        case _enums.FluidType.GAS:
-          {
-            switch (timeStep) {
-              case _enums.TimeStep.WEEK:
-              case _enums.TimeStep.DAY:
-                doctype = _doctypes.GRDF_DAY_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.MONTH:
-                doctype = _doctypes.GRDF_MONTH_DOCTYPE;
-                break;
-
-              case _enums.TimeStep.YEAR:
-                doctype = _doctypes.GRDF_YEAR_DOCTYPE;
-                break;
-
-              default:
-                doctype = _doctypes.GRDF_DAY_DOCTYPE;
-            }
-          }
-          break;
-
-        default:
-          break;
-      }
+      var _FluidType$ELECTRICIT, _FluidType$WATER, _FluidType$GAS, _doctypeMappings, _doctypeMappings$flui, _doctypeMappings$flui2;
 
-      return doctype;
+      var doctypeMappings = (_doctypeMappings = {}, (0, _defineProperty2.default)(_doctypeMappings, _enums.FluidType.ELECTRICITY, (_FluidType$ELECTRICIT = {}, (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.HALF_AN_HOUR, _doctypes.ENEDIS_MINUTE_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.WEEK, _doctypes.ENEDIS_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.DAY, _doctypes.ENEDIS_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.MONTH, _doctypes.ENEDIS_MONTH_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, _enums.TimeStep.YEAR, _doctypes.ENEDIS_YEAR_DOCTYPE), (0, _defineProperty2.default)(_FluidType$ELECTRICIT, "default", _doctypes.ENEDIS_DAY_DOCTYPE), _FluidType$ELECTRICIT)), (0, _defineProperty2.default)(_doctypeMappings, _enums.FluidType.WATER, (_FluidType$WATER = {}, (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.WEEK, _doctypes.EGL_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.DAY, _doctypes.EGL_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.MONTH, _doctypes.EGL_MONTH_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, _enums.TimeStep.YEAR, _doctypes.EGL_YEAR_DOCTYPE), (0, _defineProperty2.default)(_FluidType$WATER, "default", _doctypes.EGL_DAY_DOCTYPE), _FluidType$WATER)), (0, _defineProperty2.default)(_doctypeMappings, _enums.FluidType.GAS, (_FluidType$GAS = {}, (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.WEEK, _doctypes.GRDF_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.DAY, _doctypes.GRDF_DAY_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.MONTH, _doctypes.GRDF_MONTH_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, _enums.TimeStep.YEAR, _doctypes.GRDF_YEAR_DOCTYPE), (0, _defineProperty2.default)(_FluidType$GAS, "default", _doctypes.GRDF_DAY_DOCTYPE), _FluidType$GAS)), _doctypeMappings);
+      return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default';
     }
   }, {
     key: "fetchFluidData",
diff --git a/index.html b/index.html
index f2d496b07533a246db6a2045979e743bc5a5a8ef..77e90b975cff8f9add59b921c73e0fd4ea4f8f98 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.9ee7ecded9ec82c2cedd.js"></script><script src="app/ecolyo.1071e7cd8793a8c4863a.js"></script></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.9ee7ecded9ec82c2cedd.js"></script><script src="app/ecolyo.58898efd36bf7a6f49fb.js"></script></div></body></html>
\ No newline at end of file
diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js
index ee9d0833969f0349fcde98c3f846b371a6bfc8a1..4fe580b3ed18cc3f501a257a718fbe4bce51664f 100644
--- a/services/aggregatorUsageEvents/ecolyo.js
+++ b/services/aggregatorUsageEvents/ecolyo.js
@@ -102001,84 +102001,33 @@ class QueryRunner {
   }
 
   getRelevantDoctype(fluidType, timeStep) {
-    let doctype = '';
-
-    switch (fluidType) {
-      case _enums.FluidType.ELECTRICITY:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.HALF_AN_HOUR:
-              doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.ENEDIS_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.ENEDIS_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.WATER:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.EGL_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.EGL_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.GAS:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.GRDF_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.GRDF_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      default:
-        break;
-    }
-
-    return doctype;
+    var _doctypeMappings$flui, _doctypeMappings$flui2;
+
+    const doctypeMappings = {
+      [_enums.FluidType.ELECTRICITY]: {
+        [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE,
+        [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE,
+        default: _doctypes.ENEDIS_DAY_DOCTYPE
+      },
+      [_enums.FluidType.WATER]: {
+        [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE,
+        default: _doctypes.EGL_DAY_DOCTYPE
+      },
+      [_enums.FluidType.GAS]: {
+        [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE,
+        default: _doctypes.GRDF_DAY_DOCTYPE
+      }
+    };
+    return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default';
   }
 
   async fetchFluidData(timePeriod, timeStep, fluidType) {
diff --git a/services/consumptionAlert/ecolyo.js b/services/consumptionAlert/ecolyo.js
index 55a0eb9d992783b3c1cd684122766c5ba1105b76..5d9e0691e3b1e155a69fded5857c61aed29a36fe 100644
--- a/services/consumptionAlert/ecolyo.js
+++ b/services/consumptionAlert/ecolyo.js
@@ -100111,84 +100111,33 @@ class QueryRunner {
   }
 
   getRelevantDoctype(fluidType, timeStep) {
-    let doctype = '';
-
-    switch (fluidType) {
-      case _enums.FluidType.ELECTRICITY:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.HALF_AN_HOUR:
-              doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.ENEDIS_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.ENEDIS_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.WATER:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.EGL_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.EGL_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.GAS:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.GRDF_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.GRDF_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      default:
-        break;
-    }
-
-    return doctype;
+    var _doctypeMappings$flui, _doctypeMappings$flui2;
+
+    const doctypeMappings = {
+      [_enums.FluidType.ELECTRICITY]: {
+        [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE,
+        [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE,
+        default: _doctypes.ENEDIS_DAY_DOCTYPE
+      },
+      [_enums.FluidType.WATER]: {
+        [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE,
+        default: _doctypes.EGL_DAY_DOCTYPE
+      },
+      [_enums.FluidType.GAS]: {
+        [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE,
+        default: _doctypes.GRDF_DAY_DOCTYPE
+      }
+    };
+    return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default';
   }
 
   async fetchFluidData(timePeriod, timeStep, fluidType) {
diff --git a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
index 4f50bee3fd642bfacdedbf02dc83c7b6f7f53171..05354c60f285f83852245d7b00e3fb77b1db31fe 100644
--- a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
+++ b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
@@ -100111,84 +100111,33 @@ class QueryRunner {
   }
 
   getRelevantDoctype(fluidType, timeStep) {
-    let doctype = '';
-
-    switch (fluidType) {
-      case _enums.FluidType.ELECTRICITY:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.HALF_AN_HOUR:
-              doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.ENEDIS_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.ENEDIS_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.WATER:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.EGL_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.EGL_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.GAS:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.GRDF_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.GRDF_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      default:
-        break;
-    }
-
-    return doctype;
+    var _doctypeMappings$flui, _doctypeMappings$flui2;
+
+    const doctypeMappings = {
+      [_enums.FluidType.ELECTRICITY]: {
+        [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE,
+        [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE,
+        default: _doctypes.ENEDIS_DAY_DOCTYPE
+      },
+      [_enums.FluidType.WATER]: {
+        [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE,
+        default: _doctypes.EGL_DAY_DOCTYPE
+      },
+      [_enums.FluidType.GAS]: {
+        [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE,
+        default: _doctypes.GRDF_DAY_DOCTYPE
+      }
+    };
+    return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default';
   }
 
   async fetchFluidData(timePeriod, timeStep, fluidType) {
diff --git a/services/fluidsPrices/ecolyo.js b/services/fluidsPrices/ecolyo.js
index 0d8b8b9728f154e2c6fb4f326f2adda694a4dc68..8b082f5a93c012105b2c320927da3fae6cdd9c87 100644
--- a/services/fluidsPrices/ecolyo.js
+++ b/services/fluidsPrices/ecolyo.js
@@ -100111,84 +100111,33 @@ class QueryRunner {
   }
 
   getRelevantDoctype(fluidType, timeStep) {
-    let doctype = '';
-
-    switch (fluidType) {
-      case _enums.FluidType.ELECTRICITY:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.HALF_AN_HOUR:
-              doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.ENEDIS_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.ENEDIS_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.WATER:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.EGL_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.EGL_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.GAS:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.GRDF_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.GRDF_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      default:
-        break;
-    }
-
-    return doctype;
+    var _doctypeMappings$flui, _doctypeMappings$flui2;
+
+    const doctypeMappings = {
+      [_enums.FluidType.ELECTRICITY]: {
+        [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE,
+        [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE,
+        default: _doctypes.ENEDIS_DAY_DOCTYPE
+      },
+      [_enums.FluidType.WATER]: {
+        [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE,
+        default: _doctypes.EGL_DAY_DOCTYPE
+      },
+      [_enums.FluidType.GAS]: {
+        [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE,
+        default: _doctypes.GRDF_DAY_DOCTYPE
+      }
+    };
+    return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default';
   }
 
   async fetchFluidData(timePeriod, timeStep, fluidType) {
@@ -101134,6 +101083,14 @@ const getRemotePricesByFluid = async (client, fluidType) => {
   const prices = await client.getStackClient().fetchJSON('GET', `${remoteUrl}?fluidtype=${fluidType}`);
   return prices;
 };
+/**
+ * If a price has been updated, set the oldest startDate of the edited price so we can redo aggregation
+ */
+
+
+function updateFirstEditedPrice(firstEditedPrice, remotePrice) {
+  return firstEditedPrice === null || firstEditedPrice >= remotePrice.startDate ? remotePrice.startDate : firstEditedPrice;
+}
 /**
  * Synchro the remote prices with database and returns a date where we have to relaunch aggregation if a price has been edited in backoffice
  * @returns {string | null} the oldest startDate
@@ -101142,53 +101099,43 @@ const getRemotePricesByFluid = async (client, fluidType) => {
 
 const synchroPricesToUpdate = async (client, fluidType) => {
   const fps = new _fluidsPrices.default(client);
-  const remotePrices = await getRemotePricesByFluid(client, fluidType);
-  let firstEditedPrice = null;
-  await Promise.all(remotePrices.map(async remotePrice => {
-    try {
-      const existingPrice = await fps.checkIfPriceExists(remotePrice);
 
-      if (!existingPrice) {
-        logStack('debug', `Price doesn't exist in db, creating a new price`); // If a price has been updated, set the oldest startDate of the edited price so we can redo aggregation
+  try {
+    const remotePrices = await getRemotePricesByFluid(client, fluidType);
+    let firstEditedPrice = null;
 
-        if (firstEditedPrice === null || firstEditedPrice >= remotePrice.startDate) {
-          firstEditedPrice = remotePrice.startDate;
-        }
+    for (const remotePrice of remotePrices) {
+      const existingPrice = await fps.checkIfPriceExists(remotePrice);
 
+      if (!existingPrice) {
+        logStack('debug', `Price doesn't exist in db, creating a new price`);
+        firstEditedPrice = updateFirstEditedPrice(firstEditedPrice, remotePrice);
         await fps.createPrice(remotePrice);
-        return;
+        continue;
       }
 
-      if (!existingPrice.UpdatedAt && remotePrice.UpdatedAt) {
-        // updatedAt key doesn't exist in db
-        await fps.updatePrice(existingPrice, {
-          UpdatedAt: remotePrice.UpdatedAt
-        });
-        return;
-      } else if (!existingPrice.UpdatedAt || !remotePrice.UpdatedAt || existingPrice.UpdatedAt >= remotePrice.UpdatedAt) {
+      if (existingPrice.UpdatedAt >= remotePrice.UpdatedAt) {
         logStack('debug', `Price up to date`);
-        return;
+        continue;
       }
 
       logStack('debug', `Price exists in db but not up to date, updating it`); // If a price has been updated, set the oldest startDate of the edited price so we can redo aggregation
 
-      if (firstEditedPrice === null || firstEditedPrice >= remotePrice.startDate) {
-        firstEditedPrice = remotePrice.startDate;
-      } // update this price in db
-
-
+      firstEditedPrice = updateFirstEditedPrice(firstEditedPrice, remotePrice);
       await fps.updatePrice(existingPrice, {
         price: remotePrice.price,
         UpdatedAt: remotePrice.UpdatedAt,
         startDate: remotePrice.startDate,
         endDate: remotePrice.endDate
       });
-    } catch (error) {
-      logStack('error', `Error: ${error}`);
-      Sentry.captureException(error);
     }
-  }));
-  return firstEditedPrice;
+
+    return firstEditedPrice;
+  } catch (error) {
+    logStack('error', `Error: ${error}`);
+    Sentry.captureException(error);
+    return null;
+  }
 };
 
 const price = item => {
@@ -101232,43 +101179,41 @@ const getTimePeriod = async (timeStep, date) => {
 };
 
 const aggregatePrices = async (qr, cdm, firstDate, today, fluidType) => {
-  const tsa = [_enums.TimeStep.MONTH, _enums.TimeStep.YEAR];
+  const timeSteps = [_enums.TimeStep.MONTH, _enums.TimeStep.YEAR];
   logStack('debug', `Aggregation started for fluid: ${fluidType}, from ${firstDate}  `);
-  await Promise.all(tsa.map(async ts => {
-    let date = _luxon.DateTime.local();
 
-    Object.assign(date, firstDate);
+  for (const timeStep of timeSteps) {
+    let aggregationDate = _luxon.DateTime.fromObject(firstDate);
 
     try {
       do {
-        const tp = await getTimePeriod(ts, date); // Get doc for aggregation
-
-        const data = await qr.fetchFluidRawDoctype(tp, _enums.TimeStep.DAY, fluidType); // Get doc to update
+        const timePeriod = await getTimePeriod(timeStep, aggregationDate); // Get doc for aggregation
 
-        const docToUpdate = await qr.fetchFluidRawDoctype(tp, ts, fluidType);
-
-        if (docToUpdate !== null && docToUpdate !== void 0 && docToUpdate.data && data !== null && data !== void 0 && data.data) {
-          docToUpdate.data[0].price = data.data.map(price).reduce(sum);
-        } // Save updated docs
+        const dayDocuments = await qr.fetchFluidRawDoctype(timePeriod, _enums.TimeStep.DAY, fluidType);
+        const docToUpdate = await qr.fetchFluidRawDoctype(timePeriod, timeStep, fluidType);
 
+        if (docToUpdate !== null && docToUpdate !== void 0 && docToUpdate.data && dayDocuments !== null && dayDocuments !== void 0 && dayDocuments.data) {
+          docToUpdate.data[0].price = dayDocuments.data.map(price).reduce(sum);
+        }
 
         await cdm.saveDocs(docToUpdate === null || docToUpdate === void 0 ? void 0 : docToUpdate.data); // Update date according to timestep
 
-        if (ts === _enums.TimeStep.YEAR) {
-          date = date.plus({
+        if (timeStep === _enums.TimeStep.YEAR) {
+          aggregationDate = aggregationDate.plus({
             year: 1
           }).startOf('month');
         } else {
-          date = date.plus({
+          aggregationDate = aggregationDate.plus({
             month: 1
           }).startOf('month');
         }
-      } while (date < today);
+      } while (aggregationDate < today);
     } catch (error) {
       logStack('info', `Error : ${error}`);
       Sentry.captureException(error);
     }
-  }));
+  }
+
   logStack('debug', `Aggregation done`);
 };
 
@@ -101292,7 +101237,7 @@ const getDoctypeTypeByFluid = fluidType => {
   throw new Error();
 };
 
-const getTimeSetByFluid = fluidType => {
+const getTimeStepsByFluid = fluidType => {
   if (fluidType === _enums.FluidType.ELECTRICITY) {
     return [_enums.TimeStep.DAY, _enums.TimeStep.HALF_AN_HOUR];
   }
@@ -101316,113 +101261,114 @@ const applyPrices = async (client, fluidType) => {
 
   const firstEditedPriceDate = await synchroPricesToUpdate(client, fluidType);
   const firstDataDate = await cdm.fetchAllFirstDateData([fluidType]);
-  const prices = await fluidsPricesService.getAllPrices(); // Prices data exist
-
-  if (prices.length > 0) {
-    logStack('debug', 'fluidPrices data found');
-    const firstMinuteData = await cdm.getFirstDataDateFromDoctypeWithPrice(getDoctypeTypeByFluid(fluidType)); // const firstDoctypeData = await cdm.getFirsDataDateFromDoctype()
-    // If there is data, update hourly data and daily data
-
-    if (firstDataDate !== null && firstDataDate !== void 0 && firstDataDate[0] && (firstMinuteData || firstEditedPriceDate !== null)) {
-      const today = _luxon.DateTime.now();
-
-      const tsa = getTimeSetByFluid(fluidType);
-      let firstDate;
-
-      if (firstMinuteData && firstEditedPriceDate) {
-        // If there is first data without price and a price edited, set the smallest date
-        const firstMinuteDataDate = _luxon.DateTime.fromObject({
-          year: firstMinuteData.year,
-          month: firstMinuteData.month,
-          day: firstMinuteData.day
-        }).setZone('utc', {
-          keepLocalTime: true
-        });
+  const prices = await fluidsPricesService.getAllPrices();
 
-        const formattedFirstEditedPrice = _luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', {
-          keepLocalTime: true
-        }); // we want to exclude the period with no data if the edited date is smaller than the first data date
+  if (prices.length === 0) {
+    logStack('info', 'No fluidesPrices data');
+    return;
+  }
 
+  logStack('debug', 'fluidPrices data found');
+  const firstMinuteData = await cdm.getFirstDataDateFromDoctypeWithPrice(getDoctypeTypeByFluid(fluidType)); // If there is data, update hourly data and daily data
 
-        firstDate = _luxon.DateTime.min(_luxon.DateTime.max(formattedFirstEditedPrice, firstDataDate[0]), firstMinuteDataDate);
-      } else if (firstMinuteData) {
-        firstDate = _luxon.DateTime.fromObject({
-          year: firstMinuteData.year,
-          month: firstMinuteData.month,
-          day: firstMinuteData.day
-        }).setZone('utc', {
-          keepLocalTime: true
-        });
-      } else if (firstEditedPriceDate) {
-        firstDate = _luxon.DateTime.max(_luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', {
-          keepLocalTime: true
-        }), firstDataDate[0]);
-      } else {
-        firstDate = today;
-      } // Hourly and daily prices
+  if (!(firstDataDate !== null && firstDataDate !== void 0 && firstDataDate[0]) || !firstMinuteData && firstEditedPriceDate === null) {
+    logStack('info', `No data found for fluid ${fluidType}`);
+    return;
+  }
 
+  const today = _luxon.DateTime.now();
 
-      await Promise.all(tsa.map(async timeStep => {
-        let date = _luxon.DateTime.local().setZone('utc', {
-          keepLocalTime: true
-        });
+  const timeSteps = getTimeStepsByFluid(fluidType);
+  let firstDate;
+
+  if (firstMinuteData && firstEditedPriceDate) {
+    // If there is first data without price and a price edited, set the smallest date
+    const firstMinuteDataDate = _luxon.DateTime.fromObject({
+      year: firstMinuteData.year,
+      month: firstMinuteData.month,
+      day: firstMinuteData.day
+    }).setZone('utc', {
+      keepLocalTime: true
+    });
 
-        Object.assign(date, firstDate);
+    const formattedFirstEditedPrice = _luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', {
+      keepLocalTime: true
+    }); // we want to exclude the period with no data if the edited date is smaller than the first data date
 
-        try {
-          do {
-            // Get price
-            const priceData = await fluidsPricesService.getPrices(fluidType, date);
-            const tp = await getTimePeriod(timeStep, date); // Get doc to update
 
-            const data = await qr.fetchFluidRawDoctype(tp, timeStep, fluidType); // If lastItem has a price, skip this day (in order to save perf)
+    firstDate = _luxon.DateTime.min(_luxon.DateTime.max(formattedFirstEditedPrice, firstDataDate[0]), firstMinuteDataDate);
+  } else if (firstMinuteData) {
+    firstDate = _luxon.DateTime.fromObject({
+      year: firstMinuteData.year,
+      month: firstMinuteData.month,
+      day: firstMinuteData.day
+    }).setZone('utc', {
+      keepLocalTime: true
+    });
+  } else if (firstEditedPriceDate) {
+    firstDate = _luxon.DateTime.max(_luxon.DateTime.fromISO(firstEditedPriceDate).setZone('utc', {
+      keepLocalTime: true
+    }), firstDataDate[0]);
+  } else {
+    firstDate = today;
+  } // Hourly and daily prices
 
-            const lastItem = (data === null || data === void 0 ? void 0 : data.data) && data.data[data.data.length - 1];
 
-            if (lastItem && priceData) {
-              // if a price has been updated in backoffice re-calculates all price from the firstEditedPriceDate
-              data === null || data === void 0 ? void 0 : data.data.forEach(element => {
-                element.price = element.load * priceData.price;
-              }); // Save updated docs
+  for (const timeStep of timeSteps) {
+    let date = _luxon.DateTime.local().setZone('utc', {
+      keepLocalTime: true
+    });
 
-              await cdm.saveDocs(data.data);
-            } // Update date
+    Object.assign(date, firstDate);
 
+    try {
+      do {
+        const priceData = await fluidsPricesService.getPrices(fluidType, date);
+        const timePeriod = await getTimePeriod(timeStep, date);
+        const data = await qr.fetchFluidRawDoctype(timePeriod, timeStep, fluidType); // If lastItem has a price, skip this day (in order to save perf)
 
-            if (timeStep === _enums.TimeStep.HALF_AN_HOUR) {
-              date = date.plus({
-                days: 1
-              });
-            } else {
-              date = date.plus({
-                month: 1
-              }).startOf('month');
-            }
-          } while (date < today);
-        } catch (error) {
-          logStack('error', `ERROR : ${error} `);
-          Sentry.captureException(error);
+        const lastItem = (data === null || data === void 0 ? void 0 : data.data) && data.data[data.data.length - 1];
+
+        if (lastItem && priceData) {
+          // if a price has been updated in backoffice re-calculates all price from the firstEditedPriceDate
+          data === null || data === void 0 ? void 0 : data.data.forEach(element => {
+            element.price = element.load * priceData.price;
+          });
+          await cdm.saveDocs(data.data);
+        } // Update date
+
+
+        if (timeStep === _enums.TimeStep.HALF_AN_HOUR) {
+          date = date.plus({
+            days: 1
+          });
+        } else {
+          date = date.plus({
+            month: 1
+          }).startOf('month');
         }
-      })); // Call aggregation method
+      } while (date < today);
+    } catch (error) {
+      logStack('error', `ERROR : ${error} `);
+      Sentry.captureException(error);
+    }
+  }
 
-      await aggregatePrices(qr, cdm, firstDate, today, fluidType);
-    } else logStack('info', `No data found for fluid ${fluidType}`);
-  } else logStack('info', 'No fluidesPrices data');
+  await aggregatePrices(qr, cdm, firstDate, today, fluidType);
 };
 
 const processPrices = async ({
   client
 }) => {
   logStack('info', `Processing electricity data...`);
-  const elec = applyPrices(client, _enums.FluidType.ELECTRICITY);
+  await applyPrices(client, _enums.FluidType.ELECTRICITY);
   logStack('info', `Electricity data done`);
   logStack('info', `Processing gas data...`);
-  const gas = applyPrices(client, _enums.FluidType.GAS);
+  await applyPrices(client, _enums.FluidType.GAS);
   logStack('info', `Gas data done`);
   logStack('info', `Processing water data...`);
-  const water = applyPrices(client, _enums.FluidType.WATER);
+  await applyPrices(client, _enums.FluidType.WATER);
   logStack('info', `Water data done`);
-  await Promise.all([elec, gas, water]);
   logStack('info', `processPrices done`);
 };
 
@@ -101533,7 +101479,8 @@ class FluidPricesService {
           fluidType: config.fluidTypeId,
           price: config.coefficient,
           startDate: config.startDate,
-          endDate: ''
+          endDate: '',
+          UpdatedAt: '2000-01-01T00:00:00Z'
         });
       }); // Replacing default prices if available
 
diff --git a/services/monthlyReportNotification/ecolyo.js b/services/monthlyReportNotification/ecolyo.js
index 4614ad86f2578dee3378bb51cbdf7cc271fdd1a1..9bd0b1968f2ba2f68a46c4852f7e87409b17f55c 100644
--- a/services/monthlyReportNotification/ecolyo.js
+++ b/services/monthlyReportNotification/ecolyo.js
@@ -100111,84 +100111,33 @@ class QueryRunner {
   }
 
   getRelevantDoctype(fluidType, timeStep) {
-    let doctype = '';
-
-    switch (fluidType) {
-      case _enums.FluidType.ELECTRICITY:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.HALF_AN_HOUR:
-              doctype = _doctypes.ENEDIS_MINUTE_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.ENEDIS_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.ENEDIS_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.ENEDIS_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.WATER:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.EGL_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.EGL_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.EGL_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      case _enums.FluidType.GAS:
-        {
-          switch (timeStep) {
-            case _enums.TimeStep.WEEK:
-            case _enums.TimeStep.DAY:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.MONTH:
-              doctype = _doctypes.GRDF_MONTH_DOCTYPE;
-              break;
-
-            case _enums.TimeStep.YEAR:
-              doctype = _doctypes.GRDF_YEAR_DOCTYPE;
-              break;
-
-            default:
-              doctype = _doctypes.GRDF_DAY_DOCTYPE;
-          }
-        }
-        break;
-
-      default:
-        break;
-    }
-
-    return doctype;
+    var _doctypeMappings$flui, _doctypeMappings$flui2;
+
+    const doctypeMappings = {
+      [_enums.FluidType.ELECTRICITY]: {
+        [_enums.TimeStep.HALF_AN_HOUR]: _doctypes.ENEDIS_MINUTE_DOCTYPE,
+        [_enums.TimeStep.WEEK]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.ENEDIS_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.ENEDIS_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.ENEDIS_YEAR_DOCTYPE,
+        default: _doctypes.ENEDIS_DAY_DOCTYPE
+      },
+      [_enums.FluidType.WATER]: {
+        [_enums.TimeStep.WEEK]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.EGL_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.EGL_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.EGL_YEAR_DOCTYPE,
+        default: _doctypes.EGL_DAY_DOCTYPE
+      },
+      [_enums.FluidType.GAS]: {
+        [_enums.TimeStep.WEEK]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.DAY]: _doctypes.GRDF_DAY_DOCTYPE,
+        [_enums.TimeStep.MONTH]: _doctypes.GRDF_MONTH_DOCTYPE,
+        [_enums.TimeStep.YEAR]: _doctypes.GRDF_YEAR_DOCTYPE,
+        default: _doctypes.GRDF_DAY_DOCTYPE
+      }
+    };
+    return ((_doctypeMappings$flui = doctypeMappings[fluidType]) === null || _doctypeMappings$flui === void 0 ? void 0 : _doctypeMappings$flui[timeStep]) || ((_doctypeMappings$flui2 = doctypeMappings[fluidType]) === null || _doctypeMappings$flui2 === void 0 ? void 0 : _doctypeMappings$flui2['default']) || 'default';
   }
 
   async fetchFluidData(timePeriod, timeStep, fluidType) {