From f2bbbbdcee659e80b4eefd348ab67ad2494aaa7f Mon Sep 17 00:00:00 2001
From: HAUTBOIS Aurelie <aurelie.hautbois@ext.soprasteria.com>
Date: Tue, 9 Mar 2021 17:52:17 +0100
Subject: [PATCH] update profile and ecogesture doctype

---
 docs/ecolyo/project_architecture/doctypes.md | 119 +++++++++++++------
 1 file changed, 81 insertions(+), 38 deletions(-)

diff --git a/docs/ecolyo/project_architecture/doctypes.md b/docs/ecolyo/project_architecture/doctypes.md
index fcff0a9..877a36a 100644
--- a/docs/ecolyo/project_architecture/doctypes.md
+++ b/docs/ecolyo/project_architecture/doctypes.md
@@ -56,20 +56,22 @@ This doctype is used to store all information about the user.
 
 ### Structure
 
-| Field                  | Type                | Description                                                                                                                  |
-| ---------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
-| id                     | string              | Profile id                                                                                                                   |
-| ecogestureHash         | string              | Hash used to verify the content of ecogestures                                                                               |
-| challengeHash          | string              | Hash used to verify the content of challenges                                                                                |
-| duelHash               | string              | Hash used to verify the content of duels                                                                                     |
-| quizHash               | string              | Hash used to verify the content of quiz                                                                                      |
-| explorationHash        | string              | Hash used to verify the content of exploration                                                                               |
-| isFirstConnection      | boolean             | Boolean used to inform if the user connects for the first time                                                               |
-| haveSeenFavoriteModal  | boolean             | Boolean used to inform if user has seen the favorite modal                                                                   |
-| haveSeenLastReport     | boolean             | Boolean used to inform if user has seen the last report                                                                      |
-| haveSeenOldFluidModal  | Datetime or boolean | Used to inform if user has seen the modal display when his data are too old. Its value is false or a DateTime when he saw it |
-| sendReportNotification | boolean             | Boolean used to inform if user has seen the report notification                                                              |
-| monthlyReportDate      | DateTime            | Date of the last monthly report                                                                                              |
+| Field                    | Type                | Description                                                                                                                  |
+| ------------------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
+| id                       | string              | Profile id                                                                                                                   |
+| ecogestureHash           | string              | Hash used to verify the content of ecogestures                                                                               |
+| challengeHash            | string              | Hash used to verify the content of challenges                                                                                |
+| duelHash                 | string              | Hash used to verify the content of duels                                                                                     |
+| quizHash                 | string              | Hash used to verify the content of quiz                                                                                      |
+| explorationHash          | string              | Hash used to verify the content of exploration                                                                               |
+| isFirstConnection        | boolean             | Boolean used to inform if the user connects for the first time                                                               |
+| lastConnectionDate       | DateTime            | Date of the last user connection                                                                                             |
+| haveSeenLastAnalysis     | boolean             | Boolean used to inform if user has seen the last analysis                                                                    |
+| haveSeenOldFluidModal    | Datetime or boolean | Used to inform if user has seen the modal display when his data are too old. Its value is false or a DateTime when he saw it |
+| sendAnalysisNotification | boolean             | Boolean used to inform if user has seen the analysis notification                                                            |
+| monthlyAnalysisDate      | DateTime            | Date of the last monthly analysis                                                                                            |
+| profileType              | ProfileType         | User consumption profile                                                                                                     |
+| isProfileTypeCompleted   | boolean             | Check if a user has completed his consumption profile                                                                        |
 
 ### Example
 
@@ -79,14 +81,35 @@ This doctype is used to store all information about the user.
   "challengeHash": "4cbcafe514788757c377534f1a407e022c29e38c",
   "duelHash": "48371ffabb2853b0503b882f11e1fa8e730bac76",
   "ecogestureHash": "9798a0aaccb47cff906fc4931a2eff5f9371dd8b",
-  "haveSeenFavoriteModal": true,
-  "haveSeenLastReport": true,
+  "haveSeenLastAnalysis": true,
   "haveSeenOldFluidModal": false,
   "isFirstConnection": false,
-  "monthlyReportDate": "2021-01-03T00:00:00.000+01:00",
+  "lastConnectionDate": "2021-03-08T17:33:18.727Z",
+  "monthlyAnalysisDate": "2021-01-03T00:00:00.000+01:00",
   "quizHash": "11372a56c03edef1d6656f8a76d5ec457174f2c1",
   "explorationHash": "cdbc7a84d041318253a10b3cc0c02f9020c78c0b",
