Index: frontend/package-lock.json
===================================================================
--- frontend/package-lock.json	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/package-lock.json	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -13,4 +13,5 @@
         "@testing-library/user-event": "^13.5.0",
         "axios": "^1.5.0",
+        "axios-extensions": "^3.1.6",
         "bootstrap": "^5.3.0",
         "file-loader": "^6.2.0",
@@ -5349,4 +5350,25 @@
       }
     },
+    "node_modules/axios-extensions": {
+      "version": "3.1.6",
+      "resolved": "https://registry.npmjs.org/axios-extensions/-/axios-extensions-3.1.6.tgz",
+      "integrity": "sha512-CmwMYxxAw4DcQDJ7/2Iv4GJj1Ao48lJEPieycgZQH6m1KcYZqf9zm2HM/CsULqheCpYxZbiGrCfZf5tVjXqoLg==",
+      "dependencies": {
+        "lru-cache": "^7.14.0",
+        "tslib": "^2.1.0",
+        "util": "^0.12.3"
+      },
+      "peerDependencies": {
+        "axios": "*"
+      }
+    },
+    "node_modules/axios-extensions/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/axios/node_modules/form-data": {
       "version": "4.0.0",
@@ -9425,5 +9447,4 @@
       "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
       "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
-      "peer": true,
       "dependencies": {
         "call-bind": "^1.0.2",
@@ -9564,4 +9585,18 @@
       "engines": {
         "node": ">=6"
+      }
+    },
+    "node_modules/is-generator-function": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+      "dependencies": {
+        "has-tostringtag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
@@ -16800,4 +16835,16 @@
       }
     },
+    "node_modules/util": {
+      "version": "0.12.5",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "is-arguments": "^1.0.4",
+        "is-generator-function": "^1.0.7",
+        "is-typed-array": "^1.1.3",
+        "which-typed-array": "^1.1.2"
+      }
+    },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
Index: frontend/package.json
===================================================================
--- frontend/package.json	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/package.json	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -8,4 +8,5 @@
     "@testing-library/user-event": "^13.5.0",
     "axios": "^1.5.0",
+    "axios-extensions": "^3.1.6",
     "bootstrap": "^5.3.0",
     "file-loader": "^6.2.0",
Index: frontend/src/App.js
===================================================================
--- frontend/src/App.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/App.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -5,5 +5,5 @@
 import 'bootstrap/dist/js/bootstrap.js';
 import HomeCarousel from './Components/Layout/CarouselHome/Carousel';
-import { Card, Container } from 'react-bootstrap';
+import {Card, Container} from 'react-bootstrap';
 import TabComponent from './Components/Tab/Tab';
 import Offers from './Components/Layout/Offers/Offers';
@@ -27,35 +27,51 @@
 import TransportEditPage from './Pages/TransportEditPage';
 import RestaurantDetailsPage from './Pages/RestaurantDetailsPage';
-import { BrowserRouter, Route, Routes } from 'react-router-dom';
+import {BrowserRouter, Route, Routes} from 'react-router-dom';
 import LoginErrorPage from "./Pages/LoginErrorPage";
+import {AuthProvider} from "./Components/Context/AuthContext";
+import PrivateRoute from "./Components/Misc/PrivateRoute";
+import ProfilesManagementPage from "./Pages/ProfilesManagementPage";
+import UserReservationsManagement from "./Pages/UserReservationsManagement";
 
 
 function App() {
 
-  return (
-    <div className="App" style={{overflow: 'hidden'}}>
-      <BrowserRouter>
-        <Routes>
-          <Route path='/login' element={<LoginPage/>}/>
-          <Route path='/register' element={<RegistrationPage/>}/>
-          <Route path='/profile' element={<ProfilePage/>}/>
-          <Route path="/resources" exact element={<NoBusinessRegisteredError hasRegistration="false"/>} />
-          <Route path="/resources/hotel" element={<ResourcesPage tab="/hotel"/>}/>
-          <Route path="/resources/hotel/:hotelId" element={<HotelEditPage />}/>
-          <Route path="/resources/restaurant" element={<ResourcesPage tab="/restaurant"/>}/>
-          <Route path='/resources/restaurant/:restaurantId' element={<RestaurantEditPage />}/>
-          <Route path="/resources/transport" element={<ResourcesPage tab="/transport"/>}/>
-          <Route path="/resources/transport/:transportId" element={<TransportEditPage/>}/>
-          <Route path="/home" element={<HomePage/> }/>
-          <Route path="/error" element={<LoginErrorPage/> }/>
-          <Route path='/details/transport' element={<TransportDetailsPage></TransportDetailsPage>}/>
-          <Route path='/details/hotel' element={<HotelDetailsPage></HotelDetailsPage>}/>
-          <Route path='/details/restaurant' element={<RestaurantDetailsPage></RestaurantDetailsPage>}/>
-          <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds" element={<SearchPage type="hotel"/> }/>
-          <Route path="/search/transport/:from/:to/:date" element={<SearchPage type="transport"/> }/>
-        </Routes>
-      </BrowserRouter>
-    </div>
-  );
+    return (
+        <div className="App" style={{overflow: 'hidden'}}>
+            <AuthProvider>
+                <BrowserRouter>
+                    <Routes>
+                        <Route path='/login' element={<LoginPage/>}/>
+                        <Route path='/register' element={<RegistrationPage/>}/>
+                        <Route path='/profile' element={<PrivateRoute><ProfilePage/></PrivateRoute>}/>
+                        <Route path='/profiles' element={<PrivateRoute><ProfilesManagementPage/></PrivateRoute>}/>
+                        <Route path='/reservations' element={<PrivateRoute><UserReservationsManagement/></PrivateRoute>}/>
+                        <Route path="/resources" exact element={<PrivateRoute><NoBusinessRegisteredError
+                            hasRegistration="false"/></PrivateRoute>}/>
+                        <Route path="/resources/hotel"
+                               element={<PrivateRoute><ResourcesPage tab="/hotel"/></PrivateRoute>}/>
+                        <Route path="/resources/hotel/:hotelId" element={<PrivateRoute><HotelEditPage/></PrivateRoute>}/>
+                        <Route path="/resources/restaurant"
+                               element={<PrivateRoute><ResourcesPage tab="/restaurant"/></PrivateRoute>}/>
+                        <Route path='/resources/restaurant/:restaurantId'
+                               element={<PrivateRoute><RestaurantEditPage/></PrivateRoute>}/>
+                        <Route path="/resources/transport"
+                               element={<PrivateRoute><ResourcesPage tab="/transport"/></PrivateRoute>}/>
+                        <Route path="/resources/transport/:transportId"
+                               element={<PrivateRoute><TransportEditPage/></PrivateRoute>}/>
+                        <Route path="/home" element={<HomePage/>}/>
+                        <Route path="/error" element={<LoginErrorPage/>}/>
+                        <Route path='/details/transport' element={<TransportDetailsPage></TransportDetailsPage>}/>
+                        <Route path='/details/hotel' element={<HotelDetailsPage></HotelDetailsPage>}/>
+                        <Route path='/details/restaurant' element={<RestaurantDetailsPage></RestaurantDetailsPage>}/>
+                        <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds"
+                               element={<SearchPage type="hotel"/>}/>
+                        <Route path="/search/transport/:from/:to/:date/:numPassengers"
+                               element={<SearchPage type="transport"/>}/>
+                    </Routes>
+                </BrowserRouter>
+            </AuthProvider>
+        </div>
+    );
 }
 
