From 5cbbed0c8cdbc9f1dcf1f10162bbbbb844a09895 Mon Sep 17 00:00:00 2001
From: Sebastian Kuzniarz <kuzniarz@zedat.fu-berlin.de>
Date: Fri, 14 Jan 2022 14:56:27 +0100
Subject: [PATCH] Implemented several GUI parts

- Fixed minor issues
- Added several forms
---
 client/package-lock.json                      |  442 ++
 client/package.json                           |    3 +
 client/public/locales/de/translation.json     |   54 +-
 client/public/locales/en/translation.json     |   55 +-
 client/src/Router.tsx                         |    5 +-
 client/src/components/ManagedBoatTile.tsx     |   17 +-
 client/src/components/Modal.tsx               |    2 +-
 client/src/components/RentedBoatTile.tsx      |    2 +-
 client/src/components/StaffLayout.tsx         |    3 +
 client/src/components/StaffModal.tsx          |    6 +-
 client/src/components/UserLayout.tsx          |    2 +-
 client/src/components/forms/BoatInfo.tsx      |  137 +
 .../src/components/forms/EditBoatTypeForm.tsx |  134 +
 client/src/components/forms/EditSports.tsx    |   89 +
 .../src/components/{ => layout}/Divider.tsx   |    0
 .../src/components/{ => layout}/Loading.tsx   |    0
 client/src/index.tsx                          |    2 +-
 client/src/pages/public/BookingForm.tsx       |    2 +-
 .../pages/public/BookingSignOutSuccess.tsx    |    2 +-
 client/src/pages/public/BookingSuccessful.tsx |    2 +-
 client/src/pages/staff/BoatManager.tsx        |   46 +-
 client/src/pages/staff/BoatOverview.tsx       |   31 +-
 client/src/pages/staff/BoatTypeOverview.tsx   |   41 +-
 client/src/pages/staff/Sports.tsx             |   67 +
 client/src/pages/staff/StaffLogin.tsx         |    2 +-
 client/src/pages/staff/Statistics.tsx         | 4258 ++++++++++++++++-
 26 files changed, 5316 insertions(+), 88 deletions(-)
 create mode 100644 client/src/components/forms/BoatInfo.tsx
 create mode 100644 client/src/components/forms/EditBoatTypeForm.tsx
 create mode 100644 client/src/components/forms/EditSports.tsx
 rename client/src/components/{ => layout}/Divider.tsx (100%)
 rename client/src/components/{ => layout}/Loading.tsx (100%)
 create mode 100644 client/src/pages/staff/Sports.tsx

diff --git a/client/package-lock.json b/client/package-lock.json
index b0892c3..2df4541 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -12,6 +12,9 @@
         "@fortawesome/free-regular-svg-icons": "^5.15.4",
         "@fortawesome/free-solid-svg-icons": "^5.15.4",
         "@fortawesome/react-fontawesome": "^0.1.16",
+        "@nivo/calendar": "^0.79.1",
+        "@nivo/colors": "^0.79.1",
+        "@nivo/core": "^0.79.0",
         "@types/node": "^12.20.36",
         "@types/react": "^17.0.34",
         "@types/react-dom": "^17.0.11",
@@ -2382,6 +2385,98 @@
         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
       }
     },
+    "node_modules/@nivo/calendar": {
+      "version": "0.79.1",
+      "resolved": "https://registry.npmjs.org/@nivo/calendar/-/calendar-0.79.1.tgz",
+      "integrity": "sha512-xX83jlyKAPk+ieS03vaNZqhW/atL56lghsT8fPSQzsYJTCNWFjjcLvR2UkG8LgVNUrZEvc9nSbrg5VvctaNCHQ==",
+      "dependencies": {
+        "@nivo/legends": "0.79.1",
+        "@nivo/tooltip": "0.79.0",
+        "d3-scale": "^3.2.3",
+        "d3-time": "^1.0.10",
+        "d3-time-format": "^3.0.0",
+        "lodash": "^4.17.21"
+      },
+      "peerDependencies": {
+        "@nivo/core": "0.79.0",
+        "react": ">= 16.14.0 < 18.0.0"
+      }
+    },
+    "node_modules/@nivo/calendar/node_modules/d3-time": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+      "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+    },
+    "node_modules/@nivo/colors": {
+      "version": "0.79.1",
+      "resolved": "https://registry.npmjs.org/@nivo/colors/-/colors-0.79.1.tgz",
+      "integrity": "sha512-45huBmz46OoQtfqzHrnqDJ9msebOBX84fTijyOBi8mn8iTDOK2xWgzT7cCYP3hKE58IclkibkzVyWCeJ+rUlqg==",
+      "dependencies": {
+        "d3-color": "^2.0.0",
+        "d3-scale": "^3.2.3",
+        "d3-scale-chromatic": "^2.0.0",
+        "lodash": "^4.17.21"
+      },
+      "peerDependencies": {
+        "@nivo/core": "0.79.0",
+        "prop-types": ">= 15.5.10 < 16.0.0",
+        "react": ">= 16.14.0 < 18.0.0"
+      }
+    },
+    "node_modules/@nivo/core": {
+      "version": "0.79.0",
+      "resolved": "https://registry.npmjs.org/@nivo/core/-/core-0.79.0.tgz",
+      "integrity": "sha512-e1iGodmGuXkF+QWAjhHVFc+lUnfBoUwaWqVcBXBfebzNc50tTJrTTMHyQczjgOIfTc8gEu23lAY4mVZCDKscig==",
+      "dependencies": {
+        "@nivo/recompose": "0.79.0",
+        "@react-spring/web": "9.3.1",
+        "d3-color": "^2.0.0",
+        "d3-format": "^1.4.4",
+        "d3-interpolate": "^2.0.1",
+        "d3-scale": "^3.2.3",
+        "d3-scale-chromatic": "^2.0.0",
+        "d3-shape": "^1.3.5",
+        "d3-time-format": "^3.0.0",
+        "lodash": "^4.17.21"
+      },
+      "peerDependencies": {
+        "@nivo/tooltip": "0.79.0",
+        "prop-types": ">= 15.5.10 < 16.0.0",
+        "react": ">= 16.14.0 < 18.0.0"
+      }
+    },
+    "node_modules/@nivo/legends": {
+      "version": "0.79.1",
+      "resolved": "https://registry.npmjs.org/@nivo/legends/-/legends-0.79.1.tgz",
+      "integrity": "sha512-AoabiLherOAk3/HR/N791fONxNdwNk/gCTJC/6BKUo2nX+JngEYm3nVFmTC1R6RdjwJTeCb9Vtuc4MHA+mcgig==",
+      "peerDependencies": {
+        "@nivo/core": "0.79.0",
+        "prop-types": ">= 15.5.10 < 16.0.0",
+        "react": ">= 16.14.0 < 18.0.0"
+      }
+    },
+    "node_modules/@nivo/recompose": {
+      "version": "0.79.0",
+      "resolved": "https://registry.npmjs.org/@nivo/recompose/-/recompose-0.79.0.tgz",
+      "integrity": "sha512-2GFnOHfA2jzTOA5mdKMwJ6myCRGoXQQbQvFFQ7B/+hnHfU/yrOVpiGt6TPAn3qReC4dyDYrzy1hr9UeQh677ig==",
+      "dependencies": {
+        "react-lifecycles-compat": "^3.0.4"
+      },
+      "peerDependencies": {
+        "react": ">= 16.14.0 < 18.0.0"
+      }
+    },
+    "node_modules/@nivo/tooltip": {
+      "version": "0.79.0",
+      "resolved": "https://registry.npmjs.org/@nivo/tooltip/-/tooltip-0.79.0.tgz",
+      "integrity": "sha512-hsJsvhDVR9P/QqIEDIttaA6aslR3tU9So1s/k2jMdppL7J9ZH/IrVx9TbIP7jDKmnU5AMIP5uSstXj9JiKLhQA==",
+      "dependencies": {
+        "@react-spring/web": "9.3.1"
+      },
+      "peerDependencies": {
+        "@nivo/core": "0.79.0"
+      }
+    },
     "node_modules/@nodelib/fs.scandir": {
       "version": "2.1.5",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -2480,6 +2575,72 @@
         "react": "^16.8.0 || ^17.0.0-rc.1"
       }
     },
+    "node_modules/@react-spring/animated": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.3.2.tgz",
+      "integrity": "sha512-pBvKydRHbTzuyaeHtxGIOvnskZxGo/S5/YK1rtYm88b9NQZuZa95Rgd3O0muFL+99nvBMBL8cvQGD0UJmsqQsg==",
+      "dependencies": {
+        "@react-spring/shared": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      },
+      "peerDependencies": {
+        "react": "^16.8.0  || ^17.0.0"
+      }
+    },
+    "node_modules/@react-spring/core": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.3.2.tgz",
+      "integrity": "sha512-kMRjkgdQ6LJ0lmb/wQlONpghaMT83UxglXHJC6m9kZS/GKVmN//TYMEK85xN1rC5Gg+BmjG61DtLCSkkLDTfNw==",
+      "dependencies": {
+        "@react-spring/animated": "~9.3.0",
+        "@react-spring/shared": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/react-spring/donate"
+      },
+      "peerDependencies": {
+        "react": "^16.8.0  || ^17.0.0"
+      }
+    },
+    "node_modules/@react-spring/rafz": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.3.2.tgz",
+      "integrity": "sha512-YtqNnAYp5bl6NdnDOD5TcYS40VJmB+Civ4LPtcWuRPKDAOa/XAf3nep48r0wPTmkK936mpX8aIm7h+luW59u5A=="
+    },
+    "node_modules/@react-spring/shared": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.3.2.tgz",
+      "integrity": "sha512-ypGQQ8w7mWnrELLon4h6mBCBxdd8j1pgLzmHXLpTC/f4ya2wdP+0WIKBWXJymIf+5NiTsXgSJra5SnHP5FBY+A==",
+      "dependencies": {
+        "@react-spring/rafz": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      },
+      "peerDependencies": {
+        "react": "^16.8.0  || ^17.0.0"
+      }
+    },
+    "node_modules/@react-spring/types": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.3.2.tgz",
+      "integrity": "sha512-u+IK9z9Re4hjNkBYKebZr7xVDYTai2RNBsI4UPL/k0B6lCNSwuqWIXfKZUDVlMOeZHtDqayJn4xz6HcSkTj3FQ=="
+    },
+    "node_modules/@react-spring/web": {
+      "version": "9.3.1",
+      "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.3.1.tgz",
+      "integrity": "sha512-sisZIgFGva/Z+xKWPSfXpukF0AP3kR9ALTxlHL87fVotMUCJX5vtH/YlVcywToEFwTHKt3MpI5Wy2M+vgVEeaw==",
+      "dependencies": {
+        "@react-spring/animated": "~9.3.0",
+        "@react-spring/core": "~9.3.0",
+        "@react-spring/shared": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      },
+      "peerDependencies": {
+        "react": "^16.8.0  || ^17.0.0",
+        "react-dom": "^16.8.0  || ^17.0.0"
+      }
+    },
     "node_modules/@restart/context": {
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
@@ -6262,6 +6423,82 @@
         "type": "^1.0.1"
       }
     },
+    "node_modules/d3-array": {
+      "version": "2.12.1",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
+      "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+      "dependencies": {
+        "internmap": "^1.0.0"
+      }
+    },
+    "node_modules/d3-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz",
+      "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ=="
+    },
+    "node_modules/d3-format": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+    },
+    "node_modules/d3-interpolate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz",
+      "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==",
+      "dependencies": {
+        "d3-color": "1 - 2"
+      }
+    },
+    "node_modules/d3-path": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+      "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+    },
+    "node_modules/d3-scale": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz",
+      "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==",
+      "dependencies": {
+        "d3-array": "^2.3.0",
+        "d3-format": "1 - 2",
+        "d3-interpolate": "1.2.0 - 2",
+        "d3-time": "^2.1.1",
+        "d3-time-format": "2 - 3"
+      }
+    },
+    "node_modules/d3-scale-chromatic": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz",
+      "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==",
+      "dependencies": {
+        "d3-color": "1 - 2",
+        "d3-interpolate": "1 - 2"
+      }
+    },
+    "node_modules/d3-shape": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+      "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+      "dependencies": {
+        "d3-path": "1"
+      }
+    },
+    "node_modules/d3-time": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz",
+      "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==",
+      "dependencies": {
+        "d3-array": "2"
+      }
+    },
+    "node_modules/d3-time-format": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz",
+      "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==",
+      "dependencies": {
+        "d3-time": "1 - 2"
+      }
+    },
     "node_modules/damerau-levenshtein": {
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz",
@@ -10080,6 +10317,11 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/internmap": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
+      "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="
+    },
     "node_modules/invariant": {
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
@@ -24260,6 +24502,76 @@
         "chalk": "^4.0.0"
       }
     },
+    "@nivo/calendar": {
+      "version": "0.79.1",
+      "resolved": "https://registry.npmjs.org/@nivo/calendar/-/calendar-0.79.1.tgz",
+      "integrity": "sha512-xX83jlyKAPk+ieS03vaNZqhW/atL56lghsT8fPSQzsYJTCNWFjjcLvR2UkG8LgVNUrZEvc9nSbrg5VvctaNCHQ==",
+      "requires": {
+        "@nivo/legends": "0.79.1",
+        "@nivo/tooltip": "0.79.0",
+        "d3-scale": "^3.2.3",
+        "d3-time": "^1.0.10",
+        "d3-time-format": "^3.0.0",
+        "lodash": "^4.17.21"
+      },
+      "dependencies": {
+        "d3-time": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+          "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+        }
+      }
+    },
+    "@nivo/colors": {
+      "version": "0.79.1",
+      "resolved": "https://registry.npmjs.org/@nivo/colors/-/colors-0.79.1.tgz",
+      "integrity": "sha512-45huBmz46OoQtfqzHrnqDJ9msebOBX84fTijyOBi8mn8iTDOK2xWgzT7cCYP3hKE58IclkibkzVyWCeJ+rUlqg==",
+      "requires": {
+        "d3-color": "^2.0.0",
+        "d3-scale": "^3.2.3",
+        "d3-scale-chromatic": "^2.0.0",
+        "lodash": "^4.17.21"
+      }
+    },
+    "@nivo/core": {
+      "version": "0.79.0",
+      "resolved": "https://registry.npmjs.org/@nivo/core/-/core-0.79.0.tgz",
+      "integrity": "sha512-e1iGodmGuXkF+QWAjhHVFc+lUnfBoUwaWqVcBXBfebzNc50tTJrTTMHyQczjgOIfTc8gEu23lAY4mVZCDKscig==",
+      "requires": {
+        "@nivo/recompose": "0.79.0",
+        "@react-spring/web": "9.3.1",
+        "d3-color": "^2.0.0",
+        "d3-format": "^1.4.4",
+        "d3-interpolate": "^2.0.1",
+        "d3-scale": "^3.2.3",
+        "d3-scale-chromatic": "^2.0.0",
+        "d3-shape": "^1.3.5",
+        "d3-time-format": "^3.0.0",
+        "lodash": "^4.17.21"
+      }
+    },
+    "@nivo/legends": {
+      "version": "0.79.1",
+      "resolved": "https://registry.npmjs.org/@nivo/legends/-/legends-0.79.1.tgz",
+      "integrity": "sha512-AoabiLherOAk3/HR/N791fONxNdwNk/gCTJC/6BKUo2nX+JngEYm3nVFmTC1R6RdjwJTeCb9Vtuc4MHA+mcgig==",
+      "requires": {}
+    },
+    "@nivo/recompose": {
+      "version": "0.79.0",
+      "resolved": "https://registry.npmjs.org/@nivo/recompose/-/recompose-0.79.0.tgz",
+      "integrity": "sha512-2GFnOHfA2jzTOA5mdKMwJ6myCRGoXQQbQvFFQ7B/+hnHfU/yrOVpiGt6TPAn3qReC4dyDYrzy1hr9UeQh677ig==",
+      "requires": {
+        "react-lifecycles-compat": "^3.0.4"
+      }
+    },
+    "@nivo/tooltip": {
+      "version": "0.79.0",
+      "resolved": "https://registry.npmjs.org/@nivo/tooltip/-/tooltip-0.79.0.tgz",
+      "integrity": "sha512-hsJsvhDVR9P/QqIEDIttaA6aslR3tU9So1s/k2jMdppL7J9ZH/IrVx9TbIP7jDKmnU5AMIP5uSstXj9JiKLhQA==",
+      "requires": {
+        "@react-spring/web": "9.3.1"
+      }
+    },
     "@nodelib/fs.scandir": {
       "version": "2.1.5",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -24331,6 +24643,55 @@
         "@babel/runtime": "^7.6.2"
       }
     },
+    "@react-spring/animated": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.3.2.tgz",
+      "integrity": "sha512-pBvKydRHbTzuyaeHtxGIOvnskZxGo/S5/YK1rtYm88b9NQZuZa95Rgd3O0muFL+99nvBMBL8cvQGD0UJmsqQsg==",
+      "requires": {
+        "@react-spring/shared": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      }
+    },
+    "@react-spring/core": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.3.2.tgz",
+      "integrity": "sha512-kMRjkgdQ6LJ0lmb/wQlONpghaMT83UxglXHJC6m9kZS/GKVmN//TYMEK85xN1rC5Gg+BmjG61DtLCSkkLDTfNw==",
+      "requires": {
+        "@react-spring/animated": "~9.3.0",
+        "@react-spring/shared": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      }
+    },
+    "@react-spring/rafz": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.3.2.tgz",
+      "integrity": "sha512-YtqNnAYp5bl6NdnDOD5TcYS40VJmB+Civ4LPtcWuRPKDAOa/XAf3nep48r0wPTmkK936mpX8aIm7h+luW59u5A=="
+    },
+    "@react-spring/shared": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.3.2.tgz",
+      "integrity": "sha512-ypGQQ8w7mWnrELLon4h6mBCBxdd8j1pgLzmHXLpTC/f4ya2wdP+0WIKBWXJymIf+5NiTsXgSJra5SnHP5FBY+A==",
+      "requires": {
+        "@react-spring/rafz": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      }
+    },
+    "@react-spring/types": {
+      "version": "9.3.2",
+      "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.3.2.tgz",
+      "integrity": "sha512-u+IK9z9Re4hjNkBYKebZr7xVDYTai2RNBsI4UPL/k0B6lCNSwuqWIXfKZUDVlMOeZHtDqayJn4xz6HcSkTj3FQ=="
+    },
+    "@react-spring/web": {
+      "version": "9.3.1",
+      "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.3.1.tgz",
+      "integrity": "sha512-sisZIgFGva/Z+xKWPSfXpukF0AP3kR9ALTxlHL87fVotMUCJX5vtH/YlVcywToEFwTHKt3MpI5Wy2M+vgVEeaw==",
+      "requires": {
+        "@react-spring/animated": "~9.3.0",
+        "@react-spring/core": "~9.3.0",
+        "@react-spring/shared": "~9.3.0",
+        "@react-spring/types": "~9.3.0"
+      }
+    },
     "@restart/context": {
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
@@ -27338,6 +27699,82 @@
         "type": "^1.0.1"
       }
     },