-  "sendReportNotification": false
+  "sendAnalysisNotification": false,
+  "profileType": {
+    "area": "123",
+    "coldWater": "individual",
+    "constructionYear": "between_1948_and_1974",
+    "cookingFluid": 0,
+    "floor": "not_applicable",
+    "hasInstalledVentilation": "yes",
+    "hasReplacedHeater": "yes",
+    "heating": "individual",
+    "hotWater": "individual",
+    "hotWaterEquipment": "solar",
+    "hotWaterFluid": 0,
+    "housingType": "individual_house",
+    "individualInsulationWork": [
+      "roof_insulation"
+    ],
+    "occupantsNumber": 1,
+    "outsideFacingWalls": "2",
+    "warmingFluid": 0
+  },
+  "isProfileTypeCompleted": true
 }
 ```
 
@@ -102,33 +125,53 @@ This doctype is used to store ecogestures.
 
 ### Structure
 
-| Field            | Type        | Description                                                                                                                                                      |
-| ---------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| shortName        | string      | short name of the ecogesture                                                                                                                                     |
-| longName         | string      | long name of the ecogesture                                                                                                                                      |
-| shortDescription | string      | short description of the ecogesture                                                                                                                              |
-| longDescription  | string      | long description of the ecogesture                                                                                                                               |
-| usage            | string      | usage of the ecogesture                                                                                                                                          |
-| fluidTypes       | FluidType[] | Array of fluid type on which ecogesture can have an impact<br><br>_FluidType enum:_<br>- _ELECTRICITY = 0_<br>- _WATER = 1_<br>- _GAS = 2_<br>- _MULTIFLUID = 3_ |
-| nwh              | number      | negawattheure - impact of the ecogesture from 0 to 10                                                                                                            |
-| pack             | number      | pack number of the ecogesture (1 pack contain 2 ecogestures)                                                                                                     |
-| iconName         | string      | icon name for ecogesture                                                                                                                                         |
-| unlocked         | boolean     | (Optional) state for unlocked ecogesture                                                                                                                         |
+| Field                 | Type            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+| --------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| id                    | string          | ecogesture id                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+| shortName             | string          | short name of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+| longName              | string          | long name of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+| longDescription       | string          | long description of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                              |
+| usage                 | Usage           | usage of the ecogesture<br><br>_Usage enum:_<br>- _ALL = 0_<br>- _HEATING = 1_<br>- _AIR_CONDITIONING = 2_<br>- _ECS = 3_<br>- _COLD_WATER = 4_<br>- _ELECTRICITY_SPECIFIC = 5_<br>- _COOKING = 6_                                                                                                                                                                                                                                                                              |
+| fluidTypes            | FluidType[]     | Array of fluid type on which ecogesture can have an impact<br><br>_FluidType enum:_<br>- _ELECTRICITY = 0_<br>- _WATER = 1_<br>- _GAS = 2_<br>- _MULTIFLUID = 3_                                                                                                                                                                                                                                                                                                                |
+| impactLevel           | number          | impact level of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
+| efficiency            | number          | efficiency of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+| difficulty            | number          | difficulty of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
+| room                  | Room            | room affected by the ecogesture<br><br>_Room enum:_<br>- _ALL = 0_<br>- _BATHROOM = 1_<br>- _KITCHEN = 2_<br>- _LAUNDRY = 3_<br>- _TOILET = 4_                                                                                                                                                                                                                                                                                                                                  |
+| season                | Season          | season suited to the ecogesture<br><br>_Season enum:_<br>- _NONE = 'Sans saison'_<br>- _WINTER = 'Hiver'_<br>- _SUMMER = 'Eté'_                                                                                                                                                                                                                                                                                                                                                 |
+| equipment             | boolean         | used to know if one or more equipment are affected by the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                            |
+| equipmentType         | EquipmentType[] | equipment affected by the ecogesture<br><br>_EquipmentType enum:_<br>- _AIR_CONDITIONING = 0_<br>- _COMPUTER = 1_<br>- _MICROWAVE = 2_<br>- _OVEN = 3_<br>- _WASHING_MACHINE = 4_<br>- _DISHWASHER = 5_<br>- _COOKING_PLATES = 6_<br>- _DRYER = 7_<br>- _REFREGIRATOR = 8_<br>- _GARDEN = 9_<br>- _WATER_HEATER = 10_<br>- _FAN = 11_<br>- _CURTAIN = 12_<br>- _INTERNET_BOX = 13_<br>- _VENTILATION = 14_<br>- _FREEZER = 15_<br>- _BOILER = 16_<br>- _HYDRAULIC_HEATING = 17_ |
+| equipmentInstallation | boolean         | used to know if it is required an installation                                                                                                                                                                                                                                                                                                                                                                                                                                  |
+| investment            | string or null  | investment required                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
+| action                | boolean         | used to know if the ecogesture is used for action challenge                                                                                                                                                                                                                                                                                                                                                                                                                     |
+| actionName            | string or null  | action description of the ecogesture                                                                                                                                                                                                                                                                                                                                                                                                                                            |
+| actionDuration        | number          | duration required to do an action challenge                                                                                                                                                                                                                                                                                                                                                                                                                                     |
 
 ### Example
 
 ```
 {
-    "shortName": "Contrôle du nuage",
-    "longName": "Je règle la température de mon eau chaude entre 55 et 60 °C.",
-    "shortDescription": "",
-    "longDescription": "Bien souvent les chauffe-eau sont réglés pour une température de 70 °C dans le ballon, ce qui n’est pas économique et peut même être dangereux !",
-    "usage": "Eau chaude sanitaire",
+    "shortName": "Déesse des eaux",
+    "longName": "Je coupe l'eau de la douche pendant que je me savonne.",
+    "longDescription": "Si vous n’êtes pas frileux, coupez l'eau pendant que vous vous savonnez : l'économie en eau peut aller jusqu'à 50% !",
+    "usage": 3,
     "fluidTypes": [
-        0
+      1
     ],
-    "nwh": 6,
-    "pack": 8
+    "impactLevel": 5,
+    "investment": null,
+    "room": [
+      1
+    ],
+    "difficulty": 1,
+    "efficiency": 4,
+    "season": "Sans saison",
+    "action": true,
+    "actionDuration": 3,
+    "actionName": "Je coupe l'eau de la douche pendant que je me savonne.",
+    "equipment": false,
+    "equipmentInstallation": true,
+    "equipmentType": [],
+
 }
 ```
 
-- 
GitLab