Index: frontend/src/Components/Forms/AddHotelForm.js
===================================================================
--- frontend/src/Components/Forms/AddHotelForm.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Forms/AddHotelForm.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -119,4 +119,6 @@
                   return prevState + 1;
                 })
+                if(!edit)
+                  props.closeModal()
               }}
             >
Index: frontend/src/Components/Forms/AddRestaurantForm.js
===================================================================
--- frontend/src/Components/Forms/AddRestaurantForm.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Forms/AddRestaurantForm.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -85,4 +85,5 @@
                   return prevState + 1;
                 })
+                props.closeModal()
               }}
             >
Index: frontend/src/Components/Forms/AddRoomForm.js
===================================================================
--- frontend/src/Components/Forms/AddRoomForm.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Forms/AddRoomForm.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -13,5 +13,5 @@
     hotelRoomDescription: "",
     hotelRoomName: "",
-    numBeds: "",
+    numOfBeds: "",
     price: "",
     kitchenAvailable: false,
@@ -58,6 +58,6 @@
             type="number" 
             placeholder="Внесете го бројот на кревети" 
-            value={formData.numBeds}
-            name="numBeds"
+            value={formData.numOfBeds}
+            name="numOfBeds"
             onChange={onFormChange}
             />
@@ -117,7 +117,11 @@
               style={{ backgroundColor: "#159895" }}
               size="md"
-              onClick={() => {
-                console.log(formData);
+              onClick={(e) => {
+                e.preventDefault();
+                props.refresh((prev) => {
+                  return ++prev;
+                })
                 createHotelRoom(formData);
+                props.closeModal();
               }}
             >
Index: frontend/src/Components/Forms/AddTransportForm.js
===================================================================
--- frontend/src/Components/Forms/AddTransportForm.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Forms/AddTransportForm.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -11,5 +11,5 @@
       transportName: "",
       carBrand: "",
-      carType: false,
+      carType: "",
       carManufacturedYear: 1900,
       noPassengers: 0,
@@ -107,6 +107,8 @@
                 createTransport(formData, edit);
                 props.refresh((prev) => {
-                  return prev + 1;
+                  return ++prev;
                 })
+                if(!edit)
+                    props.closeModal()
               }}
             >
Index: frontend/src/Components/Forms/EditRoomForm.js
===================================================================
--- frontend/src/Components/Forms/EditRoomForm.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Forms/EditRoomForm.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -28,4 +28,6 @@
     } = useGet(`/hotel/rooms/${props.room.hotelRoomId}/available`)
 
+    console.log(`/hotel/rooms/${props.room.hotelRoomId}/available`)
+
     !isLoading && console.log(data)
 
@@ -42,7 +44,9 @@
                             <tr>
                                 <th>#</th>
-                                <th>Достапно од</th>
-                                <th>Достапно до</th>
-                                <th>Број на соби</th>
+                                <th>Oд</th>
+                                <th>До</th>
+                                <th>Време на тргнување</th>
+                                <th>Време на пристигнување</th>
+                                <th>Цена</th>
                             </tr>
                             </thead>
