Index: trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaLocationRepository.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaLocationRepository.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaLocationRepository.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -109,3 +109,5 @@
     List<Location> getVillages();
 
+    @Query(value = "SELECT * FROM locations AS l WHERE l.id_city = :cityId", nativeQuery = true)
+    List<Location> getLocationsForCity(@Param("cityId") Long cityId);
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaPlannerRepository.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaPlannerRepository.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaPlannerRepository.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -16,5 +16,9 @@
         List<Planner> getPlannersByUser(@Param("username") String username );
 
-        @Query(value = "delete from planners_contain WHERE planners_contain.id_location = :locationId", nativeQuery = true)
-        void deleteLocationFromPlanner(@Param("locationId") Long locationId);
+        @Query(value = "DELETE planners_contain " +
+                "FROM planners_contain " +
+                "JOIN planners ON planners_contain.id_planner = planners.id_planner " +
+                "JOIN locations ON planners_contain.id_location = locations.id_location " +
+                "WHERE planners_contain.id_planner = :plannerId AND planners_contain.id_location = :locationId", nativeQuery = true)
+        void deleteLocationFromPlanner(@Param("plannerId") Long plannerId, @Param("locationId") Long locationId);
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaUserRepository.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaUserRepository.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/repository/jpa/JpaUserRepository.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -2,6 +2,11 @@
 
 import finki.diplomska.tripplanner.models.User;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Optional;
 
 @Repository
@@ -9,3 +14,10 @@
     User findByUsername(String username);
     User getById(Long id);
+
+    @Query(value = "SELECT u.username FROM users AS u", nativeQuery = true)
+    List<String> getAllUsernames();
+
+    @Query(value = "SELECT u.password FROM users AS u WHERE u.username LIKE :username ", nativeQuery = true)
+    Optional<String> getPassword(@Param("username") String username);
+
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/security/SecurityConfig.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/security/SecurityConfig.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/security/SecurityConfig.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -78,4 +78,5 @@
                 .antMatchers("/api/weekend").permitAll()
                 .antMatchers("/api/villages").permitAll()
+                .antMatchers("/api/cities").permitAll()
                 .anyRequest().authenticated();
         http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/service/LocationService.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/service/LocationService.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/service/LocationService.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -25,3 +25,4 @@
     List<Location> getVillages();
     List<Long> getAllLocationIdsForPlanner(Long plannerId);
+    List<Location> getLocationsForCity(Long cityId);
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/service/PlannerService.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/service/PlannerService.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/service/PlannerService.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -4,4 +4,6 @@
 import finki.diplomska.tripplanner.models.Planner;
 import finki.diplomska.tripplanner.models.dto.PlannerDto;
+import finki.diplomska.tripplanner.models.dto.PlannerLocationDto;
+import org.springframework.http.ResponseEntity;
 
 import java.util.List;
@@ -18,4 +20,4 @@
         Optional<Planner> newPlanner(PlannerDto plannerDto, String username);
         void deletePlannerById(Long id);
-        void deleteLocationFromPlanner(Long locationId);
+        ResponseEntity deleteLocationFromPlanner(PlannerLocationDto plannerLocationDto);
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/service/UserService.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/service/UserService.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/service/UserService.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -4,4 +4,5 @@
 import finki.diplomska.tripplanner.models.dto.UserDto;
 
+import java.util.List;
 import java.util.Optional;
 
@@ -10,4 +11,6 @@
 
     User saveUser (User user);
-
+    List<String> getAllUsernames();
+    Optional<String> getPassword(UserDto userDto);
+    Optional<User> findById(Long id);
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/LocationServiceImpl.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/LocationServiceImpl.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/LocationServiceImpl.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -183,3 +183,8 @@
         return this.locationRepository.getAllLocationIdsForPlanner(plannerId);
     }
+
+    @Override
+    public List<Location> getLocationsForCity(Long cityId) {
+        return this.locationRepository.getLocationsForCity(cityId);
+    }
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/PlannerServiceImpl.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/PlannerServiceImpl.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/PlannerServiceImpl.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -5,4 +5,5 @@
 import finki.diplomska.tripplanner.models.User;
 import finki.diplomska.tripplanner.models.dto.PlannerDto;
+import finki.diplomska.tripplanner.models.dto.PlannerLocationDto;
 import finki.diplomska.tripplanner.models.exceptions.LocationNotFoundException;
 import finki.diplomska.tripplanner.models.exceptions.PlannerNotFoundException;
@@ -11,4 +12,5 @@
 import finki.diplomska.tripplanner.repository.jpa.JpaUserRepository;
 import finki.diplomska.tripplanner.service.PlannerService;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 
@@ -67,6 +69,7 @@
 
     @Override
-    public void deleteLocationFromPlanner(Long locationId) {
-        this.plannerRepository.deleteLocationFromPlanner(locationId);
+    public ResponseEntity deleteLocationFromPlanner(PlannerLocationDto plannerLocationDto) {
+        plannerRepository.deleteLocationFromPlanner(plannerLocationDto.getPlannerId(), plannerLocationDto.getLocationId());
+        return null;
     }
 
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/UserServiceImpl.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/UserServiceImpl.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/UserServiceImpl.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -7,7 +7,9 @@
 import finki.diplomska.tripplanner.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
 import java.util.Optional;
 
@@ -34,5 +36,20 @@
             throw new UsernameAlreadyExistsException("Username '"+newUser.getUsername()+ "' already exists");
         }
