Index: src/main/java/it/finki/tinki/model/dto/response/account/CompanyResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/account/CompanyResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/account/CompanyResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,21 @@
+package it.finki.tinki.model.dto.response.account;
+
+import it.finki.tinki.model.Address;
+import it.finki.tinki.model.dto.response.work.InternshipResponseDTO;
+import it.finki.tinki.model.dto.response.work.JobResponseDTO;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class CompanyResponseDTO extends LoginResponseDTO {
+    private Address address;
+    private List<JobResponseDTO> jobs;
+    private List<InternshipResponseDTO> internships;
+
+    public CompanyResponseDTO(){
+        this.jobs = new ArrayList<>();
+        this.internships = new ArrayList<>();
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/account/LoginResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/account/LoginResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/account/LoginResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,17 @@
+package it.finki.tinki.model.dto.response.account;
+
+import it.finki.tinki.model.enumerator.AccountType;
+import lombok.Data;
+
+@Data
+public class LoginResponseDTO {
+    private Long id;
+    private String email;
+    private String name;
+    private AccountType type;
+    private String error;
+
+    public LoginResponseDTO() {
+        this.error = "Invalid username or password!";
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/account/TeamResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/account/TeamResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/account/TeamResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,20 @@
+package it.finki.tinki.model.dto.response.account;
+
+import it.finki.tinki.model.dto.response.work.JobResponseDTO;
+import it.finki.tinki.model.dto.response.work.ProjectResponseDTO;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class TeamResponseDTO extends LoginResponseDTO {
+    private int members;
+    private List<JobResponseDTO> jobs;
+    private List<ProjectResponseDTO> projects;
+
+    public TeamResponseDTO(){
+        this.jobs = new ArrayList<>();
+        this.projects = new ArrayList<>();
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/account/UserResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/account/UserResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/account/UserResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,28 @@
+package it.finki.tinki.model.dto.response.account;
+
+import it.finki.tinki.model.Skill;
+import it.finki.tinki.model.dto.response.work.InternshipResponseDTO;
+import it.finki.tinki.model.dto.response.work.JobResponseDTO;
+import it.finki.tinki.model.dto.response.work.ProjectResponseDTO;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class UserResponseDTO extends LoginResponseDTO {
+    private String surname;
+    private List<Skill> retained;
+    private List<Skill> toLearn;
+    private List<JobResponseDTO> jobs;
+    private List<InternshipResponseDTO> internships;
+    private List<ProjectResponseDTO> projects;
+
+    public UserResponseDTO(){
+        retained = new ArrayList<>();
+        toLearn = new ArrayList<>();
+        jobs = new ArrayList<>();
+        internships = new ArrayList<>();
+        projects = new ArrayList<>();
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/work/InternshipResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/work/InternshipResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/work/InternshipResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,20 @@
+package it.finki.tinki.model.dto.response.work;
+
+import it.finki.tinki.model.Address;
+import it.finki.tinki.model.Work.Internship;
+import it.finki.tinki.model.Users.Company;
+import lombok.Data;
+
+@Data
+public class InternshipResponseDTO extends WorkResponseDTO {
+    int salary;
+    int openSpots;
+    Address accountAddress;
+
+    public InternshipResponseDTO(Internship internship){
+        super(internship.getId(), internship.getTitle(), internship.getDescription(), internship.getSalary(), internship.getAccount());
+        this.salary = internship.getSalary();
+        this.openSpots = internship.getOpenSpots();
+        this.accountAddress = ((Company) internship.getAccount()).getAddress();
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/work/JobResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/work/JobResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/work/JobResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,25 @@
+package it.finki.tinki.model.dto.response.work;
+
+import it.finki.tinki.model.Address;
+import it.finki.tinki.model.Work.Job;
+import it.finki.tinki.model.Users.Company;
+import it.finki.tinki.model.Users.Team;
+import it.finki.tinki.model.enumerator.AccountType;
+import lombok.Data;
+
+@Data
+public class JobResponseDTO extends WorkResponseDTO {
+    Address accountAddress;
+    int members;
+
+    public JobResponseDTO(Job job){
+        super(job.getId(), job.getTitle(), job.getDescription(), job.getSalary(), job.getAccount());
+        if(job.getAccount().getAccountType()==AccountType.COMPANY){
+            this.accountAddress = ((Company) job.getAccount()).getAddress();
+            this.members = 0;
+        }else{
+            this.members = ((Team) job.getAccount()).getMembers();
+            this.accountAddress = null;
+        }
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/work/ProjectResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/work/ProjectResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/work/ProjectResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,15 @@
+package it.finki.tinki.model.dto.response.work;
+
+import it.finki.tinki.model.Work.Project;
+import it.finki.tinki.model.Users.Team;
+import lombok.Data;
+
+@Data
+public class ProjectResponseDTO extends WorkResponseDTO {
+    int members;
+
+    public ProjectResponseDTO(Project project){
+        super(project.getId(), project.getTitle(), project.getDescription(), project.getSalary(), project.getAccount());
+        this.members = ((Team) project.getAccount()).getMembers();
+    }
+}
Index: src/main/java/it/finki/tinki/model/dto/response/work/WorkResponseDTO.java
===================================================================
--- src/main/java/it/finki/tinki/model/dto/response/work/WorkResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
+++ src/main/java/it/finki/tinki/model/dto/response/work/WorkResponseDTO.java	(revision bd46dbb1a81113e9e723d93a58b6a29b0080ba17)
@@ -0,0 +1,28 @@
+package it.finki.tinki.model.dto.response.work;
+
+import it.finki.tinki.model.Users.Account;
+import it.finki.tinki.model.enumerator.AccountType;
+import lombok.Data;
+
+@Data
+public class WorkResponseDTO {
+    Long id;
+    String title;
+    String description;
+    int salary;
+    String accountEmail;
+    String accountName;
+    AccountType accountType;
+
+    WorkResponseDTO(){}
+
+    WorkResponseDTO(Long id, String title, String description, int salary, Account account){
+        this.id = id;
+        this.title = title;
+        this.description = description;
+        this.salary = salary;
+        this.accountEmail = account.getEmail();
+        this.accountName = account.getName();
+        this.accountType = account.getAccountType();
+    }
+}
