diff --git a/application/model/src/main/java/org/fuseri/model/dto/certificate/CertificateCreateDto.java b/application/model/src/main/java/org/fuseri/model/dto/certificate/CertificateCreateDto.java
index cf2c9c983c16ee1555f22dcfa3b489cf96752c89..e85e72aef3ba1ffd36ca01e2c70cc9a873663053 100644
--- a/application/model/src/main/java/org/fuseri/model/dto/certificate/CertificateCreateDto.java
+++ b/application/model/src/main/java/org/fuseri/model/dto/certificate/CertificateCreateDto.java
@@ -4,7 +4,7 @@ import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotNull;
 import lombok.Getter;
 import lombok.Setter;
-import org.fuseri.model.dto.course.CourseDto;
+import org.fuseri.model.dto.course.CourseCertificateDto;
 import org.fuseri.model.dto.user.UserDto;
 
 
@@ -20,9 +20,9 @@ public class CertificateCreateDto {
     private UserDto user;
     @NotNull
     @Valid
-    private CourseDto course;
+    private CourseCertificateDto course;
 
-    public CertificateCreateDto(UserDto user, CourseDto course) {
+    public CertificateCreateDto(UserDto user, CourseCertificateDto course) {
         this.user = user;
         this.course = course;
     }
diff --git a/application/model/src/main/java/org/fuseri/model/dto/course/CourseCertificateDto.java b/application/model/src/main/java/org/fuseri/model/dto/course/CourseCertificateDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..d32664564ebbf2387f4c8e0f4c0ac7413728ccfc
--- /dev/null
+++ b/application/model/src/main/java/org/fuseri/model/dto/course/CourseCertificateDto.java
@@ -0,0 +1,46 @@
+package org.fuseri.model.dto.course;
+
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+import org.fuseri.model.dto.common.DomainObjectDto;
+
+/**
+ * This class represents a Data Transfer Object (DTO) for Course entities.
+ * It is used for passing Course data to Certificate module.
+ * It extends the DomainObjectDto class and includes additional Course-specific fields.
+ */
+@Getter
+@Setter
+@EqualsAndHashCode(callSuper = false)
+public class CourseCertificateDto extends DomainObjectDto {
+
+    @NotBlank(message = "Course name is required")
+    @Size(max = 63, message = "Course name must not exceed {max} characters")
+    private String name;
+
+    @NotNull(message = "Lecture capacity cannot be null")
+    @Min(value = 1, message = "Lecture capacity must be at least 1")
+    private Integer capacity;
+
+    @NotNull(message = "Language type is required")
+    @Valid
+    private LanguageTypeDto language;
+
+    @NotNull(message = "Proficiency level is required")
+    @Valid
+    private ProficiencyLevelDto proficiency;
+
+    public CourseCertificateDto(String name, Integer capacity, LanguageTypeDto languageTypeDto, ProficiencyLevelDto proficiencyLevelDto) {
+        this.name = name;
+        this.capacity = capacity;
+        this.language = languageTypeDto;
+        this.proficiency = proficiencyLevelDto;
+    }
+
+}
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
index 7f9d7ba786b3b1f382d46698ea61e66c9d225007..6733239b1a5efb5b5f2baae737685e50374724a0 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateControllerTests.java
@@ -3,7 +3,7 @@ package org.fuseri.modulecertificate;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.fuseri.model.dto.certificate.CertificateCreateDto;
 import org.fuseri.model.dto.certificate.CertificateSimpleDto;
-import org.fuseri.model.dto.course.CourseDto;
+import org.fuseri.model.dto.course.CourseCertificateDto;
 import org.fuseri.model.dto.course.LanguageTypeDto;
 import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
@@ -36,7 +36,7 @@ class CertificateControllerTests {
 
     private final UserDto USER = new UserDto("novakovat",
             "novakova@gamil.com", "Tereza", "Nováková", new AddressDto(), UserType.STUDENT);
-    private final CourseDto COURSE = new CourseDto("AJ1", 10,
+    private final CourseCertificateDto COURSE = new CourseCertificateDto("AJ1", 10,
             LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1);
     private final CertificateCreateDto certificateCreateDto = new CertificateCreateDto(USER, COURSE);
     private final CertificateSimpleDto certificateDto = new CertificateSimpleDto(0L, USER.getId(),
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java
index 7ef75612fa23a567d1a77bee81c3f0440fafb1b6..99784c042c37a2f01d57045e2ccfc002c3c0cff2 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateFacadeTests.java
@@ -2,7 +2,7 @@ package org.fuseri.modulecertificate;
 
 import org.fuseri.model.dto.certificate.CertificateCreateDto;
 import org.fuseri.model.dto.certificate.CertificateSimpleDto;
-import org.fuseri.model.dto.course.CourseDto;
+import org.fuseri.model.dto.course.CourseCertificateDto;
 import org.fuseri.model.dto.course.LanguageTypeDto;
 import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
@@ -35,7 +35,7 @@ import static org.mockito.Mockito.when;
 final class CertificateFacadeTests {
     private final UserDto USER = new UserDto("novakovat",
             "novakova@gamil.com", "Tereza", "Nováková", new AddressDto(), UserType.STUDENT);
-    private final CourseDto COURSE = new CourseDto("AJ1", 10,
+    private final CourseCertificateDto COURSE = new CourseCertificateDto("AJ1", 10,
             LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1);
     private final CertificateCreateDto certificateCreateDto = new CertificateCreateDto(USER, COURSE);
     private final CertificateSimpleDto certificateDto = new CertificateSimpleDto(0L, USER.getId(),
diff --git a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java
index b683de8a7df391520f198ac760a0722873abfa0c..7f66f907759c6ddeb9c0012cad1425147bad1cce 100644
--- a/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java
+++ b/application/module-certificate/src/test/java/org/fuseri/modulecertificate/CertificateMapperTests.java
@@ -2,7 +2,7 @@ package org.fuseri.modulecertificate;
 
 import org.fuseri.model.dto.certificate.CertificateCreateDto;
 import org.fuseri.model.dto.certificate.CertificateSimpleDto;
-import org.fuseri.model.dto.course.CourseDto;
+import org.fuseri.model.dto.course.CourseCertificateDto;
 import org.fuseri.model.dto.course.LanguageTypeDto;
 import org.fuseri.model.dto.course.ProficiencyLevelDto;
 import org.fuseri.model.dto.user.AddressDto;
@@ -27,7 +27,7 @@ final class CertificateMapperTests {
 
     private final UserDto USER = new UserDto("novakovat",
             "novakova@gamil.com", "Tereza", "Nováková", new AddressDto(), UserType.STUDENT);
-    private final CourseDto COURSE = new CourseDto("AJ1", 10,
+    private final CourseCertificateDto COURSE = new CourseCertificateDto("AJ1", 10,
             LanguageTypeDto.ENGLISH, ProficiencyLevelDto.A1);
     private final Instant instant = Instant.now();
     private final String fileName = "fileName";