+    "d3-array": {
+      "version": "2.12.1",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
+      "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+      "requires": {
+        "internmap": "^1.0.0"
+      }
+    },
+    "d3-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz",
+      "integrity": "sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ=="
+    },
+    "d3-format": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+    },
+    "d3-interpolate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz",
+      "integrity": "sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ==",
+      "requires": {
+        "d3-color": "1 - 2"
+      }
+    },
+    "d3-path": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+      "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+    },
+    "d3-scale": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-3.3.0.tgz",
+      "integrity": "sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==",
+      "requires": {
+        "d3-array": "^2.3.0",
+        "d3-format": "1 - 2",
+        "d3-interpolate": "1.2.0 - 2",
+        "d3-time": "^2.1.1",
+        "d3-time-format": "2 - 3"
+      }
+    },
+    "d3-scale-chromatic": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-2.0.0.tgz",
+      "integrity": "sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==",
+      "requires": {
+        "d3-color": "1 - 2",
+        "d3-interpolate": "1 - 2"
+      }
+    },
+    "d3-shape": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+      "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+      "requires": {
+        "d3-path": "1"
+      }
+    },
+    "d3-time": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-2.1.1.tgz",
+      "integrity": "sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ==",
+      "requires": {
+        "d3-array": "2"
+      }
+    },
+    "d3-time-format": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-3.0.0.tgz",
+      "integrity": "sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==",
+      "requires": {
+        "d3-time": "1 - 2"
+      }
+    },
     "damerau-levenshtein": {
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz",
@@ -30287,6 +30724,11 @@
         "side-channel": "^1.0.4"
       }
     },
+    "internmap": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
+      "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="
+    },
     "invariant": {
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
diff --git a/client/package.json b/client/package.json
index b29629a..2c2dc1d 100644
--- a/client/package.json
+++ b/client/package.json
@@ -7,6 +7,9 @@
     "@fortawesome/free-regular-svg-icons": "^5.15.4",
     "@fortawesome/free-solid-svg-icons": "^5.15.4",
     "@fortawesome/react-fontawesome": "^0.1.16",
+    "@nivo/calendar": "^0.79.1",
+    "@nivo/colors": "^0.79.1",
+    "@nivo/core": "^0.79.0",
     "@types/node": "^12.20.36",
     "@types/react": "^17.0.34",
     "@types/react-dom": "^17.0.11",
diff --git a/client/public/locales/de/translation.json b/client/public/locales/de/translation.json
index 639c916..33ef1a4 100644
--- a/client/public/locales/de/translation.json
+++ b/client/public/locales/de/translation.json
@@ -55,22 +55,63 @@
         "buttonBoatOverview": "Bootsübersicht",
         "buttonManageBoats": "Boote verwalten",
         "buttonStatistics": "Statistiken",
-        "buttonLogout": "Abmelden"
+        "buttonLogout": "Abmelden",
+        "buttonBoatTypes": "Boots Typen",
+        "buttonSports": "Sportarten"
     },
     "boatOverview": {
         "labelOverdue": "Ausgeliehene Boote - Überfällig",
         "labelCurrentlyRented": "Momentan augeliehene Boote",
-        "buttonShowAll": "Alle anzeigen"
+        "buttonShowAll": "Alle anzeigen",
+        "BoatInfo": "Bootsinfo",
+        "EndRide": "Ausleihe beenden"
     },
     "boatManager": {
         "blockedBoats": "Gesperrte Boote",
-        "availableBoats": "Verfügbare Boote"
+        "availableBoats": "Verfügbare Boote",
+        "addBoat": "Boot hinzufügen",
+        "Add": "Hinzufügen",
+        "InfoBoat": "Bootsinfo",
+        "Info": "Editieren",
+        "BlockBoat": "Boot sperren",
+        "Block": "Sperren",
+        "UnblockBoat": "Boot freigeben",
+        "Unblock": "Freigeben"
     },
     "managedBoatTile": {
         "buttonInfo": "Info",
-        "buttonUnblock": "Entsperren",
+        "buttonUnblock": "Freigeben",
         "buttonBlock": "Sperren"
-
+    },
+    "boatTypeOverview": {
+        "Id": "ID",
+        "Name": "Bezeichner",
+        "Seats": "Plätze",
+        "Sport": "Sportart",
+        "addBoatType": "Bootstyp hinzufügen",
+        "EditBoatType": "Bootstyp editieren",
+        "DeleteBoatType": "Bootstyp löschen?",
+        "Add": "Hinzufügen",
+        "Delete": "Löschen",
+        "Edit": "Editieren",
+        "messages":{
+            "required":"{{val}} wird benötigt",
+            "DeleteText": "Sind Sie sicher, dass Sie '{{val}}' löschen wollen?"
+        }
+    },
+    "sports": {
+        "Id": "ID",
+        "Name": "Sportart",
+        "AddSport": "Sport hinzufügen",
+        "EditSport": "Sport editieren",
+        "DeleteSport": "Sport löschen?",
+        "Add": "Hinzufügen",
+        "Delete": "Löschen",
+        "Edit": "Editieren",
+        "messages":{
+            "required":"{{val}} wird benötigt",
+            "DeleteText": "Sind Sie sicher, dass Sie '{{val}}' löschen wollen?"
+        }
     },
     "routes": {
         "/": "Wassersport",
@@ -81,6 +122,7 @@
         "/staff/overview": "Bootsübersicht",
         "/staff/boattypes": "Bootstypen",
         "/staff/manage": "Boote Verwalten",
-        "/staff/statistics": "Statistiken"
+        "/staff/statistics": "Statistiken",
+        "/staff/sports": "Sportarten"
     }
 }
diff --git a/client/public/locales/en/translation.json b/client/public/locales/en/translation.json
index 86732e7..ad853f4 100644
--- a/client/public/locales/en/translation.json
+++ b/client/public/locales/en/translation.json
@@ -43,8 +43,8 @@
         "labelPassword": "Password",
         "buttonSignIn": "Login",
         "messages": {
-            "required": "{{val}} wird benötigt",
-            "invalidEmail" : "Bitte trage eine gültige Email ein"
+            "required": "{{val}} is required",
+            "invalidEmail" : "Please enter a valid Email"
         }
     },
     "staffModal": {
@@ -55,22 +55,64 @@
         "buttonBoatOverview": "Boat Overview",
         "buttonManageBoats": "Manage Boats",
         "buttonStatistics": "Statistics",
-        "buttonLogout": "Logout"
+        "buttonLogout": "Logout",
+        "buttonBoatTypes": "Boat Types",
+        "buttonSports": "Sports"
     },
     "boatOverview": {
         "labelOverdue": "Rented Boats - Overdue",
         "labelCurrentlyRented": "Currently Rented Boats",
-        "buttonShowAll": "Show all"
+        "buttonShowAll": "Show all",
+        "BoatInfo": "Boat Info",
+        "EndRide": "End Ride"
     },
     "boatManager": {
         "blockedBoats": "Blocked Boats",
-        "availableBoats": "Available Boats"
+        "availableBoats": "Available Boats",
+        "addBoat": "Add Boat",
+        "Add": "Add",
+        "InfoBoat": "Boat Info",
+        "Info": "Edit",
+        "BlockBoat": "Block Boat",
+        "Block": "Block",
+        "UnblockBoat": "Unblock Boat",
+        "Unblock": "Unblock"
     },
     "managedBoatTile": {
         "buttonInfo": "Info",
         "buttonUnblock": "Unblock",
         "buttonBlock": "Block"
     },
+    "boatTypeOverview": {
+        "Id": "ID",
+        "Name": "Type Name",
+        "Seats": "Seats",
+        "Sport": "Sport",
+        "addBoatType": "Add Boat Type",
+        "EditBoatType": "Edit Boat Type",
+        "DeleteBoatType": "Delete Boat Type?",
+        "Add": "Add",
+        "Delete": "Delete",
+        "Edit": "Edit",
+        "messages":{
+            "required":"{{val}} is required",
+            "DeleteText": "Are you sure, you want to delete '{{val}}'?"
+        }
+    },
+    "sports": {
+        "Id": "ID",
+        "Name": "Sport Type",
+        "AddSport": "Add Sport",
+        "EditSport": "Edit Sport",
+        "DeleteSport": "Delete Sport?",
+        "Add": "Add",
+        "Delete": "Delete",
+        "Edit": "Edit",
+        "messages":{
+            "required":"{{val}} is required",
+            "DeleteText": "Are you sure, you want to delete '{{val}}'?"
+        }
+    },
     "routes": {
         "/": "Water Sports",
         "/book": "Book a Boat",
@@ -80,6 +122,7 @@
         "/staff/overview": "Boat Overview",
         "/staff/boattypes" : "Boat Types",
         "/staff/manage": "Manage Boats",
-        "/staff/statistics": "Statistics"
+        "/staff/statistics": "Statistics",
+        "/staff/sports": "Sports"
     }
 }
diff --git a/client/src/Router.tsx b/client/src/Router.tsx
index 929a337..af93d52 100644
--- a/client/src/Router.tsx
+++ b/client/src/Router.tsx
@@ -12,6 +12,7 @@ import BookingSuccessful from "./pages/public/BookingSuccessful";
 import Home from "./pages/public/Home";
 import StaffLogin from "./pages/staff/StaffLogin"
 import StatisticOverview from "./pages/staff/Statistics";
+import Sports from "./pages/staff/Sports";
 
 function Router() {
   return (
@@ -37,11 +38,11 @@ function Router() {
           </Route>
         </Route>
         <Route path="staff" element={<StaffLayout />}>
-          <Route path="" element={<Navigate to="/staff/overview" />}/>
+          <Route path="" element={<Navigate to="/staff/overview" />} />
           <Route path="overview" element={<BoatOverview />} />
           <Route path="boattypes" element={<BoatTypeOverview />} />
+          <Route path="sports" element={<Sports />} />
           <Route path="manage" element={<BoatManager />} />
-
           <Route path="statistics" element={<StatisticOverview />} />
 
         </Route>
diff --git a/client/src/components/ManagedBoatTile.tsx b/client/src/components/ManagedBoatTile.tsx
index f0e2ce4..f60b4b5 100644
--- a/client/src/components/ManagedBoatTile.tsx
+++ b/client/src/components/ManagedBoatTile.tsx
@@ -1,11 +1,18 @@
 import React from "react";
 import { Button, Col } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
-// import { Image } from "react-bootstrap";
-// import { Link } from "react-router-dom";
 
-function ManagedBoatTile(props: any) {
+function ManagedBoatTile(props: {
+    boatName?: string;
+    time?: string;
+    persons?: string;
+    blocked?: boolean;
+    lastUsed?: string;
+    onInfoClick?: () => any;
+    onBlockClick?: () => any;
+}) {
     const { t } = useTranslation();
+
     return (
         <Col>
             <div className={`card-body shadow position-relative mb-1 rounded-2 ${props.blocked ? 'bg-info' : 'bg-success'}`} style={{ height: "90px" }}>
@@ -13,8 +20,8 @@ function ManagedBoatTile(props: any) {
                     style={{ width: "95%", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }}>{props.boatName}</div>
                 <div className="tile-label-time position-absolute me-2 mt-2 top-0 end-0 text-white">{props.lastUsed}</div>
                 <div className="d-flex justify-content-between" style={{ marginTop: "24px", width: "104%", marginLeft: "-2%" }}>
-                    <Button variant="secondary" style={{ flex: 0.48 }} className="mb-2 ms-2 bottom-0 start-0 shadow-sm text-uppercase rounded-pill">{t("managedBoatTile.buttonInfo")}</Button>
-                    <Button variant={`${props.blocked ? 'success' : 'danger'}`} style={{ flex: 0.48 }} className={`mb-2 me-2 bottom-0 end-0 shadow-sm text-uppercase rounded-pill`}>{props.blocked ? t("managedBoatTile.buttonUnblock") : t("managedBoatTile.buttonBlock")}</Button>
+                    <Button onClick={props.onInfoClick ? props.onInfoClick : () => { }} variant="secondary" style={{ flex: 0.48 }} className="mb-2 ms-2 bottom-0 start-0 shadow-sm text-uppercase rounded-pill">{t("managedBoatTile.buttonInfo")}</Button>
+                    <Button onClick={props.onBlockClick ? props.onBlockClick : () => { }} variant={`${props.blocked ? 'success' : 'danger'}`} style={{ flex: 0.48 }} className={`mb-2 me-2 bottom-0 end-0 shadow-sm text-uppercase rounded-pill`}>{props.blocked ? t("managedBoatTile.buttonUnblock") : t("managedBoatTile.buttonBlock")}</Button>
                 </div>
             </div>
         </Col>
diff --git a/client/src/components/Modal.tsx b/client/src/components/Modal.tsx
index 36081f2..e94e7e0 100644
--- a/client/src/components/Modal.tsx
+++ b/client/src/components/Modal.tsx
@@ -4,7 +4,7 @@ import React from "react";
 import { Image } from "react-bootstrap";
 import { Link } from "react-router-dom";
 import logo from "../assets/logo_unisport.png";
-import Divider from "./Divider";
+import Divider from "./layout/Divider";
 
 function Modal(props: any) {
   return (
diff --git a/client/src/components/RentedBoatTile.tsx b/client/src/components/RentedBoatTile.tsx
index d75327f..3bac05b 100644
--- a/client/src/components/RentedBoatTile.tsx
+++ b/client/src/components/RentedBoatTile.tsx
@@ -14,7 +14,7 @@ function RentedBoatTile(props: any) {
                 <div className="tile-label-persons position-absolute ms-2 mb-2 bottom-0 start-0 text-white">{props.persons}</div>
                 {/* Conditonally render the overdue text if it is set*/}
                 {props.overdue &&
-                    <div className="tile-label-overdue position-absolute me-2 mb-2 bottom-0 end-0 text-white fw-bold">{props.overdue}</div>
+                    <div className="tile-label-overdue position-absolute me-2 mb-2 bottom-0 end-0 text-white fw-bold">Overdue!</div>
                 }
             </div>
         </Col>
diff --git a/client/src/components/StaffLayout.tsx b/client/src/components/StaffLayout.tsx
index 596bbad..6809b34 100644
--- a/client/src/components/StaffLayout.tsx
+++ b/client/src/components/StaffLayout.tsx
@@ -17,11 +17,14 @@ function StaffLayout() {
 								<Nav activeKey={location.pathname}>
 								<Nav.Link href="/staff/overview">{t("staffNav.buttonBoatOverview")}</Nav.Link>
 								<Nav.Link href="/staff/manage">{t("staffNav.buttonManageBoats")}</Nav.Link>
+								<Nav.Link href="/staff/boattypes">{t("staffNav.buttonBoatTypes")}</Nav.Link>
+								<Nav.Link href="/staff/sports">{t("staffNav.buttonSports")}</Nav.Link>
 								<Nav.Link href="/staff/statistics">{t("staffNav.buttonStatistics")}</Nav.Link>
 								</Nav>
 							</div>
 							<div>
 								<Nav.Link>{t("staffNav.buttonLogout")}</Nav.Link>
+
 							</div>
 						</Nav>
 					</Navbar.Collapse>
diff --git a/client/src/components/StaffModal.tsx b/client/src/components/StaffModal.tsx
index 3de2e86..f4bbb6f 100644
--- a/client/src/components/StaffModal.tsx
+++ b/client/src/components/StaffModal.tsx
@@ -16,10 +16,12 @@ function StaffModal(props: {
 	const {t} = useTranslation();
   return (
     <Modal
-      {...props}
+      header={props.header}
+      show={props.show}
       size="lg"
       aria-labelledby="contained-modal-title-vcenter"
       centered
+      onHide={props.onHide}
     >
       <Modal.Header closeButton>
         <Modal.Title id="contained-modal-title-vcenter">
@@ -38,7 +40,7 @@ function StaffModal(props: {
           {props.hideText || t("staffModal.Cancel")}
         </Button>
         {!props.hideSuccess ? <Button
-          variant={props.successColor || "primary"}
+          variant={props.successColor || "success"}
           onClick={props.onSuccess}
         >
           {props.successText || t("staffModal.Done")}
diff --git a/client/src/components/UserLayout.tsx b/client/src/components/UserLayout.tsx
index 7863cff..fa7eb71 100644
--- a/client/src/components/UserLayout.tsx
+++ b/client/src/components/UserLayout.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from "react";
+import React, { useEffect } from "react";
 import { useTranslation } from "react-i18next";
 import { Outlet } from "react-router";
 import { useLocation } from "react-router-dom";
diff --git a/client/src/components/forms/BoatInfo.tsx b/client/src/components/forms/BoatInfo.tsx
new file mode 100644
index 0000000..37b857d
--- /dev/null
+++ b/client/src/components/forms/BoatInfo.tsx
@@ -0,0 +1,137 @@
+import React from "react";
+import { Form } from "react-bootstrap";
+import { Controller, useForm } from "react-hook-form";
+import { useTranslation } from "react-i18next";
+import validator from "validator";
+
+type FormData = {
+  sport: string;
+  boatName: string;
+  startTime: string;
+  estimatedEndTime: string;
+  destination: string;
+  name: string;
+  email: string;
+  annotations: string;
+};
+
+function BoatInfo(props: any) {
+
+  const {
+    control,
+    handleSubmit,
+    formState: { errors },
+  } = useForm<FormData>({
+    mode: "onBlur"
+  });
+  const { t } = useTranslation();
+
+  const onSubmit = (data: FormData) => {
+    try {
+      /**
+       * Logic to handle authentication. Should be separated into a service in another file.
+       * await login(data);
+       *
+       *
+       * navigate("/boatManager");
+       */
+    } catch (e) {
+      alert("error");
+    }
+  };
+
+  return (
+    <Form onSubmit={handleSubmit(onSubmit)}>
+      <Controller
+        name="sport"
+        control={control}
+        defaultValue= {props.sport}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label >{t("bookingForm.labelSport")}</Form.Label>
+            <Form.Control disabled type="text" {...field} />
+          </div>
+        )}
+      />
+      <Controller
+        name="boatName"
+        control={control}
+        defaultValue={props.boatName}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelBoatName")}</Form.Label>
+            <Form.Control disabled type="text" {...field}/>
+          </div>
+        )}
+      />
+      <Controller
+        name="startTime"
+        control={control}
+        defaultValue={props.startTime}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelStartTime")}</Form.Label>
+            <Form.Control disabled type="time" {...field}/>
+          </div>
+        )}
+      />
+      <Controller
+        name="estimatedEndTime"
+        control={control}
+        defaultValue={props.estimatedEndTime}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelEstimatedEndTime")}</Form.Label>
+            <Form.Control disabled type="time" {...field}/>
+          </div>
+        )}
+      />
+      <Controller
+        name="destination"
+        control={control}
+        defaultValue={props.destination}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelDestination")}</Form.Label>
+            <Form.Control disabled type="text" {...field}/>
+          </div>
+        )}
+      />
+      <Controller
+        name="name"
+        control={control}
+        defaultValue={props.name}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelName")}</Form.Label>
+            <Form.Control disabled type="text" {...field}/>
+          </div>
+        )}
+      />
+      <Controller
+        name="email"
+        control={control}
+        defaultValue={props.email}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelEmail")}</Form.Label>
+            <Form.Control disabled type="email" {...field}/>
+          </div>
+        )}
+      />
+      <Controller
+        name="annotations"
+        control={control}
+        defaultValue={props.annotations}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("bookingForm.labelAnnotations")}</Form.Label>
+            <Form.Control disabled type="text" {...field}/>
+          </div>
+        )}
+      />
+    </Form>
+  );
+}
+
+export default BoatInfo;
\ No newline at end of file
diff --git a/client/src/components/forms/EditBoatTypeForm.tsx b/client/src/components/forms/EditBoatTypeForm.tsx
new file mode 100644
index 0000000..c5fe678
--- /dev/null
+++ b/client/src/components/forms/EditBoatTypeForm.tsx
@@ -0,0 +1,134 @@
+import React from "react";
+import { Form } from "react-bootstrap";
+import { Controller, useForm } from "react-hook-form";
+import { useTranslation } from "react-i18next";
+import validator from "validator";
+
+type FormData = {
+  id: number;
+  boatTypename: string;
+  seats: number;
+  sport: string;
+};
+
+function EditBoatType(props: any) {
+
+  const {
+    control,
+    handleSubmit,
+    formState: { errors },
+  } = useForm<FormData>({
+    mode: "onBlur"
+  });
+  const { t } = useTranslation();
+
+  const onSubmit = (data: FormData) => {
+    try {
+      /**
+       * Logic to handle authentication. Should be separated into a service in another file.
+       * await login(data);
+       *
+       *
+       * navigate("/boatManager");
+       */
+    } catch (e) {
+      alert("error");
+    }
+  };
+
+  return (
+    <Form onSubmit={handleSubmit(onSubmit)}>
+      {props.id &&
+        <Controller
+          name="id"
+          control={control}
+          defaultValue= {props.id}
+          render={({ field }) => (
+            <div className="mb-2">
+              <Form.Label >{t("boatTypeOverview.Id")}</Form.Label>
+              <Form.Control disabled type="text" {...field} />
+            </div>
+          )}
+          rules={{
+            required: {
+              value: true,
+              message: t("boatTypeOverview.messages.required", {
+                val: t("boatTypeOverview.Id"),
+              }),
+            }
+          }}
+        />
+      }
+      <Controller
+        name="boatTypename"
+        control={control}
+        defaultValue={props.boatTypename}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("boatTypeOverview.Name")}</Form.Label>
+            <Form.Control type="text" {...field} isInvalid={!!errors.boatTypename}/>
+            <Form.Control.Feedback type="invalid">
+              {errors.boatTypename?.message}
+            </Form.Control.Feedback>
+          </div>
+        )}
+        rules={{
+          required: {
+            value: true,
+            message: t("boatTypeOverview.messages.required", {
+              val: t("boatTypeOverview.Name"),
+            }),
+          },
+          validate: (value: string) =>
+          validator.isAlphanumeric(value) ||
+          t("boatTypeOverview.messages.required").toString(),
+        }}
+      />
+      <Controller
+        name="seats"
+        control={control}
+        defaultValue={props.seats}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("boatTypeOverview.Seats")}</Form.Label>
+            <Form.Control type="text" {...field} isInvalid={!!errors.boatTypename}/>
+            <Form.Control.Feedback type="invalid">
+              {errors.seats?.message}
+            </Form.Control.Feedback>
+          </div>
+        )}
+        rules={{
+          required: {
+            value: true,
+            message: t("boatTypeOverview.messages.required", {
+              val: t("boatTypeOverview.Seats"),
+            }),
+          }
+        }}
+      />
+      <Controller
+        name="sport"
+        control={control}
+        defaultValue={props.sport}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("boatTypeOverview.Sport")}</Form.Label>
+            <Form.Select>
+              <option>1</option>
+            </Form.Select>
+          </div>
+        )}
+        rules={{
+          required: {
+            value: true,
+            message: t("boatTypeOverview.messages.required", {
+              val: t("boatTypeOverview.Sport"),
+            }),
+          }
+        }}
+      />
+    </Form>
+  );
+}
+
+export default EditBoatType;
\ No newline at end of file
diff --git a/client/src/components/forms/EditSports.tsx b/client/src/components/forms/EditSports.tsx
new file mode 100644
index 0000000..382a737
--- /dev/null
+++ b/client/src/components/forms/EditSports.tsx
@@ -0,0 +1,89 @@
+import React from "react";
+import { Form } from "react-bootstrap";
+import { Controller, useForm } from "react-hook-form";
+import { useTranslation } from "react-i18next";
+import validator from "validator";
+
+type FormData = {
+  id: number;
+  name: string;
+};
+
+function EditSports(props: any) {
+
+  const {
+    control,
+    handleSubmit,
+    formState: { errors },
+  } = useForm<FormData>({
+    mode: "onBlur"
+  });
+  const { t } = useTranslation();
+
+  const onSubmit = (data: FormData) => {
+    try {
+      /**
+       * Logic to handle authentication. Should be separated into a service in another file.
+       * await login(data);
+       *
+       *
+       * navigate("/boatManager");
+       */
+    } catch (e) {
+      alert("error");
+    }
+  };
+
+  return (
+    <Form onSubmit={handleSubmit(onSubmit)}>
+      {props.id &&
+        <Controller
+          name="id"
+          control={control}
+          defaultValue= {props.id}
+          render={({ field }) => (
+            <div className="mb-2">
+              <Form.Label >{t("sports.Id")}</Form.Label>
+              <Form.Control disabled type="text" {...field} />
+            </div>
+          )}
+          rules={{
+            required: {
+              value: true,
+              message: t("boatTypeOverview.messages.required", {
+                val: t("boatTypeOverview.Id"),
+              }),
+            }
+          }}
+        />
+      }
+      <Controller
+        name="name"
+        control={control}
+        defaultValue={props.name}
+        render={({ field }) => (
+          <div className="mb-2">
+            <Form.Label>{t("sports.Name")}</Form.Label>
+            <Form.Control type="text" {...field} isInvalid={!!errors.name}/>
+            <Form.Control.Feedback type="invalid">
+              {errors.name?.message}
+            </Form.Control.Feedback>
+          </div>
+        )}
+        rules={{
+          required: {
+            value: true,
+            message: t("Sports.messages.required", {
+              val: t("Sports.Name"),
+            }),
+          },
+          validate: (value: string) =>
+          validator.isAlphanumeric(value) ||
+          t("Sports.messages.required").toString(),
+        }}
+      />
+    </Form>
+  );
+}
+
+export default EditSports;
\ No newline at end of file
diff --git a/client/src/components/Divider.tsx b/client/src/components/layout/Divider.tsx
similarity index 100%
rename from client/src/components/Divider.tsx
rename to client/src/components/layout/Divider.tsx
diff --git a/client/src/components/Loading.tsx b/client/src/components/layout/Loading.tsx
similarity index 100%
rename from client/src/components/Loading.tsx
rename to client/src/components/layout/Loading.tsx
diff --git a/client/src/index.tsx b/client/src/index.tsx
index 3ee6e0c..3655d79 100644
--- a/client/src/index.tsx
+++ b/client/src/index.tsx
@@ -1,6 +1,6 @@
 import React, { Suspense } from "react";
 import ReactDOM from "react-dom";
