commit f9d108be074048a73881d860bc32d5a1c408dd7c
Author: Pavel Fidransky <pavel.fidransky@yoso.fi>
Date:   Sat Jun 27 14:58:39 2020 +0200

    re #32 rename classes returned from webservices to have -DTO suffix

diff --git a/server/src/main/java/org/danekja/ymanager/business/ApiManager.java b/server/src/main/java/org/danekja/ymanager/business/ApiManager.java
index 31f06c8..e5c8994 100644
--- a/server/src/main/java/org/danekja/ymanager/business/ApiManager.java
+++ b/server/src/main/java/org/danekja/ymanager/business/ApiManager.java
@@ -49,7 +49,7 @@ public class ApiManager implements Manager {
 
     @Override
     @IsEmployer
-    public List<VacationRequest> getVacationRequests(Status status) {
+    public List<VacationRequestDTO> getVacationRequests(Status status) {
         if (status == null) {
             return requestRepository.getAllVacationRequests();
         } else {
@@ -59,7 +59,7 @@ public class ApiManager implements Manager {
 
     @Override
     @IsEmployer
-    public List<AuthorizationRequest> getAuthorizationRequests(Status status) {
+    public List<AuthorizationRequestDTO> getAuthorizationRequests(Status status) {
         if (status == null) {
             return requestRepository.getAllAuthorizations();
         } else {
@@ -75,8 +75,8 @@ public class ApiManager implements Manager {
 
     @Override
     @IsOwner
-    public List<VacationDay> getUserCalendar(long userId, LocalDate fromDate, LocalDate toDate, Status status) {
-        List<VacationDay> vacations;
+    public List<VacationDayDTO> getUserCalendar(long userId, LocalDate fromDate, LocalDate toDate, Status status) {
+        List<VacationDayDTO> vacations;
         if (status == null && toDate == null) {
             vacations = vacationRepository.getVacationDays(userId, fromDate);
         } else if (status == null) {
@@ -101,24 +101,24 @@ public class ApiManager implements Manager {
 
     @Override
     @IsOwner
-    public void createVacation(long userId, VacationDay vacationDay) {
-        if (vacationDay.getDate().isBefore(LocalDate.now())) {
+    public void createVacation(long userId, VacationDayDTO vacationDayDTO) {
+        if (vacationDayDTO.getDate().isBefore(LocalDate.now())) {
             throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Vacation cannot be token in past.");
         }
 
-        if (vacationRepository.isExistVacationForUser(userId, vacationDay.getDate())) {
+        if (vacationRepository.isExistVacationForUser(userId, vacationDayDTO.getDate())) {
             throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Cannot take a double vacation for the same day.");
         }
 
         User user = userRepository.getUser(userId);
-        vacationDay.setStatus(user.getRole() == UserRole.EMPLOYER ? Status.ACCEPTED : Status.PENDING);
+        vacationDayDTO.setStatus(user.getRole() == UserRole.EMPLOYER ? Status.ACCEPTED : Status.PENDING);
 
         Vacation vacation = new Vacation();
-        vacation.setDate(vacationDay.getDate());
-        vacation.setFrom(vacationDay.getFrom());
-        vacation.setTo(vacationDay.getTo());
-        vacation.setStatus(vacationDay.getStatus());
-        vacation.setType(vacationDay.getType());
+        vacation.setDate(vacationDayDTO.getDate());
+        vacation.setFrom(vacationDayDTO.getFrom());
+        vacation.setTo(vacationDayDTO.getTo());
+        vacation.setStatus(vacationDayDTO.getStatus());
+        vacation.setType(vacationDayDTO.getType());
 
         if (vacation.getType() == VacationType.VACATION) {
             user.takeVacation(vacation.getFrom(), vacation.getTo());
@@ -130,7 +130,7 @@ public class ApiManager implements Manager {
         userRepository.updateUser(user);
     }
 
-    private void changeSettingsByEmployee(User user, UserSettings settings, DefaultSettings defaultSettings) {
+    private void changeSettingsByEmployee(User user, UserSettingsDTO settings, DefaultSettings defaultSettings) {
         if (settings.getNotification() != null && !settings.getNotification().equals(user.getNotification())) {
             user.setNotification(settings.getNotification());
         }
@@ -140,7 +140,7 @@ public class ApiManager implements Manager {
         }
     }
 
-    private void changeSettingsByEmployer(User user, UserSettings settings, DefaultSettings defaultSettings) {
+    private void changeSettingsByEmployer(User user, UserSettingsDTO settings, DefaultSettings defaultSettings) {
 
         if (settings.getRole() != null && !settings.getRole().equals(user.getRole())) {
             user.setRole(settings.getRole());
@@ -172,7 +172,7 @@ public class ApiManager implements Manager {
 
     @Override
     @IsOwner
-    public void changeSettings(long userId, UserSettings settings) {
+    public void changeSettings(long userId, UserSettingsDTO settings) {
         UserRole invokedUserPermission = authService.getCurrentUser().getRole();
         boolean invokedUserIsAdmin = invokedUserPermission.equals(UserRole.EMPLOYER);
         DefaultSettings defaultSettings = getDefaultSettings();
@@ -191,20 +191,20 @@ public class ApiManager implements Manager {
     @Override
     //TODO not called anyway, allow after reimplementation
     @DenyAll
-    public void changeVacation(VacationDay vacationDay) {
-        Optional<Vacation> vacation = vacationRepository.getVacationDay(vacationDay.getId());
+    public void changeVacation(VacationDayDTO vacationDayDTO) {
+        Optional<Vacation> vacation = vacationRepository.getVacationDay(vacationDayDTO.getId());
         if (vacation.isPresent()) {
-            vacation.get().setDate(vacationDay.getDate());
-            vacation.get().setStatus(vacationDay.getStatus());
-            vacation.get().setType(vacationDay.getType());
-            vacation.get().setTime(vacationDay.getFrom(), vacationDay.getTo());
+            vacation.get().setDate(vacationDayDTO.getDate());
+            vacation.get().setStatus(vacationDayDTO.getStatus());
+            vacation.get().setType(vacationDayDTO.getType());
+            vacation.get().setTime(vacationDayDTO.getFrom(), vacationDayDTO.getTo());
             vacationRepository.updateVacationDay(vacation.get());
         }
     }
 
     @Override
     @IsEmployer
-    public void changeRequest(RequestType type, BasicRequest request) {
+    public void changeRequest(RequestType type, BasicRequestDTO request) {
         switch (type) {
             case VACATION:
                 Optional<Vacation> vacationDayOpt = vacationRepository.getVacationDay(request.getId());
diff --git a/server/src/main/java/org/danekja/ymanager/business/Manager.java b/server/src/main/java/org/danekja/ymanager/business/Manager.java
index 85d967e..c56fa45 100644
--- a/server/src/main/java/org/danekja/ymanager/business/Manager.java
+++ b/server/src/main/java/org/danekja/ymanager/business/Manager.java
@@ -11,23 +11,23 @@ import java.util.List;
 public interface Manager {
 
 
-    List<VacationRequest> getVacationRequests(Status status);
+    List<VacationRequestDTO> getVacationRequests(Status status);
 
-    List<AuthorizationRequest> getAuthorizationRequests(Status status);
+    List<AuthorizationRequestDTO> getAuthorizationRequests(Status status);
 
     DefaultSettings getDefaultSettings();
 
-    List<VacationDay> getUserCalendar(long userId, LocalDate fromDate, LocalDate toDate, Status status);
+    List<VacationDayDTO> getUserCalendar(long userId, LocalDate fromDate, LocalDate toDate, Status status);
 
     void createSettings(DefaultSettings settings);
 
-    void createVacation(long userId, VacationDay vacationDay);
+    void createVacation(long userId, VacationDayDTO vacationDayDTO);
 
-    void changeSettings(long userId, UserSettings settings);
+    void changeSettings(long userId, UserSettingsDTO settings);
 
-    void changeVacation(VacationDay vacationDay);
+    void changeVacation(VacationDayDTO vacationDayDTO);
 
-    void changeRequest(RequestType type, BasicRequest request);
+    void changeRequest(RequestType type, BasicRequestDTO request);
 
     void deleteVacation(long vacationId);
 }
diff --git a/server/src/main/java/org/danekja/ymanager/business/UserManager.java b/server/src/main/java/org/danekja/ymanager/business/UserManager.java
index faa6d7b..65391e5 100644
--- a/server/src/main/java/org/danekja/ymanager/business/UserManager.java
+++ b/server/src/main/java/org/danekja/ymanager/business/UserManager.java
@@ -3,7 +3,7 @@ package org.danekja.ymanager.business;
 import org.danekja.ymanager.domain.GoogleUser;
 import org.danekja.ymanager.domain.Status;
 import org.danekja.ymanager.domain.User;
-import org.danekja.ymanager.dto.BasicProfileUser;
+import org.danekja.ymanager.dto.BasicProfileUserDTO;
 import org.springframework.security.oauth2.core.oidc.OidcIdToken;
 
 import java.util.List;
@@ -21,7 +21,7 @@ public interface UserManager {
      * @param status status filter value
      * @return list of users or empty list if none found
      */
-    List<BasicProfileUser> getUsers(Status status);
+    List<BasicProfileUserDTO> getUsers(Status status);
 
     /**
      * Gets user by id (PK)
diff --git a/server/src/main/java/org/danekja/ymanager/business/impl/DefaultUserManager.java b/server/src/main/java/org/danekja/ymanager/business/impl/DefaultUserManager.java
index 64ebc39..e1129df 100644
--- a/server/src/main/java/org/danekja/ymanager/business/impl/DefaultUserManager.java
+++ b/server/src/main/java/org/danekja/ymanager/business/impl/DefaultUserManager.java
@@ -4,7 +4,7 @@ import org.danekja.ymanager.business.UserManager;
 import org.danekja.ymanager.business.auth.anot.IsEmployer;
 import org.danekja.ymanager.business.auth.anot.IsOwner;
 import org.danekja.ymanager.domain.*;
-import org.danekja.ymanager.dto.BasicProfileUser;
+import org.danekja.ymanager.dto.BasicProfileUserDTO;
 import org.danekja.ymanager.repository.SettingsRepository;
 import org.danekja.ymanager.repository.UserRepository;
 import org.danekja.ymanager.repository.VacationRepository;
@@ -60,13 +60,13 @@ public class DefaultUserManager implements UserManager {
 
     @Override
     @IsEmployer
-    public List<BasicProfileUser> getUsers(Status status) {
-        List<BasicProfileUser> users = userRepository.getAllBasicUsers(status == null ? Status.ACCEPTED : status);
+    public List<BasicProfileUserDTO> getUsers(Status status) {
+        List<BasicProfileUserDTO> users = userRepository.getAllBasicUsers(status == null ? Status.ACCEPTED : status);
 
         LocalDate today = LocalDate.now();
         LocalDate weekBefore = today.minusWeeks(1);
         LocalDate weekAfter = today.plusWeeks(1);
-        for (BasicProfileUser user : users) {
+        for (BasicProfileUserDTO user : users) {
             user.setCalendar(vacationRepository.getVacationDays(user.getId(), weekBefore, weekAfter));
         }
 
diff --git a/server/src/main/java/org/danekja/ymanager/dto/AuthorizationRequest.java b/server/src/main/java/org/danekja/ymanager/dto/AuthorizationRequest.java
deleted file mode 100644
index c380643..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/AuthorizationRequest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import org.danekja.ymanager.domain.Status;
-
-import java.time.LocalDateTime;
-
-/**
- * An instance of the messenger class {@code AuthorizationRequest} is just a different view of a user.
- * It stores information relevant to a user's authorization in the application.
- * This class is used to communication with a frontend.
- */
-public class AuthorizationRequest {
-    /**
-     * The user's ID.
-     */
-    private Long id;
-
-    /**
-     * The user's first name.
-     */
-    private String firstName;
-
-    /**
-     * The user's last name.
-     */
-    private String lastName;
-
-    /**
-     * The user's authorization status.
-     */
-    private Status status;
-
-    /**
-     * The date and time of a creation of this request.
-     */
-    private LocalDateTime timestamp;
-
-    /**
-     * Returns the user's ID.
-     *
-     * @return the user's ID
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the user's ID with the specified value.
-     *
-     * @param id the new user's ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the user's first name.
-     *
-     * @return the user's first name
-     */
-    public String getFirstName() {
-        return this.firstName;
-    }
-
-    /**
-     * Replaces the user's first name with the new specified value.
-     *
-     * @param firstName the new first name
-     */
-    public void setFirstName(final String firstName) {
-        this.firstName = firstName;
-    }
-
-    /**
-     * Returns the user's last name.
-     *
-     * @return the user's last name
-     */
-    public String getLastName() {
-        return this.lastName;
-    }
-
-    /**
-     * Replaces the user's last name with the given one.
-     *
-     * @param lastName the new last name
-     */
-    public void setLastName(final String lastName) {
-        this.lastName = lastName;
-    }
-
-    /**
-     * Returns the user's authorization status.
-     *
-     * @return the user's authorization status
-     */
-    public Status getStatus() {
-        return this.status;
-    }
-
-    /**
-     * Replaces the authorization status with the handed value.
-     *
-     * @param status the new authorization status
-     */
-    public void setStatus(final Status status) {
-        this.status = status;
-    }
-
-    /**
-     * Returns the date and time of a creation of this user's request.
-     *
-     * @return the date and time of the creation of this user's request
-     */
-    public LocalDateTime getTimestamp() {
-        return this.timestamp;
-    }
-
-    /**
-     * Replaces the date and time of a creation of this user's request with the given value.
-     *
-     * @param timestamp the new date and time of the creation of this user's request
-     */
-    public void setTimestamp(final LocalDateTime timestamp) {
-        this.timestamp = timestamp;
-    }
-}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/AuthorizationRequestDTO.java b/server/src/main/java/org/danekja/ymanager/dto/AuthorizationRequestDTO.java
new file mode 100644
index 0000000..edd3a29
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/AuthorizationRequestDTO.java
@@ -0,0 +1,127 @@
+package org.danekja.ymanager.dto;
+
+import org.danekja.ymanager.domain.Status;
+
+import java.time.LocalDateTime;
+
+/**
+ * An instance of the messenger class {@code AuthorizationRequest} is just a different view of a user.
+ * It stores information relevant to a user's authorization in the application.
+ * This class is used to communication with a frontend.
+ */
+public class AuthorizationRequestDTO {
+    /**
+     * The user's ID.
+     */
+    private Long id;
+
+    /**
+     * The user's first name.
+     */
+    private String firstName;
+
+    /**
+     * The user's last name.
+     */
+    private String lastName;
+
+    /**
+     * The user's authorization status.
+     */
+    private Status status;
+
+    /**
+     * The date and time of a creation of this request.
+     */
+    private LocalDateTime timestamp;
+
+    /**
+     * Returns the user's ID.
+     *
+     * @return the user's ID
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the user's ID with the specified value.
+     *
+     * @param id the new user's ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the user's first name.
+     *
+     * @return the user's first name
+     */
+    public String getFirstName() {
+        return this.firstName;
+    }
+
+    /**
+     * Replaces the user's first name with the new specified value.
+     *
+     * @param firstName the new first name
+     */
+    public void setFirstName(final String firstName) {
+        this.firstName = firstName;
+    }
+
+    /**
+     * Returns the user's last name.
+     *
+     * @return the user's last name
+     */
+    public String getLastName() {
+        return this.lastName;
+    }
+
+    /**
+     * Replaces the user's last name with the given one.
+     *
+     * @param lastName the new last name
+     */
+    public void setLastName(final String lastName) {
+        this.lastName = lastName;
+    }
+
+    /**
+     * Returns the user's authorization status.
+     *
+     * @return the user's authorization status
+     */
+    public Status getStatus() {
+        return this.status;
+    }
+
+    /**
+     * Replaces the authorization status with the handed value.
+     *
+     * @param status the new authorization status
+     */
+    public void setStatus(final Status status) {
+        this.status = status;
+    }
+
+    /**
+     * Returns the date and time of a creation of this user's request.
+     *
+     * @return the date and time of the creation of this user's request
+     */
+    public LocalDateTime getTimestamp() {
+        return this.timestamp;
+    }
+
+    /**
+     * Replaces the date and time of a creation of this user's request with the given value.
+     *
+     * @param timestamp the new date and time of the creation of this user's request
+     */
+    public void setTimestamp(final LocalDateTime timestamp) {
+        this.timestamp = timestamp;
+    }
+}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/BasicProfileUser.java b/server/src/main/java/org/danekja/ymanager/dto/BasicProfileUser.java
deleted file mode 100644
index 72dce36..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/BasicProfileUser.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import java.util.List;
-
-/**
- * An instance of the messenger class {@code BasicProfileUser} represents a basic profile of a user in a database.
- * The basic profile contains default, the most important informations which helps identify a user like a name or photo.
- * This class is used to communicate with a frontend.
- */
-public class BasicProfileUser {
-    /**
-     * The user's ID.
-     */
-    private Long id;
-
-    /**
-     * The user's first name.
-     */
-    private String firstName;
-
-    /**
-     * The user's last name.
-     */
-    private String lastName;
-
-    /**
-     * The URL of a user's photo.
-     */
-    private String photo;
-
-    /**
-     * The list of user's vacations.
-     */
-    private List<VacationDay> calendar;
-
-    /**
-     * Returns the user's ID.
-     *
-     * @return the user's ID
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the user's ID with the specified value.
-     *
-     * @param id the new user's ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the user's first name.
-     *
-     * @return the user's first name
-     */
-    public String getFirstName() {
-        return this.firstName;
-    }
-
-    /**
-     * Replaces the user's first name with the new specified value.
-     *
-     * @param firstName the new first name
-     */
-    public void setFirstName(final String firstName) {
-        this.firstName = firstName;
-    }
-
-    /**
-     * Returns the user's last name.
-     *
-     * @return the user's last name
-     */
-    public String getLastName() {
-        return this.lastName;
-    }
-
-    /**
-     * Replaces the user's last name with the given one.
-     *
-     * @param lastName the new last name
-     */
-    public void setLastName(final String lastName) {
-        this.lastName = lastName;
-    }
-
-    /**
-     * Returns the URL of a user's photo.
-     *
-     * @return the URL of the user's photo
-     */
-    public String getPhoto() {
-        return this.photo;
-    }
-
-    /**
-     * Replaces the URL of a user's photo with the given link.
-     *
-     * @param photo the new URL of the user's photo
-     */
-    public void setPhoto(final String photo) {
-        this.photo = photo;
-    }
-
-    /**
-     * Returns the list of user's vacations.
-     *
-     * @return the list of user's vacations
-     */
-    public List<VacationDay> getCalendar() {
-        return this.calendar;
-    }
-
-    /**
-     * Replaces the list of user's vacations with the given list.
-     *
-     * @param calendar the new list of vacations
-     */
-    public void setCalendar(final List<VacationDay> calendar) {
-        this.calendar = calendar;
-    }
-}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/BasicProfileUserDTO.java b/server/src/main/java/org/danekja/ymanager/dto/BasicProfileUserDTO.java
new file mode 100644
index 0000000..bd3312c
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/BasicProfileUserDTO.java
@@ -0,0 +1,125 @@
+package org.danekja.ymanager.dto;
+
+import java.util.List;
+
+/**
+ * An instance of the messenger class {@code BasicProfileUser} represents a basic profile of a user in a database.
+ * The basic profile contains default, the most important informations which helps identify a user like a name or photo.
+ * This class is used to communicate with a frontend.
+ */
+public class BasicProfileUserDTO {
+    /**
+     * The user's ID.
+     */
+    private Long id;
+
+    /**
+     * The user's first name.
+     */
+    private String firstName;
+
+    /**
+     * The user's last name.
+     */
+    private String lastName;
+
+    /**
+     * The URL of a user's photo.
+     */
+    private String photo;
+
+    /**
+     * The list of user's vacations.
+     */
+    private List<VacationDayDTO> calendar;
+
+    /**
+     * Returns the user's ID.
+     *
+     * @return the user's ID
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the user's ID with the specified value.
+     *
+     * @param id the new user's ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the user's first name.
+     *
+     * @return the user's first name
+     */
+    public String getFirstName() {
+        return this.firstName;
+    }
+
+    /**
+     * Replaces the user's first name with the new specified value.
+     *
+     * @param firstName the new first name
+     */
+    public void setFirstName(final String firstName) {
+        this.firstName = firstName;
+    }
+
+    /**
+     * Returns the user's last name.
+     *
+     * @return the user's last name
+     */
+    public String getLastName() {
+        return this.lastName;
+    }
+
+    /**
+     * Replaces the user's last name with the given one.
+     *
+     * @param lastName the new last name
+     */
+    public void setLastName(final String lastName) {
+        this.lastName = lastName;
+    }
+
+    /**
+     * Returns the URL of a user's photo.
+     *
+     * @return the URL of the user's photo
+     */
+    public String getPhoto() {
+        return this.photo;
+    }
+
+    /**
+     * Replaces the URL of a user's photo with the given link.
+     *
+     * @param photo the new URL of the user's photo
+     */
+    public void setPhoto(final String photo) {
+        this.photo = photo;
+    }
+
+    /**
+     * Returns the list of user's vacations.
+     *
+     * @return the list of user's vacations
+     */
+    public List<VacationDayDTO> getCalendar() {
+        return this.calendar;
+    }
+
+    /**
+     * Replaces the list of user's vacations with the given list.
+     *
+     * @param calendar the new list of vacations
+     */
+    public void setCalendar(final List<VacationDayDTO> calendar) {
+        this.calendar = calendar;
+    }
+}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/BasicRequest.java b/server/src/main/java/org/danekja/ymanager/dto/BasicRequest.java
deleted file mode 100644
index 2f55bda..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/BasicRequest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import org.danekja.ymanager.domain.Status;
-
-/**
- * An instance of the messenger class {@code BasicRequest} can represent an authorization or a vacation request.
- * The class is used for changing a status of the authorization or the vacation request when a client sends a request on an api endpoint.
- * This class is used to communicate with a frontend.
- */
-public class BasicRequest {
-    /**
-     * The ID of this request.
-     */
-    private Long id;
-
-    /**
-     * The approval/authorization status of this request.
-     */
-    private Status status;
-
-    /**
-     * Returns the ID of this request.
-     *
-     * @return the ID of this request
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the user's ID with the specified value.
-     *
-     * @param id the new user's ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the approval/authorization status of this request.
-     *
-     * @return the approval status of this vacation
-     */
-    public Status getStatus() {
-        return this.status;
-    }
-
-    /**
-     * Replaces the approval/authorization status of this request with the given value.
-     *
-     * @param status the new approval/authorization status
-     */
-    public void setStatus(final Status status) {
-        this.status = status;
-    }
-}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/BasicRequestDTO.java b/server/src/main/java/org/danekja/ymanager/dto/BasicRequestDTO.java
new file mode 100644
index 0000000..bdd2ff5
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/BasicRequestDTO.java
@@ -0,0 +1,56 @@
+package org.danekja.ymanager.dto;
+
+import org.danekja.ymanager.domain.Status;
+
+/**
+ * An instance of the messenger class {@code BasicRequest} can represent an authorization or a vacation request.
+ * The class is used for changing a status of the authorization or the vacation request when a client sends a request on an api endpoint.
+ * This class is used to communicate with a frontend.
+ */
+public class BasicRequestDTO {
+    /**
+     * The ID of this request.
+     */
+    private Long id;
+
+    /**
+     * The approval/authorization status of this request.
+     */
+    private Status status;
+
+    /**
+     * Returns the ID of this request.
+     *
+     * @return the ID of this request
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the user's ID with the specified value.
+     *
+     * @param id the new user's ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the approval/authorization status of this request.
+     *
+     * @return the approval status of this vacation
+     */
+    public Status getStatus() {
+        return this.status;
+    }
+
+    /**
+     * Replaces the approval/authorization status of this request with the given value.
+     *
+     * @param status the new approval/authorization status
+     */
+    public void setStatus(final Status status) {
+        this.status = status;
+    }
+}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/DefaultSettings.java b/server/src/main/java/org/danekja/ymanager/dto/DefaultSettings.java
deleted file mode 100644
index 5de2ed7..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/DefaultSettings.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import java.time.LocalDateTime;
-
-/**
- * The messenger class {@code DefaultSettings} contains default settings of users' informations that are known to the application.
- * Informations consist of a number of available sick days, date and time of an email notification.
- * Default settings are mainly used when the user is added to the application which means he/she can't have his/her own values.
- * This class is used to communicate with a frontend.
- */
-public class DefaultSettings {
-    /**
-     * The default number of available sick days.
-     */
-    private Integer sickDayCount;
-
-    /**
-     * The default date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
-     */
-    private LocalDateTime notification;
-
-    public DefaultSettings() {
-    }
-
-    public DefaultSettings(Integer sickDayCount, LocalDateTime notification) {
-        this.sickDayCount = sickDayCount;
-        this.notification = notification;
-    }
-
-    public DefaultSettings(org.danekja.ymanager.domain.DefaultSettings src) {
-        this.sickDayCount = src.getSickDayCount();
-        this.notification = src.getNotification();
-    }
-
-    /**
-     * Returns the default number of available sick days in this default settings.
-     *
-     * @return the default number of available sick days
-     */
-    public Integer getSickDayCount() {
-        return this.sickDayCount;
-    }
-
-    /**
-     * Replaces the default number of available sick days in this default settings with the given one.
-     *
-     * @param sickDayCount the new default number of available sick days
-     */
-    public void setSickDayCount(final Integer sickDayCount) {
-        this.sickDayCount = sickDayCount;
-    }
-
-    /**
-     * Returns the default date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
-     *
-     * @return the default date and time
-     */
-    public LocalDateTime getNotification() {
-        return this.notification;
-    }
-
-    /**
-     * Replaces the default date and time of sending an email warning about an incoming reset of remaining overtimes and sick days with the specified one.
-     *
-     * @param notification the new default date and time
-     */
-    public void setNotification(final LocalDateTime notification) {
-        this.notification = notification;
-    }
-
-    public org.danekja.ymanager.domain.DefaultSettings toEntity() {
-        return new org.danekja.ymanager.domain.DefaultSettings(getSickDayCount(), getNotification());
-    }
-}
-
diff --git a/server/src/main/java/org/danekja/ymanager/dto/DefaultSettingsDTO.java b/server/src/main/java/org/danekja/ymanager/dto/DefaultSettingsDTO.java
new file mode 100644
index 0000000..e6591ee
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/DefaultSettingsDTO.java
@@ -0,0 +1,75 @@
+package org.danekja.ymanager.dto;
+
+import java.time.LocalDateTime;
+
+/**
+ * The messenger class {@code DefaultSettings} contains default settings of users' informations that are known to the application.
+ * Informations consist of a number of available sick days, date and time of an email notification.
+ * Default settings are mainly used when the user is added to the application which means he/she can't have his/her own values.
+ * This class is used to communicate with a frontend.
+ */
+public class DefaultSettingsDTO {
+    /**
+     * The default number of available sick days.
+     */
+    private Integer sickDayCount;
+
+    /**
+     * The default date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
+     */
+    private LocalDateTime notification;
+
+    public DefaultSettingsDTO() {
+    }
+
+    public DefaultSettingsDTO(Integer sickDayCount, LocalDateTime notification) {
+        this.sickDayCount = sickDayCount;
+        this.notification = notification;
+    }
+
+    public DefaultSettingsDTO(org.danekja.ymanager.domain.DefaultSettings src) {
+        this.sickDayCount = src.getSickDayCount();
+        this.notification = src.getNotification();
+    }
+
+    /**
+     * Returns the default number of available sick days in this default settings.
+     *
+     * @return the default number of available sick days
+     */
+    public Integer getSickDayCount() {
+        return this.sickDayCount;
+    }
+
+    /**
+     * Replaces the default number of available sick days in this default settings with the given one.
+     *
+     * @param sickDayCount the new default number of available sick days
+     */
+    public void setSickDayCount(final Integer sickDayCount) {
+        this.sickDayCount = sickDayCount;
+    }
+
+    /**
+     * Returns the default date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
+     *
+     * @return the default date and time
+     */
+    public LocalDateTime getNotification() {
+        return this.notification;
+    }
+
+    /**
+     * Replaces the default date and time of sending an email warning about an incoming reset of remaining overtimes and sick days with the specified one.
+     *
+     * @param notification the new default date and time
+     */
+    public void setNotification(final LocalDateTime notification) {
+        this.notification = notification;
+    }
+
+    public org.danekja.ymanager.domain.DefaultSettings toEntity() {
+        return new org.danekja.ymanager.domain.DefaultSettings(getSickDayCount(), getNotification());
+    }
+}
+
diff --git a/server/src/main/java/org/danekja/ymanager/dto/FullUserProfile.java b/server/src/main/java/org/danekja/ymanager/dto/FullUserProfile.java
deleted file mode 100644
index aaa83a5..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/FullUserProfile.java
+++ /dev/null
@@ -1,287 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import org.danekja.ymanager.domain.Status;
-import org.danekja.ymanager.domain.User;
-import org.danekja.ymanager.domain.UserRole;
-
-import java.time.LocalDateTime;
-
-/**
- * The messenger class {@code FullUserProfile} holds all informations about a user which is logged to the application.
- * This class is used to communicate with a frontend.
- */
-public class FullUserProfile {
-    /**
-     * The user's ID.
-     */
-    private Long id;
-
-    /**
-     * The user's first name.
-     */
-    private String firstName;
-
-    /**
-     * The user's last name.
-     */
-    private String lastName;
-
-    /**
-     * The URL of a user's photo.
-     */
-    private String photo;
-
-    /**
-     * The number of user's remaining hours of an overtime.
-     */
-    private Float vacationCount;
-
-    /**
-     * The number of user's sick days available during a year.
-     */
-    private Integer sickDayCount;
-
-    /**
-     * The number of user's taken sick days.
-     */
-    private Integer takenSickDayCount;
-
-    /**
-     * The user's authorization status.
-     */
-    private Status status;
-
-    /**
-     * The user's role.
-     */
-    private UserRole role;
-
-    /**
-     * The date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
-     */
-    private LocalDateTime notification;
-
-    /**
-     * The user's email address.
-     */
-    private String email;
-
-    public FullUserProfile() {
-    }
-
-    public FullUserProfile(User user) {
-        this(user.getId(), user.getFirstName(), user.getLastName(), user.getPhoto(), user.getVacationCount(), user.getTotalSickDayCount(), user.getTakenSickDayCount(), user.getStatus(), user.getRole(), user.getNotification(), user.getEmail());
-    }
-
-    public FullUserProfile(Long id, String firstName, String lastName, String photo, Float vacationCount, Integer sickDayCount, Integer takenSickDayCount, Status status, UserRole role, LocalDateTime notification, String email) {
-        this.id = id;
-        this.firstName = firstName;
-        this.lastName = lastName;
-        this.photo = photo;
-        this.vacationCount = vacationCount;
-        this.sickDayCount = sickDayCount;
-        this.takenSickDayCount = takenSickDayCount;
-        this.status = status;
-        this.role = role;
-        this.notification = notification;
-        this.email = email;
-    }
-
-    /**
-     * Returns the user's email address.
-     *
-     * @return the user's email address
-     */
-    public String getEmail() {
-        return this.email;
-    }
-
-    /**
-     * Replaces the user's email address with the new given value.
-     *
-     * @param email the new email address
-     */
-    public void setEmail(final String email) {
-        this.email = email;
-    }
-
-    /**
-     * Returns the user's ID.
-     *
-     * @return the user's ID
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the user's ID with the specified value.
-     *
-     * @param id the new user's ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the user's first name.
-     *
-     * @return the user's first name
-     */
-    public String getFirstName() {
-        return this.firstName;
-    }
-
-    /**
-     * Returns the number of user's taken sick days.
-     *
-     * @return the number of user's taken sick days
-     */
-    public Integer getTakenSickDayCount() {
-        return this.takenSickDayCount;
-    }
-
-    /**
-     * Replaces the number of user's taken sick days with the new value.
-     *
-     * @param takenSickDayCount the new number of taken sick days
-     */
-    public void setTakenSickDayCount(final Integer takenSickDayCount) {
-        this.takenSickDayCount = takenSickDayCount;
-    }
-
-    /**
-     * Replaces the user's first name with the new specified value.
-     *
-     * @param firstName the new first name
-     */
-    public void setFirstName(final String firstName) {
-        this.firstName = firstName;
-    }
-
-    /**
-     * Returns the user's last name.
-     *
-     * @return the user's last name
-     */
-    public String getLastName() {
-        return this.lastName;
-    }
-
-    /**
-     * Replaces the user's last name with the given one.
-     *
-     * @param lastName the new last name
-     */
-    public void setLastName(final String lastName) {
-        this.lastName = lastName;
-    }
-
-    /**
-     * Returns the URL of a user's photo.
-     *
-     * @return the URL of the user's photo
-     */
-    public String getPhoto() {
-        return this.photo;
-    }
-
-    /**
-     * Replaces the URL of a user's photo with the given link.
-     *
-     * @param photo the new URL of the user's photo
-     */
-    public void setPhoto(final String photo) {
-        this.photo = photo;
-    }
-
-    /**
-     * Returns the number of user's remaining hours of an overtime.
-     *
-     * @return the number of user's remaining hours of the overtime
-     */
-    public Float getVacationCount() {
-        return this.vacationCount;
-    }
-
-    /**
-     * Replaces the number of user's remaining hours of an overtime with the specified value.
-     *
-     * @param vacationCount the new number of remaining hours of the overtime.
-     */
-    public void setVacationCount(final Float vacationCount) {
-        this.vacationCount = vacationCount;
-    }
-
-    /**
-     * Returns the number of user's sick days available during a year.
-     *
-     * @return the number of user's sick days available during the year
-     */
-    public Integer getSickDayCount() {
-        return this.sickDayCount;
-    }
-
-    /**
-     * Replaces the number of user's sick days available during a year with the new value.
-     *
-     * @param sickDayCount the new number of sick days available during the year
-     */
-    public void setSickDayCount(final Integer sickDayCount) {
-        this.sickDayCount = sickDayCount;
-    }
-
-    /**
-     * Returns the user's authorization status.
-     *
-     * @return the user's authorization status
-     */
-    public Status getStatus() {
-        return this.status;
-    }
-
-    /**
-     * Replaces the authorization status with the handed value.
-     *
-     * @param status the new authorization status
-     */
-    public void setStatus(final Status status) {
-        this.status = status;
-    }
-
-    /**
-     * Returns the user's role.
-     *
-     * @return the user's role
-     */
-    public UserRole getRole() {
-        return this.role;
-    }
-
-    /**
-     * Replaces the user's role with the new provided value.
-     *
-     * @param role the new role
-     */
-    public void setRole(final UserRole role) {
-        this.role = role;
-    }
-
-    /**
-     * Returns the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
-     *
-     * @return the date and time
-     */
-    public LocalDateTime getNotification() {
-        return this.notification;
-    }
-
-    /**
-     * Replaces the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days with the given value.
-     *
-     * @param notification the new date and time
-     */
-    public void setNotification(final LocalDateTime notification) {
-        this.notification = notification;
-    }
-}
\ No newline at end of file
diff --git a/server/src/main/java/org/danekja/ymanager/dto/FullUserProfileDTO.java b/server/src/main/java/org/danekja/ymanager/dto/FullUserProfileDTO.java
new file mode 100644
index 0000000..f8cbda0
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/FullUserProfileDTO.java
@@ -0,0 +1,287 @@
+package org.danekja.ymanager.dto;
+
+import org.danekja.ymanager.domain.Status;
+import org.danekja.ymanager.domain.User;
+import org.danekja.ymanager.domain.UserRole;
+
+import java.time.LocalDateTime;
+
+/**
+ * The messenger class {@code FullUserProfile} holds all informations about a user which is logged to the application.
+ * This class is used to communicate with a frontend.
+ */
+public class FullUserProfileDTO {
+    /**
+     * The user's ID.
+     */
+    private Long id;
+
+    /**
+     * The user's first name.
+     */
+    private String firstName;
+
+    /**
+     * The user's last name.
+     */
+    private String lastName;
+
+    /**
+     * The URL of a user's photo.
+     */
+    private String photo;
+
+    /**
+     * The number of user's remaining hours of an overtime.
+     */
+    private Float vacationCount;
+
+    /**
+     * The number of user's sick days available during a year.
+     */
+    private Integer sickDayCount;
+
+    /**
+     * The number of user's taken sick days.
+     */
+    private Integer takenSickDayCount;
+
+    /**
+     * The user's authorization status.
+     */
+    private Status status;
+
+    /**
+     * The user's role.
+     */
+    private UserRole role;
+
+    /**
+     * The date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
+     */
+    private LocalDateTime notification;
+
+    /**
+     * The user's email address.
+     */
+    private String email;
+
+    public FullUserProfileDTO() {
+    }
+
+    public FullUserProfileDTO(User user) {
+        this(user.getId(), user.getFirstName(), user.getLastName(), user.getPhoto(), user.getVacationCount(), user.getTotalSickDayCount(), user.getTakenSickDayCount(), user.getStatus(), user.getRole(), user.getNotification(), user.getEmail());
+    }
+
+    public FullUserProfileDTO(Long id, String firstName, String lastName, String photo, Float vacationCount, Integer sickDayCount, Integer takenSickDayCount, Status status, UserRole role, LocalDateTime notification, String email) {
+        this.id = id;
+        this.firstName = firstName;
+        this.lastName = lastName;
+        this.photo = photo;
+        this.vacationCount = vacationCount;
+        this.sickDayCount = sickDayCount;
+        this.takenSickDayCount = takenSickDayCount;
+        this.status = status;
+        this.role = role;
+        this.notification = notification;
+        this.email = email;
+    }
+
+    /**
+     * Returns the user's email address.
+     *
+     * @return the user's email address
+     */
+    public String getEmail() {
+        return this.email;
+    }
+
+    /**
+     * Replaces the user's email address with the new given value.
+     *
+     * @param email the new email address
+     */
+    public void setEmail(final String email) {
+        this.email = email;
+    }
+
+    /**
+     * Returns the user's ID.
+     *
+     * @return the user's ID
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the user's ID with the specified value.
+     *
+     * @param id the new user's ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the user's first name.
+     *
+     * @return the user's first name
+     */
+    public String getFirstName() {
+        return this.firstName;
+    }
+
+    /**
+     * Returns the number of user's taken sick days.
+     *
+     * @return the number of user's taken sick days
+     */
+    public Integer getTakenSickDayCount() {
+        return this.takenSickDayCount;
+    }
+
+    /**
+     * Replaces the number of user's taken sick days with the new value.
+     *
+     * @param takenSickDayCount the new number of taken sick days
+     */
+    public void setTakenSickDayCount(final Integer takenSickDayCount) {
+        this.takenSickDayCount = takenSickDayCount;
+    }
+
+    /**
+     * Replaces the user's first name with the new specified value.
+     *
+     * @param firstName the new first name
+     */
+    public void setFirstName(final String firstName) {
+        this.firstName = firstName;
+    }
+
+    /**
+     * Returns the user's last name.
+     *
+     * @return the user's last name
+     */
+    public String getLastName() {
+        return this.lastName;
+    }
+
+    /**
+     * Replaces the user's last name with the given one.
+     *
+     * @param lastName the new last name
+     */
+    public void setLastName(final String lastName) {
+        this.lastName = lastName;
+    }
+
+    /**
+     * Returns the URL of a user's photo.
+     *
+     * @return the URL of the user's photo
+     */
+    public String getPhoto() {
+        return this.photo;
+    }
+
+    /**
+     * Replaces the URL of a user's photo with the given link.
+     *
+     * @param photo the new URL of the user's photo
+     */
+    public void setPhoto(final String photo) {
+        this.photo = photo;
+    }
+
+    /**
+     * Returns the number of user's remaining hours of an overtime.
+     *
+     * @return the number of user's remaining hours of the overtime
+     */
+    public Float getVacationCount() {
+        return this.vacationCount;
+    }
+
+    /**
+     * Replaces the number of user's remaining hours of an overtime with the specified value.
+     *
+     * @param vacationCount the new number of remaining hours of the overtime.
+     */
+    public void setVacationCount(final Float vacationCount) {
+        this.vacationCount = vacationCount;
+    }
+
+    /**
+     * Returns the number of user's sick days available during a year.
+     *
+     * @return the number of user's sick days available during the year
+     */
+    public Integer getSickDayCount() {
+        return this.sickDayCount;
+    }
+
+    /**
+     * Replaces the number of user's sick days available during a year with the new value.
+     *
+     * @param sickDayCount the new number of sick days available during the year
+     */
+    public void setSickDayCount(final Integer sickDayCount) {
+        this.sickDayCount = sickDayCount;
+    }
+
+    /**
+     * Returns the user's authorization status.
+     *
+     * @return the user's authorization status
+     */
+    public Status getStatus() {
+        return this.status;
+    }
+
+    /**
+     * Replaces the authorization status with the handed value.
+     *
+     * @param status the new authorization status
+     */
+    public void setStatus(final Status status) {
+        this.status = status;
+    }
+
+    /**
+     * Returns the user's role.
+     *
+     * @return the user's role
+     */
+    public UserRole getRole() {
+        return this.role;
+    }
+
+    /**
+     * Replaces the user's role with the new provided value.
+     *
+     * @param role the new role
+     */
+    public void setRole(final UserRole role) {
+        this.role = role;
+    }
+
+    /**
+     * Returns the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
+     *
+     * @return the date and time
+     */
+    public LocalDateTime getNotification() {
+        return this.notification;
+    }
+
+    /**
+     * Replaces the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days with the given value.
+     *
+     * @param notification the new date and time
+     */
+    public void setNotification(final LocalDateTime notification) {
+        this.notification = notification;
+    }
+}
\ No newline at end of file
diff --git a/server/src/main/java/org/danekja/ymanager/dto/UserSettings.java b/server/src/main/java/org/danekja/ymanager/dto/UserSettings.java
deleted file mode 100644
index ef30272..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/UserSettings.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import org.danekja.ymanager.domain.UserRole;
-
-import java.time.LocalDateTime;
-
-/**
- * The messenger class {@code UserSettings} is used to change user settings by an employer.
- * This class is used in communication with a frontend.
- */
-public class UserSettings {
-    /**
-     * The user's ID.
-     */
-    private Long id;
-
-    /**
-     * The number of user's remaining hours of an overtime.
-     */
-    private Float vacationCount;
-
-    /**
-     * The number of user's sick days available during a year.
-     */
-    private Integer sickDayCount;
-
-    /**
-     * The user's role.
-     */
-    private UserRole role;
-
-    /**
-     * The date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
-     */
-    private LocalDateTime notification;
-
-    /**
-     * Returns the user's ID.
-     *
-     * @return the user's ID
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the user's ID with the specified value.
-     *
-     * @param id the new user's ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the number of user's remaining hours of an overtime.
-     *
-     * @return the number of user's remaining hours of the overtime
-     */
-    public Float getVacationCount() {
-        return this.vacationCount;
-    }
-
-    /**
-     * Replaces the number of user's remaining hours of an overtime with the specified value.
-     *
-     * @param vacationCount the new number of remaining hours of the overtime.
-     */
-    public void setVacationCount(final Float vacationCount) {
-        this.vacationCount = vacationCount;
-    }
-
-    /**
-     * Returns the number of user's sick days available during a year.
-     *
-     * @return the number of user's sick days available during the year
-     */
-    public Integer getSickDayCount() {
-        return this.sickDayCount;
-    }
-
-    /**
-     * Replaces the number of user's sick days available during a year with the new value.
-     *
-     * @param sickDayCount the new number of sick days available during the year
-     */
-    public void setSickDayCount(final Integer sickDayCount) {
-        this.sickDayCount = sickDayCount;
-    }
-
-    /**
-     * Returns the user's role.
-     *
-     * @return the user's role
-     */
-    public UserRole getRole() {
-        return this.role;
-    }
-
-    /**
-     * Replaces the user's role with the new provided value.
-     *
-     * @param role the new role
-     */
-    public void setRole(final UserRole role) {
-        this.role = role;
-    }
-
-    /**
-     * Returns the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
-     *
-     * @return the date and time
-     */
-    public LocalDateTime getNotification() {
-        return this.notification;
-    }
-
-    /**
-     * Replaces the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days with the given value.
-     *
-     * @param notification the new date and time
-     */
-    public void setNotification(final LocalDateTime notification) {
-        this.notification = notification;
-    }
-}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/UserSettingsDTO.java b/server/src/main/java/org/danekja/ymanager/dto/UserSettingsDTO.java
new file mode 100644
index 0000000..38a98c7
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/UserSettingsDTO.java
@@ -0,0 +1,126 @@
+package org.danekja.ymanager.dto;
+
+import org.danekja.ymanager.domain.UserRole;
+
+import java.time.LocalDateTime;
+
+/**
+ * The messenger class {@code UserSettings} is used to change user settings by an employer.
+ * This class is used in communication with a frontend.
+ */
+public class UserSettingsDTO {
+    /**
+     * The user's ID.
+     */
+    private Long id;
+
+    /**
+     * The number of user's remaining hours of an overtime.
+     */
+    private Float vacationCount;
+
+    /**
+     * The number of user's sick days available during a year.
+     */
+    private Integer sickDayCount;
+
+    /**
+     * The user's role.
+     */
+    private UserRole role;
+
+    /**
+     * The date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
+     */
+    private LocalDateTime notification;
+
+    /**
+     * Returns the user's ID.
+     *
+     * @return the user's ID
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the user's ID with the specified value.
+     *
+     * @param id the new user's ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the number of user's remaining hours of an overtime.
+     *
+     * @return the number of user's remaining hours of the overtime
+     */
+    public Float getVacationCount() {
+        return this.vacationCount;
+    }
+
+    /**
+     * Replaces the number of user's remaining hours of an overtime with the specified value.
+     *
+     * @param vacationCount the new number of remaining hours of the overtime.
+     */
+    public void setVacationCount(final Float vacationCount) {
+        this.vacationCount = vacationCount;
+    }
+
+    /**
+     * Returns the number of user's sick days available during a year.
+     *
+     * @return the number of user's sick days available during the year
+     */
+    public Integer getSickDayCount() {
+        return this.sickDayCount;
+    }
+
+    /**
+     * Replaces the number of user's sick days available during a year with the new value.
+     *
+     * @param sickDayCount the new number of sick days available during the year
+     */
+    public void setSickDayCount(final Integer sickDayCount) {
+        this.sickDayCount = sickDayCount;
+    }
+
+    /**
+     * Returns the user's role.
+     *
+     * @return the user's role
+     */
+    public UserRole getRole() {
+        return this.role;
+    }
+
+    /**
+     * Replaces the user's role with the new provided value.
+     *
+     * @param role the new role
+     */
+    public void setRole(final UserRole role) {
+        this.role = role;
+    }
+
+    /**
+     * Returns the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days.
+     *
+     * @return the date and time
+     */
+    public LocalDateTime getNotification() {
+        return this.notification;
+    }
+
+    /**
+     * Replaces the date and time of sending an email warning about an incoming reset of remaining overtimes and sick days with the given value.
+     *
+     * @param notification the new date and time
+     */
+    public void setNotification(final LocalDateTime notification) {
+        this.notification = notification;
+    }
+}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/VacationDay.java b/server/src/main/java/org/danekja/ymanager/dto/VacationDay.java
deleted file mode 100644
index 0f35d10..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/VacationDay.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import org.danekja.ymanager.domain.Status;
-import org.danekja.ymanager.domain.VacationType;
-
-import java.time.LocalDate;
-import java.time.LocalTime;
-
-/**
- * The messenger class {@code Vacation} holds informations of an overtime or a sick day taken by a user.
- * This class is used in communication with a frontend.
- */
-public class VacationDay {
-    /**
-     * The ID of this vacation.
-     */
-    private Long id;
-
-    /**
-     * The date of this vacation.
-     */
-    private LocalDate date;
-
-    /**
-     * The starting time of this vacation.
-     */
-    private LocalTime from;
-
-    /**
-     * The ending time of this vacation.
-     */
-    private LocalTime to;
-
-    /**
-     * The type of this vacation.
-     */
-    private VacationType type;
-
-    /**
-     * The approval status of this vacation.
-     */
-    private Status status;
-
-    /**
-     * Returns the ID of this vacation.
-     *
-     * @return the ID of this vacation
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the ID of this vacation with the specified value.
-     *
-     * @param id the new ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the date of this vacation.
-     *
-     * @return the date of this vacation
-     */
-    public LocalDate getDate() {
-        return this.date;
-    }
-
-    /**
-     * Replaces the date of this vacation with the specified date.
-     *
-     * @param date the new date
-     */
-    public void setDate(final LocalDate date) {
-        this.date = date;
-    }
-
-    /**
-     * Returns the starting time of this vacation.
-     *
-     * @return the starting time of this vacation
-     */
-    public LocalTime getFrom() {
-        return this.from;
-    }
-
-    /**
-     * Replaces the starting time of this vacation with the given time.
-     *
-     * @param from the new starting time
-     */
-    public void setFrom(final LocalTime from) {
-        this.from = from;
-    }
-
-    /**
-     * Returns the ending time of this vacation.
-     *
-     * @return the ending time of this vacation
-     */
-    public LocalTime getTo() {
-        return this.to;
-    }
-
-    /**
-     * Replaces the ending time of this vacation with the provided time.
-     *
-     * @param to the new ending time
-     */
-    public void setTo(final LocalTime to) {
-        this.to = to;
-    }
-
-    /**
-     * Returns the type of this vacation.
-     *
-     * @return the type of this vacation
-     */
-    public VacationType getType() {
-        return this.type;
-    }
-
-    /**
-     * Replaces the type of this vacation with the handed type.
-     *
-     * @param type the new type
-     */
-    public void setType(final VacationType type) {
-        this.type = type;
-    }
-
-    /**
-     * Returns the approval status of this vacation.
-     *
-     * @return the approval status of this vacation
-     */
-    public Status getStatus() {
-        return this.status;
-    }
-
-    /**
-     * Replaces the approval status of this vacation with the given value.
-     *
-     * @param status the new approval status
-     */
-    public void setStatus(final Status status) {
-        this.status = status;
-    }
-}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/VacationDayDTO.java b/server/src/main/java/org/danekja/ymanager/dto/VacationDayDTO.java
new file mode 100644
index 0000000..4f75791
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/VacationDayDTO.java
@@ -0,0 +1,151 @@
+package org.danekja.ymanager.dto;
+
+import org.danekja.ymanager.domain.Status;
+import org.danekja.ymanager.domain.VacationType;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+/**
+ * The messenger class {@code Vacation} holds informations of an overtime or a sick day taken by a user.
+ * This class is used in communication with a frontend.
+ */
+public class VacationDayDTO {
+    /**
+     * The ID of this vacation.
+     */
+    private Long id;
+
+    /**
+     * The date of this vacation.
+     */
+    private LocalDate date;
+
+    /**
+     * The starting time of this vacation.
+     */
+    private LocalTime from;
+
+    /**
+     * The ending time of this vacation.
+     */
+    private LocalTime to;
+
+    /**
+     * The type of this vacation.
+     */
+    private VacationType type;
+
+    /**
+     * The approval status of this vacation.
+     */
+    private Status status;
+
+    /**
+     * Returns the ID of this vacation.
+     *
+     * @return the ID of this vacation
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the ID of this vacation with the specified value.
+     *
+     * @param id the new ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the date of this vacation.
+     *
+     * @return the date of this vacation
+     */
+    public LocalDate getDate() {
+        return this.date;
+    }
+
+    /**
+     * Replaces the date of this vacation with the specified date.
+     *
+     * @param date the new date
+     */
+    public void setDate(final LocalDate date) {
+        this.date = date;
+    }
+
+    /**
+     * Returns the starting time of this vacation.
+     *
+     * @return the starting time of this vacation
+     */
+    public LocalTime getFrom() {
+        return this.from;
+    }
+
+    /**
+     * Replaces the starting time of this vacation with the given time.
+     *
+     * @param from the new starting time
+     */
+    public void setFrom(final LocalTime from) {
+        this.from = from;
+    }
+
+    /**
+     * Returns the ending time of this vacation.
+     *
+     * @return the ending time of this vacation
+     */
+    public LocalTime getTo() {
+        return this.to;
+    }
+
+    /**
+     * Replaces the ending time of this vacation with the provided time.
+     *
+     * @param to the new ending time
+     */
+    public void setTo(final LocalTime to) {
+        this.to = to;
+    }
+
+    /**
+     * Returns the type of this vacation.
+     *
+     * @return the type of this vacation
+     */
+    public VacationType getType() {
+        return this.type;
+    }
+
+    /**
+     * Replaces the type of this vacation with the handed type.
+     *
+     * @param type the new type
+     */
+    public void setType(final VacationType type) {
+        this.type = type;
+    }
+
+    /**
+     * Returns the approval status of this vacation.
+     *
+     * @return the approval status of this vacation
+     */
+    public Status getStatus() {
+        return this.status;
+    }
+
+    /**
+     * Replaces the approval status of this vacation with the given value.
+     *
+     * @param status the new approval status
+     */
+    public void setStatus(final Status status) {
+        this.status = status;
+    }
+}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/VacationRequest.java b/server/src/main/java/org/danekja/ymanager/dto/VacationRequest.java
deleted file mode 100644
index 15a4f79..0000000
--- a/server/src/main/java/org/danekja/ymanager/dto/VacationRequest.java
+++ /dev/null
@@ -1,222 +0,0 @@
-package org.danekja.ymanager.dto;
-
-import org.danekja.ymanager.domain.Status;
-import org.danekja.ymanager.domain.VacationType;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-
-/**
- * An instance of the messenger class {@code VacationRequest} is just a different view of a user's vacation.
- * It stores information relevant to the vacation which helps an employer to accept or reject the user's vacation.
- * This class is used in a communication with a frontend.
- */
-public class VacationRequest {
-    /**
-     * The ID of this vacation request.
-     */
-    private Long id;
-
-    /**
-     * The user's first name.
-     */
-    private String firstName;
-
-    /**
-     * The user's last name.
-     */
-    private String lastName;
-
-    /**
-     * The date of this vacation request.
-     */
-    private LocalDate date;
-
-    /**
-     * The starting time of this vacation request.
-     */
-    private LocalTime from;
-
-    /**
-     * The ending time of this vacation request.
-     */
-    private LocalTime to;
-
-    /**
-     * The type of this vacation request.
-     */
-    private VacationType type;
-
-    /**
-     * The approval status of this vacation request.
-     */
-    private Status status;
-
-    /**
-     * The date and time of a creation of this vacation request.
-     */
-    private LocalDateTime timestamp;
-
-    /**
-     * Returns the ID of this vacation request.
-     *
-     * @return the ID of this vacation request
-     */
-    public Long getId() {
-        return this.id;
-    }
-
-    /**
-     * Replaces the ID of this vacation request with the specified value.
-     *
-     * @param id the new ID
-     */
-    public void setId(final Long id) {
-        this.id = id;
-    }
-
-    /**
-     * Returns the user's first name.
-     *
-     * @return the user's first name
-     */
-    public String getFirstName() {
-        return this.firstName;
-    }
-
-    /**
-     * Replaces the user's first name with the new specified value.
-     *
-     * @param firstName the new first name
-     */
-    public void setFirstName(final String firstName) {
-        this.firstName = firstName;
-    }
-
-    /**
-     * Returns the user's last name.
-     *
-     * @return the user's last name
-     */
-    public String getLastName() {
-        return this.lastName;
-    }
-
-    /**
-     * Replaces the user's last name with the given one.
-     *
-     * @param lastName the new last name
-     */
-    public void setLastName(final String lastName) {
-        this.lastName = lastName;
-    }
-
-    /**
-     * Returns the date of this vacation request.
-     *
-     * @return the date of this vacation request
-     */
-    public LocalDate getDate() {
-        return this.date;
-    }
-
-    /**
-     * Replaces the date of this vacation request with the specified date.
-     *
-     * @param date the new date
-     */
-    public void setDate(final LocalDate date) {
-        this.date = date;
-    }
-
-    /**
-     * Returns the starting time of this vacation request.
-     *
-     * @return the starting time of this vacation request
-     */
-    public LocalTime getFrom() {
-        return this.from;
-    }
-
-    /**
-     * Replaces the starting time of this vacation request with the given time.
-     *
-     * @param from the new starting time
-     */
-    public void setFrom(final LocalTime from) {
-        this.from = from;
-    }
-
-    /**
-     * Returns the ending time of this vacation request.
-     *
-     * @return the ending time of this vacation request
-     */
-    public LocalTime getTo() {
-        return this.to;
-    }
-
-    /**
-     * Replaces the ending time of this vacation request with the provided time.
-     *
-     * @param to the new ending time
-     */
-    public void setTo(final LocalTime to) {
-        this.to = to;
-    }
-
-    /**
-     * Returns the type of this vacation request.
-     *
-     * @return the type of this vacation request
-     */
-    public VacationType getType() {
-        return this.type;
-    }
-
-    /**
-     * Replaces the type of this vacation request with the handed type.
-     *
-     * @param type the new type
-     */
-    public void setType(final VacationType type) {
-        this.type = type;
-    }
-
-    /**
-     * Returns the approval status of this vacation request.
-     *
-     * @return the approval status of this vacation request
-     */
-    public Status getStatus() {
-        return this.status;
-    }
-
-    /**
-     * Replaces the approval status of this vacation request with the given value.
-     *
-     * @param status the new approval status
-     */
-    public void setStatus(final Status status) {
-        this.status = status;
-    }
-
-    /**
-     * Returns the date and time of a creation of this vacation request.
-     *
-     * @return the date and time of the creation of this vacation request
-     */
-    public LocalDateTime getTimestamp() {
-        return this.timestamp;
-    }
-
-    /**
-     * Replaces the date and time of a creation of this vacation request with the specified timestamp.
-     *
-     * @param timestamp the date and time of the creation of this vacation request
-     */
-    public void setTimestamp(final LocalDateTime timestamp) {
-        this.timestamp = timestamp;
-    }
-}
diff --git a/server/src/main/java/org/danekja/ymanager/dto/VacationRequestDTO.java b/server/src/main/java/org/danekja/ymanager/dto/VacationRequestDTO.java
new file mode 100644
index 0000000..fe65303
--- /dev/null
+++ b/server/src/main/java/org/danekja/ymanager/dto/VacationRequestDTO.java
@@ -0,0 +1,222 @@
+package org.danekja.ymanager.dto;
+
+import org.danekja.ymanager.domain.Status;
+import org.danekja.ymanager.domain.VacationType;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+/**
+ * An instance of the messenger class {@code VacationRequest} is just a different view of a user's vacation.
+ * It stores information relevant to the vacation which helps an employer to accept or reject the user's vacation.
+ * This class is used in a communication with a frontend.
+ */
+public class VacationRequestDTO {
+    /**
+     * The ID of this vacation request.
+     */
+    private Long id;
+
+    /**
+     * The user's first name.
+     */
+    private String firstName;
+
+    /**
+     * The user's last name.
+     */
+    private String lastName;
+
+    /**
+     * The date of this vacation request.
+     */
+    private LocalDate date;
+
+    /**
+     * The starting time of this vacation request.
+     */
+    private LocalTime from;
+
+    /**
+     * The ending time of this vacation request.
+     */
+    private LocalTime to;
+
+    /**
+     * The type of this vacation request.
+     */
+    private VacationType type;
+
+    /**
+     * The approval status of this vacation request.
+     */
+    private Status status;
+
+    /**
+     * The date and time of a creation of this vacation request.
+     */
+    private LocalDateTime timestamp;
+
+    /**
+     * Returns the ID of this vacation request.
+     *
+     * @return the ID of this vacation request
+     */
+    public Long getId() {
+        return this.id;
+    }
+
+    /**
+     * Replaces the ID of this vacation request with the specified value.
+     *
+     * @param id the new ID
+     */
+    public void setId(final Long id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the user's first name.
+     *
+     * @return the user's first name
+     */
+    public String getFirstName() {
+        return this.firstName;
+    }
+
+    /**
+     * Replaces the user's first name with the new specified value.
+     *
+     * @param firstName the new first name
+     */
+    public void setFirstName(final String firstName) {
+        this.firstName = firstName;
+    }
+
+    /**
+     * Returns the user's last name.
+     *
+     * @return the user's last name
+     */
+    public String getLastName() {
+        return this.lastName;
+    }
+
+    /**
+     * Replaces the user's last name with the given one.
+     *
+     * @param lastName the new last name
+     */
+    public void setLastName(final String lastName) {
+        this.lastName = lastName;
+    }
+
+    /**
+     * Returns the date of this vacation request.
+     *
+     * @return the date of this vacation request
+     */
+    public LocalDate getDate() {
+        return this.date;
+    }
+
+    /**
+     * Replaces the date of this vacation request with the specified date.
+     *
+     * @param date the new date
+     */
+    public void setDate(final LocalDate date) {
+        this.date = date;
+    }
+
+    /**
+     * Returns the starting time of this vacation request.
+     *
+     * @return the starting time of this vacation request
+     */
+    public LocalTime getFrom() {
+        return this.from;
+    }
+
+    /**
+     * Replaces the starting time of this vacation request with the given time.
+     *
+     * @param from the new starting time
+     */
+    public void setFrom(final LocalTime from) {
+        this.from = from;
+    }
+
+    /**
+     * Returns the ending time of this vacation request.
+     *
+     * @return the ending time of this vacation request
+     */
+    public LocalTime getTo() {
+        return this.to;
+    }
+
+    /**
+     * Replaces the ending time of this vacation request with the provided time.
+     *
+     * @param to the new ending time
+     */
+    public void setTo(final LocalTime to) {
+        this.to = to;
+    }
+
+    /**
+     * Returns the type of this vacation request.
+     *
+     * @return the type of this vacation request
+     */
+    public VacationType getType() {
+        return this.type;
+    }
+
+    /**
+     * Replaces the type of this vacation request with the handed type.
+     *
+     * @param type the new type
+     */
+    public void setType(final VacationType type) {
+        this.type = type;
+    }
+
+    /**
+     * Returns the approval status of this vacation request.
+     *
+     * @return the approval status of this vacation request
+     */
+    public Status getStatus() {
+        return this.status;
+    }
+
+    /**
+     * Replaces the approval status of this vacation request with the given value.
+     *
+     * @param status the new approval status
+     */
+    public void setStatus(final Status status) {
+        this.status = status;
+    }
+
+    /**
+     * Returns the date and time of a creation of this vacation request.
+     *
+     * @return the date and time of the creation of this vacation request
+     */
+    public LocalDateTime getTimestamp() {
+        return this.timestamp;
+    }
+
+    /**
+     * Replaces the date and time of a creation of this vacation request with the specified timestamp.
+     *
+     * @param timestamp the date and time of the creation of this vacation request
+     */
+    public void setTimestamp(final LocalDateTime timestamp) {
+        this.timestamp = timestamp;
+    }
+}
diff --git a/server/src/main/java/org/danekja/ymanager/repository/RequestRepository.java b/server/src/main/java/org/danekja/ymanager/repository/RequestRepository.java
index 27fd30b..f95efe8 100644
--- a/server/src/main/java/org/danekja/ymanager/repository/RequestRepository.java
+++ b/server/src/main/java/org/danekja/ymanager/repository/RequestRepository.java
@@ -27,7 +27,7 @@ public class RequestRepository {
     /**
      * The mapper maps a row from a result of a query to an AuthorizationRequest.
      */
-    private class AuthorizationRequestMapper implements RowMapper<AuthorizationRequest> {
+    private class AuthorizationRequestMapper implements RowMapper<AuthorizationRequestDTO> {
 
         /**
          * Maps a row from a result of a query to an AuthorizationRequest.
@@ -37,8 +37,8 @@ public class RequestRepository {
          * @throws SQLException if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
          */
         @Override
-        public AuthorizationRequest mapRow(ResultSet resultSet, int i) throws SQLException {
-            final AuthorizationRequest request = new AuthorizationRequest();
+        public AuthorizationRequestDTO mapRow(ResultSet resultSet, int i) throws SQLException {
+            final AuthorizationRequestDTO request = new AuthorizationRequestDTO();
             request.setId(resultSet.getLong("id"));
             request.setFirstName(resultSet.getString("first_name"));
             request.setLastName(resultSet.getString("last_name"));
@@ -51,7 +51,7 @@ public class RequestRepository {
     /**
      * The mapper maps each row from a result of a query to a VacationRequest.
      */
-    private class VacationRequestMapper implements RowMapper<VacationRequest> {
+    private class VacationRequestMapper implements RowMapper<VacationRequestDTO> {
 
         /**
          * Maps a row from a result of a query to an VacationRequest.
@@ -61,8 +61,8 @@ public class RequestRepository {
          * @throws SQLException if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
          */
         @Override
-        public VacationRequest mapRow(ResultSet resultSet, int i) throws SQLException {
-            final VacationRequest request = new VacationRequest();
+        public VacationRequestDTO mapRow(ResultSet resultSet, int i) throws SQLException {
+            final VacationRequestDTO request = new VacationRequestDTO();
             request.setId(resultSet.getLong("v.id"));
             request.setFirstName(resultSet.getString("u.first_name"));
             request.setLastName(resultSet.getString("u.last_name"));
@@ -120,7 +120,7 @@ public class RequestRepository {
      *
      * @return the list of all authorization requests
      */
-    public List<AuthorizationRequest> getAllAuthorizations() {
+    public List<AuthorizationRequestDTO> getAllAuthorizations() {
         RequestRepository.log.trace("Selecting all authorization requests from a database.");
 
         return this.jdbc.query("SELECT id, first_name, last_name, creation_date, status FROM end_user", new AuthorizationRequestMapper());
@@ -135,7 +135,7 @@ public class RequestRepository {
      * @param status the approval status of the requests
      * @return the list of all authorization requests with the given status
      */
-    public List<AuthorizationRequest> getAllAuthorizations(final Status status) {
+    public List<AuthorizationRequestDTO> getAllAuthorizations(final Status status) {
         RequestRepository.log.trace("Selecting all authorization requests from a database with requested status.");
         RequestRepository.log.debug("Status: {}", status);
 
@@ -160,7 +160,7 @@ public class RequestRepository {
      *
      * @param request the BasicRequest object with new values of the vacation request
      */
-    public void updateAuthorization(final BasicRequest request) {
+    public void updateAuthorization(final BasicRequestDTO request) {
         this.updateAuthorization(request.getId(), request.getStatus());
     }
 
@@ -172,7 +172,7 @@ public class RequestRepository {
      *
      * @return the list of all vacation requests
      */
-    public List<VacationRequest> getAllVacationRequests() {
+    public List<VacationRequestDTO> getAllVacationRequests() {
         RequestRepository.log.trace("Selecting all vacation requests from a database.");
 
         return this.jdbc.query("SELECT v.id, v.vacation_date, v.time_from, v.time_to, v.creation_date, v.vacation_type, v.status, u.first_name, u.last_name " +
@@ -188,7 +188,7 @@ public class RequestRepository {
      * @param status the approval status of the requests
      * @return the list of all vacation requests with the given status
      */
-    public List<VacationRequest> getAllVacationRequests(final Status status) {
+    public List<VacationRequestDTO> getAllVacationRequests(final Status status) {
         RequestRepository.log.trace("Selecting all vacation requests from a database with requested status.");
         RequestRepository.log.debug("Status: {}", status);
 
@@ -217,7 +217,7 @@ public class RequestRepository {
      *
      * @param request the BasicRequest object with new values of the vacation request
      */
-    public void updateVacationRequest(final BasicRequest request) {
+    public void updateVacationRequest(final BasicRequestDTO request) {
         this.updateVacationRequest(request.getId(), request.getStatus());
     }
 }
diff --git a/server/src/main/java/org/danekja/ymanager/repository/UserRepository.java b/server/src/main/java/org/danekja/ymanager/repository/UserRepository.java
index ed976dc..ee76c53 100644
--- a/server/src/main/java/org/danekja/ymanager/repository/UserRepository.java
+++ b/server/src/main/java/org/danekja/ymanager/repository/UserRepository.java
@@ -1,8 +1,8 @@
 package org.danekja.ymanager.repository;
 
 import org.danekja.ymanager.domain.*;
-import org.danekja.ymanager.dto.BasicProfileUser;
-import org.danekja.ymanager.dto.FullUserProfile;
+import org.danekja.ymanager.dto.BasicProfileUserDTO;
+import org.danekja.ymanager.dto.FullUserProfileDTO;
 import org.danekja.ymanager.repository.jdbc.mappers.UserDataRowMapper;
 import org.danekja.ymanager.repository.jdbc.mappers.UserRowMapper;
 import org.slf4j.Logger;
@@ -33,7 +33,7 @@ public class UserRepository {
     /**
      * The mapper maps a row from a result of a query to an BasicProfileUser.
      */
-    private class BasicProfileUserMapper implements RowMapper<BasicProfileUser> {
+    private class BasicProfileUserMapper implements RowMapper<BasicProfileUserDTO> {
 
         /**
          * Maps a row from a result of a query to an BasicProfileUser.
@@ -43,8 +43,8 @@ public class UserRepository {
          * @throws SQLException if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
          */
         @Override
-        public BasicProfileUser mapRow(ResultSet resultSet, int i) throws SQLException {
-            final BasicProfileUser user = new BasicProfileUser();
+        public BasicProfileUserDTO mapRow(ResultSet resultSet, int i) throws SQLException {
+            final BasicProfileUserDTO user = new BasicProfileUserDTO();
             user.setId(resultSet.getLong("id"));
             user.setFirstName(resultSet.getString("first_name"));
             user.setLastName(resultSet.getString("last_name"));
@@ -120,7 +120,7 @@ public class UserRepository {
      *
      * @return A list of all basic profiles.
      */
-    public List<BasicProfileUser> getAllBasicUsers() {
+    public List<BasicProfileUserDTO> getAllBasicUsers() {
         UserRepository.log.trace("Selecting basic profiles of all users from a database.");
 
         return this.jdbc.query("SELECT id, first_name, last_name, photo FROM end_user", new BasicProfileUserMapper());
@@ -135,7 +135,7 @@ public class UserRepository {
      * @param status The authentication status.
      * @return A list of all basic profiles with the given status.
      */
-    public List<BasicProfileUser> getAllBasicUsers(final Status status) {
+    public List<BasicProfileUserDTO> getAllBasicUsers(final Status status) {
         UserRepository.log.trace("Selecting basic profiles of all users with a required status from a database.");
         UserRepository.log.debug("Status: {}", status);
 
@@ -154,12 +154,12 @@ public class UserRepository {
      * @param id
      * @return
      */
-    public FullUserProfile getFullUser(final long id) {
+    public FullUserProfileDTO getFullUser(final long id) {
         UserRepository.log.debug("Selecting full profile of a user with the specified id from a database: {}", id);
 
         final Map<String, Object> resultMap = this.getUserColumns(id);
 
-        final FullUserProfile user = new FullUserProfile();
+        final FullUserProfileDTO user = new FullUserProfileDTO();
         user.setId(id);
         user.setFirstName((String) resultMap.get("out_first_name"));
         user.setLastName((String) resultMap.get("out_last_name"));
diff --git a/server/src/main/java/org/danekja/ymanager/repository/VacationRepository.java b/server/src/main/java/org/danekja/ymanager/repository/VacationRepository.java
index b5db971..f76dc6e 100644
--- a/server/src/main/java/org/danekja/ymanager/repository/VacationRepository.java
+++ b/server/src/main/java/org/danekja/ymanager/repository/VacationRepository.java
@@ -3,7 +3,7 @@ package org.danekja.ymanager.repository;
 import org.danekja.ymanager.domain.Status;
 import org.danekja.ymanager.domain.Vacation;
 import org.danekja.ymanager.domain.VacationType;
-import org.danekja.ymanager.dto.VacationDay;
+import org.danekja.ymanager.dto.VacationDayDTO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +25,7 @@ public class VacationRepository {
     /**
      * The mapper maps a row from a result of a query to an Vacation.
      */
-    private class VacationDayMapper implements RowMapper<VacationDay> {
+    private class VacationDayMapper implements RowMapper<VacationDayDTO> {
 
         /**
          * Maps a row from a result of a query to an Vacation.
@@ -35,8 +35,8 @@ public class VacationRepository {
          * @throws SQLException if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
          */
         @Override
-        public VacationDay mapRow(ResultSet resultSet, int i) throws SQLException {
-            final VacationDay item = new VacationDay();
+        public VacationDayDTO mapRow(ResultSet resultSet, int i) throws SQLException {
+            final VacationDayDTO item = new VacationDayDTO();
             item.setId(resultSet.getLong("v.id"));
             item.setDate(resultSet.getDate("v.vacation_date").toLocalDate());
 
@@ -83,7 +83,7 @@ public class VacationRepository {
         this.jdbc = jdbc;
     }
 
-    public List<VacationDay> getVacationDays(final long userId, final LocalDate from) {
+    public List<VacationDayDTO> getVacationDays(final long userId, final LocalDate from) {
         return jdbc.query("SELECT v.id, v.vacation_date, v.time_from, v.time_to, v.status, v.vacation_type " +
                         "FROM vacation_day v " +
                         "INNER JOIN end_user u ON v.user_id = u.id " +
@@ -91,7 +91,7 @@ public class VacationRepository {
                 new Object[]{userId, from}, new VacationDayMapper());
     }
 
-    public List<VacationDay> getVacationDays(final long userId, final LocalDate from, final Status status) {
+    public List<VacationDayDTO> getVacationDays(final long userId, final LocalDate from, final Status status) {
         return jdbc.query("SELECT v.id, v.vacation_date, v.time_from, v.time_to, v.status, v.vacation_type " +
                         "FROM vacation_day v " +
                         "INNER JOIN end_user u ON v.user_id = u.id " +
@@ -99,7 +99,7 @@ public class VacationRepository {
                 new Object[]{userId, from, status.name()}, new VacationDayMapper());
     }
 
-    public List<VacationDay> getVacationDays(final long userId, final LocalDate from, final LocalDate to) {
+    public List<VacationDayDTO> getVacationDays(final long userId, final LocalDate from, final LocalDate to) {
         return jdbc.query("SELECT v.id, v.vacation_date, v.time_from, v.time_to, v.status, v.vacation_type " +
                         "FROM vacation_day v " +
                         "INNER JOIN end_user u ON v.user_id = u.id " +
@@ -108,7 +108,7 @@ public class VacationRepository {
 
     }
 
-    public List<VacationDay> getVacationDays(final long userId, final LocalDate from, final LocalDate to, final Status status) {
+    public List<VacationDayDTO> getVacationDays(final long userId, final LocalDate from, final LocalDate to, final Status status) {
         return jdbc.query("SELECT v.id, v.vacation_date, v.time_from, v.time_to, v.status, v.vacation_type " +
                         "FROM vacation_day v " +
                         "INNER JOIN end_user u ON v.user_id = u.id " +
diff --git a/server/src/main/java/org/danekja/ymanager/ws/rest/ApiController.java b/server/src/main/java/org/danekja/ymanager/ws/rest/ApiController.java
index a0a0631..6da7f74 100644
--- a/server/src/main/java/org/danekja/ymanager/ws/rest/ApiController.java
+++ b/server/src/main/java/org/danekja/ymanager/ws/rest/ApiController.java
@@ -34,17 +34,17 @@ public class ApiController {
     // *********************** GET ****************************
 
     @GetMapping("/users/requests/vacation")
-    public List<VacationRequest> usersRequestsVacation(@RequestParam(value = "status", required = false) Status status) {
+    public List<VacationRequestDTO> usersRequestsVacation(@RequestParam(value = "status", required = false) Status status) {
         return manager.getVacationRequests(status);
     }
 
     @GetMapping("/users/requests/authorization")
-    public List<AuthorizationRequest> userRequestsAuthorization(@RequestParam(value = "status", required = false) Status status) {
+    public List<AuthorizationRequestDTO> userRequestsAuthorization(@RequestParam(value = "status", required = false) Status status) {
         return manager.getAuthorizationRequests(status);
     }
 
     @GetMapping("/user/{id}/calendar")
-    public List<VacationDay> userCalendar(@PathVariable("id") Long id, @RequestParam(value = "from") String from, @RequestParam(value = "to", required = false) String to, @RequestParam(value = "status", required = false) Status status) {
+    public List<VacationDayDTO> userCalendar(@PathVariable("id") Long id, @RequestParam("from") String from, @RequestParam(value = "to", required = false) String to, @RequestParam(value = "status", required = false) Status status) {
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
         LocalDate fromDate = LocalDate.parse(from, formatter);
         LocalDate toDate = to != null ? LocalDate.parse(to, formatter) : null;
@@ -52,24 +52,24 @@ public class ApiController {
     }
 
     @GetMapping("/settings")
-    public DefaultSettings settings() {
-        return new DefaultSettings(manager.getDefaultSettings());
+    public DefaultSettingsDTO settings() {
+        return new DefaultSettingsDTO(manager.getDefaultSettings());
     }
 
     // *********************** POST ****************************
 
     @PostMapping("/settings")
-    public ResponseEntity<Void> settings(@RequestBody DefaultSettings settings) {
+    public ResponseEntity<Void> settings(@RequestBody DefaultSettingsDTO settings) {
         manager.createSettings(settings.toEntity());
 
         return ResponseEntity.ok().build();
     }
 
     @PostMapping("/user/calendar/create")
-    public ResponseEntity<Void> userCalendarCreate(@RequestBody VacationDay vacationDay, Authentication auth) {
+    public ResponseEntity<Void> userCalendarCreate(@RequestBody VacationDayDTO vacationDayDTO, Authentication auth) {
         //TODO make api endpoint contain userId in path as part of #39, also drop the create part of path
         //TODO drop the auth parameter afterwards
-        manager.createVacation(((User) auth.getPrincipal()).getId(), vacationDay);
+        manager.createVacation(((User) auth.getPrincipal()).getId(), vacationDayDTO);
 
         return ResponseEntity.ok().build();
     }
@@ -78,7 +78,7 @@ public class ApiController {
 
 
     @PutMapping("/user/settings")
-    public ResponseEntity<Void> userSettings(@RequestBody UserSettings settings, Authentication auth) {
+    public ResponseEntity<Void> userSettings(@RequestBody UserSettingsDTO settings, Authentication auth) {
         //TODO make api endpoint contain userId in path as part of #39
         //TODO drop the auth parameter afterwards
         manager.changeSettings(((User) auth.getPrincipal()).getId(), settings);
@@ -87,16 +87,16 @@ public class ApiController {
     }
 
     @PutMapping("/user/calendar/edit")
-    public ResponseEntity<Void> userCalendarEdit(@RequestBody VacationDay vacationDay) {
+    public ResponseEntity<Void> userCalendarEdit(@RequestBody VacationDayDTO vacationDayDTO) {
         //TODO make api endpoint point to vacation endpoint as part of #39, also drop the edit part of path
         //TODO drop the auth parameter afterwards
-        manager.changeVacation(vacationDay);
+        manager.changeVacation(vacationDayDTO);
 
         return ResponseEntity.ok().build();
     }
 
     @PutMapping("/user/requests")
-    public ResponseEntity<Void> userRequests(@RequestParam("type") RequestType type, @RequestBody BasicRequest request) {
+    public ResponseEntity<Void> userRequests(@RequestParam("type") RequestType type, @RequestBody BasicRequestDTO request) {
         manager.changeRequest(type, request);
 
         return ResponseEntity.ok().build();
diff --git a/server/src/main/java/org/danekja/ymanager/ws/rest/UserController.java b/server/src/main/java/org/danekja/ymanager/ws/rest/UserController.java
index 1ba120e..891ebc2 100644
--- a/server/src/main/java/org/danekja/ymanager/ws/rest/UserController.java
+++ b/server/src/main/java/org/danekja/ymanager/ws/rest/UserController.java
@@ -3,8 +3,8 @@ package org.danekja.ymanager.ws.rest;
 import org.danekja.ymanager.business.UserManager;
 import org.danekja.ymanager.domain.Status;
 import org.danekja.ymanager.domain.User;
-import org.danekja.ymanager.dto.BasicProfileUser;
-import org.danekja.ymanager.dto.FullUserProfile;
+import org.danekja.ymanager.dto.BasicProfileUserDTO;
+import org.danekja.ymanager.dto.FullUserProfileDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.AnonymousAuthenticationToken;
 import org.springframework.security.core.Authentication;
@@ -27,7 +27,7 @@ public class UserController {
     }
 
     @GetMapping
-    public List<BasicProfileUser> users(@RequestParam(value = "status", required = false) Status status) {
+    public List<BasicProfileUserDTO> users(@RequestParam(value = "status", required = false) Status status) {
         return userManager.getUsers(status);
     }
 
@@ -39,7 +39,7 @@ public class UserController {
      * @return user information object
      */
     @GetMapping("/current/profile")
-    public FullUserProfile getCurrentUser(Authentication auth) throws Exception {
+    public FullUserProfileDTO getCurrentUser(Authentication auth) throws Exception {
 
         if (auth instanceof AnonymousAuthenticationToken
                 || auth.getPrincipal() == null
@@ -51,9 +51,9 @@ public class UserController {
     }
 
     @GetMapping("/{id}/profile")
-    public FullUserProfile getUserProfile(@PathVariable("id") Long id) throws Exception {
+    public FullUserProfileDTO getUserProfile(@PathVariable("id") Long id) throws Exception {
         User u = userManager.getUser(id);
 
-        return new FullUserProfile(u);
+        return new FullUserProfileDTO(u);
     }
 }
diff --git a/server/src/test/java/org/danekja/ymanager/domain/DefaultSettingsDTOTest.java b/server/src/test/java/org/danekja/ymanager/domain/DefaultSettingsDTOTest.java
new file mode 100644
index 0000000..dfbf4c2
--- /dev/null
+++ b/server/src/test/java/org/danekja/ymanager/domain/DefaultSettingsDTOTest.java
@@ -0,0 +1,100 @@
+package org.danekja.ymanager.domain;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.time.LocalDateTime;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+/**
+ * This class tests methods of the {@code DefaultSettings} class.
+ * @see DefaultSettings
+ */
+class DefaultSettingsDTOTest {
+
+    /**
+     * The empty instance of the {@code DefaultSettings}.
+     */
+    private DefaultSettings defaultSettings;
+
+    /**
+     * Prepares the instance of the {@code DefaultSettings}.
+     */
+    @BeforeEach
+    void setUp() {
+        this.defaultSettings = new DefaultSettings();
+    }
+
+    /**
+     * Tests the method {@code setSickDayCount} with common values where no problem should occur.
+     */
+    @Test
+    void setSickDaysCount_valid() {
+        this.defaultSettings.setSickDayCount(10);
+        assertEquals(10, this.defaultSettings.getSickDayCount());
+    }
+
+    /**
+     * Tests the method {@code setSickDayCount} with zero which is a threshold value.
+     */
+    @Test
+    void setSickDaysCount_zeroInput() {
+        this.defaultSettings.setSickDayCount(0);
+        assertEquals(0, this.defaultSettings.getSickDayCount());
+    }
+
+    /**
+     * Tests the method {@code setSickDayCount} with negative one which is a threshold value.
+     */
+    @Test
+    void setSickDaysCount_negativeOneInput() {
+        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setSickDayCount(-1));
+    }
+
+    /**
+     * Tests the method {@code setSickDayCount} with negative value.
+     */
+    @Test
+    void setSickDaysCount_negativeInput() {
+        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setSickDayCount(-10));
+    }
+
+    /**
+     * Tests the method {@code setSickDayCount} with null value.
+     */
+    @Test
+    void setSickDaysCount_nullInput() {
+        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setSickDayCount(null));
+    }
+
+    /**
+     * Tests the method {@code setNotification} with common values where no problem should occur.
+     */
+    @Test
+    void setNotification_valid() {
+        this.defaultSettings.setNotification(LocalDateTime.of(2010,5,1,20,0));
+        assertEquals(LocalDateTime.of(2010,5,1,20,0), this.defaultSettings.getNotification());
+    }
+
+    /**
+     * Tests the method {@code setNotification} with null value.
+     */
+    @Test
+    void setNotification_nullInput() {
+        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setNotification(null));
+    }
+
+    /**
+     * Tests the method {@code toString}.
+     */
+    @Test
+    void testToString() {
+        DefaultSettings defaultSettings = new DefaultSettings();
+        defaultSettings.setId(5L);
+        defaultSettings.setSickDayCount(1);
+        defaultSettings.setNotification(LocalDateTime.of(2008,10,30,20,0));
+        assertEquals("DefaultSettings{id=5, sickDayCount=1, notification=2008-10-30T20:00}", defaultSettings.toString());
+    }
+}
diff --git a/server/src/test/java/org/danekja/ymanager/domain/DefaultSettingsTest.java b/server/src/test/java/org/danekja/ymanager/domain/DefaultSettingsTest.java
deleted file mode 100644
index dca40f1..0000000
--- a/server/src/test/java/org/danekja/ymanager/domain/DefaultSettingsTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.danekja.ymanager.domain;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.time.LocalDateTime;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-/**
- * This class tests methods of the {@code DefaultSettings} class.
- * @see DefaultSettings
- */
-class DefaultSettingsTest {
-
-    /**
-     * The empty instance of the {@code DefaultSettings}.
-     */
-    private DefaultSettings defaultSettings;
-
-    /**
-     * Prepares the instance of the {@code DefaultSettings}.
-     */
-    @BeforeEach
-    void setUp() {
-        this.defaultSettings = new DefaultSettings();
-    }
-
-    /**
-     * Tests the method {@code setSickDayCount} with common values where no problem should occur.
-     */
-    @Test
-    void setSickDaysCount_valid() {
-        this.defaultSettings.setSickDayCount(10);
-        assertEquals(10, this.defaultSettings.getSickDayCount());
-    }
-
-    /**
-     * Tests the method {@code setSickDayCount} with zero which is a threshold value.
-     */
-    @Test
-    void setSickDaysCount_zeroInput() {
-        this.defaultSettings.setSickDayCount(0);
-        assertEquals(0, this.defaultSettings.getSickDayCount());
-    }
-
-    /**
-     * Tests the method {@code setSickDayCount} with negative one which is a threshold value.
-     */
-    @Test
-    void setSickDaysCount_negativeOneInput() {
-        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setSickDayCount(-1));
-    }
-
-    /**
-     * Tests the method {@code setSickDayCount} with negative value.
-     */
-    @Test
-    void setSickDaysCount_negativeInput() {
-        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setSickDayCount(-10));
-    }
-
-    /**
-     * Tests the method {@code setSickDayCount} with null value.
-     */
-    @Test
-    void setSickDaysCount_nullInput() {
-        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setSickDayCount(null));
-    }
-
-    /**
-     * Tests the method {@code setNotification} with common values where no problem should occur.
-     */
-    @Test
-    void setNotification_valid() {
-        this.defaultSettings.setNotification(LocalDateTime.of(2010,5,1,20,0));
-        assertEquals(LocalDateTime.of(2010,5,1,20,0), this.defaultSettings.getNotification());
-    }
-
-    /**
-     * Tests the method {@code setNotification} with null value.
-     */
-    @Test
-    void setNotification_nullInput() {
-        assertThrows(IllegalArgumentException.class, () -> this.defaultSettings.setNotification(null));
-    }
-
-    /**
-     * Tests the method {@code toString}.
-     */
-    @Test
-    void testToString() {
-        DefaultSettings defaultSettings = new DefaultSettings();
-        defaultSettings.setId(5L);
-        defaultSettings.setSickDayCount(1);
-        defaultSettings.setNotification(LocalDateTime.of(2008,10,30,20,0));
-        assertEquals("DefaultSettings{id=5, sickDayCount=1, notification=2008-10-30T20:00}", defaultSettings.toString());
-    }
-}
