Index: .idea/.gitignore
===================================================================
--- .idea/.gitignore	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/.gitignore	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,10 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Ignored default folder with query files
+/queries/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
Index: .idea/RNG.iml
===================================================================
--- .idea/RNG.iml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/RNG.iml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
Index: .idea/compiler.xml
===================================================================
--- .idea/compiler.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/compiler.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile default="true" name="Default" enabled="true" />
+      <profile name="Annotation profile for ReserveNGo" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <processorPath useClasspath="false">
+          <entry name="$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.36/lombok-1.18.36.jar" />
+        </processorPath>
+        <module name="ReserveNGo" />
+      </profile>
+    </annotationProcessing>
+  </component>
+  <component name="JavacSettings">
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="ReserveNGo" options="-parameters" />
+    </option>
+  </component>
+</project>
Index: .idea/dataSources.xml
===================================================================
--- .idea/dataSources.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/dataSources.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
+    <data-source source="LOCAL" name="testdb" uuid="a8a094c8-c503-47e0-aeac-3e83fec9662a">
+      <driver-ref>h2.unified</driver-ref>
+      <synchronize>true</synchronize>
+      <jdbc-driver>org.h2.Driver</jdbc-driver>
+      <jdbc-url>jdbc:h2:mem:testdb</jdbc-url>
+      <jdbc-additional-properties>
+        <property name="com.intellij.clouds.kubernetes.db.host.port" />
+        <property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
+        <property name="com.intellij.clouds.kubernetes.db.container.port" />
+      </jdbc-additional-properties>
+      <working-dir>$ProjectFileDir$</working-dir>
+    </data-source>
+  </component>
+</project>
Index: .idea/encodings.xml
===================================================================
--- .idea/encodings.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/encodings.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/ReserveNGo-backend/src/main/java" charset="UTF-8" />
+  </component>
+</project>
Index: .idea/inspectionProfiles/Project_Default.xml
===================================================================
--- .idea/inspectionProfiles/Project_Default.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/inspectionProfiles/Project_Default.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
+  </profile>
+</component>
Index: .idea/jarRepositories.xml
===================================================================
--- .idea/jarRepositories.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/jarRepositories.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>
Index: .idea/misc.xml
===================================================================
--- .idea/misc.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/misc.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/ReserveNGo-backend/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
Index: .idea/modules.xml
===================================================================
--- .idea/modules.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/modules.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/RNG.iml" filepath="$PROJECT_DIR$/.idea/RNG.iml" />
+    </modules>
+  </component>
+</project>
Index: .idea/prettier.xml
===================================================================
--- .idea/prettier.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/prettier.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="PrettierConfiguration">
+    <option name="myConfigurationMode" value="AUTOMATIC" />
+  </component>
+</project>
Index: .idea/vcs.xml
===================================================================
--- .idea/vcs.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ .idea/vcs.xml	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
Index: ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalWorkerController.java
===================================================================
--- ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalWorkerController.java	(revision 98c38b68935b8b7986fba2b8450b7cff68a06bac)
+++ ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/controller/LocalWorkerController.java	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -48,2 +48,4 @@
 
 }
+
+
Index: ReserveNGo-frontend/package-lock.json
===================================================================
--- ReserveNGo-frontend/package-lock.json	(revision 98c38b68935b8b7986fba2b8450b7cff68a06bac)
+++ ReserveNGo-frontend/package-lock.json	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -103,5 +103,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
@@ -656,5 +655,4 @@
       ],
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=18"
@@ -680,5 +678,4 @@
       ],
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=18"
@@ -1403,4 +1400,5 @@
       "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@jridgewell/gen-mapping": "^0.3.5",
@@ -1436,4 +1434,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@nodelib/fs.stat": "2.0.5",
@@ -1450,4 +1449,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">= 8"
@@ -1460,4 +1460,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@nodelib/fs.scandir": "2.1.5",
@@ -2129,4 +2130,5 @@
       "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/estree": "*",
@@ -2139,4 +2141,5 @@
       "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/eslint": "*",
@@ -2161,4 +2164,5 @@
       "integrity": "sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "undici-types": "~6.21.0"