-import Loading from "./components/Loading";
+import Loading from "./components/layout/Loading";
 import "./i18n";
 import Router from "./Router";
 import "./styles/app.scss";
diff --git a/client/src/pages/public/BookingForm.tsx b/client/src/pages/public/BookingForm.tsx
index 75c2cff..8a3fde4 100644
--- a/client/src/pages/public/BookingForm.tsx
+++ b/client/src/pages/public/BookingForm.tsx
@@ -4,7 +4,7 @@ import { Controller, useForm } from "react-hook-form";
 import { useTranslation } from "react-i18next";
 import { useNavigate } from "react-router";
 import validator from "validator";
-import Divider from "../../components/Divider";
+import Divider from "../../components/layout/Divider";
 import Modal from "../../components/Modal";
 
 type FormData = {
diff --git a/client/src/pages/public/BookingSignOutSuccess.tsx b/client/src/pages/public/BookingSignOutSuccess.tsx
index 86c75bb..075b5e3 100644
--- a/client/src/pages/public/BookingSignOutSuccess.tsx
+++ b/client/src/pages/public/BookingSignOutSuccess.tsx
@@ -3,7 +3,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import React from "react";
 import { Col, Container, Row } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
-import Divider from "../../components/Divider";
+import Divider from "../../components/layout/Divider";
 import Modal from "../../components/Modal";
 
 function BookingSignOutSuccess() {
diff --git a/client/src/pages/public/BookingSuccessful.tsx b/client/src/pages/public/BookingSuccessful.tsx
index 3611c20..9b6e694 100644
--- a/client/src/pages/public/BookingSuccessful.tsx
+++ b/client/src/pages/public/BookingSuccessful.tsx
@@ -3,7 +3,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import React from "react";
 import { Col, Container, Row } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
-import Divider from "../../components/Divider";
+import Divider from "../../components/layout/Divider";
 import Modal from "../../components/Modal";
 
 function BookingSuccessful() {
diff --git a/client/src/pages/staff/BoatManager.tsx b/client/src/pages/staff/BoatManager.tsx
index ef79ed7..06d4eb6 100644
--- a/client/src/pages/staff/BoatManager.tsx
+++ b/client/src/pages/staff/BoatManager.tsx
@@ -1,9 +1,7 @@
-import React, { useEffect, useState } from "react";
+import React, { useState } from "react";
 import { Button, Container, Row } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
-import Divider from "../../components/Divider";
 import ManagedBoatTile from "../../components/ManagedBoatTile";
-import { faEdit, faTrashAlt } from "@fortawesome/free-regular-svg-icons";
 import { faPlus } from "@fortawesome/free-solid-svg-icons";
 import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import StaffModal from "../../components/StaffModal"
@@ -11,6 +9,15 @@ import StaffModal from "../../components/StaffModal"
 function BoatManager() {
 	const { t } = useTranslation();
 	const [addElement, setAddElement] = useState<any>(false);
+	const [infoElement, setInfoElement] = useState<any>(false);
+	const [blockElement, setBlockElement] = useState<any>(false);
+	const [unblockElement, setUnBlockElement] = useState<any>(false);
+
+	const boats = [{ id: 1, boatName: "Nicholas Unless-Jesus-Christ-Had-Died-For-Thee-Thou-Hadst-Been-Damned Barbon", time: "13:15-15:14", seats: 2, blocked: true }, { id: 2, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: true }, { id: 3, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: true },
+	{ id: 4, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: true }, { id: 5, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: true }, { id: 6, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: true },
+	{ id: 7, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: false }, { id: 8, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: false }, { id: 9, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: false },
+	{ id: 10, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: false }, { id: 11, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: false }, { id: 12, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, blocked: false },]
+
 
 	return (
 		<div className="text-center position-relative">
@@ -18,13 +25,11 @@ function BoatManager() {
 			{/*TODO: Make dynamic*/}
 			<div className="py-3 bg-light border">
 				<Container>
-					<div className="overdue-tiles text-center">
+					<div className="blocked-tiles text-center">
 						<Row xs={1} md={2} xxl={3}>
-							<ManagedBoatTile boatName="Nicholas Unless-Jesus-Christ-Had-Died-For-Thee-Thou-Hadst-Been-Damned Barbon" blocked={true}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 7" blocked={true}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 13" blocked={true}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 16" blocked={true}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 22" blocked={true}></ManagedBoatTile>
+							{boats.filter(x => x.blocked).map(x =>
+								<ManagedBoatTile key={x.id} boatName={x.boatName} onInfoClick={() => { setInfoElement(x) }} onBlockClick={() => { setUnBlockElement(x) }} blocked={true}></ManagedBoatTile>
+							)}
 						</Row>
 					</div>
 					<Button variant="light" className="mt-3 shadow-sm bg-white border w-50 text-uppercase rounded-pill">{t("boatOverview.buttonShowAll")}</Button>
@@ -34,25 +39,28 @@ function BoatManager() {
 			<h2 className="my-3">{t("boatManager.availableBoats")}</h2>
 			<div className="py-3 bg-light border">
 				<Container>
-					<div className="overdue-tiles text-center">
+					<div className="blocked-tiles text-center">
 						<Row xs={1} md={2} xxl={3}>
-							<ManagedBoatTile boatName="Canoe 2" time="13:15-15:14" persons="3 Person" blocked={false}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 5" time="13:15-15:14" persons="3 Person" blocked={false}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 6" time="13:15-15:14" persons="3 Person" blocked={false}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 9" time="13:15-15:14" persons="3 Person" blocked={false}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 18" time="13:15-15:14" persons="3 Person" blocked={false}></ManagedBoatTile>
-							<ManagedBoatTile boatName="Canoe 20" time="13:15-15:14" persons="3 Person" blocked={false}></ManagedBoatTile>
+							{boats.filter(x => !x.blocked).map(x =>
+								<ManagedBoatTile key={x.id} boatName={x.boatName} time={x.time} persons={x.seats + " Person"} onInfoClick={() => { setInfoElement(x) }} onBlockClick={() => { setBlockElement(x) }} blocked={false}></ManagedBoatTile>
+							)}
 						</Row>
 					</div>
 					<Button variant="light" className="mt-3 shadow-sm bg-white border w-50 text-uppercase rounded-pill">{t("boatOverview.buttonShowAll")}</Button>
 				</Container>
 			</div>
 			<div className="d-flex px-2 py-1 justify-content-end bg-white border-top" style={{ position: "sticky", right: "5px", bottom: "0", zIndex: 3 }}>
-				<Button onClick={() => { setAddElement(true) }} variant="secondary"><FontAwesomeIcon icon={faPlus} className="text-white" /> Add Boat</Button>
+				<Button onClick={() => { setAddElement(true) }} variant="secondary"><FontAwesomeIcon icon={faPlus} className="text-white me-2" />{t("boatManager.addBoat")}</Button>
 			</div>
-			<StaffModal header={"Add BoatType"} show={addElement} successText="Add" onHide={() => { setAddElement(false) }} onSuccess={() => { setAddElement(undefined) }}>
+			<StaffModal header={t("boatManager.addBoat")} show={addElement} successText={t("boatManager.Add")} onHide={() => { setAddElement(false) }} onSuccess={() => { setAddElement(false) }}>
+			</StaffModal>
+			<StaffModal header={t("boatManager.InfoBoat")} show={infoElement} successText={t("boatManager.Info")} onHide={() => { setInfoElement(false) }} onSuccess={() => { setInfoElement(false) }}>
+			</StaffModal>
+			<StaffModal header={t("boatManager.BlockBoat")} show={blockElement} successText={t("boatManager.Block")} onHide={() => { setBlockElement(false) }} onSuccess={() => { setBlockElement(false) }}>
+			</StaffModal>
+			<StaffModal header={t("boatManager.UnblockBoat")} show={unblockElement} successText={t("boatManager.Unblock")} onHide={() => { setUnBlockElement(false) }} onSuccess={() => { setUnBlockElement(false) }}>
 			</StaffModal>
-		</div>
+		</div >
 	);
 }
 
diff --git a/client/src/pages/staff/BoatOverview.tsx b/client/src/pages/staff/BoatOverview.tsx
index 6adb69d..0385879 100644
--- a/client/src/pages/staff/BoatOverview.tsx
+++ b/client/src/pages/staff/BoatOverview.tsx
@@ -1,14 +1,19 @@
-import React, { useEffect, useState } from "react";
+import React, { useState } from "react";
 import { Button, Container, Row } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
-import Divider from "../../components/Divider";
 import RentedBoatTile from "../../components/RentedBoatTile";
 import StaffModal from "../../components/StaffModal";
+import BoatInfo from "../../components/forms/BoatInfo";
 
 
 function BoatOverview() {
 	const { t } = useTranslation();
-    const [infoElement, setInfoElement] = useState<any>(undefined);
+	const [infoElement, setInfoElement] = useState<any>(undefined);
+
+	const boats = [{ id: 1, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: true }, { id: 2, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: true }, { id: 3, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: true },
+	{ id: 4, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: true }, { id: 5, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: true }, { id: 6, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: true },
+	{ id: 7, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: false }, { id: 8, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: false }, { id: 9, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: false },
+	{ id: 10, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: false }, { id: 11, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: false }, { id: 12, boatName: "Canoe 1", time: "13:15-15:14", seats: 2, overdue: false },]
 
 	return (
 		<div className="text-center">
@@ -18,11 +23,9 @@ function BoatOverview() {
 				<Container>
 					<div className="overdue-tiles text-center">
 						<Row xs={1} md={2} xxl={3}>
-							<RentedBoatTile boatName="Canoe 1" time="13:15-15:14" persons="1 Person" overdue="Overdue!" clickEvent={()=>{setInfoElement({boatName:"ABC"})}}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 7" time="13:15-15:14" persons="3 Person" overdue="Overdue!" clickEvent={()=>{setInfoElement({boatName:"CDE"})}}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 13" time="13:15-15:14" persons="3 Person" overdue="Overdue!" clickEvent={()=>{setInfoElement({boatName:"DEF"})}}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 16" time="13:15-15:14" persons="3 Person" overdue="Overdue!" clickEvent={()=>{setInfoElement({boatName:"EFG"})}}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 22" time="13:15-15:14" persons="3 Person" overdue="Overdue!" clickEvent={()=>{setInfoElement({boatName:"FGH"})}}></RentedBoatTile>
+							{boats.filter(x => x.overdue).map(x =>
+								<RentedBoatTile key={x.id} boatName={x.boatName} time={x.time} persons={x.seats + " Person"} overdue={true} clickEvent={() => { setInfoElement(x) }}></RentedBoatTile>
+							)}
 						</Row>
 					</div>
 					<Button variant="light" className="mt-3 shadow-sm bg-white border w-50 text-uppercase rounded-pill">{t("boatOverview.buttonShowAll")}</Button>
@@ -34,18 +37,16 @@ function BoatOverview() {
 				<Container>
 					<div className="overdue-tiles text-center">
 						<Row xs={1} md={2} xxl={3}>
-							<RentedBoatTile boatName="Canoe 2" time="13:15-15:14" persons="3 Person" overdue={false}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 5" time="13:15-15:14" persons="3 Person" overdue={false}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 6" time="13:15-15:14" persons="3 Person" overdue={false}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 9" time="13:15-15:14" persons="3 Person" overdue={false}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 18" time="13:15-15:14" persons="3 Person" overdue={false}></RentedBoatTile>
-							<RentedBoatTile boatName="Canoe 20" time="13:15-15:14" persons="3 Person" overdue={false}></RentedBoatTile>
+							{boats.filter(x => !x.overdue).map(x =>
+								<RentedBoatTile key={x.id} boatName={x.boatName} time={x.time} persons={x.seats + " Person"} overdue={false} clickEvent={() => { setInfoElement(x) }}></RentedBoatTile>
+							)}
 						</Row>
 					</div>
 					<Button variant="light" className="mt-3 shadow-sm bg-white border w-50 text-uppercase rounded-pill">{t("boatOverview.buttonShowAll")}</Button>
 				</Container>
 			</div>
-			<StaffModal header={"Boat Info"} show={infoElement?.boatName} onHide={() => { setInfoElement(undefined) }} onSuccess={() => { setInfoElement(undefined) }}>
+			<StaffModal header={t("boatOverview.BoatInfo")} show={infoElement?.boatName} successText={t("boatOverview.EndRide")} successColor="dark" onHide={() => { setInfoElement(undefined) }} onSuccess={() => { setInfoElement(undefined) }}>
+				<BoatInfo></BoatInfo>
 			</StaffModal>
 		</div>
 	);
diff --git a/client/src/pages/staff/BoatTypeOverview.tsx b/client/src/pages/staff/BoatTypeOverview.tsx
index 142c0dc..c4e42d0 100644
--- a/client/src/pages/staff/BoatTypeOverview.tsx
+++ b/client/src/pages/staff/BoatTypeOverview.tsx
@@ -1,34 +1,32 @@
-import React, { useEffect, useState } from "react";
+import React, { useState } from "react";
 import { Table, Button } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
 import { faEdit, faTrashAlt } from "@fortawesome/free-regular-svg-icons";
 import { faPlus } from "@fortawesome/free-solid-svg-icons";
 import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
 import StaffModal from "../../components/StaffModal";
+import EditBoatTypeForm from "../../components/forms/EditBoatTypeForm";
 
 function BoatTypeOverview() {
     const { t } = useTranslation();
-    const [editElement, setEditElement] = useState<any>(undefined);
-    const [deleteElement, setDeleteElement] = useState<any>(undefined);
-    const [addElement, setAddElement] = useState<any>(false);
+    const [editElement, setEditElement] = useState<({ id: number; name: string; seats: number; sport: number; } | undefined)>(undefined);
+    const [deleteElement, setDeleteElement] = useState<({ id: number; name: string; seats: number; sport: number; } | undefined)>(undefined);
+    const [addElement, setAddElement] = useState<({ id: number; name: string; seats: number; sport: number; } | boolean)>(false);
     return (
         <div className="m-1 h-100">
-            <div className="my-2 d-flex justify-content-end mx-2">
-                <Button onClick={() => { setAddElement(true) }} variant="secondary"><FontAwesomeIcon icon={faPlus} className="text-white" /> Add</Button>
-            </div>
             <Table responsive striped bordered hover>
                 <thead>
                     <tr>
-                        <th>Id</th>
-                        <th>Name</th>
-                        <th>Seats</th>
-                        <th>Sport</th>
+                        <th>{t("boatTypeOverview.Id")}</th>
+                        <th>{t("boatTypeOverview.Name")}</th>
+                        <th>{t("boatTypeOverview.Seats")}</th>
+                        <th>{t("boatTypeOverview.Sport")}</th>
                         <th></th>
                     </tr>
                 </thead>
-                <tbody>
+                <tbody style={{ overflowY: "scroll", maxHeight: "100px" }}>
                     {
-                        [{ id: 1, name: "Das Boot 1", seats: 1, sport: 1 }, { id: 2, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 3, name: "Das Boot 3", seats: 1, sport: 1 }].map(x => (
+                        [{ id: 1, name: "Das Boot 1", seats: 1, sport: 1 }, { id: 2, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 3, name: "Das Boot 3", seats: 1, sport: 1 }, { id: 4, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 5, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 6, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 7, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 8, name: "Das Boot 2", seats: 1, sport: 1 }, { id: 9, name: "Das Boot 2", seats: 1, sport: 1 }].map(x => (
                             <tr key={x.id}>
                                 <td>{x.id}</td>
                                 <td>{x.name}</td>
@@ -53,17 +51,20 @@ function BoatTypeOverview() {
                     }
                 </tbody>
             </Table>
-            <StaffModal header={"Add BoatType"} show={addElement} successText="Add" onHide={() => { setAddElement(false) }} onSuccess={() => { setAddElement(undefined) }}>
-
+            <div className="d-flex px-2 py-1 justify-content-end bg-white border-top" style={{ position: "sticky", right: "5px", bottom: "0", zIndex: 3 }}>
+                <Button onClick={() => { setAddElement(true) }} variant="secondary"><FontAwesomeIcon icon={faPlus} className="text-white me-2" />{t("boatTypeOverview.addBoatType")}</Button>
+            </div>
+            <StaffModal header={t("boatTypeOverview.addBoatType")} show={!!addElement} successText={t("boatTypeOverview.Add")} onHide={() => { setAddElement(false) }} onSuccess={() => { setAddElement(false) }}>
+                <EditBoatTypeForm boatTypename={""} seats={1} sport={editElement?.sport}></EditBoatTypeForm>
             </StaffModal>
-            <StaffModal header={"Edit BoatType"} show={editElement} onHide={() => { setEditElement(undefined) }} onSuccess={() => { setEditElement(undefined) }}>
-
+            <StaffModal header={t("boatTypeOverview.EditBoatType")} successText={t("boatTypeOverview.Edit")} show={!!editElement} onHide={() => { setEditElement(undefined) }} onSuccess={() => { setEditElement(undefined) }}>
+                <EditBoatTypeForm id={editElement?.id} boatTypename={editElement?.name} seats={editElement?.seats} sport={editElement?.sport}></EditBoatTypeForm>
             </StaffModal>
-            <StaffModal header={"Delete BoatType?"} hideColor="secondary" successText="Delete" successColor="danger" show={deleteElement} onHide={() => { setDeleteElement(undefined) }} onSuccess={() => { setDeleteElement(undefined) }}>
-                <span>Do you really want to delete "{deleteElement?.name}"?</span>
+            <StaffModal header={t("boatTypeOverview.DeleteBoatType")} hideColor="secondary" successText={t("boatTypeOverview.Delete")} successColor="danger" show={!!deleteElement} onHide={() => { setDeleteElement(undefined) }} onSuccess={() => { setDeleteElement(undefined) }}>
+                <span>{t("boatTypeOverview.messages.DeleteText", { val: deleteElement?.name })}</span>
             </StaffModal>
         </div>
-    );
+    )
 }
 
 export default BoatTypeOverview;
diff --git a/client/src/pages/staff/Sports.tsx b/client/src/pages/staff/Sports.tsx
new file mode 100644
index 0000000..e217925
--- /dev/null
+++ b/client/src/pages/staff/Sports.tsx
@@ -0,0 +1,67 @@
+import React, { useState } from "react";
+import { Table, Button } from "react-bootstrap";
+import { useTranslation } from "react-i18next";
+import { faEdit, faTrashAlt } from "@fortawesome/free-regular-svg-icons";
+import { faPlus } from "@fortawesome/free-solid-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import StaffModal from "../../components/StaffModal";
+import EditSports from "../../components/forms/EditSports";
+
+
+function Sports() {
+    const { t } = useTranslation();
+    const [editElement, setEditElement] = useState<{ id: number; name: string;}|undefined>(undefined);
+    const [deleteElement, setDeleteElement] = useState<any>(undefined);
+    const [addElement, setAddElement] = useState<any>(false);
+    return (
+        <div className="m-1 h-100">
+            <Table responsive striped bordered hover>
+                <thead>
+                    <tr>
+                        <th>{t("sports.Id")}</th>
+                        <th>{t("sports.Name")}</th>
+                        <th></th>
+                    </tr>
+                </thead>
+                <tbody>
+                    {
+                        [{ id: 1, name: "Wasser 1" }, { id: 2, name: "Wasser 2" }].map(x => (
+                            <tr key={x.id}>
+                                <td>{x.id}</td>
+                                <td>{x.name}</td>
+                                <td>
+                                    <div className="d-flex">
+                                        <div className="mx-2" onClick={() => { setEditElement(x) }}><FontAwesomeIcon
+                                            icon={faEdit}
+                                            className="text-secondary clickableIcon"
+                                            size="1x" />
+                                        </div>
+                                        <div className="mx-2" onClick={() => { setDeleteElement(x) }}><FontAwesomeIcon
+                                            icon={faTrashAlt}
+                                            className="text-danger clickableIcon"
+                                            size="1x" />
+                                        </div>
+                                    </div>
+                                </td>
+                            </tr>
+                        ))
+                    }
+                </tbody>
+            </Table>
+            <div className="d-flex px-2 py-1 justify-content-end bg-white border-top" style={{ position: "sticky", right: "5px", bottom: "0", zIndex: 3 }}>
+                <Button onClick={() => { setAddElement(true) }} variant="secondary"><FontAwesomeIcon icon={faPlus} className="text-white me-2" />{t("sports.AddSport")}</Button>
+            </div>
+            <StaffModal header={t("sports.AddSport")} show={addElement} successText={t("sports.Add")} onHide={() => { setAddElement(false) }} onSuccess={() => { setAddElement(undefined) }}>
+                <EditSports></EditSports>
+            </StaffModal>
+            <StaffModal header={t("sports.EditSport")} show={!!editElement} successText={t("sports.Edit")} onHide={() => { setEditElement(undefined) }} onSuccess={() => { setEditElement(undefined) }}>
+                <EditSports id={editElement?.id} name={editElement?.name} ></EditSports>
+            </StaffModal>
+            <StaffModal header={t("sports.DeleteSport")} hideColor="secondary" successText={t("sports.Delete")} successColor="danger" show={deleteElement} onHide={() => { setDeleteElement(undefined) }} onSuccess={() => { setDeleteElement(undefined) }}>
+                <span>{t("sports.messages.DeleteText", {val: deleteElement?.name})}</span>
+            </StaffModal>
+        </div>
+    );
+}
+
+export default Sports;
diff --git a/client/src/pages/staff/StaffLogin.tsx b/client/src/pages/staff/StaffLogin.tsx
index f33bf23..102ceeb 100644
--- a/client/src/pages/staff/StaffLogin.tsx
+++ b/client/src/pages/staff/StaffLogin.tsx
@@ -3,7 +3,7 @@ import { Button, Col, Container, Form, Row } from "react-bootstrap";
 import { Controller, useForm } from "react-hook-form";
 import { useTranslation } from "react-i18next";
 import validator from "validator";
-import Divider from "../../components/Divider";
+import Divider from "../../components/layout/Divider";
 import Modal from "../../components/Modal";
 
 type FormData = {
diff --git a/client/src/pages/staff/Statistics.tsx b/client/src/pages/staff/Statistics.tsx
index 197d8b5..32215ff 100644
--- a/client/src/pages/staff/Statistics.tsx
+++ b/client/src/pages/staff/Statistics.tsx
@@ -1,12 +1,4260 @@
-import React, { useEffect, useState } from "react";
-import { useTranslation } from "react-i18next";
-
+import React from "react";
+// import { useTranslation } from "react-i18next";
+import { ResponsiveCalendar } from "@nivo/calendar"
+import { Form, Row } from "react-bootstrap";
 
 function StatisticOverview() {
-    const { t } = useTranslation();
+    // const { t } = useTranslation();
+
+    const data = [
+        {
+            "value": 375,
+            "day": "2015-12-03"
+        },
+        {
+            "value": 251,
+            "day": "2017-12-05"
+        },
+        {
+            "value": 210,
+            "day": "2015-12-07"
+        },
+        {
+            "value": 155,
+            "day": "2016-06-22"
+        },
+        {
+            "value": 88,
+            "day": "2016-03-16"
+        },
+        {
+            "value": 226,
+            "day": "2017-01-24"
+        },
+        {
+            "value": 213,
+            "day": "2015-09-23"
+        },
+        {
+            "value": 40,
+            "day": "2017-04-26"
+        },
+        {
+            "value": 36,
+            "day": "2017-10-14"
+        },
+        {
+            "value": 270,
+            "day": "2015-12-24"
+        },
+        {
+            "value": 283,
+            "day": "2017-09-03"
+        },
+        {
+            "value": 100,
+            "day": "2016-09-17"
+        },
+        {
+            "value": 59,
+            "day": "2016-12-23"
+        },
+        {
+            "value": 230,
+            "day": "2016-04-30"
+        },
+        {
+            "value": 51,
+            "day": "2018-07-11"
+        },
+        {
+            "value": 375,
+            "day": "2017-06-18"
+        },
+        {
+            "value": 290,
+            "day": "2017-11-08"
+        },
+        {
+            "value": 57,
+            "day": "2015-10-29"
+        },
+        {
+            "value": 53,
+            "day": "2016-10-12"
+        },
+        {
+            "value": 107,
+            "day": "2017-06-19"
+        },
+        {
+            "value": 374,
+            "day": "2016-04-27"
+        },
+        {
+            "value": 52,
+            "day": "2015-11-15"
+        },
+        {
+            "value": 249,
+            "day": "2017-09-14"
+        },
+        {
+            "value": 181,
+            "day": "2018-03-02"
+        },
+        {
+            "value": 373,
+            "day": "2015-12-10"
+        },
+        {
+            "value": 167,
+            "day": "2017-02-08"
+        },
+        {
+            "value": 252,
+            "day": "2018-07-14"
+        },
+        {
+            "value": 94,
+            "day": "2016-03-11"
+        },
+        {
+            "value": 332,
+            "day": "2017-05-22"
+        },
+        {
+            "value": 99,
+            "day": "2016-06-07"
+        },
+        {
+            "value": 297,
+            "day": "2017-04-06"
+        },
+        {
+            "value": 158,
+            "day": "2016-05-13"
+        },
+        {
+            "value": 113,
+            "day": "2016-04-19"
+        },
+        {
+            "value": 78,
+            "day": "2016-10-04"
+        },
+        {
+            "value": 150,
+            "day": "2016-01-09"
+        },
+        {
+            "value": 118,
+            "day": "2017-12-07"
+        },
+        {
+            "value": 80,
+            "day": "2018-03-10"
+        },
+        {
+            "value": 346,
+            "day": "2018-03-04"
+        },
+        {
+            "value": 355,
+            "day": "2018-01-13"
+        },
+        {
+            "value": 64,
+            "day": "2018-07-06"
+        },
+        {
+            "value": 153,
+            "day": "2016-10-08"
+        },
+        {
+            "value": 129,
+            "day": "2016-08-24"
+        },
+        {
+            "value": 134,
+            "day": "2017-01-02"
+        },
+        {
+            "value": 256,
+            "day": "2015-10-03"
+        },
+        {
+            "value": 327,
+            "day": "2015-06-14"
+        },
+        {
+            "value": 143,
+            "day": "2017-05-07"
+        },
+        {
+            "value": 63,
+            "day": "2017-01-17"
+        },
+        {
+            "value": 16,
+            "day": "2018-07-07"
+        },
+        {
+            "value": 161,
+            "day": "2018-03-01"
+        },
+        {
+            "value": 200,
+            "day": "2018-01-06"
+        },
+        {
+            "value": 357,
+            "day": "2016-02-06"
+        },
+        {
+            "value": 304,
+            "day": "2018-06-11"
+        },
+        {
+            "value": 10,
+            "day": "2017-09-02"
+        },
+        {
+            "value": 236,
+            "day": "2017-11-03"
+        },
+        {
+            "value": 246,
+            "day": "2015-07-27"
+        },
+        {
+            "value": 69,
+            "day": "2017-01-18"
+        },
+        {
+            "value": 275,
+            "day": "2016-10-29"
+        },
+        {
+            "value": 297,
+            "day": "2015-12-01"
+        },
+        {
+            "value": 310,
+            "day": "2016-02-27"
+        },
+        {
+            "value": 365,
+            "day": "2018-06-05"
+        },
+        {
+            "value": 196,
+            "day": "2016-02-23"
+        },
+        {
+            "value": 91,
+            "day": "2016-12-30"
+        },
+        {
+            "value": 71,
+            "day": "2017-10-23"
+        },
+        {
+            "value": 148,
+            "day": "2016-02-08"
+        },
+        {
+            "value": 314,
+            "day": "2016-11-06"
+        },
+        {
+            "value": 255,
+            "day": "2016-12-02"
+        },
+        {
+            "value": 136,
+            "day": "2017-12-09"
+        },
+        {
+            "value": 154,
+            "day": "2016-01-23"
+        },
+        {
+            "value": 235,
+            "day": "2018-05-08"
+        },
+        {
+            "value": 328,
+            "day": "2017-10-04"
+        },
+        {
+            "value": 228,
+            "day": "2017-10-15"
+        },
+        {
+            "value": 166,
+            "day": "2016-04-01"
+        },
+        {
+            "value": 310,
+            "day": "2016-10-30"
+        },
+        {
+            "value": 92,
+            "day": "2017-06-17"
+        },
+        {
+            "value": 28,
+            "day": "2016-06-08"
+        },
+        {
+            "value": 101,
+            "day": "2015-08-11"
+        },
+        {
+            "value": 243,
+            "day": "2016-08-20"
+        },
+        {
+            "value": 46,
+            "day": "2016-02-29"
+        },
+        {
+            "value": 380,
+            "day": "2017-04-02"
+        },
+        {
+            "value": 309,
+            "day": "2015-05-18"
+        },
+        {
+            "value": 193,
+            "day": "2015-07-19"
+        },
+        {
+            "value": 33,
+            "day": "2018-05-14"
+        },
+        {
+            "value": 146,
+            "day": "2017-06-23"
+        },
+        {
+            "value": 261,
+            "day": "2015-04-24"
+        },
+        {
+            "value": 219,
+            "day": "2018-01-26"
+        },
+        {
+            "value": 92,
+            "day": "2016-11-30"
+        },
+        {
+            "value": 48,
+            "day": "2015-10-26"
+        },
+        {
+            "value": 146,
+            "day": "2017-12-08"
+        },
+        {
+            "value": 214,
+            "day": "2017-10-16"
+        },
+        {
+            "value": 380,
+            "day": "2016-05-25"
+        },
+        {
+            "value": 100,
+            "day": "2017-07-26"
+        },
+        {
+            "value": 60,
+            "day": "2016-06-01"
+        },
+        {
+            "value": 42,
+            "day": "2016-10-20"
+        },
+        {
+            "value": 224,
+            "day": "2017-08-01"
+        },
+        {
+            "value": 136,
+            "day": "2015-09-18"
+        },
+        {
+            "value": 62,
+            "day": "2016-12-14"
+        },
+        {
+            "value": 177,
+            "day": "2018-02-28"
+        },
+        {
+            "value": 163,
+            "day": "2017-07-25"
+        },
+        {
+            "value": 32,
+            "day": "2017-01-05"
+        },
+        {
+            "value": 241,
+            "day": "2016-10-07"
+        },
+        {
+            "value": 309,
+            "day": "2015-11-12"
+        },
+        {
+            "value": 238,
+            "day": "2015-09-07"
+        },
+        {
+            "value": 36,
+            "day": "2017-07-01"
+        },
+        {
+            "value": 24,
+            "day": "2017-08-04"
+        },
+        {
+            "value": 18,
+            "day": "2018-03-11"
+        },
+        {
+            "value": 132,
+            "day": "2015-09-17"
+        },
+        {
+            "value": 17,
+            "day": "2017-05-30"
+        },
+        {
+            "value": 68,
+            "day": "2017-07-28"
+        },
+        {
+            "value": 118,
+            "day": "2015-12-13"
+        },
+        {
+            "value": 109,
+            "day": "2017-10-27"
+        },
+        {
+            "value": 318,
+            "day": "2018-07-24"
+        },
+        {
+            "value": 356,
+            "day": "2016-07-17"
+        },
+        {
+            "value": 394,
+            "day": "2015-05-21"
+        },
+        {
+            "value": 93,
+            "day": "2016-04-02"
+        },
+        {
+            "value": 4,
+            "day": "2018-06-16"
+        },
+        {
+            "value": 176,
+            "day": "2016-09-22"
+        },
+        {
+            "value": 24,
+            "day": "2015-10-24"
+        },
+        {
+            "value": 49,
+            "day": "2018-04-11"
+        },
+        {
+            "value": 312,
+            "day": "2016-11-03"
+        },
+        {
+            "value": 343,
+            "day": "2016-06-23"
+        },
+        {
+            "value": 303,
+            "day": "2017-06-29"
+        },
+        {
+            "value": 286,
+            "day": "2015-05-04"
+        },
+        {
+            "value": 13,
+            "day": "2016-03-07"
+        },
+        {
+            "value": 87,
+            "day": "2017-07-06"
+        },
+        {
+            "value": 133,
+            "day": "2017-10-07"
+        },
+        {
+            "value": 158,
+            "day": "2017-09-21"
+        },
+        {
+            "value": 330,
+            "day": "2018-05-31"
+        },
+        {
+            "value": 29,
+            "day": "2017-09-08"
+        },
+        {
+            "value": 98,
+            "day": "2016-02-11"
+        },
+        {
+            "value": 213,
+            "day": "2015-12-06"
+        },
+        {
+            "value": 71,
+            "day": "2015-05-05"
+        },
+        {
+            "value": 337,
+            "day": "2015-12-26"
+        },
+        {
+            "value": 109,
+            "day": "2016-01-12"
+        },
+        {
+            "value": 87,
+            "day": "2017-09-27"
+        },
+        {
+            "value": 141,
+            "day": "2017-03-16"
+        },
+        {
+            "value": 37,
+            "day": "2015-04-13"
+        },
+        {
+            "value": 116,
+            "day": "2016-02-25"
+        },
+        {
+            "value": 42,
+            "day": "2018-02-16"
+        },
+        {
+            "value": 270,
+            "day": "2015-06-03"
+        },
+        {
+            "value": 388,
+            "day": "2017-11-01"
+        },
+        {
+            "value": 88,
+            "day": "2016-12-29"
+        },
+        {
+            "value": 18,
+            "day": "2015-08-02"
+        },
+        {
+            "value": 257,
+            "day": "2016-08-04"
+        },
+        {
+            "value": 205,
+            "day": "2015-05-25"
+        },
+        {
+            "value": 272,
+            "day": "2015-10-07"
+        },
+        {
+            "value": 233,
+            "day": "2016-03-03"
+        },
+        {
+            "value": 166,
+            "day": "2016-04-14"
+        },
+        {
+            "value": 104,
+            "day": "2018-05-11"
+        },
+        {
+            "value": 52,
+            "day": "2017-01-10"
+        },
+        {
+            "value": 20,
+            "day": "2016-09-14"
+        },
+        {
+            "value": 75,
+            "day": "2018-01-03"
+        },
+        {
+            "value": 378,
+            "day": "2018-07-04"
+        },
+        {
+            "value": 164,
+            "day": "2018-01-29"
+        },
+        {
+            "value": 41,
+            "day": "2017-02-11"
+        },
+        {
+            "value": 247,
+            "day": "2018-08-09"
+        },
+        {
+            "value": 35,
+            "day": "2016-08-30"
+        },
+        {
+            "value": 206,
+            "day": "2015-05-13"
+        },
+        {
+            "value": 369,
+            "day": "2015-07-26"
+        },
+        {
+            "value": 121,
+            "day": "2016-07-11"
+        },
+        {
+            "value": 195,
+            "day": "2018-02-08"
+        },
+        {
+            "value": 339,
+            "day": "2016-02-28"
+        },
+        {
+            "value": 184,
+            "day": "2016-11-29"
+        },
+        {
+            "value": 335,
+            "day": "2017-04-17"
+        },
+        {
+            "value": 9,
+            "day": "2016-07-01"
+        },
+        {
+            "value": 61,
+            "day": "2017-10-21"
+        },
+        {
+            "value": 230,
+            "day": "2017-07-07"
+        },
+        {
+            "value": 54,
+            "day": "2015-06-23"
+        },
+        {
+            "value": 184,
+            "day": "2016-07-13"
+        },
+        {
+            "value": 132,
+            "day": "2015-10-18"
+        },
+        {
+            "value": 235,
+            "day": "2017-02-04"
+        },
+        {
+            "value": 357,
+            "day": "2016-06-30"
+        },
+        {
+            "value": 267,
+            "day": "2015-05-15"
+        },
+        {
+            "value": 87,
+            "day": "2017-05-26"
+        },
+        {
+            "value": 323,
+            "day": "2018-01-18"
+        },
+        {
+            "value": 254,
+            "day": "2015-08-03"
+        },
+        {
+            "value": 120,
+            "day": "2016-06-17"
+        },
+        {
+            "value": 318,
+            "day": "2017-05-11"
+        },
+        {
+            "value": 174,
+            "day": "2016-06-26"
+        },
+        {
+            "value": 162,
+            "day": "2017-02-01"
+        },
+        {
+            "value": 233,
+            "day": "2015-06-08"
+        },
+        {
+            "value": 291,
+            "day": "2018-06-01"
+        },
+        {
+            "value": 3,
+            "day": "2015-04-21"
+        },
+        {
+            "value": 288,
+            "day": "2017-10-25"
+        },
+        {
+            "value": 34,
+            "day": "2015-05-22"
+        },
+        {
+            "value": 319,
+            "day": "2016-11-08"
+        },
+        {
+            "value": 77,
+            "day": "2017-03-13"
+        },
+        {
+            "value": 143,
+            "day": "2018-02-01"
+        },
+        {
+            "value": 314,
+            "day": "2016-06-20"
+        },
+        {
+            "value": 77,
+            "day": "2017-06-05"
+        },
+        {
+            "value": 61,
+            "day": "2017-12-19"
+        },
+        {
+            "value": 301,
+            "day": "2017-03-01"
+        },
+        {
+            "value": 70,
+            "day": "2015-12-27"
+        },
+        {
+            "value": 246,
+            "day": "2016-04-20"
+        },
+        {
+            "value": 250,
+            "day": "2018-02-03"
+        },
+        {
+            "value": 246,
+            "day": "2015-11-27"
+        },
+        {
+            "value": 238,
+            "day": "2018-05-15"
+        },
+        {
+            "value": 333,
+            "day": "2017-07-21"
+        },
+        {
+            "value": 343,
+            "day": "2016-07-31"
+        },
+        {
+            "value": 210,
+            "day": "2016-03-23"
+        },
+        {
+            "value": 77,
+            "day": "2015-11-19"
+        },
+        {
+            "value": 298,
+            "day": "2017-02-06"
+        },
+        {
+            "value": 265,
+            "day": "2017-08-05"
+        },
+        {
+            "value": 130,
+            "day": "2018-05-03"
+        },
+        {
+            "value": 364,
+            "day": "2016-07-04"
+        },
+        {
+            "value": 203,
+            "day": "2016-05-26"
+        },
+        {
+            "value": 318,
+            "day": "2017-07-20"
+        },
+        {
+            "value": 294,
+            "day": "2016-12-08"
+        },
+        {
+            "value": 25,
+            "day": "2017-01-07"
+        },
+        {
+            "value": 289,
+            "day": "2017-12-04"
+        },
+        {
+            "value": 110,
+            "day": "2016-04-04"
+        },
+        {
+            "value": 400,
+            "day": "2017-06-11"
+        },
+        {
+            "value": 152,
+            "day": "2017-12-18"
+        },
+        {
+            "value": 234,
+            "day": "2016-12-18"
+        },
+        {
+            "value": 244,
+            "day": "2015-06-21"
+        },
+        {
+            "value": 144,
+            "day": "2015-08-21"
+        },
+        {
+            "value": 350,
+            "day": "2016-08-14"
+        },
+        {
+            "value": 90,
+            "day": "2015-12-11"
+        },
+        {
+            "value": 273,
+            "day": "2017-01-01"
+        },
+        {
+            "value": 294,
+            "day": "2016-10-17"
+        },
+        {
+            "value": 308,
+            "day": "2017-07-15"
+        },
+        {
+            "value": 173,
+            "day": "2016-11-21"
+        },
+        {
+            "value": 372,
+            "day": "2017-05-01"
+        },
+        {
+            "value": 330,
+            "day": "2017-08-12"
+        },
+        {
+            "value": 11,
+            "day": "2018-04-24"
+        },
+        {
+            "value": 144,
+            "day": "2017-04-28"
+        },
+        {
+            "value": 352,
+            "day": "2015-07-31"
+        },
+        {
+            "value": 84,
+            "day": "2018-01-07"
+        },
+        {
+            "value": 124,
+            "day": "2017-10-26"
+        },
+        {
+            "value": 234,
+            "day": "2017-03-25"
+        },
+        {
+            "value": 90,
+            "day": "2018-07-09"
+        },
+        {
+            "value": 316,
+            "day": "2016-11-18"
+        },
+        {
+            "value": 159,
+            "day": "2016-07-26"
+        },
+        {
+            "value": 297,
+            "day": "2018-04-05"
+        },
+        {
+            "value": 142,
+            "day": "2018-08-02"
+        },
+        {
+            "value": 36,
+            "day": "2018-07-13"
+        },
+        {
+            "value": 324,
+            "day": "2015-12-02"
+        },
+        {
+            "value": 150,
+            "day": "2017-02-10"
+        },
+        {
+            "value": 47,
+            "day": "2017-06-27"
+        },
+        {
+            "value": 321,
+            "day": "2017-01-22"
+        },
+        {
+            "value": 99,
+            "day": "2016-03-22"
+        },
+        {
+            "value": 284,
+            "day": "2016-05-07"
+        },
+        {
+            "value": 157,
+            "day": "2016-10-19"
+        },
+        {
+            "value": 362,
+            "day": "2017-06-10"
+        },
+        {
+            "value": 79,
+            "day": "2015-12-15"
+        },
+        {
+            "value": 322,
+            "day": "2017-12-28"
+        },
+        {
+            "value": 220,
+            "day": "2016-01-06"
+        },
+        {
+            "value": 315,
+            "day": "2017-09-18"
+        },
+        {
+            "value": 127,
+            "day": "2015-11-03"
+        },
+        {
+            "value": 57,
+            "day": "2016-07-23"
+        },
+        {
+            "value": 205,
+            "day": "2018-04-29"
+        },
+        {
+            "value": 273,
+            "day": "2015-06-01"
+        },
+        {
+            "value": 272,
+            "day": "2015-09-12"
+        },
+        {
+            "value": 342,
+            "day": "2018-03-30"
+        },
+        {
+            "value": 145,
+            "day": "2016-01-27"
+        },
+        {
+            "value": 374,
+            "day": "2015-10-21"
+        },
+        {
+            "value": 298,
+            "day": "2017-01-20"
+        },
+        {
+            "value": 200,
+            "day": "2017-06-02"
+        },
+        {
+            "value": 341,
+            "day": "2015-07-24"
+        },
+        {
+            "value": 305,
+            "day": "2016-07-24"
+        },
+        {
+            "value": 351,
+            "day": "2017-10-28"
+        },
+        {
+            "value": 95,
+            "day": "2017-05-15"
+        },
+        {
+            "value": 207,
+            "day": "2016-08-07"
+        },
+        {
+            "value": 352,
+            "day": "2018-02-05"
+        },
+        {
+            "value": 48,
+            "day": "2017-04-16"
+        },
+        {
+            "value": 106,
+            "day": "2017-05-05"
+        },
+        {
+            "value": 218,
+            "day": "2017-10-01"
+        },
+        {
+            "value": 340,
+            "day": "2015-08-30"
+        },
+        {
+            "value": 178,
+            "day": "2017-11-06"
+        },
+        {
+            "value": 270,
+            "day": "2016-06-19"
+        },
+        {
+            "value": 298,
+            "day": "2017-03-21"
+        },
+        {
+            "value": 385,
+            "day": "2017-08-21"
+        },
+        {
+            "value": 52,
+            "day": "2016-11-27"
+        },
+        {
+            "value": 252,
+            "day": "2016-09-21"
+        },
+        {
+            "value": 214,
+            "day": "2015-09-01"
+        },
+        {
+            "value": 26,
+            "day": "2018-04-26"
+        },
+        {
+            "value": 82,
+            "day": "2017-04-01"
+        },
+        {
+            "value": 291,
+            "day": "2015-05-19"
+        },
+        {
+            "value": 89,
+            "day": "2018-01-14"
+        },
+        {
+            "value": 274,
+            "day": "2015-05-12"
+        },
+        {
+            "value": 41,
+            "day": "2016-07-07"
+        },
+        {
+            "value": 318,
+            "day": "2016-02-05"
+        },
+        {
+            "value": 254,
+            "day": "2015-10-12"
+        },
+        {
+            "value": 131,
+            "day": "2016-05-10"
+        },
+        {
+            "value": 124,
+            "day": "2017-11-14"
+        },
+        {
+            "value": 212,
+            "day": "2017-06-21"
+        },
+        {
+            "value": 343,
+            "day": "2015-07-09"
+        },
+        {
+            "value": 383,
+            "day": "2017-05-25"
+        },
+        {
+            "value": 214,
+            "day": "2015-08-16"
+        },
+        {
+            "value": 195,
+            "day": "2016-11-25"
+        },
+        {
+            "value": 203,
+            "day": "2017-08-15"
+        },
+        {
+            "value": 297,
+            "day": "2015-10-14"
+        },
+        {
+            "value": 114,
+            "day": "2015-05-11"
+        },
+        {
+            "value": 260,
+            "day": "2018-03-03"
+        },
+        {
+            "value": 143,
+            "day": "2015-05-27"
+        },
+        {
+            "value": 242,
+            "day": "2018-02-06"
+        },
+        {
+            "value": 175,
+            "day": "2016-01-13"
+        },
+        {
+            "value": 355,
+            "day": "2017-05-06"
+        },
+        {
+            "value": 271,
+            "day": "2017-11-26"
+        },
+        {
+            "value": 237,
+            "day": "2015-10-08"
+        },
+        {
+            "value": 365,
+            "day": "2015-09-08"
+        },
+        {
+            "value": 20,
+            "day": "2017-06-15"
+        },
+        {
+            "value": 75,
+            "day": "2017-08-22"
+        },
+        {
+            "value": 270,
+            "day": "2015-07-16"
+        },
+        {
+            "value": 257,
+            "day": "2015-10-06"
+        },
+        {
+            "value": 327,
+            "day": "2017-02-18"
+        },
+        {
+            "value": 272,
+            "day": "2016-05-24"
+        },
+        {
+            "value": 365,
+            "day": "2016-06-05"
+        },
+        {
+            "value": 169,
+            "day": "2016-06-18"
+        },
+        {
+            "value": 221,
+            "day": "2016-04-18"
+        },
+        {
+            "value": 37,
+            "day": "2015-10-23"
+        },
+        {
+            "value": 226,
+            "day": "2015-11-24"
+        },
+        {
+            "value": 177,
+            "day": "2016-10-14"
+        },
+        {
+            "value": 220,
+            "day": "2015-04-05"
+        },
+        {
+            "value": 76,
+            "day": "2015-12-09"
+        },
+        {
+            "value": 219,
+            "day": "2016-08-26"
+        },
+        {
+            "value": 132,
+            "day": "2016-04-15"
+        },
+        {
+            "value": 65,
+            "day": "2018-05-19"
+        },
+        {
+            "value": 337,
+            "day": "2016-01-29"
+        },
+        {
+            "value": 239,
+            "day": "2018-08-05"
+        },
+        {
+            "value": 37,
+            "day": "2016-10-03"
+        },
+        {
+            "value": 9,
+            "day": "2017-02-17"
+        },
+        {
+            "value": 12,
+            "day": "2017-07-24"
+        },
+        {
+            "value": 8,
+            "day": "2016-10-10"
+        },
+        {
+            "value": 248,
+            "day": "2015-09-10"
+        },
+        {
+            "value": 122,
+            "day": "2017-07-18"
+        },
+        {
+            "value": 352,
+            "day": "2015-04-25"
+        },
+        {
+            "value": 142,
+            "day": "2018-04-20"
+        },
+        {
+            "value": 122,
+            "day": "2018-04-03"
+        },
+        {
+            "value": 386,
+            "day": "2016-03-02"
+        },
+        {
+            "value": 244,
+            "day": "2015-05-31"
+        },
+        {
+            "value": 6,
+            "day": "2017-06-12"
+        },
+        {
+            "value": 21,
+            "day": "2016-11-13"
+        },
+        {
+            "value": 205,
+            "day": "2018-06-18"
+        },
+        {
+            "value": 96,
+            "day": "2017-11-02"
+        },
+        {
+            "value": 339,
+            "day": "2017-09-22"
+        },
+        {
+            "value": 236,
+            "day": "2016-09-23"
+        },
+        {
+            "value": 67,
+            "day": "2018-02-15"
+        },
+        {
+            "value": 123,
+            "day": "2017-02-12"
+        },
+        {
+            "value": 59,
+            "day": "2015-06-26"
+        },
+        {
+            "value": 209,
+            "day": "2015-04-11"
+        },
+        {
+            "value": 8,
+            "day": "2017-05-03"
+        },
+        {
+            "value": 314,
+            "day": "2017-09-30"
+        },
+        {
+            "value": 346,
+            "day": "2016-11-05"
+        },
+        {
+            "value": 273,
+            "day": "2015-08-08"
+        },
+        {
+            "value": 78,
+            "day": "2017-10-22"
+        },
+        {
+            "value": 16,
+            "day": "2016-07-19"
+        },
+        {
+            "value": 108,
+            "day": "2017-12-10"
+        },
+        {
+            "value": 242,
+            "day": "2015-07-12"
+        },
+        {
+            "value": 129,
+            "day": "2015-09-03"
+        },
+        {
+            "value": 153,
+            "day": "2017-11-19"
+        },
+        {
+            "value": 369,
+            "day": "2015-05-24"
+        },
+        {
+            "value": 274,
+            "day": "2017-03-29"
+        },
+        {
+            "value": 75,
+            "day": "2016-02-21"
+        },
+        {
+            "value": 386,
+            "day": "2016-02-19"
+        },
+        {
+            "value": 251,
+            "day": "2016-08-06"
+        },
+        {
+            "value": 394,
+            "day": "2018-01-20"
+        },
+        {
+            "value": 96,
+            "day": "2016-09-26"
+        },
+        {
+            "value": 165,
+            "day": "2016-04-26"
+        },
+        {
+            "value": 389,
+            "day": "2016-04-07"
+        },
+        {
+            "value": 359,
+            "day": "2016-11-20"
+        },
+        {
+            "value": 188,
+            "day": "2016-04-13"
+        },
+        {
+            "value": 172,
+            "day": "2015-07-20"
+        },
+        {
+            "value": 317,
+            "day": "2016-10-06"
+        },
+        {
+            "value": 65,
+            "day": "2016-05-19"
+        },
+        {
+            "value": 386,
+            "day": "2017-06-30"
+        },
+        {
+            "value": 93,
+            "day": "2015-05-26"
+        },
+        {
+            "value": 375,
+            "day": "2017-08-09"
+        },
+        {
+            "value": 170,
+            "day": "2017-09-05"
+        },
+        {
+            "value": 358,
+            "day": "2015-11-16"
+        },
+        {
+            "value": 182,
+            "day": "2015-08-07"
+        },
+        {
+            "value": 292,
+            "day": "2016-09-20"
+        },
+        {
+            "value": 143,
+            "day": "2015-04-19"
+        },
+        {
+            "value": 123,
+            "day": "2018-07-27"
+        },
+        {
+            "value": 23,
+            "day": "2018-07-19"
+        },
+        {
+            "value": 331,
+            "day": "2017-12-12"
+        },
+        {
+            "value": 290,
+            "day": "2017-01-03"
+        },
+        {
+            "value": 230,
+            "day": "2017-09-20"
+        },
+        {
+            "value": 172,
+            "day": "2017-07-23"
+        },
+        {
+            "value": 216,
+            "day": "2018-05-07"
+        },
+        {
+            "value": 346,
+            "day": "2017-09-17"
+        },
+        {
+            "value": 254,
+            "day": "2018-01-24"
+        },
+        {
+            "value": 388,
+            "day": "2015-11-10"
+        },
+        {
+            "value": 268,
+            "day": "2018-01-16"
+        },
+        {
+            "value": 171,
+            "day": "2015-06-10"
+        },
+        {
+            "value": 110,
+            "day": "2016-09-15"
+        },
+        {
+            "value": 89,
+            "day": "2017-08-17"
+        },
+        {
+            "value": 210,
+            "day": "2018-01-22"
+        },
+        {
+            "value": 182,
+            "day": "2016-05-28"
+        },
+        {
+            "value": 177,
+            "day": "2015-07-04"
+        },
+        {
+            "value": 345,
+            "day": "2016-01-10"
+        },
+        {
+            "value": 262,
+            "day": "2017-06-25"
+        },
+        {
+            "value": 20,
+            "day": "2017-07-16"
+        },
+        {
+            "value": 85,
+            "day": "2016-07-10"
+        },
+        {
+            "value": 59,
+            "day": "2018-06-13"
+        },
+        {
+            "value": 315,
+            "day": "2017-03-12"
+        },
+        {
+            "value": 273,
+            "day": "2017-08-23"
+        },
+        {
+            "value": 227,
+            "day": "2017-11-13"
+        },
+        {
+            "value": 297,
+            "day": "2017-03-28"
+        },
+        {
+            "value": 129,
+            "day": "2016-05-04"
+        },
+        {
+            "value": 237,
+            "day": "2017-09-15"
+        },
+        {
+            "value": 140,
+            "day": "2015-10-25"
+        },
+        {
+            "value": 84,
+            "day": "2016-04-23"
+        },
+        {
+            "value": 145,
+            "day": "2017-06-04"
+        },
+        {
+            "value": 41,
+            "day": "2017-05-20"
+        },
+        {
+            "value": 184,
+            "day": "2017-01-12"
+        },
+        {
+            "value": 392,
+            "day": "2018-03-05"
+        },
+        {
+            "value": 168,
+            "day": "2017-03-30"
+        },
+        {
+            "value": 191,
+            "day": "2017-03-09"
+        },
+        {
+            "value": 364,
+            "day": "2017-07-29"
+        },
+        {
+            "value": 211,
+            "day": "2017-01-25"
+        },
+        {
+            "value": 275,
+            "day": "2016-12-17"
+        },
+        {
+            "value": 320,
+            "day": "2017-03-27"
+        },
+        {
+            "value": 178,
+            "day": "2015-05-16"
+        },
+        {
+            "value": 186,
+            "day": "2018-07-20"
+        },
+        {
+            "value": 42,
+            "day": "2016-10-28"
+        },
+        {
+            "value": 43,
+            "day": "2018-02-14"
+        },
+        {
+            "value": 245,
+            "day": "2015-04-30"
+        },
+        {
+            "value": 58,
+            "day": "2015-11-06"
+        },
+        {
+            "value": 311,
+            "day": "2016-01-15"
+        },
+        {
+            "value": 104,
+            "day": "2017-06-01"
+        },
+        {
+            "value": 56,
+            "day": "2016-10-31"
+        },
+        {
+            "value": 129,
+            "day": "2017-02-21"
+        },
+        {
+            "value": 116,
+            "day": "2016-09-13"
+        },
+        {
+            "value": 154,
+            "day": "2017-05-12"
+        },
+        {
+            "value": 163,
+            "day": "2015-05-14"
+        },
+        {
+            "value": 399,
+            "day": "2018-06-02"
+        },
+        {
+            "value": 312,
+            "day": "2015-04-14"
+        },
+        {
+            "value": 313,
+            "day": "2015-10-04"
+        },
+        {
+            "value": 61,
+            "day": "2015-09-02"
+        },
+        {
+            "value": 60,
+            "day": "2016-12-28"
+        },
+        {
+            "value": 206,
+            "day": "2015-07-25"
+        },
+        {
+            "value": 77,
+            "day": "2015-04-26"
+        },
+        {
+            "value": 119,
+            "day": "2015-10-05"
+        },
+        {
+            "value": 253,
+            "day": "2018-06-21"
+        },
+        {
+            "value": 284,
+            "day": "2015-07-14"
+        },
+        {
+            "value": 38,
+            "day": "2017-08-30"
+        },
+        {
+            "value": 22,
+            "day": "2017-01-29"
+        },
+        {
+            "value": 47,
+            "day": "2017-12-21"
+        },
+        {
+            "value": 26,
+            "day": "2015-09-13"
+        },
+        {
+            "value": 22,
+            "day": "2016-10-22"
+        },
+        {
+            "value": 254,
+            "day": "2017-10-18"
+        },
+        {
+            "value": 6,
+            "day": "2018-04-17"
+        },
+        {
+            "value": 96,
+            "day": "2017-05-23"
+        },
+        {
+            "value": 18,
+            "day": "2016-03-20"
+        },
+        {
+            "value": 102,
+            "day": "2016-12-04"
+        },
+        {
+            "value": 153,
+            "day": "2016-07-08"
+        },
+        {
+            "value": 354,
+            "day": "2017-03-07"
+        },
+        {
+            "value": 112,
+            "day": "2016-11-28"
+        },
+        {
+            "value": 354,
+            "day": "2017-03-06"
+        },
+        {
+            "value": 30,
+            "day": "2018-08-01"
+        },
+        {
+            "value": 199,
+            "day": "2016-06-06"
+        },
+        {
+            "value": 365,
+            "day": "2018-05-26"
+        },
+        {
+            "value": 331,
+            "day": "2016-01-05"
+        },
+        {
+            "value": 132,
+            "day": "2015-08-22"
+        },
+        {
+            "value": 337,
+            "day": "2017-03-02"
+        },
+        {
+            "value": 46,
+            "day": "2017-08-26"
+        },
+        {
+            "value": 360,
+            "day": "2017-08-31"
+        },
+        {
+            "value": 349,
+            "day": "2016-08-11"
+        },
+        {
+            "value": 247,
+            "day": "2015-08-05"
+        },
+        {
+            "value": 373,
+            "day": "2018-01-25"
+        },
+        {
+            "value": 314,
+            "day": "2015-08-18"
+        },
+        {
+            "value": 139,
+            "day": "2016-03-04"
+        },
+        {
+            "value": 230,
+            "day": "2017-05-16"
+        },
+        {
+            "value": 232,
+            "day": "2016-02-26"
+        },
+        {
+            "value": 38,
+            "day": "2018-01-21"
+        },
+        {
+            "value": 199,
+            "day": "2018-06-09"
+        },
+        {
+            "value": 170,
+            "day": "2016-09-30"
+        },
+        {
+            "value": 96,
+            "day": "2015-06-16"
+        },
+        {
+            "value": 44,
+            "day": "2016-12-19"
+        },
+        {
+            "value": 391,
+            "day": "2015-11-29"
+        },
+        {
+            "value": 331,
+            "day": "2016-02-18"
+        },
+        {
+            "value": 255,
+            "day": "2015-07-22"
+        },
+        {
+            "value": 25,
+            "day": "2018-05-13"
+        },
+        {
+            "value": 250,
+            "day": "2017-06-16"
+        },
+        {
+            "value": 129,
+            "day": "2017-12-03"
+        },
+        {
+            "value": 115,
+            "day": "2017-07-10"
+        },
+        {
+            "value": 271,
+            "day": "2017-10-13"
+        },
+        {
+            "value": 32,
+            "day": "2017-01-06"
+        },
+        {
+            "value": 80,
+            "day": "2016-08-27"
+        },
+        {
+            "value": 43,
+            "day": "2018-03-18"
+        },
+        {
+            "value": 49,
+            "day": "2015-12-30"
+        },
+        {
+            "value": 358,
+            "day": "2018-06-24"
+        },
+        {
+            "value": 338,
+            "day": "2015-11-17"
+        },
+        {
+            "value": 137,
+            "day": "2016-05-20"
+        },
+        {
+            "value": 204,
+            "day": "2015-08-10"
+        },
+        {
+            "value": 183,
+            "day": "2015-09-22"
+        },
+        {
+            "value": 157,
+            "day": "2016-07-14"
+        },
+        {
+            "value": 16,
+            "day": "2016-04-11"
+        },
+        {
+            "value": 334,
+            "day": "2018-02-12"
+        },
+        {
+            "value": 349,
+            "day": "2015-11-09"
+        },
+        {
+            "value": 131,
+            "day": "2018-02-19"
+        },
+        {
+            "value": 371,
+            "day": "2016-09-01"
+        },
+        {
+            "value": 15,
+            "day": "2015-06-12"
+        },
+        {
+            "value": 159,
+            "day": "2016-07-16"
+        },
+        {
+            "value": 369,
+            "day": "2016-05-29"
+        },
+        {
+            "value": 290,
+            "day": "2015-08-13"
+        },
+        {
+            "value": 139,
+            "day": "2015-08-27"
+        },
+        {
+            "value": 330,
+            "day": "2016-03-19"
+        },
+        {
+            "value": 84,
+            "day": "2016-08-15"
+        },
+        {
+            "value": 196,
+            "day": "2016-10-11"
+        },
+        {
+            "value": 90,
+            "day": "2015-08-28"
+        },
+        {
+            "value": 106,
+            "day": "2018-04-12"
+        },
+        {
+            "value": 319,
+            "day": "2015-10-13"
+        },
+        {
+            "value": 328,
+            "day": "2017-03-20"
+        },
+        {
+            "value": 86,
+            "day": "2015-09-29"
+        },
+        {
+            "value": 253,
+            "day": "2015-09-04"
+        },
+        {
+            "value": 103,
+            "day": "2017-12-01"
+        },
+        {
+            "value": 121,
+            "day": "2018-07-18"
+        },
+        {
+            "value": 120,
+            "day": "2016-05-09"
+        },
+        {
+            "value": 297,
+            "day": "2016-08-16"
+        },
+        {
+            "value": 27,
+            "day": "2015-12-20"
+        },
+        {
+            "value": 25,
+            "day": "2016-07-22"
+        },
+        {
+            "value": 296,
+            "day": "2017-11-07"
+        },
+        {
+            "value": 49,
+            "day": "2016-01-02"
+        },
+        {
+            "value": 224,
+            "day": "2016-04-21"
+        },
+        {
+            "value": 68,
+            "day": "2017-11-24"
+        },
+        {
+            "value": 362,
+            "day": "2016-09-06"
+        },
+        {
+            "value": 185,
+            "day": "2015-10-15"
+        },
+        {
+            "value": 39,
+            "day": "2015-10-22"
+        },
+        {
+            "value": 36,
+            "day": "2016-07-29"
+        },
+        {
+            "value": 329,
+            "day": "2015-05-02"
+        },
+        {
+            "value": 362,
+            "day": "2018-07-28"
+        },
+        {
+            "value": 146,
+            "day": "2015-11-11"
+        },
+        {
+            "value": 209,
+            "day": "2015-09-15"
+        },
+        {
+            "value": 350,
+            "day": "2018-06-28"
+        },
+        {
+            "value": 247,
+            "day": "2015-11-22"
+        },
+        {
+            "value": 310,
+            "day": "2017-02-14"
+        },
+        {
+            "value": 326,
+            "day": "2016-06-21"
+        },
+        {
+            "value": 162,
+            "day": "2015-07-06"
+        },
+        {
+            "value": 261,
+            "day": "2016-10-16"
+        },
+        {
+            "value": 375,
+            "day": "2017-04-24"
+        },
+        {
+            "value": 35,
+            "day": "2017-10-31"
+        },
+        {
+            "value": 321,
+            "day": "2018-01-31"
+        },
+        {
+            "value": 133,
+            "day": "2017-05-13"
+        },
+        {
+            "value": 331,
+            "day": "2015-08-17"
+        },
+        {
+            "value": 338,
+            "day": "2017-04-29"
+        },
+        {
+            "value": 136,
+            "day": "2016-07-25"
+        },
+        {
+            "value": 164,
+            "day": "2016-01-19"
+        },
+        {
+            "value": 126,
+            "day": "2018-06-14"
+        },
+        {
+            "value": 8,
+            "day": "2017-04-15"
+        },
+        {
+            "value": 56,
+            "day": "2018-02-22"
+        },
+        {
+            "value": 184,
+            "day": "2016-01-28"
+        },
+        {
+            "value": 71,
+            "day": "2018-06-19"
+        },
+        {
+            "value": 185,
+            "day": "2018-04-15"
+        },
+        {
+            "value": 88,
+            "day": "2016-07-03"
+        },
+        {
+            "value": 278,
+            "day": "2017-11-27"
+        },
+        {
+            "value": 31,
+            "day": "2018-07-21"
+        },
+        {
+            "value": 92,
+            "day": "2018-02-20"
+        },
+        {
+            "value": 2,
+            "day": "2015-08-14"
+        },
+        {
+            "value": 324,
+            "day": "2018-06-06"
+        },
+        {
+            "value": 363,
+            "day": "2017-04-07"
+        },
+        {
+            "value": 399,
+            "day": "2018-05-16"
+        },
+        {
+            "value": 320,
+            "day": "2015-09-28"
+        },
+        {
+            "value": 146,
+            "day": "2017-09-09"
+        },
+        {
+            "value": 34,
+            "day": "2018-06-23"
+        },
+        {
+            "value": 215,
+            "day": "2016-09-18"
+        },
+        {
+            "value": 100,
+            "day": "2018-05-17"
+        },
+        {
+            "value": 299,
+            "day": "2016-09-05"
+        },
+        {
+            "value": 217,
+            "day": "2016-08-13"
+        },
+        {
+            "value": 271,
+            "day": "2016-11-16"
+        },
+        {
+            "value": 199,
+            "day": "2017-11-21"
+        },
+        {
+            "value": 145,
+            "day": "2015-09-16"
+        },
+        {
+            "value": 109,
+            "day": "2016-03-24"
+        },
+        {
+            "value": 6,
+            "day": "2017-02-24"
+        },
+        {
+            "value": 218,
+            "day": "2015-04-18"
+        },
+        {
+            "value": 166,
+            "day": "2018-05-20"
+        },
+        {
+            "value": 350,
+            "day": "2018-01-08"
+        },
+        {
+            "value": 292,
+            "day": "2015-11-08"
+        },
+        {
+            "value": 106,
+            "day": "2016-06-14"
+        },
+        {
+            "value": 82,
+            "day": "2016-03-25"
+        },
+        {
+            "value": 173,
+            "day": "2015-07-11"
+        },
+        {
+            "value": 164,
+            "day": "2016-02-16"
+        },
+        {
+            "value": 190,
+            "day": "2018-07-01"
+        },
+        {
+            "value": 52,
+            "day": "2017-03-23"
+        },
+        {
+            "value": 151,
+            "day": "2015-09-21"
+        },
+        {
+            "value": 363,
+            "day": "2015-04-09"
+        },
+        {
+            "value": 18,
+            "day": "2015-04-23"
+        },
+        {
+            "value": 242,
+            "day": "2017-03-19"
+        },
+        {
+            "value": 192,
+            "day": "2015-10-01"
+        },
+        {
+            "value": 30,
+            "day": "2015-04-16"
+        },
+        {
+            "value": 396,
+            "day": "2016-04-24"
+        },
+        {
+            "value": 242,
+            "day": "2016-07-15"
+        },
+        {
+            "value": 42,
+            "day": "2016-09-27"
+        },
+        {
+            "value": 178,
+            "day": "2017-09-26"
+        },
+        {
+            "value": 188,
+            "day": "2016-04-05"
+        },
+        {
+            "value": 182,
+            "day": "2015-12-18"
+        },
+        {
+            "value": 368,
+            "day": "2016-08-01"
+        },
+        {
+            "value": 145,
+            "day": "2017-10-05"
+        },
+        {
+            "value": 3,
+            "day": "2016-08-22"
+        },
+        {
+            "value": 177,
+            "day": "2018-06-26"
+        },
+        {
+            "value": 277,
+            "day": "2015-04-07"
+        },
+        {
+            "value": 317,
+            "day": "2016-09-08"
+        },
+        {
+            "value": 388,
+            "day": "2018-03-17"
+        },
+        {
+            "value": 394,
+            "day": "2015-10-19"
+        },
+        {
+            "value": 397,
+            "day": "2018-04-28"
+        },
+        {
+            "value": 389,
+            "day": "2016-01-14"
+        },
+        {
+            "value": 241,
+            "day": "2016-05-16"
+        },
+        {
+            "value": 35,
+            "day": "2016-04-10"
+        },
+        {
+            "value": 174,
+            "day": "2016-03-08"
+        },
+        {
+            "value": 58,
+            "day": "2015-07-28"
+        },
+        {
+            "value": 308,
+            "day": "2015-12-16"
+        },
+        {
+            "value": 101,
+            "day": "2015-07-10"
+        },
+        {
+            "value": 31,
+            "day": "2017-10-02"
+        },
+        {
+            "value": 212,
+            "day": "2015-06-11"
+        },
+        {
+            "value": 239,
+            "day": "2017-06-20"
+        },
+        {
+            "value": 321,
+            "day": "2016-07-21"
+        },
+        {
+            "value": 102,
+            "day": "2015-12-17"
+        },
+        {
+            "value": 18,
+            "day": "2016-07-28"
+        },
+        {
+            "value": 278,
+            "day": "2015-07-21"
+        },
+        {
+            "value": 67,
+            "day": "2017-09-23"
+        },
+        {
+            "value": 58,
+            "day": "2017-02-28"
+        },
+        {
+            "value": 269,
+            "day": "2018-08-06"
+        },
+        {
+            "value": 66,
+            "day": "2018-01-15"
+        },
+        {
+            "value": 389,
+            "day": "2016-05-23"
+        },
+        {
+            "value": 122,
+            "day": "2015-11-18"
+        },
+        {
+            "value": 318,
+            "day": "2015-11-30"
+        },
+        {
+            "value": 221,
+            "day": "2016-12-03"
+        },
+        {
+            "value": 161,
+            "day": "2018-02-26"
+        },
+        {
+            "value": 156,
+            "day": "2018-08-04"
+        },
+        {
+            "value": 292,
+            "day": "2015-08-26"
+        },
+        {
+            "value": 284,
+            "day": "2018-01-12"
+        },
+        {
+            "value": 101,
+            "day": "2018-05-30"
+        },
+        {
+            "value": 288,
+            "day": "2017-11-30"
+        },
+        {
+            "value": 91,
+            "day": "2015-09-30"
+        },
+        {
+            "value": 227,
+            "day": "2017-05-04"
+        },
+        {
+            "value": 358,
+            "day": "2016-11-11"
+        },
+        {
+            "value": 254,
+            "day": "2018-03-09"
+        },
+        {
+            "value": 155,
+            "day": "2017-03-18"
+        },
+        {
+            "value": 306,
+            "day": "2017-11-10"
+        },
+        {
+            "value": 348,
+            "day": "2016-07-30"
+        },
+        {
+            "value": 215,
+            "day": "2016-05-21"
+        },
+        {
+            "value": 211,
+            "day": "2016-11-01"
+        },
+        {
+            "value": 368,
+            "day": "2016-01-11"
+        },
+        {
+            "value": 173,
+            "day": "2016-05-14"
+        },
+        {
+            "value": 358,
+            "day": "2016-05-22"
+        },
+        {
+            "value": 60,
+            "day": "2017-03-05"
+        },
+        {
+            "value": 68,
+            "day": "2016-08-25"
+        },
+        {
+            "value": 232,
+            "day": "2017-08-16"
+        },
+        {
+            "value": 21,
+            "day": "2015-11-05"
+        },
+        {
+            "value": 29,
+            "day": "2017-06-24"
+        },
+        {
+            "value": 116,
+            "day": "2015-06-28"
+        },
+        {
+            "value": 35,
+            "day": "2017-12-22"
+        },
+        {
+            "value": 225,
+            "day": "2017-12-14"
+        },
+        {
+            "value": 267,
+            "day": "2016-10-15"
+        },
+        {
+            "value": 307,
+            "day": "2015-06-07"
+        },
+        {
+            "value": 41,
+            "day": "2017-07-22"
+        },
+        {
+            "value": 310,
+            "day": "2015-09-11"
+        },
+        {
+            "value": 49,
+            "day": "2017-04-12"
+        },
+        {
+            "value": 90,
+            "day": "2015-09-05"
+        },
+        {
+            "value": 64,
+            "day": "2018-04-08"
+        },
+        {
+            "value": 139,
+            "day": "2017-03-26"
+        },
+        {
+            "value": 202,
+            "day": "2017-04-08"
+        },
+        {
+            "value": 347,
+            "day": "2016-05-11"
+        },
+        {
+            "value": 275,
+            "day": "2017-01-08"
+        },
+        {
+            "value": 134,
+            "day": "2018-07-02"
+        },
+        {
+            "value": 36,
+            "day": "2018-05-05"
+        },
+        {
+            "value": 64,
+            "day": "2018-04-22"
+        },
+        {
+            "value": 287,
+            "day": "2015-10-17"
+        },
+        {
+            "value": 198,
+            "day": "2017-12-26"
+        },
+        {
+            "value": 233,
+            "day": "2017-06-13"
+        },
+        {
+            "value": 200,
+            "day": "2017-01-30"
+        },
+        {
+            "value": 338,
+            "day": "2017-05-18"
+        },
+        {
+            "value": 209,
+            "day": "2016-12-06"
+        },
+        {
+            "value": 216,
+            "day": "2018-06-27"
+        },
+        {
+            "value": 340,
+            "day": "2016-03-14"
+        },
+        {
+            "value": 228,
+            "day": "2017-07-31"
+        },
+        {
+            "value": 38,
+            "day": "2018-07-08"
+        },
+        {
+            "value": 268,
+            "day": "2018-04-07"
+        },
+        {
+            "value": 310,
+            "day": "2017-01-16"
+        },
+        {
+            "value": 372,
+            "day": "2016-10-23"
+        },
+        {
+            "value": 115,
+            "day": "2015-07-08"
+        },
+        {
+            "value": 284,
+            "day": "2017-01-27"
+        },
+        {
+            "value": 301,
+            "day": "2018-07-10"
+        },
+        {
+            "value": 72,
+            "day": "2017-11-17"
+        },
+        {
+            "value": 101,
+            "day": "2015-09-14"
+        },
+        {
+            "value": 5,
+            "day": "2015-12-05"
+        },
+        {
+            "value": 21,
+            "day": "2018-03-08"
+        },
+        {
+            "value": 245,
+            "day": "2015-04-10"
+        },
+        {
+            "value": 15,
+            "day": "2018-04-10"
+        },
+        {
+            "value": 158,
+            "day": "2015-07-30"
+        },
+        {
+            "value": 43,
+            "day": "2017-02-13"
+        },
+        {
+            "value": 243,
+            "day": "2015-09-20"
+        },
+        {
+            "value": 129,
+            "day": "2018-04-23"
+        },
+        {
+            "value": 185,
+            "day": "2015-12-23"
+        },
+        {
+            "value": 178,
+            "day": "2018-03-23"
+        },
+        {
+            "value": 157,
+            "day": "2015-10-02"
+        },
+        {
+            "value": 365,
+            "day": "2015-08-19"
+        },
+        {
+            "value": 5,
+            "day": "2018-05-22"
+        },
+        {
+            "value": 288,
+            "day": "2016-11-26"
+        },
+        {
+            "value": 256,
+            "day": "2017-05-08"
+        },
+        {
+            "value": 105,
+            "day": "2018-06-12"
+        },
+        {
+            "value": 150,
+            "day": "2017-05-24"
+        },
+        {
+            "value": 318,
+            "day": "2015-05-08"
+        },
+        {
+            "value": 150,
+            "day": "2017-12-11"
+        },
+        {
+            "value": 76,
+            "day": "2016-07-12"
+        },
+        {
+            "value": 25,
+            "day": "2017-10-09"
+        },
+        {
+            "value": 224,
+            "day": "2018-07-03"
+        },
+        {
+            "value": 259,
+            "day": "2016-11-14"
+        },
+        {
+            "value": 191,
+            "day": "2015-05-28"
+        },
+        {
+            "value": 371,
+            "day": "2016-02-20"
+        },
+        {
+            "value": 16,
+            "day": "2018-07-29"
+        },
+        {
+            "value": 327,
+            "day": "2018-04-21"
+        },
+        {
+            "value": 275,
+            "day": "2018-03-19"
+        },
+        {
+            "value": 243,
+            "day": "2016-10-27"
+        },
+        {
+            "value": 123,
+            "day": "2015-12-08"
+        },
+        {
+            "value": 147,
+            "day": "2017-08-28"
+        },
+        {
+            "value": 251,
+            "day": "2015-06-25"
+        },
+        {
+            "value": 21,
+            "day": "2016-07-02"
+        },
+        {
+            "value": 120,
+            "day": "2015-11-04"
+        },
+        {
+            "value": 38,
+            "day": "2015-08-04"
+        },
+        {
+            "value": 366,
+            "day": "2018-05-25"
+        },
+        {
+            "value": 387,
+            "day": "2016-12-31"
+        },
+        {
+            "value": 279,
+            "day": "2015-06-13"
+        },
+        {
+            "value": 362,
+            "day": "2015-10-11"
+        },
+        {
+            "value": 372,
+            "day": "2015-11-01"
+        },
+        {
+            "value": 310,
+            "day": "2017-12-27"
+        },
+        {
+            "value": 257,
+            "day": "2017-06-09"
+        },
+        {
+            "value": 176,
+            "day": "2016-05-01"
+        },
+        {
+            "value": 269,
+            "day": "2016-05-17"
+        },
+        {
+            "value": 57,
+            "day": "2016-09-07"
+        },
+        {
+            "value": 109,
+            "day": "2015-05-01"
+        },
+        {
+            "value": 286,
+            "day": "2016-05-31"
+        },
+        {
+            "value": 226,
+            "day": "2016-04-12"
+        },
+        {
+            "value": 138,
+            "day": "2016-01-01"
+        },
+        {
+            "value": 90,
+            "day": "2016-09-24"
+        },
+        {
+            "value": 91,
+            "day": "2015-08-25"
+        },
+        {
+            "value": 350,
+            "day": "2017-09-10"
+        },
+        {
+            "value": 257,
+            "day": "2017-05-02"
+        },
+        {
+            "value": 360,
+            "day": "2016-05-08"
+        },
+        {
+            "value": 63,
+            "day": "2016-08-18"
+        },
+        {
+            "value": 192,
+            "day": "2015-07-07"
+        },
+        {
+            "value": 333,
+            "day": "2017-10-03"
+        },
+        {
+            "value": 103,
+            "day": "2016-01-20"
+        },
+        {
+            "value": 45,
+            "day": "2017-07-08"
+        },
+        {
+            "value": 331,
+            "day": "2015-12-25"
+        },
+        {
+            "value": 111,
+            "day": "2018-05-24"
+        },
+        {
+            "value": 375,
+            "day": "2016-12-15"
+        },
+        {
+            "value": 73,
+            "day": "2018-08-08"
+        },
+        {
+            "value": 290,
+            "day": "2017-08-24"
+        },
+        {
+            "value": 180,
+            "day": "2017-07-17"
+        },
+        {
+            "value": 36,
+            "day": "2016-01-18"
+        },
+        {
+            "value": 82,
+            "day": "2018-01-19"
+        },
+        {
+            "value": 134,
+            "day": "2015-05-06"
+        },
+        {
+            "value": 261,
+            "day": "2017-03-03"
+        },
+        {
+            "value": 22,
+            "day": "2017-09-19"
+        },
+        {
+            "value": 340,
+            "day": "2016-03-06"
+        },
+        {
+            "value": 219,
+            "day": "2015-06-15"
+        },
+        {
+            "value": 25,
+            "day": "2017-12-30"
+        },
+        {
+            "value": 62,
+            "day": "2017-12-13"
+        },
+        {
+            "value": 260,
+            "day": "2017-04-20"
+        },
+        {
+            "value": 72,
+            "day": "2015-05-30"
+        },
+        {
+            "value": 380,
+            "day": "2017-08-27"
+        },
+        {
+            "value": 99,
+            "day": "2017-01-23"
+        },
+        {
+            "value": 299,
+            "day": "2016-08-31"
+        },
+        {
+            "value": 175,
+            "day": "2017-08-03"
+        },
+        {
+            "value": 89,
+            "day": "2015-07-18"
+        },
+        {
+            "value": 126,
+            "day": "2017-03-10"
+        },
+        {
+            "value": 364,
+            "day": "2017-07-27"
+        },
+        {
+            "value": 397,
+            "day": "2017-06-26"
+        },
+        {
+            "value": 312,
+            "day": "2017-02-16"
+        },
+        {
+            "value": 240,
+            "day": "2015-06-29"
+        },
+        {
+            "value": 384,
+            "day": "2016-11-02"
+        },
+        {
+            "value": 376,
+            "day": "2015-06-04"
+        },
+        {
+            "value": 284,
+            "day": "2018-02-27"
+        },
+        {
+            "value": 264,
+            "day": "2015-10-10"
+        },
+        {
+            "value": 328,
+            "day": "2018-06-25"
+        },
+        {
+            "value": 105,
+            "day": "2015-07-03"
+        },
+        {
+            "value": 363,
+            "day": "2018-03-27"
+        },
+        {
+            "value": 301,
+            "day": "2017-04-27"
+        },
+        {
+            "value": 196,
+            "day": "2015-06-05"
+        },
+        {
+            "value": 229,
+            "day": "2017-11-25"
+        },
+        {
+            "value": 94,
+            "day": "2018-06-30"
+        },
+        {
+            "value": 234,
+            "day": "2016-02-07"
+        },
+        {
+            "value": 320,
+            "day": "2017-10-17"
+        },
+        {
+            "value": 195,
+            "day": "2018-06-10"
+        },
+        {
+            "value": 368,
+            "day": "2018-03-22"
+        },
+        {
+            "value": 374,
+            "day": "2015-04-12"
+        },
+        {
+            "value": 122,
+            "day": "2015-12-29"
+        },
+        {
+            "value": 260,
+            "day": "2017-06-03"
+        },
+        {
+            "value": 196,
+            "day": "2015-08-24"
+        },
+        {
+            "value": 266,
+            "day": "2017-08-25"
+        },
+        {
+            "value": 92,
+            "day": "2018-05-23"
+        },
+        {
+            "value": 47,
+            "day": "2016-02-02"
+        },
+        {
+            "value": 329,
+            "day": "2015-12-04"
+        },
+        {
+            "value": 16,
+            "day": "2018-04-18"
+        },
+        {
+            "value": 296,
+            "day": "2018-02-17"
+        },
+        {
+            "value": 345,
+            "day": "2017-06-06"
+        },
+        {
+            "value": 193,
+            "day": "2017-02-05"
+        },
+        {
+            "value": 378,
+            "day": "2015-12-31"
+        },
+        {
+            "value": 247,
+            "day": "2015-06-22"
+        },
+        {
+            "value": 135,
+            "day": "2017-01-26"
+        },
+        {
+            "value": 112,
+            "day": "2017-03-31"
+        },
+        {
+            "value": 260,
+            "day": "2016-03-01"
+        },
+        {
+            "value": 390,
+            "day": "2015-11-23"
+        },
+        {
+            "value": 304,
+            "day": "2015-11-13"
+        },
+        {
+            "value": 139,
+            "day": "2017-09-29"
+        },
+        {
+            "value": 199,
+            "day": "2018-04-27"
+        },
+        {
+            "value": 17,
+            "day": "2015-04-20"
+        },
+        {
+            "value": 307,
+            "day": "2018-05-01"
+        },
+        {
+            "value": 151,
+            "day": "2015-09-27"
+        },
+        {
+            "value": 110,
+            "day": "2015-08-29"
+        },
+        {
+            "value": 244,
+            "day": "2015-06-27"
+        },
+        {
+            "value": 221,
+            "day": "2017-08-13"
+        },
+        {
+            "value": 338,
+            "day": "2017-09-06"
+        },
+        {
+            "value": 338,
+            "day": "2017-12-29"
+        },
+        {
+            "value": 283,
+            "day": "2017-02-23"
+        },
+        {
+            "value": 366,
+            "day": "2017-01-28"
+        },
+        {
+            "value": 234,
+            "day": "2015-09-26"
+        },
+        {
+            "value": 122,
+            "day": "2017-04-19"
+        },
+        {
+            "value": 18,
+            "day": "2015-06-17"
+        },
+        {
+            "value": 259,
+            "day": "2016-08-02"
+        },
+        {
+            "value": 213,
+            "day": "2015-05-07"
+        },
+        {
+            "value": 108,
+            "day": "2017-08-20"
+        },
+        {
+            "value": 86,
+            "day": "2017-04-04"
+        },
+        {
+            "value": 53,
+            "day": "2018-03-26"
+        },
+        {
+            "value": 78,
+            "day": "2015-10-28"
+        },
+        {
+            "value": 348,
+            "day": "2017-04-18"
+        },
+        {
+            "value": 304,
+            "day": "2016-05-02"
+        },
+        {
+            "value": 151,
+            "day": "2016-04-08"
+        },
+        {
+            "value": 366,
+            "day": "2016-01-25"
+        },
+        {
+            "value": 172,
+            "day": "2015-06-18"
+        },
+        {
+            "value": 46,
+            "day": "2017-05-31"
+        },
+        {
+            "value": 303,
+            "day": "2017-02-22"
+        },
+        {
+            "value": 78,
+            "day": "2016-09-09"
+        },
+        {
+            "value": 298,
+            "day": "2016-07-18"
+        },
+        {
+            "value": 95,
+            "day": "2017-06-08"
+        },
+        {
+            "value": 50,
+            "day": "2018-03-29"
+        },
+        {
+            "value": 256,
+            "day": "2016-06-16"
+        },
+        {
+            "value": 298,
+            "day": "2017-03-04"
+        },
+        {
+            "value": 292,
+            "day": "2018-07-15"
+        },
+        {
+            "value": 358,
+            "day": "2018-04-02"
+        },
+        {
+            "value": 111,
+            "day": "2017-06-14"
+        },
+        {
+            "value": 66,
+            "day": "2018-06-08"
+        },
+        {
+            "value": 297,
+            "day": "2017-09-25"
+        },
+        {
+            "value": 251,
+            "day": "2016-10-26"
+        },
+        {
+            "value": 363,
+            "day": "2016-09-10"
+        },
+        {
+            "value": 366,
+            "day": "2016-04-16"
+        },
+        {
+            "value": 252,
+            "day": "2016-05-30"
+        },
+        {
+            "value": 87,
+            "day": "2016-12-13"
+        },
+        {
+            "value": 78,
+            "day": "2017-03-24"
+        },
+        {
+            "value": 2,
+            "day": "2018-07-16"
+        },
+        {
+            "value": 66,
+            "day": "2016-09-12"
+        },
+        {
+            "value": 251,
+            "day": "2015-09-25"
+        },
+        {
+            "value": 104,
+            "day": "2017-09-16"
+        },
+        {
+            "value": 168,
+            "day": "2016-10-18"
+        },
+        {
+            "value": 209,
+            "day": "2017-07-09"
+        },
+        {
+            "value": 393,
+            "day": "2017-12-25"
+        },
+        {
+            "value": 362,
+            "day": "2016-04-06"
+        },
+        {
+            "value": 46,
+            "day": "2015-06-24"
+        },
+        {
+            "value": 237,
+            "day": "2016-01-08"
+        },
+        {
+            "value": 162,
+            "day": "2018-07-22"
+        },
+        {
+            "value": 68,
+            "day": "2017-05-14"
+        },
+        {
+            "value": 102,
+            "day": "2017-03-11"
+        },
+        {
+            "value": 11,
+            "day": "2017-12-15"
+        },
+        {
+            "value": 352,
+            "day": "2017-07-03"
+        },
+        {
+            "value": 257,
+            "day": "2018-06-04"
+        },
+        {
+            "value": 18,
+            "day": "2017-11-23"
+        },
+        {
+            "value": 44,
+            "day": "2017-11-16"
+        },
+        {
+            "value": 254,
+            "day": "2016-09-19"
+        },
+        {
+            "value": 4,
+            "day": "2016-03-31"
+        },
+        {
+            "value": 364,
+            "day": "2016-04-29"
+        },
+        {
+            "value": 168,
+            "day": "2018-05-04"
+        },
+        {
+            "value": 156,
+            "day": "2017-04-13"
+        },
+        {
+            "value": 105,
+            "day": "2017-03-08"
+        },
+        {
+            "value": 211,
+            "day": "2018-07-12"
+        },
+        {
+            "value": 297,
+            "day": "2016-01-16"
+        },
+        {
+            "value": 330,
+            "day": "2016-03-09"
+        },
+        {
+            "value": 208,
+            "day": "2016-11-17"
+        },
+        {
+            "value": 303,
+            "day": "2015-12-14"
+        },
+        {
+            "value": 97,
+            "day": "2015-12-28"
+        },
+        {
+            "value": 10,
+            "day": "2017-12-23"
+        },
+        {
+            "value": 151,
+            "day": "2015-11-28"
+        },
+        {
+            "value": 211,
+            "day": "2016-03-21"
+        },
+        {
+            "value": 244,
+            "day": "2017-04-10"
+        },
+        {
+            "value": 335,
+            "day": "2018-01-30"
+        },
+        {
+            "value": 51,
+            "day": "2016-04-09"
+        },
+        {
+            "value": 364,
+            "day": "2018-01-10"
+        },
+        {
+            "value": 15,
+            "day": "2016-03-26"
+        },
+        {
+            "value": 41,
+            "day": "2018-01-11"
+        },
+        {
+            "value": 186,
+            "day": "2015-09-06"
+        },
+        {
+            "value": 193,
+            "day": "2018-04-06"
+        },
+        {
+            "value": 158,
+            "day": "2017-02-19"
+        },
+        {
+            "value": 243,
+            "day": "2018-01-09"
+        },
+        {
+            "value": 332,
+            "day": "2017-09-13"
+        },
+        {
+            "value": 363,
+            "day": "2018-05-27"
+        },
+        {
+            "value": 257,
+            "day": "2015-04-08"
+        },
+        {
+            "value": 31,
+            "day": "2015-07-13"
+        },
+        {
+            "value": 82,
+            "day": "2016-11-12"
+        },
+        {
+            "value": 226,
+            "day": "2016-07-27"
+        },
+        {
+            "value": 1,
+            "day": "2016-03-18"
+        },
+        {
+            "value": 222,
+            "day": "2015-04-06"
+        },
+        {
+            "value": 193,
+            "day": "2017-11-05"
+        },
+        {
+            "value": 91,
+            "day": "2017-11-29"
+        },
+        {
+            "value": 250,
+            "day": "2018-03-12"
+        },
+        {
+            "value": 175,
+            "day": "2017-08-02"
+        },
+        {
+            "value": 148,
+            "day": "2017-07-19"
+        },
+        {
+            "value": 372,
+            "day": "2016-12-07"
+        },
+        {
+            "value": 63,
+            "day": "2016-09-28"
+        },
+        {
+            "value": 219,
+            "day": "2016-04-17"
+        },
+        {
+            "value": 45,
+            "day": "2018-04-13"
+        },
+        {
+            "value": 74,
+            "day": "2018-03-15"
+        },
+        {
+            "value": 102,
+            "day": "2018-06-22"
+        },
+        {
+            "value": 232,
+            "day": "2016-10-09"
+        },
+        {
+            "value": 389,
+            "day": "2015-06-09"
+        },
+        {
+            "value": 370,
+            "day": "2016-03-13"
+        },
+        {
+            "value": 122,
+            "day": "2018-03-25"
+        },
+        {
+            "value": 338,
+            "day": "2016-12-05"
+        },
+        {
+            "value": 316,
+            "day": "2018-02-07"
+        },
+        {
+            "value": 282,
+            "day": "2016-12-27"
+        },
+        {
+            "value": 334,
+            "day": "2017-08-10"
+        },
+        {
+            "value": 170,
+            "day": "2018-07-26"
+        },
+        {
+            "value": 165,
+            "day": "2016-11-15"
+        },
+        {
+            "value": 145,
+            "day": "2017-04-03"
+        },
+        {
+            "value": 146,
+            "day": "2016-12-11"
+        },
+        {
+            "value": 234,
+            "day": "2017-11-11"
+        },
+        {
+            "value": 334,
+            "day": "2015-06-19"
+        },
+        {
+            "value": 62,
+            "day": "2016-11-23"
+        },
+        {
+            "value": 246,
+            "day": "2015-11-21"
+        },
+        {
+            "value": 144,
+            "day": "2017-02-09"
+        },
+        {
+            "value": 275,
+            "day": "2017-02-15"
+        },
+        {
+            "value": 232,
+            "day": "2018-04-30"
+        },
+        {
+            "value": 158,
+            "day": "2015-10-30"
+        },
+        {
+            "value": 246,
+            "day": "2016-01-22"
+        },
+        {
+            "value": 225,
+            "day": "2015-10-27"
+        },
+        {
+            "value": 50,
+            "day": "2016-02-10"
+        },
+        {
+            "value": 327,
+            "day": "2018-01-01"
+        },
+        {
+            "value": 356,
+            "day": "2017-07-14"
+        },
+        {
+            "value": 371,
+            "day": "2015-04-17"
+        },
+        {
+            "value": 134,
+            "day": "2017-06-07"
+        },
+        {
+            "value": 337,
+            "day": "2015-04-22"
+        },
+        {
+            "value": 331,
+            "day": "2016-12-16"
+        },
+        {
+            "value": 280,
+            "day": "2018-02-24"
+        },
+        {
+            "value": 318,
+            "day": "2015-04-03"
+        },
+        {
+            "value": 29,
+            "day": "2016-09-02"
+        },
+        {
+            "value": 70,
+            "day": "2015-07-15"
+        },
+        {
+            "value": 218,
+            "day": "2017-04-11"
+        },
+        {
+            "value": 306,
+            "day": "2018-08-03"
+        },
+        {
+            "value": 48,
+            "day": "2018-02-02"
+        },
+        {
+            "value": 341,
+            "day": "2016-02-12"
+        },
+        {
+            "value": 388,
+            "day": "2016-10-25"
+        },
+        {
+            "value": 157,
+            "day": "2017-10-29"
+        },
+        {
+            "value": 371,
+            "day": "2016-06-11"
+        },
+        {
+            "value": 151,
+            "day": "2015-12-21"
+        },
+        {
+            "value": 303,
+            "day": "2016-05-15"
+        },
+        {
+            "value": 84,
+            "day": "2017-02-26"
+        },
+        {
+            "value": 351,
+            "day": "2015-08-31"
+        },
+        {
+            "value": 77,
+            "day": "2017-03-22"
+        },
+        {
+            "value": 132,
+            "day": "2018-05-18"
+        },
+        {
+            "value": 152,
+            "day": "2017-09-11"
+        },
+        {
+            "value": 96,
+            "day": "2015-08-09"
+        },
+        {
+            "value": 184,
+            "day": "2015-05-09"
+        },
+        {
+            "value": 145,
+            "day": "2017-09-24"
+        },
+        {
+            "value": 340,
+            "day": "2015-09-19"
+        },
+        {
+            "value": 6,
+            "day": "2017-12-24"
+        },
+        {
+            "value": 150,
+            "day": "2018-01-04"
+        },
+        {
+            "value": 44,
+            "day": "2016-12-09"
+        },
+        {
+            "value": 210,
+            "day": "2016-07-05"
+        },
+        {
+            "value": 14,
+            "day": "2016-01-17"
+        },
+        {
+            "value": 252,
+            "day": "2016-11-10"
+        },
+        {
+            "value": 182,
+            "day": "2017-01-14"
+        },
+        {
+            "value": 188,
+            "day": "2017-05-21"
+        },
+        {
+            "value": 274,
+            "day": "2015-05-20"
+        },
+        {
+            "value": 186,
+            "day": "2016-12-24"
+        },
+        {
+            "value": 121,
+            "day": "2016-01-04"
+        },
+        {
+            "value": 97,
+            "day": "2016-05-05"
+        },
+        {
+            "value": 22,
+            "day": "2017-04-22"
+        },
+        {
+            "value": 35,
+            "day": "2017-10-19"
+        },
+        {
+            "value": 351,
+            "day": "2018-03-14"
+        },
+        {
+            "value": 195,
+            "day": "2015-08-01"
+        },
+        {
+            "value": 24,
+            "day": "2018-02-25"
+        },
+        {
+            "value": 386,
+            "day": "2016-06-10"
+        },
+        {
+            "value": 177,
+            "day": "2015-11-20"
+        },
+        {
+            "value": 25,
+            "day": "2015-07-01"
+        },
+        {
+            "value": 174,
+            "day": "2016-02-04"
+        },
+        {
+            "value": 350,
+            "day": "2018-02-09"
+        },
+        {
+            "value": 50,
+            "day": "2016-03-28"
+        },
+        {
+            "value": 181,
+            "day": "2018-03-06"
+        },
+        {
+            "value": 295,
+            "day": "2018-03-21"
+        },
+        {
+            "value": 13,
+            "day": "2015-11-25"
+        },
+        {
+            "value": 183,
+            "day": "2018-01-27"
+        },
+        {
+            "value": 372,
+            "day": "2018-01-02"
+        },
+        {
+            "value": 358,
+            "day": "2015-11-02"
+        },
+        {
+            "value": 104,
+            "day": "2018-05-02"
+        },
+        {
+            "value": 19,
+            "day": "2017-06-22"
+        },
+        {
+            "value": 388,
+            "day": "2018-06-15"
+        },
+        {
+            "value": 196,
+            "day": "2016-01-26"
+        },
+        {
+            "value": 130,
+            "day": "2015-11-07"
+        },
+        {
+            "value": 211,
+            "day": "2016-05-27"
+        },
+        {
+            "value": 245,
+            "day": "2017-10-11"
+        },
+        {
+            "value": 296,
+            "day": "2017-05-17"
+        },
+        {
+            "value": 57,
+            "day": "2016-02-13"
+        },
+        {
+            "value": 154,
+            "day": "2015-05-17"
+        },
+        {
+            "value": 42,
+            "day": "2018-02-11"
+        },
+        {
+            "value": 232,
+            "day": "2018-07-25"
+        },
+        {
+            "value": 172,
+            "day": "2016-06-24"
+        },
+        {
+            "value": 167,
+            "day": "2016-01-21"
+        },
+        {
+            "value": 285,
+            "day": "2017-07-04"
+        },
+        {
+            "value": 108,
+            "day": "2016-12-12"
+        },
+        {
+            "value": 244,
+            "day": "2018-04-14"
+        },
+        {
+            "value": 53,
+            "day": "2016-08-03"
+        },
+        {
+            "value": 320,
+            "day": "2018-04-04"
+        },
+        {
+            "value": 203,
+            "day": "2015-11-26"
+        },
+        {
+            "value": 243,
+            "day": "2017-07-13"
+        },
+        {
+            "value": 152,
+            "day": "2017-04-14"
+        },
+        {
+            "value": 281,
+            "day": "2017-07-05"
+        },
+        {
+            "value": 116,
+            "day": "2015-04-29"
+        },
+        {
+            "value": 146,
+            "day": "2016-11-09"
+        },
+        {
+            "value": 73,
+            "day": "2016-02-15"
+        },
+        {
+            "value": 320,
+            "day": "2017-09-28"
+        },
+        {
+            "value": 116,
+            "day": "2016-06-12"
+        },
+        {
+            "value": 126,
+            "day": "2018-08-10"
+        },
+        {
+            "value": 45,
+            "day": "2018-06-17"
+        },
+        {
+            "value": 304,
+            "day": "2015-07-05"
+        },
+        {
+            "value": 187,
+            "day": "2017-04-23"
+        },
+        {
+            "value": 320,
+            "day": "2018-03-31"
+        },
+        {
+            "value": 163,
+            "day": "2017-02-03"
+        },
+        {
+            "value": 308,
+            "day": "2015-06-30"
+        },
+        {
+            "value": 173,
+            "day": "2017-11-28"
+        },
+        {
+            "value": 286,
+            "day": "2018-07-31"
+        },
+        {
+            "value": 386,
+            "day": "2016-03-27"
+        },
+        {
+            "value": 389,
+            "day": "2015-11-14"
+        },
+        {
+            "value": 237,
+            "day": "2016-11-04"
+        },
+        {
+            "value": 127,
+            "day": "2018-08-07"
+        },
+        {
+            "value": 315,
+            "day": "2018-06-03"
+        },
+        {
+            "value": 185,
+            "day": "2015-10-20"
+        },
+        {
+            "value": 277,
+            "day": "2018-07-05"
+        },
+        {
+            "value": 235,
+            "day": "2017-02-27"
+        },
+        {
+            "value": 271,
+            "day": "2018-04-01"
+        },
+        {
+            "value": 117,
+            "day": "2015-04-27"
+        },
+        {
+            "value": 99,
+            "day": "2018-07-23"
+        },
+        {
+            "value": 111,
+            "day": "2017-04-25"
+        },
+        {
+            "value": 141,
+            "day": "2018-04-25"
+        },
+        {
+            "value": 209,
+            "day": "2017-10-08"
+        },
+        {
+            "value": 5,
+            "day": "2016-03-17"
+        },
+        {
+            "value": 225,
+            "day": "2016-08-19"
+        },
+        {
+            "value": 137,
+            "day": "2017-09-12"
+        },
+        {
+            "value": 18,
+            "day": "2017-07-11"
+        },
+        {
+            "value": 367,
+            "day": "2018-02-04"
+        },
+        {
+            "value": 80,
+            "day": "2017-01-11"
+        },
+        {
+            "value": 361,
+            "day": "2015-06-02"
+        },
+        {
+            "value": 90,
+            "day": "2017-01-31"
+        },
+        {
+            "value": 352,
+            "day": "2015-05-10"
+        },
+        {
+            "value": 122,
+            "day": "2015-04-04"
+        },
+        {
+            "value": 286,
+            "day": "2016-09-03"
+        },
+        {
+            "value": 257,
+            "day": "2017-10-24"
+        },
+        {
+            "value": 285,
+            "day": "2016-04-22"
+        },
+        {
+            "value": 144,
+            "day": "2017-04-05"
+        },
+        {
+            "value": 7,
+            "day": "2016-03-15"
+        },
+        {
+            "value": 232,
+            "day": "2016-05-06"
+        },
+        {
+            "value": 278,
+            "day": "2017-05-09"
+        },
+        {
+            "value": 13,
+            "day": "2016-08-28"
+        },
+        {
+            "value": 257,
+            "day": "2016-08-08"
+        }
+    ]
 
     return (
-        <div className="m-1 h-100">
+        <div className="m-1 d-flex" style={{ height: "calc(100vh - 58px)" }}>
+            <Form>
+                <Form.Group className="mb-3" controlId="formBasicEmail">
+                    <Form.Label>From</Form.Label>
+                    <Form.Control type="datetime-local" />
+                </Form.Group>
+                <Form.Group className="mb-3" controlId="formBasicEmail">
+                    <Form.Label>To</Form.Label>
+                    <Form.Control type="datetime-local" />
+                </Form.Group>
+            </Form>
+            <div className="w-50 h-50">
+                <ResponsiveCalendar
+                    data={data}
+                    from="2015-03-01"
+                    to="2016-07-12"
+                    emptyColor="#eeeeee"
+                    colors={['#61cdbb', '#97e3d5', '#e8c1a0', '#f47560']}
+                    margin={{ top: 40, right: 40, bottom: 40, left: 40 }}
+                    yearSpacing={40}
+                    monthBorderColor="#ffffff"
+                    dayBorderWidth={2}
+                    dayBorderColor="#ffffff"
+                    legends={[
+                        {
+                            anchor: 'bottom-right',
+                            direction: 'row',
+                            translateY: 36,
+                            itemCount: 4,
+                            itemWidth: 42,
+                            itemHeight: 36,
+                            itemsSpacing: 14,
+                            itemDirection: 'right-to-left'
+                        }
+                    ]}
+                />
+            </div>
 
         </div>
     );
-- 
GitLab