+    }
 
+    @Override
+    public List<String> getAllUsernames() {
+        return this.userRepository.getAllUsernames();
+    }
+
+    @Override
+    public Optional<String> getPassword(UserDto userDto) {
+         this.userRepository.getPassword(userDto.getUsername());
+         return null;
+    }
+
+    @Override
+    public Optional<User> findById(Long id) {
+        return this.userRepository.findById(id);
     }
 
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/LocationRestController.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/LocationRestController.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/LocationRestController.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -45,12 +45,12 @@
 
     @GetMapping(value = "/region/locations")
-    public List<Location> getAllLocationsFromRegion(@RequestParam(required = false) Long regionId,
-                                                    @RequestParam(required = false)  Long companionId,
-                                                    @RequestParam(required = false) Long lengthOfStay,
-                                                    @RequestParam(required = false) String categoryIds){
+    public List<Location> getAllLocationsFromRegion(@RequestParam Long regionId,
+                                                    @RequestParam  Long companionId,
+                                                    @RequestParam Long lengthOfStay,
+                                                    @RequestParam String categoryIds){
         return this.locationService.findLocationsFromRegionForm(regionId, companionId,lengthOfStay, categoryIds);
     }
 
-    @PutMapping(value = "/add-location")
+    @PostMapping(value = "/add-location")
     public Location addLocationToPlanner(@RequestBody PlannerLocationDto plannerLocationDto){
         return this.locationService.addLocationToPlanner(plannerLocationDto);
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/PlannerRestController.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/PlannerRestController.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/PlannerRestController.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -5,4 +5,5 @@
 import finki.diplomska.tripplanner.models.User;
 import finki.diplomska.tripplanner.models.dto.PlannerDto;
+import finki.diplomska.tripplanner.models.dto.PlannerLocationDto;
 import finki.diplomska.tripplanner.service.LocationService;
 import finki.diplomska.tripplanner.service.PlannerService;
@@ -92,11 +93,7 @@
     }
 
-
-    @DeleteMapping(value = "/delete-from-planner")
-    public ResponseEntity deleteLocationFromPlanner(@PathVariable Long locationId){
-        this.plannerService.deleteLocationFromPlanner(locationId);
-        return this.locationService.findById(locationId)
-                .map(location -> ResponseEntity.ok().body(location))
-                .orElseGet(()-> ResponseEntity.notFound().build());
+    @DeleteMapping(value = "/delete-location")
+    public ResponseEntity deleteLocationFromPlanner(@RequestBody PlannerLocationDto plannerLocationDto){
+       return  this.plannerService.deleteLocationFromPlanner(plannerLocationDto);
     }
 }
Index: trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/UserController.java
===================================================================
--- trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/UserController.java	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/UserController.java	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -19,5 +19,8 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.security.core.Authentication;
+
 import javax.validation.Valid;
+import java.util.List;
+import java.util.Optional;
 
 @RestController
@@ -52,8 +55,6 @@
                 )
         );
-
         SecurityContextHolder.getContext().setAuthentication(authentication);
         String jwt = SecurityConstants.TOKEN_PREFIX +  tokenProvider.generateToken(authentication);
-
         return ResponseEntity.ok(new JWTLoginSucessReponse(true, jwt));
     }
@@ -65,9 +66,18 @@
         ResponseEntity<?> errorMap = mapValidationErrorService.MapValidationService(result);
         if(errorMap != null)return errorMap;
+        User newUser = userService.saveUser(user);
+        return  new ResponseEntity<User>(newUser, HttpStatus.CREATED);
+    }
 
-        User newUser = userService.saveUser(user);
+    @GetMapping(value = "/usernames")
+    public List<String> getAllUsernames (){
+        return this.userService.getAllUsernames();
+    }
 
-        return  new ResponseEntity<User>(newUser, HttpStatus.CREATED);
+    @GetMapping(value = "/password")
+    public Optional<String> getPassword(@RequestBody UserDto userDto){
 
+        return this.userService.getPassword(userDto);
     }
+
 }
Index: trip-planner/src/test/api.http
===================================================================
--- trip-planner/src/test/api.http	(revision bdd64917749115bbdd228a9569a675d590c112e3)
+++ trip-planner/src/test/api.http	(revision b73803523f0488ec52498c2ba88889f1642ad263)
@@ -94,4 +94,16 @@
 
 ###
-DELETE http://localhost:8080/api/delete/19
+DELETE http://localhost:8080/api/delete-location
 Content-Type: application/json
+
+{"plannerId": 23, "locationId": 3}
+
+###
+GET http://localhost:8080/api/users/usernames
+Content-Type: application/json
+
+###
+GET http://localhost:8080/api/users/password
+Content-Type: application/json
+
+{"username": "ema@test.com"}