@@ -2171,4 +2175,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@typescript-eslint/types": "8.21.0",
@@ -2189,4 +2194,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2203,4 +2209,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@typescript-eslint/types": "8.21.0",
@@ -2255,4 +2262,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@typescript-eslint/types": "8.21.0",
@@ -2273,4 +2281,5 @@
       "dev": true,
       "license": "Apache-2.0",
+      "peer": true,
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2703,4 +2712,5 @@
       "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/helper-numbers": "1.13.2",
@@ -2712,5 +2722,6 @@
       "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
       "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/@webassemblyjs/helper-api-error": {
@@ -2718,5 +2729,6 @@
       "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
       "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/@webassemblyjs/helper-buffer": {
@@ -2724,5 +2736,6 @@
       "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
       "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/@webassemblyjs/helper-numbers": {
@@ -2731,4 +2744,5 @@
       "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/floating-point-hex-parser": "1.13.2",
@@ -2741,5 +2755,6 @@
       "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
       "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/@webassemblyjs/helper-wasm-section": {
@@ -2748,4 +2763,5 @@
       "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/ast": "1.14.1",
@@ -2760,4 +2776,5 @@
       "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@xtuc/ieee754": "^1.2.0"
@@ -2769,4 +2786,5 @@
       "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
       "license": "Apache-2.0",
+      "peer": true,
       "dependencies": {
         "@xtuc/long": "4.2.2"
@@ -2777,5 +2795,6 @@
       "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
       "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/@webassemblyjs/wasm-edit": {
@@ -2784,4 +2803,5 @@
       "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/ast": "1.14.1",
@@ -2800,4 +2820,5 @@
       "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/ast": "1.14.1",
@@ -2813,4 +2834,5 @@
       "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/ast": "1.14.1",
@@ -2825,4 +2847,5 @@
       "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/ast": "1.14.1",
@@ -2839,4 +2862,5 @@
       "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@webassemblyjs/ast": "1.14.1",
@@ -2848,5 +2872,6 @@
       "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
       "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "license": "BSD-3-Clause"
+      "license": "BSD-3-Clause",
+      "peer": true
     },
     "node_modules/@xtuc/long": {
@@ -2854,5 +2879,6 @@
       "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
       "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "license": "Apache-2.0"
+      "license": "Apache-2.0",
+      "peer": true
     },
     "node_modules/abbrev": {
@@ -2871,5 +2897,4 @@
       "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
       "license": "MIT",
-      "peer": true,
       "bin": {
         "acorn": "bin/acorn"
@@ -2921,4 +2946,5 @@
       "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "ajv": "^8.0.0"
@@ -2938,4 +2964,5 @@
       "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "fast-deep-equal": "^3.1.3",
@@ -2953,5 +2980,6 @@
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
       "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/ansi-regex": {
@@ -3074,5 +3102,4 @@
       ],
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "caniuse-lite": "^1.0.30001688",
@@ -3092,5 +3119,6 @@
       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
       "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/bundle-name": {
@@ -3214,4 +3242,5 @@
       "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=6.0"
@@ -3532,4 +3561,5 @@
       "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "graceful-fs": "^4.2.4",
@@ -3637,5 +3667,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
@@ -3698,5 +3727,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "bin": {
         "eslint-config-prettier": "build/bin/cli.js"
@@ -3929,4 +3957,5 @@
       "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=0.8.x"
@@ -3989,4 +4018,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@nodelib/fs.stat": "^2.0.2",
@@ -4006,4 +4036,5 @@
       "dev": true,
       "license": "ISC",
+      "peer": true,
       "dependencies": {
         "is-glob": "^4.0.1"
@@ -4041,5 +4072,6 @@
         }
       ],
-      "license": "BSD-3-Clause"
+      "license": "BSD-3-Clause",
+      "peer": true
     },
     "node_modules/fastq": {
@@ -4049,4 +4081,5 @@
       "dev": true,
       "license": "ISC",
+      "peer": true,
       "dependencies": {
         "reusify": "^1.0.4"
@@ -4260,5 +4293,6 @@
       "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
       "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
-      "license": "BSD-2-Clause"
+      "license": "BSD-2-Clause",
+      "peer": true
     },
     "node_modules/globals": {
@@ -4605,4 +4639,5 @@
       "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/node": "*",
@@ -4619,4 +4654,5 @@
       "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -4756,5 +4792,6 @@
       "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/json-schema-traverse": {
@@ -4834,4 +4871,5 @@
       "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=6.11.5"
@@ -4895,5 +4933,6 @@
       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
       "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/merge2": {
@@ -4903,4 +4942,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">= 8"
@@ -5377,5 +5417,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "bin": {
         "prettier": "bin/prettier.cjs"
@@ -5453,5 +5492,6 @@
         }
       ],
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/randombytes": {
@@ -5460,4 +5500,5 @@
       "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "safe-buffer": "^5.1.0"
@@ -5482,4 +5523,5 @@
       "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=0.10.0"
@@ -5502,4 +5544,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
         "iojs": ">=1.0.0",
@@ -5520,5 +5563,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@types/estree": "1.0.6"
@@ -5594,4 +5636,5 @@
       ],
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "queue-microtask": "^1.2.2"
@@ -5616,5 +5659,6 @@
         }
       ],
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/safer-buffer": {
@@ -5630,5 +5674,4 @@
       "integrity": "sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "chokidar": "^4.0.0",
@@ -5701,4 +5744,5 @@
       "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/json-schema": "^7.0.9",
@@ -5737,4 +5781,5 @@
       "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "fast-deep-equal": "^3.1.3"
@@ -5748,5 +5793,6 @@
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
       "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/semver": {
@@ -5768,4 +5814,5 @@
       "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
       "license": "BSD-3-Clause",
+      "peer": true,
       "dependencies": {
         "randombytes": "^2.1.0"
@@ -5835,4 +5882,5 @@
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
       "license": "BSD-3-Clause",
+      "peer": true,
       "engines": {
         "node": ">=0.10.0"
@@ -5853,4 +5901,5 @@
       "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "buffer-from": "^1.0.0",
@@ -6073,4 +6122,5 @@
       "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=6"
@@ -6082,4 +6132,5 @@
       "integrity": "sha512-yEPUmWve+VA78bI71BW70Dh0TuV4HHd+I5SHOAfS1+QBOmvmCiiffgjR8ryyEd3KIfvPGFqoADt8LdQ6XpXIvg==",
       "license": "BSD-2-Clause",
+      "peer": true,
       "dependencies": {
         "@jridgewell/source-map": "^0.3.3",
@@ -6100,4 +6151,5 @@
       "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@jridgewell/trace-mapping": "^0.3.25",
@@ -6133,5 +6185,6 @@
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
       "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/tinybench": {
@@ -6254,4 +6307,5 @@
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=18.12"
@@ -6313,5 +6367,6 @@
       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
       "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/unicorn-magic": {
@@ -6391,5 +6446,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "esbuild": "^0.24.2",
@@ -6582,5 +6636,4 @@
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@vitest/expect": "3.0.3",
@@ -6655,5 +6708,4 @@
       "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@vue/compiler-dom": "3.5.13",
@@ -6850,4 +6902,5 @@
       "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "glob-to-regexp": "^0.4.1",
@@ -6873,4 +6926,5 @@
       "integrity": "sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/eslint-scope": "^3.7.7",
@@ -6920,4 +6974,5 @@
       "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=10.13.0"
@@ -6929,4 +6984,5 @@
       "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
       "license": "BSD-2-Clause",
+      "peer": true,
       "dependencies": {
         "esrecurse": "^4.3.0",
@@ -6942,4 +6998,5 @@
       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
       "license": "BSD-2-Clause",
+      "peer": true,
       "engines": {
         "node": ">=4.0"
Index: ReserveNGo-frontend/src/components/Project/Nav_bar_new.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Nav_bar_new.vue	(revision 98c38b68935b8b7986fba2b8450b7cff68a06bac)
+++ ReserveNGo-frontend/src/components/Project/Nav_bar_new.vue	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -53,5 +53,7 @@
         <ul class="navbar-nav align-items-center">
           <li class="nav-item" v-if="user.data.role === 'ROLE_CUSTOMER'">
-            <router-link :to="{name: 'favourite_locals', params:{ mode: 'favourites'} }" class="nav-link text-black"
+            <router-link
+              :to="{ name: 'favourite_locals', params: { mode: 'favourites' } }"
+              class="nav-link text-black"
               >Favourite locals</router-link
             >
@@ -75,4 +77,8 @@
           <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_LOCAL_MANAGER'">
             <router-link to="/manager-dashboard" class="nav-link text-black">Dashboard</router-link>
+          </li>
+
+          <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_LOCAL_WORKER'">
+            <router-link to="/worker-reservations-dashboard" class="nav-link text-black">Dashboard</router-link>
           </li>
 
Index: ReserveNGo-frontend/src/components/Project/Worker/WorkerReservationsDashboard.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Worker/WorkerReservationsDashboard.vue	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ ReserveNGo-frontend/src/components/Project/Worker/WorkerReservationsDashboard.vue	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,292 @@
+<script>
+import LoadingIcon from '@/components/Project/Utility/LoadingIcon.vue'
+import { useLocalWorker } from '@/repository/LocalWorker.ts'
+import { useToasts } from '@/composables/useToast.js'
+
+export default {
+  components: { LoadingIcon },
+
+  data() {
+    return {
+      reservations: [],
+      statusFilter: 'ALL',
+
+      acceptingId: null,
+      denyingId: null,
+      finishingId: null,
+
+      showToast: useToasts().showToast,
+      sortKey: '',
+      sortOrder: 'asc',
+    }
+  },
+
+  computed: {
+    filteredReservations() {
+      let data = [...this.reservations]
+
+      // filter
+      if (this.statusFilter !== 'ALL') {
+        data = data.filter((r) => r.reservationStatus === this.statusFilter)
+      }
+
+      // sort
+      if (!this.sortKey) return data
+
+      return data.sort((a, b) => {
+        let valueA = a[this.sortKey]
+        let valueB = b[this.sortKey]
+
+        // date sorting
+        if (this.sortKey === 'timeOfReservation') {
+          valueA = new Date(valueA).getTime()
+          valueB = new Date(valueB).getTime()
+        }
+
+        // string normalization
+        if (typeof valueA === 'string') {
+          valueA = valueA.toLowerCase()
+          valueB = valueB.toLowerCase()
+        }
+
+        if (valueA < valueB) return this.sortOrder === 'asc' ? -1 : 1
+        if (valueA > valueB) return this.sortOrder === 'asc' ? 1 : -1
+        return 0
+      })
+    },
+  },
+
+  methods: {
+    async fetchReservations() {
+      try {
+        this.reservations = await useLocalWorker.getReservations()
+      } catch (error) {
+        console.error(error)
+        this.showToast('Failed to load reservations.', 'error')
+      }
+    },
+
+    async acceptReservation(id) {
+      this.acceptingId = id
+      try {
+        await useLocalWorker.acceptReservation(id)
+        this.showToast('Reservation accepted.', 'success')
+        await this.fetchReservations()
+      } catch (error) {
+        console.error(error)
+        this.showToast('Failed to accept reservation.', 'error')
+      } finally {
+        this.acceptingId = null
+      }
+    },
+
+    async denyReservation(id) {
+      this.denyingId = id
+      try {
+        await useLocalWorker.denyReservation(id)
+        this.showToast('Reservation denied.', 'success')
+        await this.fetchReservations()
+      } catch (error) {
+        console.error(error)
+        this.showToast('Failed to deny reservation.', 'error')
+      } finally {
+        this.denyingId = null
+      }
+    },
+
+    async finishReservation(id) {
+      this.finishingId = id
+      try {
+        await useLocalWorker.finishReservation(id)
+        this.showToast('Reservation finished.', 'success')
+        await this.fetchReservations()
+      } catch (error) {
+        console.error(error)
+        this.showToast('Failed to finish reservation.', 'error')
+      } finally {
+        this.finishingId = null
+      }
+    },
+
+    canAccept(status) {
+      return status === 'PENDING'
+    },
+    canDeny(status) {
+      return status === 'PENDING' || status === 'ACCEPTED'
+    },
+    canFinish(status) {
+      return status === 'PENDING' || status === 'ACCEPTED'
+    },
+    formatDate(timestamp) {
+      if (!timestamp) return '-'
+
+      const date = new Date(timestamp)
+
+      const dd = String(date.getDate()).padStart(2, '0')
+      const mm = String(date.getMonth() + 1).padStart(2, '0')
+      const yyyy = date.getFullYear()
+
+      const hh = String(date.getHours()).padStart(2, '0')
+      const min = String(date.getMinutes()).padStart(2, '0')
+
+      return `${dd}.${mm}.${yyyy} - ${hh}:${min}`
+    },
+    sortBy(key) {
+      if (this.sortKey === key) {
+        this.sortOrder = this.sortOrder === 'asc' ? 'desc' : 'asc'
+      } else {
+        this.sortKey = key
+        this.sortOrder = 'asc'
+      }
+    },
+  },
+
+  mounted() {
+    this.fetchReservations()
+  },
+}
+</script>
+
+<template>
+  <div class="container mt-4">
+    <h3 class="mb-3">Reservations Overview</h3>
+
+    <!-- Status Filter -->
+    <div class="mb-3 d-flex gap-2">
+      <select v-model="statusFilter" class="form-select form-select-sm w-auto">
+        <option value="ALL">All</option>
+        <option value="PENDING">Pending</option>
+        <option value="ACCEPTED">Accepted</option>
+        <option value="CANCELED">Cancelled</option>
+        <option value="FINISHED">Finished</option>
+        <option value="EXPIRED">Expired</option>
+      </select>
+    </div>
+
+    <!-- Reservations Table -->
+    <div class="table-responsive shadow-sm table-container">
+      <table class="table table-striped table-hover align-middle">
+        <thead class="table-light">
+          <tr>
+            <th style="cursor: pointer" @click="sortBy('customerName')">
+              Customer
+              <span v-if="sortKey === 'customerName'">
+                {{ sortOrder === 'asc' ? '↑' : '↓' }}
+              </span>
+            </th>
+
+            <th style="cursor: pointer" @click="sortBy('timeOfReservation')">
+              Time
+              <span v-if="sortKey === 'timeOfReservation'">
+                {{ sortOrder === 'asc' ? '↑' : '↓' }}
+              </span>
+            </th>
+
+            <th style="cursor: pointer" @click="sortBy('tableNumber')">
+              Table
+              <span v-if="sortKey === 'tableNumber'">
+                {{ sortOrder === 'asc' ? '↑' : '↓' }}
+              </span>
+            </th>
+
+            <th style="cursor: pointer" @click="sortBy('reservationStatus')">
+              Status
+              <span v-if="sortKey === 'reservationStatus'">
+                {{ sortOrder === 'asc' ? '↑' : '↓' }}
+              </span>
+            </th>
+
+            <th class="text-end">Actions</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          <tr v-for="reservation in filteredReservations" :key="reservation.reservationId">
+            <td>{{ reservation.customerName }}</td>
+            <td>{{ formatDate(reservation.timeOfReservation) }}</td>
+            <td>{{ reservation.tableNumber }}</td>
+            <td>
+              <span class="badge bg-secondary">
+                {{ reservation.reservationStatus }}
+              </span>
+            </td>
+
+            <td class="text-end">
+              <div class="btn-group btn-group-sm">
+                <button
+                  v-if="canAccept(reservation.reservationStatus)"
+                  class="btn btn-outline-success"
+                  @click="acceptReservation(reservation.reservationId)"
+                  :disabled="acceptingId === reservation.reservationId"
+                >
+                  <LoadingIcon v-if="acceptingId === reservation.reservationId" />
+                  <span v-else>Accept</span>
+                </button>
+
+                <button
+                  v-if="canDeny(reservation.reservationStatus)"
+                  class="btn btn-outline-danger"
+                  @click="denyReservation(reservation.reservationId)"
+                  :disabled="denyingId === reservation.reservationId"
+                >
+                  <LoadingIcon v-if="denyingId === reservation.reservationId" />
+                  <span v-else>Deny</span>
+                </button>
+
+                <button
+                  v-if="canFinish(reservation.reservationStatus)"
+                  class="btn btn-outline-primary"
+                  @click="finishReservation(reservation.reservationId)"
+                  :disabled="finishingId === reservation.reservationId"
+                >
+                  <LoadingIcon v-if="finishingId === reservation.reservationId" />
+                  <span v-else>Finish</span>
+                </button>
+              </div>
+            </td>
+          </tr>
+
+          <tr v-if="filteredReservations.length === 0">
+            <td colspan="5" class="text-center text-muted py-4">No reservations found.</td>
+          </tr>
+        </tbody>
+      </table>
+    </div>
+  </div>
+</template>
+
+<style scoped>
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+}
+
+.table-container {
+  max-height: 65vh;
+  overflow-y: auto;
+}
+
+table {
+  table-layout: fixed;
+  width: 100%;
+  font-size: 0.95rem;
+}
+
+th,
+td {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+thead th {
+  position: sticky;
+  top: 0;
+  background-color: #f8f9fa;
+  z-index: 2;
+}
+
+.badge {
+  font-size: 0.75rem;
+}
+</style>
Index: ReserveNGo-frontend/src/repository/LocalWorker.ts
===================================================================
--- ReserveNGo-frontend/src/repository/LocalWorker.ts	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
+++ ReserveNGo-frontend/src/repository/LocalWorker.ts	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -0,0 +1,41 @@
+import { config } from '@/constants/Api_config'
+import { HttpClient } from '@/Api_Classes/HttpClient'
+import { ReservationStatus } from '@/repository/Reservations'
+
+const BASE_API_URL = config.API_BASE_URL
+
+export type DashboardReservationDisplayDTO = {
+  reservationId?: number | string
+  customerName?: string
+  customerId?: number | string
+  timeOfReservation: string
+  tableNumber: number
+  tableCapacity: number
+  reservationStatus: ReservationStatus
+}
+
+class LocalWorker {
+  private readonly httpClient: HttpClient
+
+  constructor(baseUrl: string) {
+    this.httpClient = new HttpClient(baseUrl)
+  }
+
+  getReservations(): Promise<DashboardReservationDisplayDTO[]> {
+    return this.httpClient.get('reservations')
+  }
+
+  acceptReservation(reservationId): Promise<any> {
+    return this.httpClient.put(`reservations/${reservationId}/accept`)
+  }
+
+  denyReservation(reservationId): Promise<any> {
+    return this.httpClient.put(`reservations/${reservationId}/deny`)
+  }
+
+  finishReservation(reservationId): Promise<any> {
+    return this.httpClient.put(`reservations/${reservationId}/finish`)
+  }
+}
+
+export const useLocalWorker = new LocalWorker(BASE_API_URL + '/api/local-worker')
Index: ReserveNGo-frontend/src/router/index.js
===================================================================
--- ReserveNGo-frontend/src/router/index.js	(revision 98c38b68935b8b7986fba2b8450b7cff68a06bac)
+++ ReserveNGo-frontend/src/router/index.js	(revision a2cf76ef39eb9ad9c31f4239648f3ae7a7d0c764)
@@ -13,4 +13,5 @@
 import Locale_listing_container from '@/components/Project/Restaurant/Locale_listing_container.vue'
 import DisabledAccountPage from '@/components/Project/Auth/DisabledAccountPage.vue'
+import WorkerReservationsDashboard from '@/components/Project/Worker/WorkerReservationsDashboard.vue'
 
 const router = createRouter({
@@ -73,5 +74,10 @@
       name: 'disabledAccountPage',
       component: DisabledAccountPage,
-    }
+    },
+    {
+      path: '/worker-reservations-dashboard',
+      name: 'worker-reservations-dashboard',
+      component: WorkerReservationsDashboard,
+    },
   ],
 })