Index: frontend/src/Components/Hooks/Hotel/useCreateHotel.js
===================================================================
--- frontend/src/Components/Hooks/Hotel/useCreateHotel.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Hooks/Hotel/useCreateHotel.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -6,8 +6,8 @@
 const useCreateHotel = () => {
 
-    //const history = useNavigate();
     const createHotel = async (hotel, edit) => {
 		console.log({hotel})
 		console.log(hotel)
+		console.log("vo createhotel")
 
 		if(!edit)
@@ -16,5 +16,5 @@
 			.post(`/hotel/add`, hotel, {
 				params: {
-					userId: localStorage.getItem("userId")
+					userId: JSON.parse(localStorage.getItem("user")).userId
 				}
 			}) 
Index: frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js
===================================================================
--- frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Hooks/Restaurant/useCreateRestaurant.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -15,5 +15,5 @@
 			.post(`/restaurant/add`, restaurant, {
 				params: {
-					userId: localStorage.getItem('userId')
+					userId: JSON.parse(localStorage.getItem('user')).userId,
 				}
 			}) 
Index: frontend/src/Components/Hooks/Transport/useCreateTransport.js
===================================================================
--- frontend/src/Components/Hooks/Transport/useCreateTransport.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Hooks/Transport/useCreateTransport.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -4,10 +4,10 @@
 
 const useCreateTransport = () => {
-
+	const userId = JSON.parse(localStorage.getItem('user')).userId
     const createTransport = async (transport, edit) => {
 			if(!edit)
 			{
 				await axios
-	            .post(`/transport/add`, transport) 
+	            .post(`/transport/add/` + userId, transport)
 	            .then((res) => {
 	                //history.push('/transport');
Index: frontend/src/Components/Hooks/User/useLogin.js
===================================================================
--- frontend/src/Components/Hooks/User/useLogin.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Hooks/User/useLogin.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -4,8 +4,10 @@
 import { Navigate, useAsyncValue, useNavigate } from "react-router-dom";
 import LoginForm from "../../Login/LoginForm.js";
+import {useAuth} from "../../Context/AuthContext";
 
 const useLogin = () => {
 
     const navigator = useNavigate()
+	const Auth = useAuth();
     //const history = useNavigate();
     const login = async (loginData) => {
@@ -22,7 +24,22 @@
                 }) 
 	            .then((res) => {
+					console.log("RES LOGIN")
+					console.log(res)
+					if(res.status === 200)
+					{
+						const user = {
+							sessionId: res.data.auth.details.sessionId,
+							userId: res.data.auth.principal.userID,
+							username: res.data.auth.principal.username,
+							role: res.data.auth.principal.role,
+							name: res.data.auth.principal.name,
+							surname: res.data.auth.principal.surname,
+						}
+						Auth.userLogin(user);
+						console.log(user)
+					}
 					const sessionId = res.data.auth.details.sessionId;
 					const userId = res.data.auth.principal.userID;
-					
+
 					localStorage.setItem("sessionId", sessionId);
 					localStorage.setItem("userId", userId);
Index: frontend/src/Components/Hooks/useGet.js
===================================================================
--- frontend/src/Components/Hooks/useGet.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Hooks/useGet.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -12,8 +12,8 @@
         console.log("url od get " + uurl)
         await axios.
-            get(uurl).then((res) => {
+            get(uurl, {maxRedirects: 0}).then((res) => {
                 setData(res.data);
-            }).catch((err) => {
-                console.log(err)
+            }).catch((error) => {
+                console.log(error)
             })
             .finally(() => {
@@ -26,5 +26,5 @@
         getData(url);
     }, [dep, url, changed]);
-    
+
     return {
         data,
Index: frontend/src/Components/HotelEdit/HotelEditTab.js
===================================================================
--- frontend/src/Components/HotelEdit/HotelEditTab.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/HotelEdit/HotelEditTab.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -1,99 +1,119 @@
 import React from "react";
-import { Container, Col, Row, Image, Nav, Tab } from "react-bootstrap";
-import { useState } from "react";
-import { FaTaxi, FaHotel } from "react-icons/fa";
-import { MdOutlineStickyNote2 } from "react-icons/md";
+import {Container, Col, Row, Image, Nav, Tab} from "react-bootstrap";
+import {useState} from "react";
+import {FaTaxi, FaHotel} from "react-icons/fa";
+import {MdOutlineStickyNote2} from "react-icons/md";
 import AddNew from "../Resources/AddNew";
-import { BiData } from "react-icons/bi"
+import {BiData} from "react-icons/bi"
 import RoomListing from "./RoomListing";
 import HotelEditForm from "./HotelEditForm";
 import AddHotelForm from "../Forms/AddHotelForm";
 import EditModal from "../Resources/EditModal";
+import AddAvailability from "../Resources/AddAvailability";
+import useGet from "../Hooks/useGet";
+import ReservationListing from "./ReservationListing";
 
 function HotelEditTab(props) {
-  const [activeTab, setActiveTab] = useState("/hotel");
-  const [modalData, setModalData] = useState("");
-  const [show, setShow] = useState(false);
+    const [activeTab, setActiveTab] = useState("/hotel");
+    const [modalData, setModalData] = useState("");
+    const [show, setShow] = useState(false);
 
-  const handleClose = () => setShow(false);
-  const handleShow = () => {
-    //e.preventDefault();
-    setShow(true);
+    console.log(props)
 
-  };
+    const {
+        data,
+        isLoading,
+        setData,
+        getData,
+        setChanged
+    } = useGet(`/hotel/${props.displayRoom.hotelId}/reservations/active`)
 
-  const showModal = (modalData) => {
-    setModalData(modalData);
-    handleShow();
-  }
-  console.log(props.displayRoom)
+    !isLoading && console.log(data)
 
-  const handleSelect = (eventKey) => {
-    setActiveTab(eventKey);
-  };
+    const handleClose = () => setShow(false);
+    const handleShow = () => {
+        //e.preventDefault();
+        setShow(true);
 
-  return (
-    <Container className="rounded-5">
-      <Tab.Container
-        activeKey={activeTab}
-        onSelect={handleSelect}
-        className="bg-dark rounded-5"
-      >
-        <Nav
-          fill
-          variant="tabs"
-          className="bg-body rounded-top-5"
-          activeKey="/hotel"
-          id="tab_item"
-        >
-          <Nav.Item className="tab_item rounded-5">
-            <Nav.Link eventKey="/hotel" className="text-left rounded-5">
+    };
+
+    const showModal = (modalData) => {
+        setModalData(modalData);
+        handleShow();
+    }
+    console.log(props.displayRoom)
+
+    const handleSelect = (eventKey) => {
+        setActiveTab(eventKey);
+    };
+
+    return (
+        <Container className="rounded-5">
+            <Tab.Container
+                activeKey={activeTab}
+                onSelect={handleSelect}
+                className="bg-dark rounded-5"
+            >
+                <Nav
+                    fill
+                    variant="tabs"
+                    className="bg-body rounded-top-5"
+                    activeKey="/hotel"
+                    id="tab_item"
+                >
+                    <Nav.Item className="tab_item rounded-5">
+                        <Nav.Link eventKey="/hotel" className="text-left rounded-5">
               <span className="ikona">
                 <FaHotel
-                  color="#159895"
-                  style={{ lineHeight: "100em" }}
-                  size={"1.5em"}
-                  className="mx-3"
+                    color="#159895"
+                    style={{lineHeight: "100em"}}
+                    size={"1.5em"}
+                    className="mx-3"
                 />
               </span>
-              <span className="ikona">Соби</span>
-            </Nav.Link>
-          </Nav.Item>
-          <Nav.Item className="tab_item">
-            <Nav.Link eventKey="/restaurant">
+                            <span className="ikona">Соби</span>
+                        </Nav.Link>
+                    </Nav.Item>
+                    <Nav.Item className="tab_item">
+                        <Nav.Link eventKey="/restaurant">
               <span className="ikona">
-                <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3" />
+                <MdOutlineStickyNote2 color="#159895" size={"1.5em"} className="mx-3"/>
               </span>
-              <span className="ikona">Резервации</span>
-            </Nav.Link>
-          </Nav.Item>
-          <Nav.Item className="tab_item rounded-5">
-            <Nav.Link eventKey="/transport" className="text-left rounded-5">
+                            <span className="ikona">Резервации</span>
+                        </Nav.Link>
+                    </Nav.Item>
+                    <Nav.Item className="tab_item rounded-5">
+                        <Nav.Link eventKey="/transport" className="text-left rounded-5">
               <span className="ikona">
-                <BiData color="#159895" size={"1.5em"} className="mx-3" />
+                <BiData color="#159895" size={"1.5em"} className="mx-3"/>
               </span>
-              <span className="ikona">Општи податоци</span>
-            </Nav.Link>
-          </Nav.Item>
-        </Nav>
+                            <span className="ikona">Општи податоци</span>
+                        </Nav.Link>
+                    </Nav.Item>
+                </Nav>
 
-        <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
-          <Tab.Pane eventKey="/hotel">
-          {props.displayRoom.hotelRooms.map((room) => {
-              return <RoomListing key={room.hotelRoomId} data={room} showModal={showModal}/>
-            })}
-            <EditModal show={show} handleClose={handleClose} type="room" room={modalData}></EditModal>
-            <AddNew Id={props.displayRoom.hotelId} refresh={props.refresh} type="room"/>
-          </Tab.Pane>
-          <Tab.Pane eventKey="/restaurant">
-            <AddNew type="restaurant"/>
-          </Tab.Pane>
-          <Tab.Pane eventKey="/transport">
-            <AddHotelForm refresh={props.refresh} hotel={props.displayRoom}/>
-          </Tab.Pane>
-        </Tab.Content>
-      </Tab.Container>
-    </Container>
-  );
+                <Tab.Content className="py-5 px-3 border rounded-bottom-5 bg-light">
+                    <Tab.Pane eventKey="/hotel">
+                        {props.displayRoom.hotelRooms.map((room) => {
+                            return <RoomListing key={room.hotelRoomId} data={room} showModal={showModal}/>
+                        })}
+                        <EditModal show={show} handleClose={handleClose} type="room" room={modalData}></EditModal>
+                        <AddNew Id={props.displayRoom.hotelId} refresh={props.refresh} type="room"/>
+                    </Tab.Pane>
+                    <Tab.Pane eventKey="/restaurant">
+                        {!isLoading && data.map((res) => {
+                            return (
+                                <ReservationListing data={res}/>
+                            )
+                        })}
+                        {/*<AddNew type="restaurant"/>*/}
+                    </Tab.Pane>
+                    <Tab.Pane eventKey="/transport">
+                        <AddHotelForm refresh={props.refresh} hotel={props.displayRoom}/>
+                    </Tab.Pane>
+                </Tab.Content>
+            </Tab.Container>
+        </Container>
+    );
 }
 
Index: frontend/src/Components/Layout/Navbar/Navigation.js
===================================================================
--- frontend/src/Components/Layout/Navbar/Navigation.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Layout/Navbar/Navigation.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -7,4 +7,5 @@
 import useGet from "../../Hooks/useGet";
 import axios from "../../../axios.js";
+import {useAuth} from "../../Context/AuthContext";
 //import logo from 'assets/images/logo.png';
 //src="https://upload.wikimedia.org/wikipedia/commons/0/08/Vergina_Sun_-_Golden_Larnax.png"
@@ -12,7 +13,6 @@
 function Navigation(props) {
   const navigator = useNavigate();
-
-  const { data, setData, isLoading, getData } = useGet("/username");
-  
+  const Auth = useAuth();
+  const isLoggedIn = Auth.userIsAuthenticated();
   return (
     <>
@@ -24,5 +24,5 @@
       >
         <Container>
-          <Navbar.Brand href="#home">
+          <Navbar.Brand href="/home">
             <span className="ikona">
               <Image
@@ -50,5 +50,5 @@
                 Pricing
               </Nav.Link>
-              {!isLoading && !data && (
+              {!isLoggedIn && (
                 <Button
                   className="m-2"
@@ -62,8 +62,8 @@
                 </Button>
               )}
-              {!isLoading && data && (
+              {isLoggedIn && (
                 <>
                   <Nav.Link className="m-2" href="/profile">
-                    {data}
+                    {Auth.getUser().username}
                   </Nav.Link>
                   <Button
@@ -74,5 +74,6 @@
                       await axios.get("/logout")
                       .then((res) => {
-                        console.log(res)
+                        console.log(res);
+                        Auth.userLogout();
                       })
                       .catch((err) => {
Index: frontend/src/Components/Resources/AddNew.js
===================================================================
--- frontend/src/Components/Resources/AddNew.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Resources/AddNew.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -56,8 +56,8 @@
         </Modal.Header>
         <Modal.Body>
-            {props.type === "hotel" && <AddHotelForm refresh={props.refresh}/>}
-            {props.type === "room" && <AddRoomForm refresh={props.refresh} hotelId={props.Id}/>}
-            {props.type === "restaurant" && <AddRestaurantForm edit="false" refresh={props.refresh}/>}
-            {props.type === "transport" && <AddTransportForm refresh={props.refresh}/>}
+            {props.type === "hotel" && <AddHotelForm closeModal={handleClose} refresh={props.refresh}/>}
+            {props.type === "room" && <AddRoomForm closeModal={handleClose} refresh={props.refresh} hotelId={props.Id}/>}
+            {props.type === "restaurant" && <AddRestaurantForm edit="false" closeModal={handleClose} refresh={props.refresh}/>}
+            {props.type === "transport" && <AddTransportForm closeModal={handleClose} refresh={props.refresh}/>}
             {props.type === "menu" && <AddItemMenuForm Id={props.Id} refresh={props.refresh}/>}
             {props.type === "route" && <AddTripForm transportId={props.transport.transportID} setSize={setSizeXl} refresh={props.refresh}/>}
Index: frontend/src/Components/Resources/EditModal.js
===================================================================
--- frontend/src/Components/Resources/EditModal.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Resources/EditModal.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -31,5 +31,5 @@
         </Modal.Header>
         <Modal.Body>
-            {props.type === "hotel" && <AddHotelForm/>}
+            {props.type === "hotel" && <AddHotelForm refresh={props.refresh}/>}
             {props.type === "room" && <EditRoomForm refresh={props.refresh} room={props.room}/>}
             {props.type === "restaurant" && <AddRestaurantForm edit="false" refresh={props.refresh}/>}
Index: frontend/src/Components/Resources/ResourceListing.js
===================================================================
--- frontend/src/Components/Resources/ResourceListing.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Resources/ResourceListing.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -6,12 +6,10 @@
 
 const ResourceListing = (props) => {
-  
-    console.log("props " + props.id)
-  
 
     const type = props.type == "hotel" ? "сместувањето" : props.type == "restaurant" ? "ресторанот" : "превозот";
     const name = props.type == "hotel" ? props.data.hotelName : props.type == "restaurant" ? props.data.restaurantName : props.data.transportName
-    const id = props.type == "hotel" ? props.data.hotelId : props.type == "restaurant" ? props.data.resturantId : props.data.transportID
-    return(<> 
+    const id = props.type == "hotel" ? props.data.hotelId : props.type == "restaurant" ? props.data.restaurantID : props.data.transportID
+    console.log(props.data)
+    return(<>
     <a href={`${props.type}/${id}`} style={{textDecoration: "none", color:"black"}}>
         <Container className="py-3 px-1 my-4"
Index: frontend/src/Components/Resources/ResourcesTab.js
===================================================================
--- frontend/src/Components/Resources/ResourcesTab.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Resources/ResourcesTab.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -11,17 +11,11 @@
 function ResourcesTab(props) {
   const [activeTab, setActiveTab] = useState(props.tab);
-  // const [changed, setChanged] = useState(0);
-  const userId = localStorage.getItem("userId");
+  const userId = JSON.parse(localStorage.getItem("user")).userId;
   const { data, setData, isLoading, getData, setChanged } = useGet(`${props.tab}/user/${userId}`);
 
   const handleSelect = (eventKey) => {
     setActiveTab(eventKey);
-    console.log(props.refresh);
     props.refresh(eventKey);
-    console.log("refresh" + eventKey);
   };
-
-  !isLoading && console.log(data);
-  console.log(props.tab);
 
   return (
@@ -78,5 +72,5 @@
               data.map((hotel) => {
                 return (
-                  <Link key={hotel.hotelId} to={"/resources/hotel/" + hotel.hotelId}>
+                  <Link style={{textDecoration: "none"}} key={hotel.hotelId} to={"/resources/hotel/" + hotel.hotelId}>
                     <ResourceListing
                       key={hotel.hotelId}
@@ -93,14 +87,10 @@
             {props.tab == "/restaurant" && !isLoading && data != null &&
               data.map((restaurant) => {
-                console.log("mapiranje " + restaurant)
                 return (
-                  <Link key={restaurant.restaurantId} to={"/resources/restaurant/" + restaurant.restaurantID}>
                     <ResourceListing
-                      key={restaurant.restaurantId}
+                      key={restaurant.restaurantID}
                       type="restaurant"
                       data={restaurant}
-                    />
-                  </Link>
-                );
+                    />);
               })}
             <AddNew type="restaurant" refresh={setChanged}/>
Index: frontend/src/Components/RestaurantEdit/RestaurantEditTab.js
===================================================================
--- frontend/src/Components/RestaurantEdit/RestaurantEditTab.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/RestaurantEdit/RestaurantEditTab.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -100,5 +100,5 @@
               return <MenuListing key={menu.menuId} data={menu} showModal={showModal}/>
             })}
-            {activeTab === '/hotel' && <EditModal show={show} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
+            {activeTab === '/hotel' && <EditModal show={show} refresh={props.refresh} handleClose={handleClose} type="menu" menu={modalData}></EditModal>}
             <AddNew Id={props.displayMenu.restaurantID} refresh={props.refresh} type="menu"/>
           </Tab.Pane>
Index: frontend/src/Components/SearchCriterias/SearchCriteriasBar.js
===================================================================
--- frontend/src/Components/SearchCriterias/SearchCriteriasBar.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/SearchCriterias/SearchCriteriasBar.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -2,97 +2,18 @@
 import { Container, Form, Button, Row, Col } from "react-bootstrap";
 import useFormData from "../Hooks/useFormData";
+import SearchCriteriasHotel from "./SearchCriteriasHotel";
+import SearchCriteriasTransport from "./SearchCriteriasTransport";
 
-const SearchCriterias = (props) => {
+const SearchCriteriasBar = (props) => {
 
-  const { formData, onFormChange, onCheckBoxChange, setFormData} = useFormData(props.criterias)
-  console.log("KRITERIUMI")
-  console.log(formData)
+    const { criterias, type } = props
 
-  return (
-    <>
-      <Container
-        className="p-1 pb-0 mb-5 mt-3 rounded-2"
-        style={{ backgroundColor: "#002B5B", width: "65%"}}
-      >
-        <Form className="rounded-5">
-          <Row className="gx-1">
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="text"
-                  placeholder="Каде ќе патувате?:"
-                  id="location"
-                  name="hotelLocation"
-                  onChange={onFormChange}
-                  value={formData.hotelLocation}
-                ></Form.Control>
-                <label htmlFor="location">Локација:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="date"
-                  placeholder="Датум на пристигнување:"
-                  id="dateFrom"
-                  name="dateFrom"
-                  onChange={onFormChange}
-                  value={formData.dateFrom}
-                ></Form.Control>
-                <label htmlFor="dateFrom">Датум на пристигнување:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="date"
-                  placeholder="Датум на заминување:"
-                  id="dateTo"
-                  name="dateTo"
-                  onChange={onFormChange}
-                  value={formData.dateTo}
-                ></Form.Control>
-                <label htmlFor="dateTo">Датум на заминување:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Floating className="mb-3">
-                <Form.Control
-                  size="md"
-                  type="number"
-                  placeholder="Број на гости:"
-                  id="floatingPassengers"
-                  name="numBeds"
-                  onChange={onFormChange}
-                  value={formData.numBeds}
-                ></Form.Control>
-                <label htmlFor="floatingPassengers">Број на гости:</label>
-              </Form.Floating>
-            </Col>
-            <Col>
-              <Form.Group className="my-1">
-                <Button
-                  type="submit"
-                  style={{ backgroundColor: "#159895" }}
-                  size="lg"
-                  className="w-100"
-                  onClick={(e) => {
-                    e.preventDefault();
-                    window.location.href = `/search/hotel/${formData.hotelLocation}/${formData.dateFrom}/${formData.dateTo}/${formData.numBeds}`
-                  }}
-                >
-                  <span className="ikona mx-3">Пребарај</span>
-                </Button>
-              </Form.Group>
-            </Col>
-          </Row>
-        </Form>
-      </Container>
-    </>
-  );
-};
+    return (
+        <>
+            {type === 'hotel' && <SearchCriteriasHotel criterias={criterias}/>}
+            {type === 'transport' && <SearchCriteriasTransport criterias={criterias}/>}
+        </>
+    )
+}
 
-export default SearchCriterias;
+export default SearchCriteriasBar;
Index: frontend/src/Components/Tab/TabFormTransport.js
===================================================================
--- frontend/src/Components/Tab/TabFormTransport.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/Tab/TabFormTransport.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -2,6 +2,15 @@
 import { Button, Col, Container, Form, Row } from "react-bootstrap";
 import { HiMagnifyingGlass } from "react-icons/hi2"
+import useFormData from "../Hooks/useFormData";
 
 function TabFormTransport() {
+
+  const { formData, onFormChange, setFormData } = useFormData({
+    from: undefined,
+    to: undefined,
+    date: undefined,
+    numPassengers: 0
+  })
+
   return (
     <Form>
@@ -14,4 +23,7 @@
               placeholder="Од:"
               id="floatingFrom"
+              value={formData.from}
+              name={'from'}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingFrom">Од:</label>
@@ -25,4 +37,7 @@
               placeholder="До:"
               id="floatingTo"
+              name={'to'}
+              value={formData.to}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingTo">До:</label>
@@ -36,4 +51,7 @@
               placeholder="Датум:"
               id="floatingDate"
+              name={'date'}
+              value={formData.date}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingDate">Датум:</label>
@@ -46,10 +64,16 @@
               type="number"
               placeholder="Број на патници:"
+              name={'numPassengers'}
               id="floatingPassengers"
+              value={formData.numPassengers}
+              onChange={onFormChange}
             ></Form.Control>
             <label htmlFor="floatingPassengers">Број на патници:</label>
           </Form.Floating>
           <Form.Group className="my-1">
-            <Button type="submit" style={{backgroundColor: "#159895"}} size="lg">
+            <Button type="submit" style={{backgroundColor: "#159895"}} size="lg" onClick={(e) => {
+              e.preventDefault();
+              window.location.href = `/search/transport/${formData.from}/${formData.to}/${formData.date}/${formData.numPassengers}`
+            }}>
               <span className="ikona my-1"><HiMagnifyingGlass/></span>
               <span className="ikona mx-3">Пребарај</span>
Index: frontend/src/Components/TransportDetails/FinalPoint.js
===================================================================
--- frontend/src/Components/TransportDetails/FinalPoint.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/TransportDetails/FinalPoint.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -17,5 +17,5 @@
     <>
       <Row>
-        {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-auto" style={{paddingLeft: "2.6rem"}}>
+        {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-md-4" style={{paddingLeft: "2.6rem"}}>
             <h5 className="m-auto">{getTimeAsString(props.time)}</h5>
         </Col>  }
Index: frontend/src/Components/TransportDetails/Line.js
===================================================================
--- frontend/src/Components/TransportDetails/Line.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/TransportDetails/Line.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -2,7 +2,5 @@
 
 const Line = (props) => {
-    console.log(props.left)
-    const left = props.left === "true" ? "9.08rem" : "2.6rem";
-    console.log({borderLeft: "5px solid #159895", height: "3em", marginLeft: left, marginTop: "-1.4rem", marginBottom: "-1.4rem"})
+    const left = props.left === "true" ? "1.8rem" : "1.85rem";
     return (<>
         <div style={{borderLeft: "5px solid #159895", height: "3em", marginLeft: left, marginTop: "-1.4rem", marginBottom: "-1.4rem"}}></div>
Index: frontend/src/Components/TransportDetails/Waypoint.js
===================================================================
--- frontend/src/Components/TransportDetails/Waypoint.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/TransportDetails/Waypoint.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -17,5 +17,5 @@
     <>
       <Row className="d-flex flex-row gap-0">
-      {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-auto" style={{paddingLeft: "2.6rem"}}>
+      {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-md-4" style={{paddingLeft: "2.6rem"}}>
             <h5 style={{color: props.routes === "true" ? "white" : "" }} className="m-auto">{getTimeAsString(props.time)}</h5>
         </Col>}
@@ -30,7 +30,20 @@
         </Col>}
       </Row>
-      <Row>
-      <Line left={props.left}> </Line>
-      </Row>
+        <Row className="d-flex flex-row gap-0">
+            {props.left === "true" && <Col className="d-flex flex-column justify-content-center col-md-4" style={{paddingLeft: "2.6rem"}}>
+
+            </Col>}
+            <Col md="auto">
+                <Line left={props.left}> </Line>
+            </Col>
+            <Col className="d-flex flex-column justify-content-center">
+            </Col>
+            {props.left !== "true" && <Col className="d-flex flex-column justify-content-center">
+
+            </Col>}
+        </Row>
+      {/*<Row>*/}
+      {/*<Line left={props.left}> </Line>*/}
+      {/*</Row>*/}
     </>
   );
Index: frontend/src/Components/TransportEdit/TransportEditTab.js
===================================================================
--- frontend/src/Components/TransportEdit/TransportEditTab.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/TransportEdit/TransportEditTab.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -12,8 +12,5 @@
 function TransportEditTab(props) {
   const [activeTab, setActiveTab] = useState("/hotel");
-  const link = "/transport/" + props.displayRoute.transportID + "/available";
   console.log(props.displayRoute)
-  const [changed, setChanged] = useState(0)
-  const { data, setData, isLoading, getData } = useGet(link, changed);
 
 
Index: frontend/src/Components/TransportEdit/TransportListing.js
===================================================================
--- frontend/src/Components/TransportEdit/TransportListing.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/TransportEdit/TransportListing.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -9,6 +9,4 @@
 
     //const type = props.type == "hotel" ? "сместувањето" : props.type == "restaurant" ? "ресторанот" : "превозот";
-    console.log(props.data)
-    console.log(props.data.from)
     return (<>
         <a href="#" style={{textDecoration: "none", color: "black"}}>
@@ -34,5 +32,4 @@
                     <Col className="d-flex flex-column justify-content-center" style={{textAlign: "left"}}>
                         <h2>{props.data.from} - {props.data.to}</h2>
-                        {/* <h6>{props.data.routeCities}</h6> */}
                         <h6>{props.data.routes.map(x => x).join(", ")}</h6>
                     </Col>
@@ -40,6 +37,5 @@
                     <Col className="d-flex flex-column justify-content-center align-content-center">
                         <h5>Цена:</h5>
-                        {/* <h4>{props.data.routePrice}</h4> */}
-                        <h4>99$</h4>
+                         <h4>{props.data.maxPrice}$</h4>
                     </Col>
                 </Row>
Index: frontend/src/Components/useFormNested.js
===================================================================
--- frontend/src/Components/useFormNested.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Components/useFormNested.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -7,5 +7,5 @@
         console.log(e)
 
-        const dependantRoutes = e.target.parentElement.getAttribute('dependantRoutes').split(',')
+        const dependantRoutes = e.target.name === 'freeSpace' ? e.target.parentElement.getAttribute('dependantRoutes').split(',') : undefined;
         console.log(dependantRoutes)
 
Index: frontend/src/Pages/HotelDetailsPage.js
===================================================================
--- frontend/src/Pages/HotelDetailsPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/HotelDetailsPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -1,5 +1,5 @@
 import React from "react";
 import LoginForm from "../Components/Login/LoginForm";
-import { Container, Row, Col, Form } from "react-bootstrap";
+import {Container, Row, Col, Form, FloatingLabel} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import Carousel from "react-bootstrap/Carousel";
@@ -69,6 +69,7 @@
                   placeholder="Каде ќе патувате?:"
                   id="location"
+                  value={data.hotelLocation}
                 ></Form.Control>
-                <label htmlFor="location">Локација:</label>
+                <label style={{left: "10px"}} htmlFor="location">Локација:</label>
               </Form.Floating>
             </Row>
@@ -80,6 +81,7 @@
                   placeholder="Датум на пристигнување:"
                   id="dateFrom"
+                  value={from}
                 ></Form.Control>
-                <label htmlFor="dateFrom">Датум на пристигнување:</label>
+                <label style={{left: "10px"}} htmlFor="dateFrom">Датум на пристигнување:</label>
               </Form.Floating>
             </Row>
@@ -91,6 +93,7 @@
                   placeholder="Датум на заминување:"
                   id="dateTo"
+                  value={to}
                 ></Form.Control>
-                <label htmlFor="dateTo">Датум на заминување:</label>
+                <label style={{left: "10px"}} htmlFor="dateTo">Датум на заминување:</label>
               </Form.Floating>
             </Row>
@@ -103,5 +106,5 @@
                   id="floatingPassengers"
                 ></Form.Control>
-                <label htmlFor="floatingPassengers">Број на гости:</label>
+                <label style={{left: "10px"}} htmlFor="floatingPassengers">Број на гости:</label>
               </Form.Floating>
             </Row>
Index: frontend/src/Pages/HotelEditPage.js
===================================================================
--- frontend/src/Pages/HotelEditPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/HotelEditPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -1,59 +1,60 @@
-import React, { useState } from "react";
-import { Container, Col, Row, Image } from "react-bootstrap";
+import React, {useState} from "react";
+import {Container, Col, Row, Image} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import ResourcesTab from "../Components/Resources/ResourcesTab";
 import HotelEditTab from "../Components/HotelEdit/HotelEditTab";
 import useGet from "../Components/Hooks/useGet";
-import { useParams } from "react-router-dom";
+import {Navigate, useParams} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 
 const HotelEditPage = () => {
 
-  const params = useParams();
-  const link = "/hotel/list/" + params.hotelId;
-  const [changed, setChanged] = useState(0)
-  const { data, setData, isLoading, getData } = useGet(link, changed);
+    const params = useParams();
+    const link = "/hotel/list/" + params.hotelId;
+    const [changed, setChanged] = useState(0)
+    const {data, setData, isLoading, getData} = useGet(link, changed);
 
 
-  console.log(data)
-  return (
-    <>
-      <Navigation />
-      {!isLoading && <Container>
-        <Row className="mb-5">
-          <h2 style={{ color: "#159895", textAlign: "left" }}>Мои ресурси</h2>
-        </Row>
-        <Row className="mb-5">
-          <Col>
-            <Row className="d-flex mb-3">
-              <Col
-                className="d-flex justify-content-center"
-                style={{ maxWidth: "30%" }}
-              >
-                <Image
-                  src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
-                  style={{
-                    height: "5em",
-                    borderRadius: "50%",
-                    maxWidth: "100%",
-                  }}
-                  className="m-auto"
-                ></Image>
-              </Col>
-              <Col className="d-flex justify-content-center">
-                <Container className="pt-2" style={{ textAlign: "left" }}>
-                  <h4>{data.hotelName}</h4>
-                  <h5>{data.hotelLocation}</h5>
-                </Container>
-              </Col>
-            </Row>
-          </Col>
-        </Row>
-        <Row>
-            <HotelEditTab refresh={setChanged} displayRoom={data}/>
-        </Row>
-      </Container>}
-    </>
-  );
+    console.log(data)
+    return (
+        <>
+            <Navigation/>
+            {!isLoading && <Container>
+                <Row className="mb-5">
+                    <h2 style={{color: "#159895", textAlign: "left"}}>Мои ресурси</h2>
+                </Row>
+                <Row className="mb-5">
+                    <Col>
+                        <Row className="d-flex mb-3">
+                            <Col
+                                className="d-flex justify-content-center"
+                                style={{maxWidth: "30%"}}
+                            >
+                                <Image
+                                    src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
+                                    style={{
+                                        height: "5em",
+                                        borderRadius: "50%",
+                                        maxWidth: "100%",
+                                    }}
+                                    className="m-auto"
+                                ></Image>
+                            </Col>
+                            <Col className="d-flex justify-content-center">
+                                <Container className="pt-2" style={{textAlign: "left"}}>
+                                    <h4>{data.hotelName}</h4>
+                                    <h5>{data.hotelLocation}</h5>
+                                </Container>
+                            </Col>
+                        </Row>
+                    </Col>
+                </Row>
+                <Row>
+                    <HotelEditTab refresh={setChanged} displayRoom={data}/>
+                </Row>
+            </Container>}
+        </>
+    );
 };
 
Index: frontend/src/Pages/LoginErrorPage.js
===================================================================
--- frontend/src/Pages/LoginErrorPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/LoginErrorPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -11,5 +11,4 @@
     const [show, setShow] = useState(false);
     const [changed, setChanged] = useState(0);
-    const {data, isLoading} = useGet("/username")
     const userId = localStorage.getItem("userId")
     const [registered, setRegistered] = useState(false);
Index: frontend/src/Pages/LoginPage.js
===================================================================
--- frontend/src/Pages/LoginPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/LoginPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -3,4 +3,7 @@
 import { Container } from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
+import {useAuth} from "../Components/Context/AuthContext";
+import {Navigate} from "react-router-dom";
+
 
 const LoginPage = () => {
@@ -8,4 +11,12 @@
   document.body.style.marginTop = "auto";
   document.body.style.marginBottom = "auto";
+
+  const Auth = useAuth();
+  const isLoggedIn = Auth.userIsAuthenticated();
+
+    if (isLoggedIn) {
+        return <Navigate to={'/home'}/>
+    }
+
   return (
     <>
Index: frontend/src/Pages/NoBusinessRegisteredError.js
===================================================================
--- frontend/src/Pages/NoBusinessRegisteredError.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/NoBusinessRegisteredError.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -6,10 +6,12 @@
 import RegisterBusinessForm from "../Components/Forms/RegisterBusinessForm";
 import useGet from "../Components/Hooks/useGet";
-import { useNavigate } from "react-router-dom";
+import {Navigate, useNavigate} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 const NoBusinessRegisteredError = (props) => {
   const [show, setShow] = useState(false);
   const [changed, setChanged] = useState(0);
-  const {data, isLoading} = useGet("/username")
+  const Auth = useAuth();
+  const isLoggedIn = Auth.userIsAuthenticated();
   const userId = localStorage.getItem("userId")
   const [registered, setRegistered] = useState(false);
@@ -45,7 +47,9 @@
 
 
-  console.log(data)
+  if(!isLoggedIn)
+  {
+    return <Navigate to={'/login'}/>
+  }
 
-  !isLoading && !data && navigator("/login")
   !firmaIsLoading && firma && firma.length > 0 && firma[0].approved && navigator("/resources/hotel")
   
Index: frontend/src/Pages/ProfilePage.js
===================================================================
--- frontend/src/Pages/ProfilePage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/ProfilePage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -8,10 +8,13 @@
 import ChangePasswordForm from "../Components/Forms/ChangePasswordForm";
 import useGet from "../Components/Hooks/useGet";
+import {useAuth} from "../Components/Context/AuthContext";
+import {Navigate} from "react-router-dom";
 
 const ProfilePage = () => {
 
-  const { data, setData, isLoading, getData } = useGet("/principal");
+    const { data, setData, isLoading, getData } = useGet("/principal");
 
-  
+
+
     const profileData = {
         "name": "Марко",
@@ -19,5 +22,5 @@
         "address": "ул. Раскрсница бр. 10",
         "dateOfBirth": "2002-01-01",
-        "country": "Никогаш Северна само МАКЕДОНИЈА",
+        "country": "Македонија",
         "zip": "1000",
         "city": "Скопје",
@@ -27,8 +30,9 @@
 
 
+
   return (
     <>
       <Navigation />
-{      !isLoading && <Container>
+    {!isLoading && <Container>
         <Row className="mb-5">
           <h2 style={{ color: "#159895", textAlign: "left" }}>Мојот профил</h2>
Index: frontend/src/Pages/ResourcesPage.js
===================================================================
--- frontend/src/Pages/ResourcesPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/ResourcesPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -1,54 +1,55 @@
 import React from "react";
-import { Container, Col, Row, Image } from "react-bootstrap";
+import {Container, Col, Row, Image} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import ResourcesTab from "../Components/Resources/ResourcesTab";
-import { useState } from "react";
+import {useState} from "react";
 import useGet from "../Components/Hooks/useGet";
+import {useAuth} from "../Components/Context/AuthContext";
+import {Navigate} from "react-router-dom";
 
 const ResourcesPage = (props) => {
 
-  console.log(props.tab)
-  const { data, setData, isLoading, getData } = useGet("/principal");
+    const Auth = useAuth();
+    const user = Auth.getUser();
 
-
-  return (
-    <>
-      <Navigation />
-{!isLoading && <Container>
-        <Row className="mb-5">
-          <h2 style={{ color: "#159895", textAlign: "left" }}>Мои ресурси</h2>
-        </Row>
-        <Row className="mb-5">
-          <Col>
-            <Row className="d-flex mb-3">
-              <Col
-                className="d-flex justify-content-center"
-                style={{ maxWidth: "30%" }}
-              >
-                <Image
-                  src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
-                  style={{
-                    height: "5em",
-                    borderRadius: "50%",
-                    maxWidth: "100%",
-                  }}
-                  className="m-auto"
-                ></Image>
-              </Col>
-              <Col className="d-flex justify-content-center">
-                <Container className="pt-2" style={{ textAlign: "left" }}>
-                  <h4>{data.name + " " + data.surname}</h4>
-                  <h5>{data.email}</h5>
-                </Container>
-              </Col>
-            </Row>
-          </Col>
-        </Row>
-        <Row>
-            <ResourcesTab tab={props.tab}></ResourcesTab>
-        </Row>
-      </Container>}
-    </>
-  );
+    return (
+        <>
+            <Navigation/>
+            {<Container>
+                <Row className="mb-5">
+                    <h2 style={{color: "#159895", textAlign: "left"}}>Мои ресурси</h2>
+                </Row>
+                <Row className="mb-5">
+                    <Col>
+                        <Row className="d-flex mb-3">
+                            <Col
+                                className="d-flex justify-content-center"
+                                style={{maxWidth: "30%"}}
+                            >
+                                <Image
+                                    src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
+                                    style={{
+                                        height: "5em",
+                                        borderRadius: "50%",
+                                        maxWidth: "100%",
+                                    }}
+                                    className="m-auto"
+                                ></Image>
+                            </Col>
+                            <Col className="d-flex justify-content-center">
+                                <Container className="pt-2" style={{textAlign: "left"}}>
+                                    <h4>{user.name + " " + user.surname}</h4>
+                                    <h5>{user.username}</h5>
+                                </Container>
+                            </Col>
+                        </Row>
+                    </Col>
+                </Row>
+                <Row>
+                    <ResourcesTab tab={props.tab}></ResourcesTab>
+                </Row>
+            </Container>}
+        </>
+    );
 };
 
Index: frontend/src/Pages/RestaurantEditPage.js
===================================================================
--- frontend/src/Pages/RestaurantEditPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/RestaurantEditPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -6,5 +6,6 @@
 import RestaurantEditTab from "../Components/RestaurantEdit/RestaurantEditTab";
 import useGet from "../Components/Hooks/useGet";
-import { useParams, useSearchParams } from "react-router-dom";
+import {Navigate, useParams, useSearchParams} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 const RestaurantEditPage = () => {
Index: frontend/src/Pages/SearchPage.js
===================================================================
--- frontend/src/Pages/SearchPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/SearchPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -11,5 +11,5 @@
 import BecomeAHost from "../Components/BecomeAHost/BecomeAHost"
 import HotelLisitng from "../Components/Listings/HotelListing"
-import SearchCriterias from "../Components/SearchCriterias/SearchCriteriasBar";
+import SearchCriteriasHotel from "../Components/SearchCriterias/SearchCriteriasHotel";
 import SortButton from "../Components/Listings/SortButton";
 import FilterButton from "../Components/Listings/FilterButton";
@@ -17,4 +17,5 @@
 import useGet from "../Components/Hooks/useGet";
 import { useParams } from "react-router-dom";
+import SearchCriteriasBar from "../Components/SearchCriterias/SearchCriteriasBar";
 
 
@@ -36,5 +37,5 @@
     }
     
-    let link = props.type === "transport" ? `/transport/search?from=${params.from}&to=${params.to}&date=${params.date}` : props.type === "hotel" ? `/hotel/search?hotelLocation=${params.hotelLocation}&dateFrom=${params.dateFrom}&dateTo=${params.dateTo}&numBeds=${params.numBeds}` : ""
+    let link = props.type === "transport" ? `/transport/search?from=${params.from}&to=${params.to}&date=${params.date}&numPassengers=${params.numPassengers}` : props.type === "hotel" ? `/hotel/search?hotelLocation=${params.hotelLocation}&dateFrom=${params.dateFrom}&dateTo=${params.dateTo}&numBeds=${params.numBeds}` : ""
     console.log(link)
     const { data, isLoading, getData, setData } = useGet(link);
@@ -43,5 +44,5 @@
         <>
             <Navigation></Navigation>
-            <SearchCriterias criterias={useParams()}></SearchCriterias>
+            <SearchCriteriasBar type={props.type} criterias={useParams()}></SearchCriteriasBar>
             <Container className="d-flex justify-content-end gx-5" style={{maxWidth: "60%"}}>
                 <Row>
Index: frontend/src/Pages/TransportEditPage.js
===================================================================
--- frontend/src/Pages/TransportEditPage.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/Pages/TransportEditPage.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
-import { Container, Col, Row, Image } from "react-bootstrap";
+import React, {useState} from "react";
+import {Container, Col, Row, Image} from "react-bootstrap";
 import Navigation from "../Components/Layout/Navbar/Navigation";
 import ResourcesTab from "../Components/Resources/ResourcesTab";
@@ -7,56 +7,58 @@
 import TransportEditTab from "../Components/TransportEdit/TransportEditTab";
 import useGet from "../Components/Hooks/useGet";
-import { useParams } from "react-router-dom";
+import {Navigate, useParams} from "react-router-dom";
+import {useAuth} from "../Components/Context/AuthContext";
 
 const TransportEditPage = () => {
-  const params = useParams();
-  console.log("transportot ima id " + params.transportId);
-  const link = "/transport/" + params.transportId;
-  const [changed, setChanged] = useState(0);
-  const { data, setData, isLoading, getData } = useGet(link, changed);
 
-  !isLoading && console.log(data)
+    const params = useParams();
 
-  return (
-    <>
-      <Navigation />
-      {!isLoading && (
-        <Container>
-          <Row className="mb-5">
-            <h2 style={{ color: "#159895", textAlign: "left" }}>Мои ресурси</h2>
-          </Row>
-          <Row className="mb-5">
-            <Col>
-              <Row className="d-flex mb-3">
-                <Col
-                  className="d-flex justify-content-center"
-                  style={{ maxWidth: "30%" }}
-                >
-                  <Image
-                    src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
-                    style={{
-                      height: "5em",
-                      borderRadius: "50%",
-                      maxWidth: "100%",
-                    }}
-                    className="m-auto"
-                  ></Image>
-                </Col>
-                <Col className="d-flex justify-content-center">
-                  <Container className="pt-2" style={{ textAlign: "left" }}>
-                    <h4>{data.transportName}</h4>
-                    <h5>{data.carBrand + " " + data.carType}</h5>
-                  </Container>
-                </Col>
-              </Row>
-            </Col>
-          </Row>
-          <Row>
-            {data && <TransportEditTab displayRoute={data} refresh={setChanged}/>}
-          </Row>
-        </Container>
-      )}
-    </>
-  );
+    const link = "/transport/" + params.transportId;
+
+    const {data, setData, isLoading, getData, setChanged} = useGet(link);
+
+    !isLoading && console.log(data)
+
+    return (
+        <>
+            <Navigation/>
+            {!isLoading && (
+                <Container>
+                    <Row className="mb-5">
+                        <h2 style={{color: "#159895", textAlign: "left"}}>Мои ресурси</h2>
+                    </Row>
+                    <Row className="mb-5">
+                        <Col>
+                            <Row className="d-flex mb-3">
+                                <Col
+                                    className="d-flex justify-content-center"
+                                    style={{maxWidth: "30%"}}
+                                >
+                                    <Image
+                                        src="https://t3.ftcdn.net/jpg/05/16/27/58/360_F_516275801_f3Fsp17x6HQK0xQgDQEELoTuERO4SsWV.jpg"
+                                        style={{
+                                            height: "5em",
+                                            borderRadius: "50%",
+                                            maxWidth: "100%",
+                                        }}
+                                        className="m-auto"
+                                    ></Image>
+                                </Col>
+                                <Col className="d-flex justify-content-center">
+                                    <Container className="pt-2" style={{textAlign: "left"}}>
+                                        <h4>{data.transportName}</h4>
+                                        <h5>{data.carBrand + " " + data.carType}</h5>
+                                    </Container>
+                                </Col>
+                            </Row>
+                        </Col>
+                    </Row>
+                    <Row>
+                        {data && <TransportEditTab displayRoute={data} refresh={setChanged}/>}
+                    </Row>
+                </Container>
+            )}
+        </>
+    );
 };
 
Index: frontend/src/axios.js
===================================================================
--- frontend/src/axios.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/axios.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -1,21 +1,16 @@
 import axios from "axios";
+
 
 const instance = axios.create({
     baseURL: "http://localhost:8080/",
     withCredentials: true,
-    maxRedirects: 1
+    maxRedirects: 1,
+    beforeRedirect: (options, { headers }) => {
+        console.log(options)
+        if (options.hostname === "example.com") {
+            options.auth = "user:password";
+        }}
+
 })
 
-instance.interceptors.response.use(function (response) {
-    // Any status code that lie within the range of 2xx cause this function to trigger
-    // Do something with response data
-    return response;
-  }, function (error) {
-    console.log(error)
-    //  window.location.href="/login"
-    // Any status codes that falls outside the range of 2xx cause this function to trigger
-    // Do something with response error
-    return Promise.reject(error);
-  });
-
 export default instance
